@penclipai/db 2026.704.0 → 2026.714.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/backup-lib.test.js +1 -1
  2. package/dist/backup-lib.test.js.map +1 -1
  3. package/dist/check-migration-safety.d.ts +27 -0
  4. package/dist/check-migration-safety.d.ts.map +1 -0
  5. package/dist/check-migration-safety.js +811 -0
  6. package/dist/check-migration-safety.js.map +1 -0
  7. package/dist/check-migration-safety.test.d.ts +2 -0
  8. package/dist/check-migration-safety.test.d.ts.map +1 -0
  9. package/dist/check-migration-safety.test.js +391 -0
  10. package/dist/check-migration-safety.test.js.map +1 -0
  11. package/dist/client.test.js +743 -0
  12. package/dist/client.test.js.map +1 -1
  13. package/dist/issue-comment-derived-attribution-migration.test.d.ts +2 -0
  14. package/dist/issue-comment-derived-attribution-migration.test.d.ts.map +1 -0
  15. package/dist/issue-comment-derived-attribution-migration.test.js +287 -0
  16. package/dist/issue-comment-derived-attribution-migration.test.js.map +1 -0
  17. package/dist/migration-safety-baseline.d.ts +135 -0
  18. package/dist/migration-safety-baseline.d.ts.map +1 -0
  19. package/dist/migration-safety-baseline.js +150 -0
  20. package/dist/migration-safety-baseline.js.map +1 -0
  21. package/dist/migrations/0128_user_specific_secrets.sql +178 -0
  22. package/dist/migrations/0129_agent_api_key_responsible_user.sql +41 -0
  23. package/dist/migrations/0131_repair_run_responsible_user_context_refs.sql +67 -0
  24. package/dist/migrations/0132_issue_comment_derived_attribution_fast.sql +82 -0
  25. package/dist/migrations/0133_resource_membership_stars.sql +7 -0
  26. package/dist/migrations/0134_run_responsible_user_invariant.sql +211 -0
  27. package/dist/migrations/0135_repair_run_responsible_user_updated_at_sweep.sql +84 -0
  28. package/dist/migrations/0136_acpx_default_engine_migration.sql +97 -0
  29. package/dist/migrations/0137_skill_studio_server_foundation.sql +76 -0
  30. package/dist/migrations/0138_skill_studio_run_retention.sql +5 -0
  31. package/dist/migrations/0139_skill_studio_run_templates.sql +44 -0
  32. package/dist/migrations/0140_built_in_managed_resources.sql +43 -0
  33. package/dist/migrations/0141_heartbeat_runs_company_created_at_index.sql +2 -0
  34. package/dist/migrations/0142_company_search_sort_indexes.sql +3 -0
  35. package/dist/migrations/0143_cases_foundation.sql +248 -0
  36. package/dist/migrations/0144_case_document_annotations.sql +31 -0
  37. package/dist/migrations/0145_inbox_dismissal_snooze_kind.sql +15 -0
  38. package/dist/migrations/0146_routine_activity_gate.sql +3 -0
  39. package/dist/migrations/0147_cost_event_status.sql +1 -0
  40. package/dist/migrations/meta/_journal.json +132 -6
  41. package/dist/schema/agent_api_keys.d.ts +23 -0
  42. package/dist/schema/agent_api_keys.d.ts.map +1 -1
  43. package/dist/schema/agent_api_keys.js +1 -0
  44. package/dist/schema/agent_api_keys.js.map +1 -1
  45. package/dist/schema/agent_memberships.d.ts +17 -0
  46. package/dist/schema/agent_memberships.d.ts.map +1 -1
  47. package/dist/schema/agent_memberships.js +2 -0
  48. package/dist/schema/agent_memberships.js.map +1 -1
  49. package/dist/schema/built_in_managed_resources.d.ts +197 -0
  50. package/dist/schema/built_in_managed_resources.d.ts.map +1 -0
  51. package/dist/schema/built_in_managed_resources.js +22 -0
  52. package/dist/schema/built_in_managed_resources.js.map +1 -0
  53. package/dist/schema/cases.d.ts +982 -0
  54. package/dist/schema/cases.d.ts.map +1 -0
  55. package/dist/schema/cases.js +122 -0
  56. package/dist/schema/cases.js.map +1 -0
  57. package/dist/schema/companies.d.ts +17 -0
  58. package/dist/schema/companies.d.ts.map +1 -1
  59. package/dist/schema/companies.js +1 -0
  60. package/dist/schema/companies.js.map +1 -1
  61. package/dist/schema/company_secrets.d.ts +51 -0
  62. package/dist/schema/company_secrets.d.ts.map +1 -1
  63. package/dist/schema/company_secrets.js +27 -3
  64. package/dist/schema/company_secrets.js.map +1 -1
  65. package/dist/schema/company_skills.d.ts +788 -0
  66. package/dist/schema/company_skills.d.ts.map +1 -1
  67. package/dist/schema/company_skills.js +63 -0
  68. package/dist/schema/company_skills.js.map +1 -1
  69. package/dist/schema/cost_events.d.ts +17 -0
  70. package/dist/schema/cost_events.d.ts.map +1 -1
  71. package/dist/schema/cost_events.js +1 -0
  72. package/dist/schema/cost_events.js.map +1 -1
  73. package/dist/schema/document_annotation_comments.d.ts +17 -0
  74. package/dist/schema/document_annotation_comments.d.ts.map +1 -1
  75. package/dist/schema/document_annotation_comments.js +4 -1
  76. package/dist/schema/document_annotation_comments.js.map +1 -1
  77. package/dist/schema/document_annotation_threads.d.ts +17 -0
  78. package/dist/schema/document_annotation_threads.d.ts.map +1 -1
  79. package/dist/schema/document_annotation_threads.js +4 -1
  80. package/dist/schema/document_annotation_threads.js.map +1 -1
  81. package/dist/schema/heartbeat_runs.d.ts +17 -0
  82. package/dist/schema/heartbeat_runs.d.ts.map +1 -1
  83. package/dist/schema/heartbeat_runs.js +3 -0
  84. package/dist/schema/heartbeat_runs.js.map +1 -1
  85. package/dist/schema/inbox_dismissals.d.ts +36 -0
  86. package/dist/schema/inbox_dismissals.d.ts.map +1 -1
  87. package/dist/schema/inbox_dismissals.js +2 -0
  88. package/dist/schema/inbox_dismissals.js.map +1 -1
  89. package/dist/schema/index.d.ts +5 -1
  90. package/dist/schema/index.d.ts.map +1 -1
  91. package/dist/schema/index.js +5 -1
  92. package/dist/schema/index.js.map +1 -1
  93. package/dist/schema/issues.d.ts +34 -0
  94. package/dist/schema/issues.d.ts.map +1 -1
  95. package/dist/schema/issues.js +7 -0
  96. package/dist/schema/issues.js.map +1 -1
  97. package/dist/schema/project_memberships.d.ts +17 -0
  98. package/dist/schema/project_memberships.d.ts.map +1 -1
  99. package/dist/schema/project_memberships.js +2 -0
  100. package/dist/schema/project_memberships.js.map +1 -1
  101. package/dist/schema/routines.d.ts +85 -0
  102. package/dist/schema/routines.d.ts.map +1 -1
  103. package/dist/schema/routines.js +8 -0
  104. package/dist/schema/routines.js.map +1 -1
  105. package/dist/schema/secret_access_events.d.ts +103 -1
  106. package/dist/schema/secret_access_events.d.ts.map +1 -1
  107. package/dist/schema/secret_access_events.js +10 -1
  108. package/dist/schema/secret_access_events.js.map +1 -1
  109. package/dist/schema/user_secret_declarations.d.ts +229 -0
  110. package/dist/schema/user_secret_declarations.d.ts.map +1 -0
  111. package/dist/schema/user_secret_declarations.js +31 -0
  112. package/dist/schema/user_secret_declarations.js.map +1 -0
  113. package/dist/schema/user_secret_definitions.d.ts +316 -0
  114. package/dist/schema/user_secret_definitions.d.ts.map +1 -0
  115. package/dist/schema/user_secret_definitions.js +33 -0
  116. package/dist/schema/user_secret_definitions.js.map +1 -0
  117. package/dist/table-size-estimates.d.ts +372 -0
  118. package/dist/table-size-estimates.d.ts.map +1 -0
  119. package/dist/table-size-estimates.js +155 -0
  120. package/dist/table-size-estimates.js.map +1 -0
  121. package/package.json +3 -3
  122. package/dist/migrations/0126_issue_comment_derived_attribution.sql +0 -69
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cases.d.ts","sourceRoot":"","sources":["../../src/schema/cases.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCjB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB1B,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCtB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBzB,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAetB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc3B,CAAC"}
@@ -0,0 +1,122 @@
1
+ import { sql } from "drizzle-orm";
2
+ import { check, index, integer, jsonb, pgTable, text, timestamp, uniqueIndex, uuid, } from "drizzle-orm/pg-core";
3
+ import { agents } from "./agents.js";
4
+ import { assets } from "./assets.js";
5
+ import { companies } from "./companies.js";
6
+ import { documents } from "./documents.js";
7
+ import { issues } from "./issues.js";
8
+ import { labels } from "./labels.js";
9
+ import { projects } from "./projects.js";
10
+ export const cases = pgTable("cases", {
11
+ id: uuid("id").primaryKey().defaultRandom(),
12
+ companyId: uuid("company_id").notNull().references(() => companies.id, { onDelete: "cascade" }),
13
+ projectId: uuid("project_id").references(() => projects.id, { onDelete: "set null" }),
14
+ caseNumber: integer("case_number").notNull(),
15
+ identifier: text("identifier").notNull(),
16
+ caseType: text("case_type").notNull(),
17
+ key: text("key"),
18
+ title: text("title").notNull(),
19
+ summary: text("summary"),
20
+ status: text("status").notNull().default("draft"),
21
+ fields: jsonb("fields").$type().notNull().default({}),
22
+ parentCaseId: uuid("parent_case_id").references(() => cases.id, { onDelete: "set null" }),
23
+ createdByAgentId: uuid("created_by_agent_id").references(() => agents.id, { onDelete: "set null" }),
24
+ createdByUserId: text("created_by_user_id"),
25
+ completedAt: timestamp("completed_at", { withTimezone: true }),
26
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
27
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
28
+ }, (table) => ({
29
+ companyCaseNumberUq: uniqueIndex("cases_company_case_number_uq").on(table.companyId, table.caseNumber),
30
+ identifierUq: uniqueIndex("cases_identifier_uq").on(table.identifier),
31
+ companyTypeKeyUq: uniqueIndex("cases_company_type_key_uq").on(table.companyId, table.caseType, table.key),
32
+ companyStatusIdx: index("cases_company_status_idx").on(table.companyId, table.status),
33
+ companyTypeIdx: index("cases_company_type_idx").on(table.companyId, table.caseType),
34
+ companyProjectIdx: index("cases_company_project_idx").on(table.companyId, table.projectId),
35
+ parentIdx: index("cases_parent_idx").on(table.parentCaseId),
36
+ titleSearchIdx: index("cases_title_search_idx").using("gin", table.title.op("gin_trgm_ops")),
37
+ identifierSearchIdx: index("cases_identifier_search_idx").using("gin", table.identifier.op("gin_trgm_ops")),
38
+ summarySearchIdx: index("cases_summary_search_idx").using("gin", table.summary.op("gin_trgm_ops")),
39
+ statusCheck: check("cases_status_check", sql `${table.status} in ('draft', 'in_progress', 'in_review', 'approved', 'done', 'cancelled')`),
40
+ }));
41
+ export const caseIssueLinks = pgTable("case_issue_links", {
42
+ id: uuid("id").primaryKey().defaultRandom(),
43
+ companyId: uuid("company_id").notNull().references(() => companies.id, { onDelete: "cascade" }),
44
+ caseId: uuid("case_id").notNull().references(() => cases.id, { onDelete: "cascade" }),
45
+ issueId: uuid("issue_id").notNull().references(() => issues.id, { onDelete: "cascade" }),
46
+ role: text("role").notNull(),
47
+ createdByRunId: uuid("created_by_run_id"),
48
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
49
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
50
+ }, (table) => ({
51
+ caseIssueUq: uniqueIndex("case_issue_links_case_issue_uq").on(table.caseId, table.issueId),
52
+ companyCaseIdx: index("case_issue_links_company_case_idx").on(table.companyId, table.caseId),
53
+ issueIdx: index("case_issue_links_issue_idx").on(table.issueId),
54
+ roleCheck: check("case_issue_links_role_check", sql `${table.role} in ('origin', 'work', 'reference')`),
55
+ }));
56
+ export const caseEvents = pgTable("case_events", {
57
+ id: uuid("id").primaryKey().defaultRandom(),
58
+ companyId: uuid("company_id").notNull().references(() => companies.id, { onDelete: "cascade" }),
59
+ caseId: uuid("case_id").notNull().references(() => cases.id, { onDelete: "cascade" }),
60
+ kind: text("kind").notNull(),
61
+ actorType: text("actor_type").notNull(),
62
+ actorUserId: text("actor_user_id"),
63
+ actorAgentId: uuid("actor_agent_id").references(() => agents.id, { onDelete: "set null" }),
64
+ runId: uuid("run_id"),
65
+ payload: jsonb("payload").$type().notNull().default({}),
66
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
67
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
68
+ }, (table) => ({
69
+ caseCreatedIdx: index("case_events_case_created_idx").on(table.caseId, table.createdAt),
70
+ companyCaseIdx: index("case_events_company_case_idx").on(table.companyId, table.caseId),
71
+ kindCheck: check("case_events_kind_check", sql `${table.kind} in (
72
+ 'created',
73
+ 'updated',
74
+ 'fields_changed',
75
+ 'status_changed',
76
+ 'issue_linked',
77
+ 'issue_unlinked',
78
+ 'document_revised',
79
+ 'child_linked',
80
+ 'attachment_added',
81
+ 'label_added',
82
+ 'label_removed'
83
+ )`),
84
+ actorTypeCheck: check("case_events_actor_type_check", sql `${table.actorType} in ('user', 'agent', 'system')`),
85
+ }));
86
+ export const caseDocuments = pgTable("case_documents", {
87
+ id: uuid("id").primaryKey().defaultRandom(),
88
+ companyId: uuid("company_id").notNull().references(() => companies.id, { onDelete: "cascade" }),
89
+ caseId: uuid("case_id").notNull().references(() => cases.id, { onDelete: "cascade" }),
90
+ documentId: uuid("document_id").notNull().references(() => documents.id, { onDelete: "cascade" }),
91
+ key: text("key").notNull(),
92
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
93
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
94
+ }, (table) => ({
95
+ companyCaseKeyUq: uniqueIndex("case_documents_company_case_key_uq").on(table.companyId, table.caseId, table.key),
96
+ documentUq: uniqueIndex("case_documents_document_uq").on(table.documentId),
97
+ companyCaseUpdatedIdx: index("case_documents_company_case_updated_idx").on(table.companyId, table.caseId, table.updatedAt),
98
+ }));
99
+ export const caseLabels = pgTable("case_labels", {
100
+ id: uuid("id").primaryKey().defaultRandom(),
101
+ companyId: uuid("company_id").notNull().references(() => companies.id, { onDelete: "cascade" }),
102
+ caseId: uuid("case_id").notNull().references(() => cases.id, { onDelete: "cascade" }),
103
+ labelId: uuid("label_id").notNull().references(() => labels.id, { onDelete: "cascade" }),
104
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
105
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
106
+ }, (table) => ({
107
+ caseLabelUq: uniqueIndex("case_labels_case_label_uq").on(table.caseId, table.labelId),
108
+ companyCaseIdx: index("case_labels_company_case_idx").on(table.companyId, table.caseId),
109
+ labelIdx: index("case_labels_label_idx").on(table.labelId),
110
+ }));
111
+ export const caseAttachments = pgTable("case_attachments", {
112
+ id: uuid("id").primaryKey().defaultRandom(),
113
+ companyId: uuid("company_id").notNull().references(() => companies.id, { onDelete: "cascade" }),
114
+ caseId: uuid("case_id").notNull().references(() => cases.id, { onDelete: "cascade" }),
115
+ assetId: uuid("asset_id").notNull().references(() => assets.id, { onDelete: "cascade" }),
116
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
117
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
118
+ }, (table) => ({
119
+ companyCaseIdx: index("case_attachments_company_case_idx").on(table.companyId, table.caseId),
120
+ assetUq: uniqueIndex("case_attachments_asset_uq").on(table.assetId),
121
+ }));
122
+ //# sourceMappingURL=cases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cases.js","sourceRoot":"","sources":["../../src/schema/cases.ts"],"names":[],"mappings":"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"}
@@ -189,6 +189,23 @@ export declare const companies: import("drizzle-orm/pg-core").PgTableWithColumns
189
189
  identity: undefined;
190
190
  generated: undefined;
191
191
  }, {}, {}>;
192
+ defaultResponsibleUserId: import("drizzle-orm/pg-core").PgColumn<{
193
+ name: "default_responsible_user_id";
194
+ tableName: "companies";
195
+ dataType: "string";
196
+ columnType: "PgText";
197
+ data: string;
198
+ driverParam: string;
199
+ notNull: false;
200
+ hasDefault: false;
201
+ isPrimaryKey: false;
202
+ isAutoincrement: false;
203
+ hasRuntimeDefault: false;
204
+ enumValues: [string, ...string[]];
205
+ baseColumn: never;
206
+ identity: undefined;
207
+ generated: undefined;
208
+ }, {}, {}>;
192
209
  requireBoardApprovalForNewAgents: import("drizzle-orm/pg-core").PgColumn<{
193
210
  name: "require_board_approval_for_new_agents";
194
211
  tableName: "companies";
@@ -1 +1 @@
1
- {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../src/schema/companies.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCrB,CAAC"}
1
+ {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../src/schema/companies.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCrB,CAAC"}
@@ -13,6 +13,7 @@ export const companies = pgTable("companies", {
13
13
  attachmentMaxBytes: integer("attachment_max_bytes")
14
14
  .notNull()
15
15
  .default(10 * 1024 * 1024),
16
+ defaultResponsibleUserId: text("default_responsible_user_id"),
16
17
  requireBoardApprovalForNewAgents: boolean("require_board_approval_for_new_agents")
17
18
  .notNull()
18
19
  .default(false),
@@ -1 +1 @@
1
- {"version":3,"file":"companies.js","sourceRoot":"","sources":["../../src/schema/companies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEpG,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAC9B,WAAW,EACX;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IAC3C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;IAChC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAClD,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACxD,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1D,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,kBAAkB,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,iBAAiB,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,kBAAkB,EAAE,OAAO,CAAC,sBAAsB,CAAC;SAChD,OAAO,EAAE;SACT,OAAO,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5B,gCAAgC,EAAE,OAAO,CAAC,uCAAuC,CAAC;SAC/E,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;IACjB,0BAA0B,EAAE,OAAO,CAAC,+BAA+B,CAAC;SACjE,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;IACjB,4BAA4B,EAAE,SAAS,CAAC,kCAAkC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACnG,kCAAkC,EAAE,IAAI,CAAC,0CAA0C,CAAC;IACpF,+BAA+B,EAAE,IAAI,CAAC,qCAAqC,CAAC;IAC5E,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACjF,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CAClF,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,oBAAoB,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;CACtF,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"companies.js","sourceRoot":"","sources":["../../src/schema/companies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEpG,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAC9B,WAAW,EACX;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IAC3C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;IAChC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAClD,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACxD,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1D,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,kBAAkB,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,iBAAiB,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,kBAAkB,EAAE,OAAO,CAAC,sBAAsB,CAAC;SAChD,OAAO,EAAE;SACT,OAAO,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5B,wBAAwB,EAAE,IAAI,CAAC,6BAA6B,CAAC;IAC7D,gCAAgC,EAAE,OAAO,CAAC,uCAAuC,CAAC;SAC/E,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;IACjB,0BAA0B,EAAE,OAAO,CAAC,+BAA+B,CAAC;SACjE,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;IACjB,4BAA4B,EAAE,SAAS,CAAC,kCAAkC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACnG,kCAAkC,EAAE,IAAI,CAAC,0CAA0C,CAAC;IACpF,+BAA+B,EAAE,IAAI,CAAC,qCAAqC,CAAC;IAC5E,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACjF,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CAClF,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,oBAAoB,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;CACtF,CAAC,CACH,CAAC"}
@@ -36,6 +36,57 @@ export declare const companySecrets: import("drizzle-orm/pg-core").PgTableWithCo
36
36
  identity: undefined;
37
37
  generated: undefined;
38
38
  }, {}, {}>;
39
+ scope: import("drizzle-orm/pg-core").PgColumn<{
40
+ name: "scope";
41
+ tableName: "company_secrets";
42
+ dataType: "string";
43
+ columnType: "PgText";
44
+ data: string;
45
+ driverParam: string;
46
+ notNull: true;
47
+ hasDefault: true;
48
+ isPrimaryKey: false;
49
+ isAutoincrement: false;
50
+ hasRuntimeDefault: false;
51
+ enumValues: [string, ...string[]];
52
+ baseColumn: never;
53
+ identity: undefined;
54
+ generated: undefined;
55
+ }, {}, {}>;
56
+ ownerUserId: import("drizzle-orm/pg-core").PgColumn<{
57
+ name: "owner_user_id";
58
+ tableName: "company_secrets";
59
+ dataType: "string";
60
+ columnType: "PgText";
61
+ data: string;
62
+ driverParam: string;
63
+ notNull: false;
64
+ hasDefault: false;
65
+ isPrimaryKey: false;
66
+ isAutoincrement: false;
67
+ hasRuntimeDefault: false;
68
+ enumValues: [string, ...string[]];
69
+ baseColumn: never;
70
+ identity: undefined;
71
+ generated: undefined;
72
+ }, {}, {}>;
73
+ userSecretDefinitionId: import("drizzle-orm/pg-core").PgColumn<{
74
+ name: "user_secret_definition_id";
75
+ tableName: "company_secrets";
76
+ dataType: "string";
77
+ columnType: "PgUUID";
78
+ data: string;
79
+ driverParam: string;
80
+ notNull: false;
81
+ hasDefault: false;
82
+ isPrimaryKey: false;
83
+ isAutoincrement: false;
84
+ hasRuntimeDefault: false;
85
+ enumValues: undefined;
86
+ baseColumn: never;
87
+ identity: undefined;
88
+ generated: undefined;
89
+ }, {}, {}>;
39
90
  key: import("drizzle-orm/pg-core").PgColumn<{
40
91
  name: "key";
41
92
  tableName: "company_secrets";
@@ -1 +1 @@
1
- {"version":3,"file":"company_secrets.d.ts","sourceRoot":"","sources":["../../src/schema/company_secrets.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B1B,CAAC"}
1
+ {"version":3,"file":"company_secrets.d.ts","sourceRoot":"","sources":["../../src/schema/company_secrets.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2D1B,CAAC"}
@@ -1,10 +1,15 @@
1
- import { pgTable, uuid, text, timestamp, integer, jsonb, index, uniqueIndex } from "drizzle-orm/pg-core";
1
+ import { sql } from "drizzle-orm";
2
+ import { check, pgTable, uuid, text, timestamp, integer, jsonb, index, uniqueIndex } from "drizzle-orm/pg-core";
2
3
  import { companies } from "./companies.js";
3
4
  import { agents } from "./agents.js";
4
5
  import { companySecretProviderConfigs } from "./company_secret_provider_configs.js";
6
+ import { userSecretDefinitions } from "./user_secret_definitions.js";
5
7
  export const companySecrets = pgTable("company_secrets", {
6
8
  id: uuid("id").primaryKey().defaultRandom(),
7
9
  companyId: uuid("company_id").notNull().references(() => companies.id),
10
+ scope: text("scope").notNull().default("company"),
11
+ ownerUserId: text("owner_user_id"),
12
+ userSecretDefinitionId: uuid("user_secret_definition_id").references(() => userSecretDefinitions.id, { onDelete: "set null" }),
8
13
  key: text("key").notNull(),
9
14
  name: text("name").notNull(),
10
15
  provider: text("provider").notNull().default("local_encrypted"),
@@ -24,9 +29,28 @@ export const companySecrets = pgTable("company_secrets", {
24
29
  updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
25
30
  }, (table) => ({
26
31
  companyIdx: index("company_secrets_company_idx").on(table.companyId),
32
+ companyScopeIdx: index("company_secrets_company_scope_idx").on(table.companyId, table.scope),
33
+ companyOwnerIdx: index("company_secrets_company_owner_idx").on(table.companyId, table.ownerUserId),
34
+ userDefinitionOwnerIdx: index("company_secrets_user_definition_owner_idx").on(table.companyId, table.userSecretDefinitionId, table.ownerUserId),
27
35
  companyProviderIdx: index("company_secrets_company_provider_idx").on(table.companyId, table.provider),
28
36
  providerConfigIdx: index("company_secrets_provider_config_idx").on(table.providerConfigId),
29
- companyNameUq: uniqueIndex("company_secrets_company_name_uq").on(table.companyId, table.name),
30
- companyKeyUq: uniqueIndex("company_secrets_company_key_uq").on(table.companyId, table.key),
37
+ companyNameUq: uniqueIndex("company_secrets_company_name_uq")
38
+ .on(table.companyId, table.name)
39
+ .where(sql `${table.scope} = 'company' and ${table.deletedAt} is null`),
40
+ companyKeyUq: uniqueIndex("company_secrets_company_key_uq")
41
+ .on(table.companyId, table.key)
42
+ .where(sql `${table.scope} = 'company' and ${table.deletedAt} is null`),
43
+ userDefinitionOwnerUq: uniqueIndex("company_secrets_user_definition_owner_uq")
44
+ .on(table.companyId, table.userSecretDefinitionId, table.ownerUserId)
45
+ .where(sql `${table.scope} = 'user' and ${table.deletedAt} is null`),
46
+ scopeShapeCheck: check("company_secrets_scope_shape_check", sql `(
47
+ ${table.scope} = 'company'
48
+ and ${table.ownerUserId} is null
49
+ and ${table.userSecretDefinitionId} is null
50
+ ) or (
51
+ ${table.scope} = 'user'
52
+ and ${table.ownerUserId} is not null
53
+ and ${table.userSecretDefinitionId} is not null
54
+ )`),
31
55
  }));
32
56
  //# sourceMappingURL=company_secrets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"company_secrets.js","sourceRoot":"","sources":["../../src/schema/company_secrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"company_secrets.js","sourceRoot":"","sources":["../../src/schema/company_secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CACnC,iBAAiB,EACjB;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IAC3C,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IACtE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACjD,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;IAClC,sBAAsB,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAC9H,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;IAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC/D,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAClD,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACxE,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;IACjC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,4BAA4B,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACxH,gBAAgB,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAA2B;IAC7E,aAAa,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;IAChC,cAAc,EAAE,SAAS,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACrE,aAAa,EAAE,SAAS,CAAC,iBAAiB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACnE,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1D,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACnG,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACjF,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CAClF,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,UAAU,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;IACpE,eAAe,EAAE,KAAK,CAAC,mCAAmC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC;IAC5F,eAAe,EAAE,KAAK,CAAC,mCAAmC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;IAClG,sBAAsB,EAAE,KAAK,CAAC,2CAA2C,CAAC,CAAC,EAAE,CAC3E,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,sBAAsB,EAC5B,KAAK,CAAC,WAAW,CAClB;IACD,kBAAkB,EAAE,KAAK,CAAC,sCAAsC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC;IACrG,iBAAiB,EAAE,KAAK,CAAC,qCAAqC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC1F,aAAa,EAAE,WAAW,CAAC,iCAAiC,CAAC;SAC1D,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;SAC/B,KAAK,CAAC,GAAG,CAAA,GAAG,KAAK,CAAC,KAAK,oBAAoB,KAAK,CAAC,SAAS,UAAU,CAAC;IACxE,YAAY,EAAE,WAAW,CAAC,gCAAgC,CAAC;SACxD,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC;SAC9B,KAAK,CAAC,GAAG,CAAA,GAAG,KAAK,CAAC,KAAK,oBAAoB,KAAK,CAAC,SAAS,UAAU,CAAC;IACxE,qBAAqB,EAAE,WAAW,CAAC,0CAA0C,CAAC;SAC3E,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,WAAW,CAAC;SACpE,KAAK,CAAC,GAAG,CAAA,GAAG,KAAK,CAAC,KAAK,iBAAiB,KAAK,CAAC,SAAS,UAAU,CAAC;IACrE,eAAe,EAAE,KAAK,CACpB,mCAAmC,EACnC,GAAG,CAAA;UACC,KAAK,CAAC,KAAK;cACP,KAAK,CAAC,WAAW;cACjB,KAAK,CAAC,sBAAsB;;UAEhC,KAAK,CAAC,KAAK;cACP,KAAK,CAAC,WAAW;cACjB,KAAK,CAAC,sBAAsB;QAClC,CACH;CACF,CAAC,CACH,CAAC"}