@proofhound/db 0.1.6

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 (112) hide show
  1. package/LICENSE +190 -0
  2. package/dist/clean-test-residue.d.ts +2 -0
  3. package/dist/clean-test-residue.d.ts.map +1 -0
  4. package/dist/clean-test-residue.js +59 -0
  5. package/dist/clean-test-residue.js.map +1 -0
  6. package/dist/client.d.ts +5 -0
  7. package/dist/client.d.ts.map +1 -0
  8. package/dist/client.js +87 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/ensure-e2e-database.d.ts +2 -0
  11. package/dist/ensure-e2e-database.d.ts.map +1 -0
  12. package/dist/ensure-e2e-database.js +87 -0
  13. package/dist/ensure-e2e-database.js.map +1 -0
  14. package/dist/fixtures/dev/connectors.d.ts +72 -0
  15. package/dist/fixtures/dev/connectors.d.ts.map +1 -0
  16. package/dist/fixtures/dev/connectors.js +90 -0
  17. package/dist/fixtures/dev/connectors.js.map +1 -0
  18. package/dist/fixtures/dev/experiments.d.ts +48 -0
  19. package/dist/fixtures/dev/experiments.d.ts.map +1 -0
  20. package/dist/fixtures/dev/experiments.js +1168 -0
  21. package/dist/fixtures/dev/experiments.js.map +1 -0
  22. package/dist/fixtures/dev/models.d.ts +20 -0
  23. package/dist/fixtures/dev/models.d.ts.map +1 -0
  24. package/dist/fixtures/dev/models.js +60 -0
  25. package/dist/fixtures/dev/models.js.map +1 -0
  26. package/dist/fixtures/dev/optimizations.d.ts +62 -0
  27. package/dist/fixtures/dev/optimizations.d.ts.map +1 -0
  28. package/dist/fixtures/dev/optimizations.js +124 -0
  29. package/dist/fixtures/dev/optimizations.js.map +1 -0
  30. package/dist/fixtures/dev/prompts.d.ts +31 -0
  31. package/dist/fixtures/dev/prompts.d.ts.map +1 -0
  32. package/dist/fixtures/dev/prompts.js +115 -0
  33. package/dist/fixtures/dev/prompts.js.map +1 -0
  34. package/dist/fixtures/dev/tokens.d.ts +10 -0
  35. package/dist/fixtures/dev/tokens.d.ts.map +1 -0
  36. package/dist/fixtures/dev/tokens.js +28 -0
  37. package/dist/fixtures/dev/tokens.js.map +1 -0
  38. package/dist/index.d.ts +3 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +44 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/migrate.d.ts +2 -0
  43. package/dist/migrate.d.ts.map +1 -0
  44. package/dist/migrate.js +34 -0
  45. package/dist/migrate.js.map +1 -0
  46. package/dist/migrations/0000_woozy_thunderbolt.sql +688 -0
  47. package/dist/migrations/0001_webhook_token_scope.sql +28 -0
  48. package/dist/migrations/0002_tokens_table_unify_scope.sql +50 -0
  49. package/dist/migrations/0003_models_auto_concurrency.sql +4 -0
  50. package/dist/migrations/0004_webhook_token_attribution.sql +4 -0
  51. package/dist/migrations/0005_same_thor_girl.sql +34 -0
  52. package/dist/reset.d.ts +2 -0
  53. package/dist/reset.d.ts.map +1 -0
  54. package/dist/reset.js +78 -0
  55. package/dist/reset.js.map +1 -0
  56. package/dist/schema/index.d.ts +5 -0
  57. package/dist/schema/index.d.ts.map +1 -0
  58. package/dist/schema/index.js +23 -0
  59. package/dist/schema/index.js.map +1 -0
  60. package/dist/schema/ph_assets/index.d.ts +2012 -0
  61. package/dist/schema/ph_assets/index.d.ts.map +1 -0
  62. package/dist/schema/ph_assets/index.js +272 -0
  63. package/dist/schema/ph_assets/index.js.map +1 -0
  64. package/dist/schema/ph_core/index.d.ts +424 -0
  65. package/dist/schema/ph_core/index.d.ts.map +1 -0
  66. package/dist/schema/ph_core/index.js +69 -0
  67. package/dist/schema/ph_core/index.js.map +1 -0
  68. package/dist/schema/ph_releases/_schema.d.ts +2 -0
  69. package/dist/schema/ph_releases/_schema.d.ts.map +1 -0
  70. package/dist/schema/ph_releases/_schema.js +8 -0
  71. package/dist/schema/ph_releases/_schema.js.map +1 -0
  72. package/dist/schema/ph_releases/annotation-tasks.d.ts +263 -0
  73. package/dist/schema/ph_releases/annotation-tasks.d.ts.map +1 -0
  74. package/dist/schema/ph_releases/annotation-tasks.js +38 -0
  75. package/dist/schema/ph_releases/annotation-tasks.js.map +1 -0
  76. package/dist/schema/ph_releases/canary-releases.d.ts +672 -0
  77. package/dist/schema/ph_releases/canary-releases.d.ts.map +1 -0
  78. package/dist/schema/ph_releases/canary-releases.js +91 -0
  79. package/dist/schema/ph_releases/canary-releases.js.map +1 -0
  80. package/dist/schema/ph_releases/index.d.ts +6 -0
  81. package/dist/schema/ph_releases/index.d.ts.map +1 -0
  82. package/dist/schema/ph_releases/index.js +24 -0
  83. package/dist/schema/ph_releases/index.js.map +1 -0
  84. package/dist/schema/ph_releases/production-release-events.d.ts +527 -0
  85. package/dist/schema/ph_releases/production-release-events.d.ts.map +1 -0
  86. package/dist/schema/ph_releases/production-release-events.js +86 -0
  87. package/dist/schema/ph_releases/production-release-events.js.map +1 -0
  88. package/dist/schema/ph_releases/release-lines.d.ts +1442 -0
  89. package/dist/schema/ph_releases/release-lines.d.ts.map +1 -0
  90. package/dist/schema/ph_releases/release-lines.js +203 -0
  91. package/dist/schema/ph_releases/release-lines.js.map +1 -0
  92. package/dist/schema/ph_runs/_schema.d.ts +2 -0
  93. package/dist/schema/ph_runs/_schema.d.ts.map +1 -0
  94. package/dist/schema/ph_runs/_schema.js +6 -0
  95. package/dist/schema/ph_runs/_schema.js.map +1 -0
  96. package/dist/schema/ph_runs/experiments.d.ts +984 -0
  97. package/dist/schema/ph_runs/experiments.d.ts.map +1 -0
  98. package/dist/schema/ph_runs/experiments.js +134 -0
  99. package/dist/schema/ph_runs/experiments.js.map +1 -0
  100. package/dist/schema/ph_runs/index.d.ts +1027 -0
  101. package/dist/schema/ph_runs/index.d.ts.map +1 -0
  102. package/dist/schema/ph_runs/index.js +135 -0
  103. package/dist/schema/ph_runs/index.js.map +1 -0
  104. package/dist/seed-dev.d.ts +2 -0
  105. package/dist/seed-dev.d.ts.map +1 -0
  106. package/dist/seed-dev.js +605 -0
  107. package/dist/seed-dev.js.map +1 -0
  108. package/dist/seed.d.ts +2 -0
  109. package/dist/seed.d.ts.map +1 -0
  110. package/dist/seed.js +13 -0
  111. package/dist/seed.js.map +1 -0
  112. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/ph_assets/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+ // ph_assets — models / datasets / prompts / connectors
3
+ // See docs/specs/06-database-schema.md §4
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.connectors = exports.promptVersionLabels = exports.promptVersions = exports.prompts = exports.datasetImportSamples = exports.datasetImports = exports.datasetSamples = exports.datasets = exports.modelContextWindows = exports.models = exports.phAssets = void 0;
6
+ const drizzle_orm_1 = require("drizzle-orm");
7
+ const pg_core_1 = require("drizzle-orm/pg-core");
8
+ const index_1 = require("../ph_core/index");
9
+ exports.phAssets = (0, pg_core_1.pgSchema)('ph_assets');
10
+ exports.models = exports.phAssets.table('models', {
11
+ id: (0, pg_core_1.uuid)('id')
12
+ .primaryKey()
13
+ .default((0, drizzle_orm_1.sql) `gen_random_uuid()`),
14
+ projectId: (0, pg_core_1.uuid)('project_id')
15
+ .notNull()
16
+ .references(() => index_1.projects.id, { onDelete: 'cascade' }),
17
+ name: (0, pg_core_1.text)('name').notNull(),
18
+ providerType: (0, pg_core_1.text)('provider_type').notNull(),
19
+ providerModelId: (0, pg_core_1.text)('provider_model_id').notNull(),
20
+ endpoint: (0, pg_core_1.text)('endpoint').notNull(),
21
+ apiKeyEncrypted: (0, pg_core_1.text)('api_key_encrypted').notNull(),
22
+ contextWindowTokens: (0, pg_core_1.integer)('context_window_tokens'),
23
+ rpmLimit: (0, pg_core_1.integer)('rpm_limit').notNull().default(60),
24
+ tpmLimit: (0, pg_core_1.integer)('tpm_limit').notNull().default(100000),
25
+ // concurrency_limit acts as the ceiling when auto_concurrency is on; otherwise it is the hard limit. See docs/specs/21-models.md §6.1
26
+ concurrencyLimit: (0, pg_core_1.integer)('concurrency_limit').notNull().default(20),
27
+ autoConcurrency: (0, pg_core_1.boolean)('auto_concurrency').notNull().default(true),
28
+ inputTokenPricePerMillion: (0, pg_core_1.numeric)('input_token_price_per_million', { precision: 12, scale: 6 })
29
+ .notNull()
30
+ .default('0'),
31
+ outputTokenPricePerMillion: (0, pg_core_1.numeric)('output_token_price_per_million', { precision: 12, scale: 6 })
32
+ .notNull()
33
+ .default('0'),
34
+ capabilities: (0, pg_core_1.jsonb)('capabilities')
35
+ .notNull()
36
+ .default((0, drizzle_orm_1.sql) `'{}'::jsonb`),
37
+ extraBody: (0, pg_core_1.jsonb)('extra_body')
38
+ .notNull()
39
+ .default((0, drizzle_orm_1.sql) `'{}'::jsonb`),
40
+ isActive: (0, pg_core_1.boolean)('is_active').notNull().default(true),
41
+ lastProbedAt: (0, pg_core_1.timestamp)('last_probed_at', { withTimezone: true }),
42
+ lastProbeError: (0, pg_core_1.text)('last_probe_error'),
43
+ createdBy: (0, pg_core_1.uuid)('created_by').notNull(),
44
+ createdAt: (0, pg_core_1.timestamp)('created_at', { withTimezone: true }).notNull().defaultNow(),
45
+ updatedAt: (0, pg_core_1.timestamp)('updated_at', { withTimezone: true }).notNull().defaultNow(),
46
+ deletedAt: (0, pg_core_1.timestamp)('deleted_at', { withTimezone: true }),
47
+ }, (t) => [
48
+ (0, pg_core_1.check)('models_context_window_tokens_positive_check', (0, drizzle_orm_1.sql) `${t.contextWindowTokens} IS NULL OR ${t.contextWindowTokens} > 0`),
49
+ (0, pg_core_1.check)('models_rpm_limit_valid_check', (0, drizzle_orm_1.sql) `${t.rpmLimit} = -1 OR ${t.rpmLimit} > 0`),
50
+ (0, pg_core_1.check)('models_tpm_limit_valid_check', (0, drizzle_orm_1.sql) `${t.tpmLimit} = -1 OR ${t.tpmLimit} > 0`),
51
+ (0, pg_core_1.check)('models_concurrency_limit_valid_check', (0, drizzle_orm_1.sql) `${t.concurrencyLimit} >= 1 AND ${t.concurrencyLimit} <= 999`),
52
+ (0, pg_core_1.check)('models_input_token_price_nonnegative_check', (0, drizzle_orm_1.sql) `${t.inputTokenPricePerMillion} >= 0`),
53
+ (0, pg_core_1.check)('models_output_token_price_nonnegative_check', (0, drizzle_orm_1.sql) `${t.outputTokenPricePerMillion} >= 0`),
54
+ (0, pg_core_1.check)('models_extra_body_object_check', (0, drizzle_orm_1.sql) `jsonb_typeof(${t.extraBody}) = 'object'`),
55
+ (0, pg_core_1.uniqueIndex)('idx_models_project_name_active')
56
+ .on(t.projectId, t.name)
57
+ .where((0, drizzle_orm_1.sql) `${t.deletedAt} IS NULL`),
58
+ (0, pg_core_1.index)('idx_models_project')
59
+ .on(t.projectId)
60
+ .where((0, drizzle_orm_1.sql) `${t.deletedAt} IS NULL`),
61
+ ]);
62
+ exports.modelContextWindows = exports.phAssets.table('model_context_windows', {
63
+ providerModelId: (0, pg_core_1.text)('provider_model_id').primaryKey(),
64
+ contextWindowTokens: (0, pg_core_1.integer)('context_window_tokens').notNull(),
65
+ updatedBy: (0, pg_core_1.uuid)('updated_by'),
66
+ updatedAt: (0, pg_core_1.timestamp)('updated_at', { withTimezone: true }).notNull().defaultNow(),
67
+ }, (t) => [(0, pg_core_1.check)('model_context_windows_context_window_positive_check', (0, drizzle_orm_1.sql) `${t.contextWindowTokens} > 0`)]);
68
+ exports.datasets = exports.phAssets.table('datasets', {
69
+ id: (0, pg_core_1.uuid)('id')
70
+ .primaryKey()
71
+ .default((0, drizzle_orm_1.sql) `gen_random_uuid()`),
72
+ projectId: (0, pg_core_1.uuid)('project_id')
73
+ .notNull()
74
+ .references(() => index_1.projects.id, { onDelete: 'cascade' }),
75
+ name: (0, pg_core_1.text)('name').notNull(),
76
+ description: (0, pg_core_1.text)('description'),
77
+ sampleCount: (0, pg_core_1.integer)('sample_count').notNull().default(0),
78
+ fieldSchema: (0, pg_core_1.jsonb)('field_schema')
79
+ .notNull()
80
+ .default((0, drizzle_orm_1.sql) `'[]'::jsonb`),
81
+ hasImages: (0, pg_core_1.boolean)('has_images').notNull().default(false),
82
+ storagePrefix: (0, pg_core_1.text)('storage_prefix'),
83
+ createdBy: (0, pg_core_1.uuid)('created_by').notNull(),
84
+ createdAt: (0, pg_core_1.timestamp)('created_at', { withTimezone: true }).notNull().defaultNow(),
85
+ updatedAt: (0, pg_core_1.timestamp)('updated_at', { withTimezone: true }).notNull().defaultNow(),
86
+ deletedAt: (0, pg_core_1.timestamp)('deleted_at', { withTimezone: true }),
87
+ }, (t) => [
88
+ (0, pg_core_1.uniqueIndex)('idx_datasets_project_name_active')
89
+ .on(t.projectId, t.name)
90
+ .where((0, drizzle_orm_1.sql) `${t.deletedAt} IS NULL`),
91
+ (0, pg_core_1.index)('idx_datasets_project')
92
+ .on(t.projectId)
93
+ .where((0, drizzle_orm_1.sql) `${t.deletedAt} IS NULL`),
94
+ ]);
95
+ exports.datasetSamples = exports.phAssets.table('dataset_samples', {
96
+ id: (0, pg_core_1.uuid)('id')
97
+ .primaryKey()
98
+ .default((0, drizzle_orm_1.sql) `gen_random_uuid()`),
99
+ datasetId: (0, pg_core_1.uuid)('dataset_id')
100
+ .notNull()
101
+ .references(() => exports.datasets.id, { onDelete: 'cascade' }),
102
+ data: (0, pg_core_1.jsonb)('data').notNull(),
103
+ externalId: (0, pg_core_1.text)('external_id'),
104
+ createdAt: (0, pg_core_1.timestamp)('created_at', { withTimezone: true }).notNull().defaultNow(),
105
+ updatedAt: (0, pg_core_1.timestamp)('updated_at', { withTimezone: true }).notNull().defaultNow(),
106
+ }, (t) => [
107
+ (0, pg_core_1.index)('idx_dataset_samples_dataset').on(t.datasetId),
108
+ (0, pg_core_1.index)('idx_dataset_samples_ext')
109
+ .on(t.datasetId, t.externalId)
110
+ .where((0, drizzle_orm_1.sql) `${t.externalId} IS NOT NULL`),
111
+ ]);
112
+ // Large-file streaming import session + staging samples. See docs/specs/06-database-schema.md §4.3.1 / 22-datasets.md §3.1.2
113
+ exports.datasetImports = exports.phAssets.table('dataset_imports', {
114
+ id: (0, pg_core_1.uuid)('id')
115
+ .primaryKey()
116
+ .default((0, drizzle_orm_1.sql) `gen_random_uuid()`),
117
+ projectId: (0, pg_core_1.uuid)('project_id')
118
+ .notNull()
119
+ .references(() => index_1.projects.id, { onDelete: 'cascade' }),
120
+ // NULL during import; backfilled to the new dataset on successful complete promote
121
+ datasetId: (0, pg_core_1.uuid)('dataset_id').references(() => exports.datasets.id, { onDelete: 'cascade' }),
122
+ name: (0, pg_core_1.text)('name').notNull(),
123
+ description: (0, pg_core_1.text)('description'),
124
+ fieldMappings: (0, pg_core_1.jsonb)('field_mappings')
125
+ .notNull()
126
+ .default((0, drizzle_orm_1.sql) `'[]'::jsonb`),
127
+ fileName: (0, pg_core_1.text)('file_name').notNull(),
128
+ fileSizeBytes: (0, pg_core_1.bigint)('file_size_bytes', { mode: 'number' }).notNull(),
129
+ contentType: (0, pg_core_1.text)('content_type'),
130
+ sourceFormat: (0, pg_core_1.text)('source_format').notNull(),
131
+ declaredTotalRows: (0, pg_core_1.integer)('declared_total_rows'),
132
+ receivedRows: (0, pg_core_1.integer)('received_rows').notNull().default(0),
133
+ status: (0, pg_core_1.text)('status').notNull().default('importing'),
134
+ createdBy: (0, pg_core_1.uuid)('created_by').notNull(),
135
+ createdAt: (0, pg_core_1.timestamp)('created_at', { withTimezone: true }).notNull().defaultNow(),
136
+ // Heartbeat advanced on each batch; sweep reaps importing sessions stale past the timeout
137
+ updatedAt: (0, pg_core_1.timestamp)('updated_at', { withTimezone: true }).notNull().defaultNow(),
138
+ }, (t) => [
139
+ (0, pg_core_1.check)('dataset_imports_source_format_check', (0, drizzle_orm_1.sql) `${t.sourceFormat} IN ('jsonl', 'csv', 'tsv')`),
140
+ (0, pg_core_1.check)('dataset_imports_status_check', (0, drizzle_orm_1.sql) `${t.status} IN ('importing', 'ready')`),
141
+ (0, pg_core_1.index)('idx_dataset_imports_project_status').on(t.projectId, t.status),
142
+ (0, pg_core_1.index)('idx_dataset_imports_stale')
143
+ .on(t.status, t.updatedAt)
144
+ .where((0, drizzle_orm_1.sql) `${t.status} = 'importing'`),
145
+ ]);
146
+ exports.datasetImportSamples = exports.phAssets.table('dataset_import_samples', {
147
+ importId: (0, pg_core_1.uuid)('import_id')
148
+ .notNull()
149
+ .references(() => exports.datasetImports.id, { onDelete: 'cascade' }),
150
+ rowIndex: (0, pg_core_1.integer)('row_index').notNull(),
151
+ data: (0, pg_core_1.jsonb)('data').notNull(),
152
+ externalId: (0, pg_core_1.text)('external_id'),
153
+ },
154
+ // (import_id, row_index) gives single-batch resend idempotency; ON DELETE CASCADE makes cleanup = delete the session row
155
+ (t) => [(0, pg_core_1.primaryKey)({ columns: [t.importId, t.rowIndex] })]);
156
+ exports.prompts = exports.phAssets.table('prompts', {
157
+ id: (0, pg_core_1.uuid)('id')
158
+ .primaryKey()
159
+ .default((0, drizzle_orm_1.sql) `gen_random_uuid()`),
160
+ projectId: (0, pg_core_1.uuid)('project_id')
161
+ .notNull()
162
+ .references(() => index_1.projects.id, { onDelete: 'cascade' }),
163
+ name: (0, pg_core_1.text)('name').notNull(),
164
+ currentOnlineVersionId: (0, pg_core_1.uuid)('current_online_version_id'),
165
+ defaultDatasetId: (0, pg_core_1.uuid)('default_dataset_id').references(() => exports.datasets.id, { onDelete: 'restrict' }),
166
+ createdBy: (0, pg_core_1.uuid)('created_by').notNull(),
167
+ createdAt: (0, pg_core_1.timestamp)('created_at', { withTimezone: true }).notNull().defaultNow(),
168
+ updatedAt: (0, pg_core_1.timestamp)('updated_at', { withTimezone: true }).notNull().defaultNow(),
169
+ deletedAt: (0, pg_core_1.timestamp)('deleted_at', { withTimezone: true }),
170
+ }, (t) => [
171
+ (0, pg_core_1.uniqueIndex)('idx_prompts_project_name_active')
172
+ .on(t.projectId, t.name)
173
+ .where((0, drizzle_orm_1.sql) `${t.deletedAt} IS NULL`),
174
+ (0, pg_core_1.index)('idx_prompts_project')
175
+ .on(t.projectId)
176
+ .where((0, drizzle_orm_1.sql) `${t.deletedAt} IS NULL`),
177
+ (0, pg_core_1.index)('idx_prompts_default_dataset')
178
+ .on(t.defaultDatasetId)
179
+ .where((0, drizzle_orm_1.sql) `${t.defaultDatasetId} IS NOT NULL AND ${t.deletedAt} IS NULL`),
180
+ ]);
181
+ exports.promptVersions = exports.phAssets.table('prompt_versions', {
182
+ id: (0, pg_core_1.uuid)('id')
183
+ .primaryKey()
184
+ .default((0, drizzle_orm_1.sql) `gen_random_uuid()`),
185
+ promptId: (0, pg_core_1.uuid)('prompt_id')
186
+ .notNull()
187
+ .references(() => exports.prompts.id, { onDelete: 'cascade' }),
188
+ versionNumber: (0, pg_core_1.integer)('version_number').notNull(),
189
+ body: (0, pg_core_1.text)('body'),
190
+ variables: (0, pg_core_1.jsonb)('variables')
191
+ .notNull()
192
+ .default((0, drizzle_orm_1.sql) `'[]'::jsonb`),
193
+ outputSchema: (0, pg_core_1.jsonb)('output_schema'),
194
+ judgmentRules: (0, pg_core_1.jsonb)('judgment_rules'),
195
+ promptLanguage: (0, pg_core_1.text)('prompt_language').notNull().default('zh-CN'),
196
+ parentVersionId: (0, pg_core_1.uuid)('parent_version_id'),
197
+ generatedByOptimizationId: (0, pg_core_1.uuid)('generated_by_optimization_id'),
198
+ changeReason: (0, pg_core_1.text)('change_reason'),
199
+ isFrozen: (0, pg_core_1.boolean)('is_frozen').notNull().default(false),
200
+ createdBy: (0, pg_core_1.uuid)('created_by').notNull(),
201
+ createdAt: (0, pg_core_1.timestamp)('created_at', { withTimezone: true }).notNull().defaultNow(),
202
+ frozenAt: (0, pg_core_1.timestamp)('frozen_at', { withTimezone: true }),
203
+ }, (t) => [
204
+ (0, pg_core_1.unique)('prompt_versions_prompt_version_unique').on(t.promptId, t.versionNumber),
205
+ (0, pg_core_1.check)('prompt_versions_prompt_language_check', (0, drizzle_orm_1.sql) `${t.promptLanguage} IN ('zh-CN', 'en-US')`),
206
+ (0, pg_core_1.index)('idx_prompt_versions_prompt').on(t.promptId, t.versionNumber),
207
+ ]);
208
+ exports.promptVersionLabels = exports.phAssets.table('prompt_version_labels', {
209
+ id: (0, pg_core_1.uuid)('id')
210
+ .primaryKey()
211
+ .default((0, drizzle_orm_1.sql) `gen_random_uuid()`),
212
+ promptId: (0, pg_core_1.uuid)('prompt_id')
213
+ .notNull()
214
+ .references(() => exports.prompts.id, { onDelete: 'cascade' }),
215
+ versionId: (0, pg_core_1.uuid)('version_id')
216
+ .notNull()
217
+ .references(() => exports.promptVersions.id, { onDelete: 'cascade' }),
218
+ label: (0, pg_core_1.text)('label').notNull(),
219
+ labelType: (0, pg_core_1.text)('label_type').notNull().default('custom'),
220
+ createdBy: (0, pg_core_1.uuid)('created_by').notNull(),
221
+ createdAt: (0, pg_core_1.timestamp)('created_at', { withTimezone: true }).notNull().defaultNow(),
222
+ updatedAt: (0, pg_core_1.timestamp)('updated_at', { withTimezone: true }).notNull().defaultNow(),
223
+ }, (t) => [
224
+ (0, pg_core_1.uniqueIndex)('uniq_prompt_version_labels_prompt_label').on(t.promptId, t.label),
225
+ (0, pg_core_1.index)('idx_prompt_version_labels_version').on(t.versionId),
226
+ (0, pg_core_1.check)('prompt_version_labels_type_check', (0, drizzle_orm_1.sql) `${t.labelType} IN ('system', 'custom')`),
227
+ (0, pg_core_1.check)('prompt_version_labels_label_check', (0, drizzle_orm_1.sql) `${t.label} ~ '^[A-Za-z0-9一-鿿][A-Za-z0-9一-鿿_.:-]{0,63}$'`),
228
+ ]);
229
+ exports.connectors = exports.phAssets.table('connectors', {
230
+ id: (0, pg_core_1.uuid)('id')
231
+ .primaryKey()
232
+ .default((0, drizzle_orm_1.sql) `gen_random_uuid()`),
233
+ projectId: (0, pg_core_1.uuid)('project_id')
234
+ .notNull()
235
+ .references(() => index_1.projects.id, { onDelete: 'cascade' }),
236
+ name: (0, pg_core_1.text)('name').notNull(),
237
+ description: (0, pg_core_1.text)('description'),
238
+ direction: (0, pg_core_1.text)('direction').notNull(),
239
+ type: (0, pg_core_1.text)('type').notNull(),
240
+ config: (0, pg_core_1.jsonb)('config').notNull(),
241
+ configEncrypted: (0, pg_core_1.jsonb)('config_encrypted'),
242
+ webhookPath: (0, pg_core_1.text)('webhook_path'),
243
+ // Inbound webhook tokens are not referenced in this table; they live in ph_core.tokens (scope='webhook' AND connector_id=this.id)
244
+ // See docs/specs/06-database-schema.md §3.2 / §4.5
245
+ ipWhitelist: (0, pg_core_1.jsonb)('ip_whitelist').$type(),
246
+ healthStatus: (0, pg_core_1.text)('health_status').notNull().default('unknown'),
247
+ lastProbedAt: (0, pg_core_1.timestamp)('last_probed_at', { withTimezone: true }),
248
+ lastProbeError: (0, pg_core_1.text)('last_probe_error'),
249
+ createdBy: (0, pg_core_1.uuid)('created_by').notNull(),
250
+ createdAt: (0, pg_core_1.timestamp)('created_at', { withTimezone: true }).notNull().defaultNow(),
251
+ updatedAt: (0, pg_core_1.timestamp)('updated_at', { withTimezone: true }).notNull().defaultNow(),
252
+ deletedAt: (0, pg_core_1.timestamp)('deleted_at', { withTimezone: true }),
253
+ }, (t) => [
254
+ (0, pg_core_1.check)('connectors_direction_check', (0, drizzle_orm_1.sql) `${t.direction} IN ('input', 'output')`),
255
+ (0, pg_core_1.check)('connectors_type_check', (0, drizzle_orm_1.sql) `${t.type} IN ('redis', 'kafka', 'webhook')`),
256
+ (0, pg_core_1.check)('connectors_health_status_check', (0, drizzle_orm_1.sql) `${t.healthStatus} IN ('healthy', 'degraded', 'unhealthy', 'unknown')`),
257
+ (0, pg_core_1.check)('connectors_type_webhook_check', (0, drizzle_orm_1.sql) `(
258
+ (${t.type} = 'webhook' AND ${t.direction} = 'input' AND ${t.webhookPath} IS NOT NULL) OR
259
+ (${t.type} = 'webhook' AND ${t.direction} = 'output' AND ${t.webhookPath} IS NULL) OR
260
+ (${t.type} <> 'webhook' AND ${t.webhookPath} IS NULL)
261
+ )`),
262
+ (0, pg_core_1.uniqueIndex)('idx_connectors_project_name_active')
263
+ .on(t.projectId, t.name)
264
+ .where((0, drizzle_orm_1.sql) `${t.deletedAt} IS NULL`),
265
+ (0, pg_core_1.uniqueIndex)('idx_connectors_webhook_path_active')
266
+ .on(t.projectId, t.webhookPath)
267
+ .where((0, drizzle_orm_1.sql) `${t.webhookPath} IS NOT NULL AND ${t.deletedAt} IS NULL`),
268
+ (0, pg_core_1.index)('idx_connectors_project')
269
+ .on(t.projectId)
270
+ .where((0, drizzle_orm_1.sql) `${t.deletedAt} IS NULL`),
271
+ ]);
272
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schema/ph_assets/index.ts"],"names":[],"mappings":"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"}