@contractspec/lib.runtime-sandbox 2.7.6 → 2.7.9
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.
- package/README.md +42 -22
- package/dist/browser/index.js +364 -120
- package/dist/index.js +364 -120
- package/dist/node/index.js +364 -120
- package/dist/web/index.d.ts +3 -3
- package/package.json +7 -7
- package/src/adapters/pglite/adapter.ts +132 -132
- package/src/index.ts +9 -9
- package/src/ports/database.port.ts +53 -53
- package/src/ports/index.ts +2 -2
- package/src/types/database.types.ts +22 -22
- package/src/web/database/migrations.ts +195 -195
- package/src/web/database/schema.ts +419 -419
- package/src/web/events/local-pubsub.ts +22 -22
- package/src/web/graphql/local-client.ts +495 -496
- package/src/web/index.ts +6 -11
- package/src/web/runtime/seeders/index.ts +611 -352
- package/src/web/runtime/services.ts +104 -105
- package/src/web/storage/indexeddb.ts +98 -98
- package/src/web/utils/id.ts +5 -5
|
@@ -11,10 +11,10 @@ import type { Migration } from '@contractspec/lib.runtime-sandbox';
|
|
|
11
11
|
* Each migration should be idempotent (CREATE TABLE IF NOT EXISTS).
|
|
12
12
|
*/
|
|
13
13
|
export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
// ============ Todos Template ============
|
|
15
|
+
{
|
|
16
|
+
id: '001_template_task_category',
|
|
17
|
+
sql: `
|
|
18
18
|
CREATE TABLE IF NOT EXISTS template_task_category (
|
|
19
19
|
id TEXT PRIMARY KEY,
|
|
20
20
|
"projectId" TEXT NOT NULL,
|
|
@@ -24,10 +24,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
24
24
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
25
25
|
);
|
|
26
26
|
`,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: '002_template_task',
|
|
30
|
+
sql: `
|
|
31
31
|
CREATE TABLE IF NOT EXISTS template_task (
|
|
32
32
|
id TEXT PRIMARY KEY,
|
|
33
33
|
"projectId" TEXT NOT NULL,
|
|
@@ -42,11 +42,11 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
42
42
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
43
43
|
);
|
|
44
44
|
`,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
},
|
|
46
|
+
// ============ Messaging Template ============
|
|
47
|
+
{
|
|
48
|
+
id: '003_template_conversation',
|
|
49
|
+
sql: `
|
|
50
50
|
CREATE TABLE IF NOT EXISTS template_conversation (
|
|
51
51
|
id TEXT PRIMARY KEY,
|
|
52
52
|
"projectId" TEXT NOT NULL,
|
|
@@ -58,10 +58,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
58
58
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
59
59
|
);
|
|
60
60
|
`,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: '004_template_conversation_participant',
|
|
64
|
+
sql: `
|
|
65
65
|
CREATE TABLE IF NOT EXISTS template_conversation_participant (
|
|
66
66
|
id TEXT PRIMARY KEY,
|
|
67
67
|
"conversationId" TEXT NOT NULL,
|
|
@@ -73,10 +73,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
73
73
|
"lastReadAt" TEXT
|
|
74
74
|
);
|
|
75
75
|
`,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
id: '005_template_message',
|
|
79
|
+
sql: `
|
|
80
80
|
CREATE TABLE IF NOT EXISTS template_message (
|
|
81
81
|
id TEXT PRIMARY KEY,
|
|
82
82
|
"conversationId" TEXT NOT NULL,
|
|
@@ -90,11 +90,11 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
90
90
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
91
91
|
);
|
|
92
92
|
`,
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
93
|
+
},
|
|
94
|
+
// ============ Recipes Template ============
|
|
95
|
+
{
|
|
96
|
+
id: '006_template_recipe_category',
|
|
97
|
+
sql: `
|
|
98
98
|
CREATE TABLE IF NOT EXISTS template_recipe_category (
|
|
99
99
|
id TEXT PRIMARY KEY,
|
|
100
100
|
"nameEn" TEXT NOT NULL,
|
|
@@ -102,10 +102,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
102
102
|
icon TEXT
|
|
103
103
|
);
|
|
104
104
|
`,
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
id: '007_template_recipe',
|
|
108
|
+
sql: `
|
|
109
109
|
CREATE TABLE IF NOT EXISTS template_recipe (
|
|
110
110
|
id TEXT PRIMARY KEY,
|
|
111
111
|
"projectId" TEXT NOT NULL,
|
|
@@ -125,10 +125,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
125
125
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
126
126
|
);
|
|
127
127
|
`,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
id: '008_template_recipe_ingredient',
|
|
131
|
+
sql: `
|
|
132
132
|
CREATE TABLE IF NOT EXISTS template_recipe_ingredient (
|
|
133
133
|
id TEXT PRIMARY KEY,
|
|
134
134
|
"recipeId" TEXT NOT NULL,
|
|
@@ -138,10 +138,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
138
138
|
ordering INTEGER DEFAULT 0
|
|
139
139
|
);
|
|
140
140
|
`,
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
id: '009_template_recipe_instruction',
|
|
144
|
+
sql: `
|
|
145
145
|
CREATE TABLE IF NOT EXISTS template_recipe_instruction (
|
|
146
146
|
id TEXT PRIMARY KEY,
|
|
147
147
|
"recipeId" TEXT NOT NULL,
|
|
@@ -150,11 +150,11 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
150
150
|
ordering INTEGER DEFAULT 0
|
|
151
151
|
);
|
|
152
152
|
`,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
153
|
+
},
|
|
154
|
+
// ============ CRM Template ============
|
|
155
|
+
{
|
|
156
|
+
id: '010_crm_pipeline',
|
|
157
|
+
sql: `
|
|
158
158
|
CREATE TABLE IF NOT EXISTS crm_pipeline (
|
|
159
159
|
id TEXT PRIMARY KEY,
|
|
160
160
|
"projectId" TEXT NOT NULL,
|
|
@@ -163,10 +163,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
163
163
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
164
164
|
);
|
|
165
165
|
`,
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
id: '011_crm_stage',
|
|
169
|
+
sql: `
|
|
170
170
|
CREATE TABLE IF NOT EXISTS crm_stage (
|
|
171
171
|
id TEXT PRIMARY KEY,
|
|
172
172
|
"pipelineId" TEXT NOT NULL,
|
|
@@ -175,10 +175,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
175
175
|
"createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
176
176
|
);
|
|
177
177
|
`,
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
id: '012_crm_deal',
|
|
181
|
+
sql: `
|
|
182
182
|
CREATE TABLE IF NOT EXISTS crm_deal (
|
|
183
183
|
id TEXT PRIMARY KEY,
|
|
184
184
|
"projectId" TEXT NOT NULL,
|
|
@@ -199,10 +199,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
199
199
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
200
200
|
);
|
|
201
201
|
`,
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
id: '013_crm_company',
|
|
205
|
+
sql: `
|
|
206
206
|
CREATE TABLE IF NOT EXISTS crm_company (
|
|
207
207
|
id TEXT PRIMARY KEY,
|
|
208
208
|
"projectId" TEXT NOT NULL,
|
|
@@ -215,10 +215,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
215
215
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
216
216
|
);
|
|
217
217
|
`,
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
id: '014_crm_contact',
|
|
221
|
+
sql: `
|
|
222
222
|
CREATE TABLE IF NOT EXISTS crm_contact (
|
|
223
223
|
id TEXT PRIMARY KEY,
|
|
224
224
|
"projectId" TEXT NOT NULL,
|
|
@@ -232,11 +232,11 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
232
232
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
233
233
|
);
|
|
234
234
|
`,
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
235
|
+
},
|
|
236
|
+
// ============ SaaS Template ============
|
|
237
|
+
{
|
|
238
|
+
id: '015_saas_project',
|
|
239
|
+
sql: `
|
|
240
240
|
CREATE TABLE IF NOT EXISTS saas_project (
|
|
241
241
|
id TEXT PRIMARY KEY,
|
|
242
242
|
"projectId" TEXT NOT NULL,
|
|
@@ -249,10 +249,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
249
249
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
250
250
|
);
|
|
251
251
|
`,
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
id: '016_saas_subscription',
|
|
255
|
+
sql: `
|
|
256
256
|
CREATE TABLE IF NOT EXISTS saas_subscription (
|
|
257
257
|
id TEXT PRIMARY KEY,
|
|
258
258
|
"projectId" TEXT NOT NULL,
|
|
@@ -267,10 +267,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
267
267
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
268
268
|
);
|
|
269
269
|
`,
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
id: '017_saas_usage',
|
|
273
|
+
sql: `
|
|
274
274
|
CREATE TABLE IF NOT EXISTS saas_usage (
|
|
275
275
|
id TEXT PRIMARY KEY,
|
|
276
276
|
"projectId" TEXT NOT NULL,
|
|
@@ -282,11 +282,11 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
282
282
|
"createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
283
283
|
);
|
|
284
284
|
`,
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
285
|
+
},
|
|
286
|
+
// ============ Agent Console Template ============
|
|
287
|
+
{
|
|
288
|
+
id: '018_agent_tool',
|
|
289
|
+
sql: `
|
|
290
290
|
CREATE TABLE IF NOT EXISTS agent_tool (
|
|
291
291
|
id TEXT PRIMARY KEY,
|
|
292
292
|
"projectId" TEXT NOT NULL,
|
|
@@ -303,10 +303,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
303
303
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
304
304
|
);
|
|
305
305
|
`,
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
id: '019_agent_definition',
|
|
309
|
+
sql: `
|
|
310
310
|
CREATE TABLE IF NOT EXISTS agent_definition (
|
|
311
311
|
id TEXT PRIMARY KEY,
|
|
312
312
|
"projectId" TEXT NOT NULL,
|
|
@@ -323,10 +323,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
323
323
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
324
324
|
);
|
|
325
325
|
`,
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
id: '020_agent_tool_assignment',
|
|
329
|
+
sql: `
|
|
330
330
|
CREATE TABLE IF NOT EXISTS agent_tool_assignment (
|
|
331
331
|
id TEXT PRIMARY KEY,
|
|
332
332
|
"agentId" TEXT NOT NULL,
|
|
@@ -334,10 +334,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
334
334
|
"assignedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
335
335
|
);
|
|
336
336
|
`,
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
id: '021_agent_run',
|
|
340
|
+
sql: `
|
|
341
341
|
CREATE TABLE IF NOT EXISTS agent_run (
|
|
342
342
|
id TEXT PRIMARY KEY,
|
|
343
343
|
"projectId" TEXT NOT NULL,
|
|
@@ -356,10 +356,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
356
356
|
"completedAt" TEXT
|
|
357
357
|
);
|
|
358
358
|
`,
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
id: '022_agent_run_step',
|
|
362
|
+
sql: `
|
|
363
363
|
CREATE TABLE IF NOT EXISTS agent_run_step (
|
|
364
364
|
id TEXT PRIMARY KEY,
|
|
365
365
|
"runId" TEXT NOT NULL,
|
|
@@ -375,10 +375,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
375
375
|
"createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
376
376
|
);
|
|
377
377
|
`,
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
id: '023_agent_run_log',
|
|
381
|
+
sql: `
|
|
382
382
|
CREATE TABLE IF NOT EXISTS agent_run_log (
|
|
383
383
|
id TEXT PRIMARY KEY,
|
|
384
384
|
"runId" TEXT NOT NULL,
|
|
@@ -388,11 +388,11 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
388
388
|
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
389
389
|
);
|
|
390
390
|
`,
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
391
|
+
},
|
|
392
|
+
// ============ Workflow Template ============
|
|
393
|
+
{
|
|
394
|
+
id: '024_workflow_definition',
|
|
395
|
+
sql: `
|
|
396
396
|
CREATE TABLE IF NOT EXISTS workflow_definition (
|
|
397
397
|
id TEXT PRIMARY KEY,
|
|
398
398
|
"projectId" TEXT NOT NULL,
|
|
@@ -405,10 +405,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
405
405
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
406
406
|
);
|
|
407
407
|
`,
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
id: '025_workflow_step',
|
|
411
|
+
sql: `
|
|
412
412
|
CREATE TABLE IF NOT EXISTS workflow_step (
|
|
413
413
|
id TEXT PRIMARY KEY,
|
|
414
414
|
"definitionId" TEXT NOT NULL,
|
|
@@ -422,10 +422,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
422
422
|
"createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
423
423
|
);
|
|
424
424
|
`,
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
id: '026_workflow_instance',
|
|
428
|
+
sql: `
|
|
429
429
|
CREATE TABLE IF NOT EXISTS workflow_instance (
|
|
430
430
|
id TEXT PRIMARY KEY,
|
|
431
431
|
"projectId" TEXT NOT NULL,
|
|
@@ -438,10 +438,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
438
438
|
"completedAt" TEXT
|
|
439
439
|
);
|
|
440
440
|
`,
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
id: '027_workflow_approval',
|
|
444
|
+
sql: `
|
|
445
445
|
CREATE TABLE IF NOT EXISTS workflow_approval (
|
|
446
446
|
id TEXT PRIMARY KEY,
|
|
447
447
|
"instanceId" TEXT NOT NULL,
|
|
@@ -453,11 +453,11 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
453
453
|
"createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
454
454
|
);
|
|
455
455
|
`,
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
456
|
+
},
|
|
457
|
+
// ============ Marketplace Template ============
|
|
458
|
+
{
|
|
459
|
+
id: '028_marketplace_store',
|
|
460
|
+
sql: `
|
|
461
461
|
CREATE TABLE IF NOT EXISTS marketplace_store (
|
|
462
462
|
id TEXT PRIMARY KEY,
|
|
463
463
|
"projectId" TEXT NOT NULL,
|
|
@@ -471,10 +471,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
471
471
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
472
472
|
);
|
|
473
473
|
`,
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
id: '029_marketplace_product',
|
|
477
|
+
sql: `
|
|
478
478
|
CREATE TABLE IF NOT EXISTS marketplace_product (
|
|
479
479
|
id TEXT PRIMARY KEY,
|
|
480
480
|
"storeId" TEXT NOT NULL,
|
|
@@ -490,10 +490,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
490
490
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
491
491
|
);
|
|
492
492
|
`,
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
id: '030_marketplace_order',
|
|
496
|
+
sql: `
|
|
497
497
|
CREATE TABLE IF NOT EXISTS marketplace_order (
|
|
498
498
|
id TEXT PRIMARY KEY,
|
|
499
499
|
"projectId" TEXT NOT NULL,
|
|
@@ -507,10 +507,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
507
507
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
508
508
|
);
|
|
509
509
|
`,
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
id: '031_marketplace_order_item',
|
|
513
|
+
sql: `
|
|
514
514
|
CREATE TABLE IF NOT EXISTS marketplace_order_item (
|
|
515
515
|
id TEXT PRIMARY KEY,
|
|
516
516
|
"orderId" TEXT NOT NULL,
|
|
@@ -520,10 +520,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
520
520
|
"createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
521
521
|
);
|
|
522
522
|
`,
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
id: '032_marketplace_payout',
|
|
526
|
+
sql: `
|
|
527
527
|
CREATE TABLE IF NOT EXISTS marketplace_payout (
|
|
528
528
|
id TEXT PRIMARY KEY,
|
|
529
529
|
"storeId" TEXT NOT NULL,
|
|
@@ -534,10 +534,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
534
534
|
"createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
535
535
|
);
|
|
536
536
|
`,
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
id: '033_marketplace_review',
|
|
540
|
+
sql: `
|
|
541
541
|
CREATE TABLE IF NOT EXISTS marketplace_review (
|
|
542
542
|
id TEXT PRIMARY KEY,
|
|
543
543
|
"productId" TEXT NOT NULL,
|
|
@@ -548,11 +548,11 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
548
548
|
"createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
549
549
|
);
|
|
550
550
|
`,
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
551
|
+
},
|
|
552
|
+
// ============ Integration Hub Template ============
|
|
553
|
+
{
|
|
554
|
+
id: '034_integration',
|
|
555
|
+
sql: `
|
|
556
556
|
CREATE TABLE IF NOT EXISTS integration (
|
|
557
557
|
id TEXT PRIMARY KEY,
|
|
558
558
|
"projectId" TEXT NOT NULL,
|
|
@@ -566,10 +566,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
566
566
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
567
567
|
);
|
|
568
568
|
`,
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
id: '035_integration_connection',
|
|
572
|
+
sql: `
|
|
573
573
|
CREATE TABLE IF NOT EXISTS integration_connection (
|
|
574
574
|
id TEXT PRIMARY KEY,
|
|
575
575
|
"integrationId" TEXT NOT NULL,
|
|
@@ -583,10 +583,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
583
583
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
584
584
|
);
|
|
585
585
|
`,
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
id: '036_integration_sync_config',
|
|
589
|
+
sql: `
|
|
590
590
|
CREATE TABLE IF NOT EXISTS integration_sync_config (
|
|
591
591
|
id TEXT PRIMARY KEY,
|
|
592
592
|
"connectionId" TEXT NOT NULL,
|
|
@@ -602,10 +602,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
602
602
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
603
603
|
);
|
|
604
604
|
`,
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
id: '037_integration_field_mapping',
|
|
608
|
+
sql: `
|
|
609
609
|
CREATE TABLE IF NOT EXISTS integration_field_mapping (
|
|
610
610
|
id TEXT PRIMARY KEY,
|
|
611
611
|
"syncConfigId" TEXT NOT NULL,
|
|
@@ -616,11 +616,11 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
616
616
|
"createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
617
617
|
);
|
|
618
618
|
`,
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
619
|
+
},
|
|
620
|
+
// ============ Analytics Dashboard Template ============
|
|
621
|
+
{
|
|
622
|
+
id: '038_analytics_dashboard',
|
|
623
|
+
sql: `
|
|
624
624
|
CREATE TABLE IF NOT EXISTS analytics_dashboard (
|
|
625
625
|
id TEXT PRIMARY KEY,
|
|
626
626
|
"projectId" TEXT NOT NULL,
|
|
@@ -636,10 +636,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
636
636
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
637
637
|
);
|
|
638
638
|
`,
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
id: '039_analytics_widget',
|
|
642
|
+
sql: `
|
|
643
643
|
CREATE TABLE IF NOT EXISTS analytics_widget (
|
|
644
644
|
id TEXT PRIMARY KEY,
|
|
645
645
|
"dashboardId" TEXT NOT NULL,
|
|
@@ -655,10 +655,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
655
655
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
656
656
|
);
|
|
657
657
|
`,
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
id: '040_analytics_query',
|
|
661
|
+
sql: `
|
|
662
662
|
CREATE TABLE IF NOT EXISTS analytics_query (
|
|
663
663
|
id TEXT PRIMARY KEY,
|
|
664
664
|
"projectId" TEXT NOT NULL,
|
|
@@ -674,11 +674,11 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
674
674
|
"updatedAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
675
675
|
);
|
|
676
676
|
`,
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
677
|
+
},
|
|
678
|
+
// ============ Policy-Safe Knowledge Assistant Template ============
|
|
679
|
+
{
|
|
680
|
+
id: '041_psa_user_context',
|
|
681
|
+
sql: `
|
|
682
682
|
CREATE TABLE IF NOT EXISTS psa_user_context (
|
|
683
683
|
"projectId" TEXT PRIMARY KEY,
|
|
684
684
|
locale TEXT NOT NULL,
|
|
@@ -687,10 +687,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
687
687
|
"kbSnapshotId" TEXT
|
|
688
688
|
);
|
|
689
689
|
`,
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
id: '042_psa_rule',
|
|
693
|
+
sql: `
|
|
694
694
|
CREATE TABLE IF NOT EXISTS psa_rule (
|
|
695
695
|
id TEXT PRIMARY KEY,
|
|
696
696
|
"projectId" TEXT NOT NULL,
|
|
@@ -698,10 +698,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
698
698
|
"topicKey" TEXT NOT NULL
|
|
699
699
|
);
|
|
700
700
|
`,
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
id: '043_psa_rule_version',
|
|
704
|
+
sql: `
|
|
705
705
|
CREATE TABLE IF NOT EXISTS psa_rule_version (
|
|
706
706
|
id TEXT PRIMARY KEY,
|
|
707
707
|
"ruleId" TEXT NOT NULL,
|
|
@@ -716,10 +716,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
716
716
|
"createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
717
717
|
);
|
|
718
718
|
`,
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
id: '044_psa_snapshot',
|
|
722
|
+
sql: `
|
|
723
723
|
CREATE TABLE IF NOT EXISTS psa_snapshot (
|
|
724
724
|
id TEXT PRIMARY KEY,
|
|
725
725
|
jurisdiction TEXT NOT NULL,
|
|
@@ -728,10 +728,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
728
728
|
"publishedAt" TEXT NOT NULL
|
|
729
729
|
);
|
|
730
730
|
`,
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
id: '045_psa_change_candidate',
|
|
734
|
+
sql: `
|
|
735
735
|
CREATE TABLE IF NOT EXISTS psa_change_candidate (
|
|
736
736
|
id TEXT PRIMARY KEY,
|
|
737
737
|
"projectId" TEXT NOT NULL,
|
|
@@ -742,10 +742,10 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
742
742
|
"proposedRuleVersionIdsJson" TEXT NOT NULL
|
|
743
743
|
);
|
|
744
744
|
`,
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
id: '046_psa_review_task',
|
|
748
|
+
sql: `
|
|
749
749
|
CREATE TABLE IF NOT EXISTS psa_review_task (
|
|
750
750
|
id TEXT PRIMARY KEY,
|
|
751
751
|
"changeCandidateId" TEXT NOT NULL,
|
|
@@ -756,5 +756,5 @@ export const SANDBOX_MIGRATIONS: Migration[] = [
|
|
|
756
756
|
"decidedBy" TEXT
|
|
757
757
|
);
|
|
758
758
|
`,
|
|
759
|
-
|
|
759
|
+
},
|
|
760
760
|
];
|