Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
8d8117b
feat(app): integrate @trycompai/design-system and update ESLint confi…
Marfuen Jan 12, 2026
d30c833
fix(app): update @trycompai/design-system to version 1.0.3 and remove…
Marfuen Jan 12, 2026
43dcaff
feat(app): enhance AppShellWrapper and AppSidebar with dropdown menus
Marfuen Jan 12, 2026
e2e2e48
feat(app): update @trycompai/design-system to version 1.0.4 and enhan…
Marfuen Jan 12, 2026
acdce7a
refactor(risk): remove unused layout and loading components, update p…
carhartlewis Jan 12, 2026
59fd240
Merge branch 'feat/implement-new-design-system' of https://github.com…
carhartlewis Jan 12, 2026
e05b0dc
feat(policies): implement new PolicyTabs and PoliciesTableDS components
Marfuen Jan 12, 2026
294398d
feat(policies): simplify layout structure and enhance policy overview…
Marfuen Jan 12, 2026
b091a68
feat(app): update @trycompai/design-system to version 1.0.8 and enhan…
Marfuen Jan 12, 2026
42d8496
feat(app): update @trycompai/design-system to version 1.0.11 and enha…
Marfuen Jan 12, 2026
d44c563
feat(policies): refactor PolicyDetails layout for improved structure
Marfuen Jan 12, 2026
27222ee
feat(policies): enhance policy overview and details layout with new f…
Marfuen Jan 12, 2026
9c92ccb
feat(app): update @trycompai/design-system to version 1.0.19 and refa…
Marfuen Jan 13, 2026
ef43279
feat(app): update @trycompai/design-system to version 1.0.20 and enha…
Marfuen Jan 13, 2026
863aca3
feat(app): update @trycompai/design-system to version 1.0.21 and impr…
Marfuen Jan 13, 2026
9f36c67
feat(comments): replace Dialog with AlertDialog for delete confirmation
Marfuen Jan 13, 2026
02929ef
chore: rest of pages layouts fixed
Marfuen Jan 14, 2026
96ca669
style(app): format code for better readability and consistency
Marfuen Jan 14, 2026
8a4ca6a
feat(chat): add status and submit handler to EmptyState component
Marfuen Jan 14, 2026
d28b9ce
feat(app): update @trycompai/design-system to version 1.0.28 and enha…
Marfuen Jan 14, 2026
9969695
style(ui): ensure newline at end of package.json file
Marfuen Jan 14, 2026
cbb273b
feat(ui): enhance loading and table components with new layout and em…
Marfuen Jan 19, 2026
4e48a73
Merge branch 'main' of https://github.com/trycompai/comp into feat/im…
Marfuen Jan 21, 2026
0ae6f9f
Merge branch 'main' of https://github.com/trycompai/comp into feat/im…
Marfuen Jan 21, 2026
a5746be
feat(trust): add allowed domains and additional trust portal fields
Marfuen Jan 21, 2026
77e412b
style(attachments, policies, tasks, trust-portal, vector-store, app):…
Marfuen Jan 21, 2026
2f51c38
refactor(trust-portal): update orderBy to sort by lastPublishedAt and…
Marfuen Jan 21, 2026
ad0bd21
refactor(policies): simplify query parameter updates in PolicyHeaderA…
Marfuen Jan 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .cursor/mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
"mcpServers": {
"trigger": {
"command": "npx",
"args": [
"trigger.dev@latest",
"mcp",
"--dev-only"
]
"args": ["trigger.dev@latest", "mcp", "--dev-only"]
},
"trycompai": {
"command": "npx",
"args": ["-y", "@trycompai/design-system-mcp@latest"]
}
}
}
}
184 changes: 0 additions & 184 deletions ENTERPRISE_API_AUTOMATION_VERSIONING.md

This file was deleted.

4 changes: 3 additions & 1 deletion apps/api/src/attachments/attachments.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@ export class AttachmentsService {
this.bucketName = process.env.APP_AWS_BUCKET_NAME!;

if (!s3Client) {
console.error('S3 Client is not initialized. Check AWS S3 configuration.');
console.error(
'S3 Client is not initialized. Check AWS S3 configuration.',
);
throw new Error(
'S3 Client is not initialized. Check AWS S3 configuration.',
);
Expand Down
13 changes: 12 additions & 1 deletion apps/api/src/policies/policies.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,16 @@ export class PoliciesService {
assigneeId: true,
approverId: true,
policyTemplateId: true,
assignee: {
select: {
id: true,
user: {
select: {
name: true,
},
},
},
},
},
orderBy: { createdAt: 'desc' },
});
Expand Down Expand Up @@ -419,7 +429,8 @@ export class PoliciesService {
const { width, height } = originalFirstPage.getSize();

const headerHeight = isFirst ? 120 : 60;
const embeddedFirstPage = await mergedPdf.embedPage(originalFirstPage);
const embeddedFirstPage =
await mergedPdf.embedPage(originalFirstPage);
const rebuiltFirstPage = mergedPdf.addPage([
width,
height + headerHeight,
Expand Down
6 changes: 4 additions & 2 deletions apps/api/src/tasks/attachments.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,11 @@ export class AttachmentsService {
// AWS configuration is validated at startup via ConfigModule
// Safe to access environment variables directly since they're validated
this.bucketName = process.env.APP_AWS_BUCKET_NAME!;

if (!s3Client) {
console.error('S3 Client is not initialized. Check AWS S3 configuration.');
console.error(
'S3 Client is not initialized. Check AWS S3 configuration.',
);
throw new Error(
'S3 Client is not initialized. Check AWS S3 configuration.',
);
Expand Down
3 changes: 2 additions & 1 deletion apps/api/src/trust-portal/trust-access.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2059,7 +2059,8 @@ export class TrustAccessService {
const { width, height } = originalFirstPage.getSize();

const headerHeight = isFirst ? 120 : 60;
const embeddedFirstPage = await mergedPdf.embedPage(originalFirstPage);
const embeddedFirstPage =
await mergedPdf.embedPage(originalFirstPage);
const rebuiltFirstPage = mergedPdf.addPage([
width,
height + headerHeight,
Expand Down
38 changes: 23 additions & 15 deletions apps/api/src/vector-store/lib/sync/sync-organization.ts
Original file line number Diff line number Diff line change
Expand Up @@ -218,35 +218,43 @@ async function verifyEmbeddingIsReady(
// Now query using the embedding's own vector to verify it's INDEXED
// If the embedding is indexed, querying with its own vector should return itself
const queryResults = await vectorIndex.query({
vector: fetchedEmbedding.vector as number[],
vector: fetchedEmbedding.vector,
topK: 1,
filter: `organizationId = "${organizationId}"`,
includeMetadata: true,
});

// Check if our embedding appears in the query results
const isIndexed = queryResults.some((result) => result.id === embeddingId);
const isIndexed = queryResults.some(
(result) => result.id === embeddingId,
);

if (isIndexed) {
logger.info('Embedding verification succeeded - indexed and queryable', {
organizationId,
embeddingId,
attempt,
totalWaitMs,
});
logger.info(
'Embedding verification succeeded - indexed and queryable',
{
organizationId,
embeddingId,
attempt,
totalWaitMs,
},
);
return { success: true, attempts: attempt, totalWaitMs };
}

// Embedding is stored but not yet indexed for search
if (attempt < maxRetries) {
const delay = initialDelay * Math.pow(2, attempt - 1); // 300ms, 600ms, 1200ms, 2400ms...
logger.info('Embedding stored but not yet indexed, waiting before retry', {
organizationId,
embeddingId,
attempt,
nextDelayMs: delay,
queryResultCount: queryResults.length,
});
logger.info(
'Embedding stored but not yet indexed, waiting before retry',
{
organizationId,
embeddingId,
attempt,
nextDelayMs: delay,
queryResultCount: queryResults.length,
},
);
await new Promise((resolve) => setTimeout(resolve, delay));
totalWaitMs += delay;
}
Expand Down
Loading