weave-typescript 0.11.14 → 0.11.16

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 (75) hide show
  1. package/dist/weaveapi/data/v1/data.pb.d.ts +54 -0
  2. package/dist/weaveapi/data/v1/data.pb.js +411 -0
  3. package/dist/weaveapi/data/v1/service.pb.d.ts +296 -0
  4. package/dist/weaveapi/data/v1/service.pb.js +2779 -0
  5. package/dist/weaveapi/input/v1/input.pb.d.ts +77 -0
  6. package/dist/weaveapi/input/v1/input.pb.js +632 -0
  7. package/dist/weaveapi/input/v1/service.pb.d.ts +390 -0
  8. package/dist/weaveapi/input/v1/service.pb.js +3612 -0
  9. package/dist/weaveapi/integration/v1/integration.pb.d.ts +67 -0
  10. package/dist/weaveapi/integration/v1/integration.pb.js +486 -0
  11. package/dist/weaveapi/integration/v1/service.pb.d.ts +318 -0
  12. package/dist/weaveapi/integration/v1/service.pb.js +2994 -0
  13. package/dist/weaveapi/project/v1/project.pb.d.ts +1 -0
  14. package/dist/weaveapi/project/v1/project.pb.js +17 -1
  15. package/dist/weaveapi/project/v1/service.pb.d.ts +25 -0
  16. package/dist/weaveapi/project/v1/service.pb.js +248 -5
  17. package/dist/weaveapi/report/v1/report.pb.d.ts +81 -0
  18. package/dist/weaveapi/report/v1/report.pb.js +678 -0
  19. package/dist/weaveapi/report/v1/service.pb.d.ts +194 -0
  20. package/dist/weaveapi/report/v1/service.pb.js +1925 -0
  21. package/dist/weaveapi/requirement/v1/requirement.pb.d.ts +70 -0
  22. package/dist/weaveapi/requirement/v1/requirement.pb.js +570 -0
  23. package/dist/weaveapi/requirement/v1/service.pb.d.ts +390 -0
  24. package/dist/weaveapi/requirement/v1/service.pb.js +3638 -0
  25. package/dist/weaveapi/run/v1/run.pb.d.ts +117 -0
  26. package/dist/weaveapi/run/v1/run.pb.js +1155 -0
  27. package/dist/weaveapi/run/v1/service.pb.d.ts +229 -0
  28. package/dist/weaveapi/run/v1/service.pb.js +2428 -0
  29. package/dist/weaveapi/script/v1/script.pb.d.ts +102 -0
  30. package/dist/weaveapi/script/v1/script.pb.js +1025 -0
  31. package/dist/weaveapi/script/v1/service.pb.d.ts +502 -0
  32. package/dist/weaveapi/script/v1/service.pb.js +4873 -0
  33. package/dist/weaveapi/storage/v1/service.pb.d.ts +4 -0
  34. package/dist/weaveapi/storage/v1/service.pb.js +50 -7
  35. package/dist/weaveapi/storage/v1/storage.pb.d.ts +2 -0
  36. package/dist/weaveapi/storage/v1/storage.pb.js +23 -0
  37. package/dist/weaveapi/storage/v1/vcs.pb.d.ts +75 -0
  38. package/dist/weaveapi/storage/v1/vcs.pb.js +864 -0
  39. package/dist/weaveapi/suite/v1/service.pb.d.ts +539 -0
  40. package/dist/weaveapi/suite/v1/service.pb.js +5281 -0
  41. package/dist/weaveapi/suite/v1/suite.pb.d.ts +92 -0
  42. package/dist/weaveapi/suite/v1/suite.pb.js +876 -0
  43. package/dist/weaveapi/testcase/v1/service.pb.d.ts +498 -0
  44. package/dist/weaveapi/testcase/v1/service.pb.js +4730 -0
  45. package/dist/weaveapi/testcase/v1/testcase.pb.d.ts +91 -0
  46. package/dist/weaveapi/testcase/v1/testcase.pb.js +794 -0
  47. package/dist/weaveapi/workflow/v1/service.pb.d.ts +26 -0
  48. package/dist/weaveapi/workflow/v1/service.pb.js +293 -5
  49. package/dist/weaveapi/workflow/v1/workflow.pb.d.ts +1 -0
  50. package/dist/weaveapi/workflow/v1/workflow.pb.js +17 -1
  51. package/dist/weavesql/weavedb/data_asset_sql.d.ts +206 -0
  52. package/dist/weavesql/weavedb/data_asset_sql.js +335 -0
  53. package/dist/weavesql/weavedb/input_sql.d.ts +293 -0
  54. package/dist/weavesql/weavedb/input_sql.js +500 -0
  55. package/dist/weavesql/weavedb/integration_sql.d.ts +236 -0
  56. package/dist/weavesql/weavedb/integration_sql.js +377 -0
  57. package/dist/weavesql/weavedb/project_sql.d.ts +29 -5
  58. package/dist/weavesql/weavedb/project_sql.js +73 -37
  59. package/dist/weavesql/weavedb/report_sql.d.ts +192 -0
  60. package/dist/weavesql/weavedb/report_sql.js +308 -0
  61. package/dist/weavesql/weavedb/requirement_sql.d.ts +231 -0
  62. package/dist/weavesql/weavedb/requirement_sql.js +399 -0
  63. package/dist/weavesql/weavedb/run_sql.d.ts +283 -0
  64. package/dist/weavesql/weavedb/run_sql.js +462 -0
  65. package/dist/weavesql/weavedb/suite_sql.d.ts +354 -0
  66. package/dist/weavesql/weavedb/suite_sql.js +631 -0
  67. package/dist/weavesql/weavedb/test_case_sql.d.ts +325 -0
  68. package/dist/weavesql/weavedb/test_case_sql.js +563 -0
  69. package/dist/weavesql/weavedb/test_script_sql.d.ts +354 -0
  70. package/dist/weavesql/weavedb/test_script_sql.js +605 -0
  71. package/dist/weavesql/weavedb/traceability_sql.d.ts +117 -0
  72. package/dist/weavesql/weavedb/traceability_sql.js +363 -0
  73. package/dist/weavesql/weavedb/workflow_sql.d.ts +30 -5
  74. package/dist/weavesql/weavedb/workflow_sql.js +76 -38
  75. package/package.json +1 -1
@@ -0,0 +1,605 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteScriptBindingQuery = exports.listScriptBindingsQuery = exports.upsertScriptBindingQuery = exports.setCurrentTestScriptVersionQuery = exports.getNextTestScriptVersionNumberQuery = exports.listTestScriptVersionsQuery = exports.getTestScriptVersionQuery = exports.createTestScriptVersionQuery = exports.listWorkflowTestScriptBindingsQuery = exports.detachTestScriptFromWorkflowQuery = exports.attachTestScriptToWorkflowQuery = exports.deleteTestScriptQuery = exports.archiveTestScriptQuery = exports.updateTestScriptQuery = exports.listTestScriptsByWorkflowQuery = exports.listTestScriptsByProjectQuery = exports.getTestScriptQuery = exports.createTestScriptQuery = void 0;
4
+ exports.createTestScript = createTestScript;
5
+ exports.getTestScript = getTestScript;
6
+ exports.listTestScriptsByProject = listTestScriptsByProject;
7
+ exports.listTestScriptsByWorkflow = listTestScriptsByWorkflow;
8
+ exports.updateTestScript = updateTestScript;
9
+ exports.archiveTestScript = archiveTestScript;
10
+ exports.deleteTestScript = deleteTestScript;
11
+ exports.attachTestScriptToWorkflow = attachTestScriptToWorkflow;
12
+ exports.detachTestScriptFromWorkflow = detachTestScriptFromWorkflow;
13
+ exports.listWorkflowTestScriptBindings = listWorkflowTestScriptBindings;
14
+ exports.createTestScriptVersion = createTestScriptVersion;
15
+ exports.getTestScriptVersion = getTestScriptVersion;
16
+ exports.listTestScriptVersions = listTestScriptVersions;
17
+ exports.getNextTestScriptVersionNumber = getNextTestScriptVersionNumber;
18
+ exports.setCurrentTestScriptVersion = setCurrentTestScriptVersion;
19
+ exports.upsertScriptBinding = upsertScriptBinding;
20
+ exports.listScriptBindings = listScriptBindings;
21
+ exports.deleteScriptBinding = deleteScriptBinding;
22
+ exports.createTestScriptQuery = `-- name: CreateTestScript :one
23
+ INSERT INTO weave_v1.test_script (
24
+ id,
25
+ project_id,
26
+ test_case_id,
27
+ name,
28
+ description,
29
+ language,
30
+ framework,
31
+ status,
32
+ metadata
33
+ )
34
+ VALUES (
35
+ $1,
36
+ $2,
37
+ $3,
38
+ $4,
39
+ $5,
40
+ $6,
41
+ $7,
42
+ $8,
43
+ $9
44
+ )
45
+ RETURNING id, project_id, test_case_id, name, description, language, framework, status, current_version_id, metadata, created_at, updated_at, archived_at`;
46
+ async function createTestScript(client, args) {
47
+ const result = await client.query({
48
+ text: exports.createTestScriptQuery,
49
+ values: [args.id, args.projectId, args.testCaseId, args.name, args.description, args.language, args.framework, args.status, args.metadata],
50
+ rowMode: "array"
51
+ });
52
+ if (result.rows.length !== 1) {
53
+ return null;
54
+ }
55
+ const row = result.rows[0];
56
+ return {
57
+ id: row[0],
58
+ projectId: row[1],
59
+ testCaseId: row[2],
60
+ name: row[3],
61
+ description: row[4],
62
+ language: row[5],
63
+ framework: row[6],
64
+ status: row[7],
65
+ currentVersionId: row[8],
66
+ metadata: row[9],
67
+ createdAt: row[10],
68
+ updatedAt: row[11],
69
+ archivedAt: row[12]
70
+ };
71
+ }
72
+ exports.getTestScriptQuery = `-- name: GetTestScript :one
73
+ SELECT id, project_id, test_case_id, name, description, language, framework, status, current_version_id, metadata, created_at, updated_at, archived_at
74
+ FROM weave_v1.test_script
75
+ WHERE id = $1
76
+ AND project_id = $2`;
77
+ async function getTestScript(client, args) {
78
+ const result = await client.query({
79
+ text: exports.getTestScriptQuery,
80
+ values: [args.id, args.projectId],
81
+ rowMode: "array"
82
+ });
83
+ if (result.rows.length !== 1) {
84
+ return null;
85
+ }
86
+ const row = result.rows[0];
87
+ return {
88
+ id: row[0],
89
+ projectId: row[1],
90
+ testCaseId: row[2],
91
+ name: row[3],
92
+ description: row[4],
93
+ language: row[5],
94
+ framework: row[6],
95
+ status: row[7],
96
+ currentVersionId: row[8],
97
+ metadata: row[9],
98
+ createdAt: row[10],
99
+ updatedAt: row[11],
100
+ archivedAt: row[12]
101
+ };
102
+ }
103
+ exports.listTestScriptsByProjectQuery = `-- name: ListTestScriptsByProject :many
104
+ SELECT id, project_id, test_case_id, name, description, language, framework, status, current_version_id, metadata, created_at, updated_at, archived_at
105
+ FROM weave_v1.test_script
106
+ WHERE project_id = $1
107
+ AND ($2::BOOLEAN OR archived_at IS NULL)
108
+ ORDER BY updated_at DESC
109
+ LIMIT $4
110
+ OFFSET $3`;
111
+ async function listTestScriptsByProject(client, args) {
112
+ const result = await client.query({
113
+ text: exports.listTestScriptsByProjectQuery,
114
+ values: [args.projectId, args.includeArchived, args.pageOffset, args.pageSize],
115
+ rowMode: "array"
116
+ });
117
+ return result.rows.map(row => {
118
+ return {
119
+ id: row[0],
120
+ projectId: row[1],
121
+ testCaseId: row[2],
122
+ name: row[3],
123
+ description: row[4],
124
+ language: row[5],
125
+ framework: row[6],
126
+ status: row[7],
127
+ currentVersionId: row[8],
128
+ metadata: row[9],
129
+ createdAt: row[10],
130
+ updatedAt: row[11],
131
+ archivedAt: row[12]
132
+ };
133
+ });
134
+ }
135
+ exports.listTestScriptsByWorkflowQuery = `-- name: ListTestScriptsByWorkflow :many
136
+ SELECT s.id, s.project_id, s.test_case_id, s.name, s.description, s.language, s.framework, s.status, s.current_version_id, s.metadata, s.created_at, s.updated_at, s.archived_at
137
+ FROM weave_v1.test_script s
138
+ INNER JOIN weave_v1.workflow_test_script b
139
+ ON b.test_script_id = s.id
140
+ AND b.project_id = s.project_id
141
+ WHERE b.project_id = $1
142
+ AND b.workflow_id = $2
143
+ AND ($3::BOOLEAN OR s.archived_at IS NULL)
144
+ ORDER BY s.updated_at DESC
145
+ LIMIT $5
146
+ OFFSET $4`;
147
+ async function listTestScriptsByWorkflow(client, args) {
148
+ const result = await client.query({
149
+ text: exports.listTestScriptsByWorkflowQuery,
150
+ values: [args.projectId, args.workflowId, args.includeArchived, args.pageOffset, args.pageSize],
151
+ rowMode: "array"
152
+ });
153
+ return result.rows.map(row => {
154
+ return {
155
+ id: row[0],
156
+ projectId: row[1],
157
+ testCaseId: row[2],
158
+ name: row[3],
159
+ description: row[4],
160
+ language: row[5],
161
+ framework: row[6],
162
+ status: row[7],
163
+ currentVersionId: row[8],
164
+ metadata: row[9],
165
+ createdAt: row[10],
166
+ updatedAt: row[11],
167
+ archivedAt: row[12]
168
+ };
169
+ });
170
+ }
171
+ exports.updateTestScriptQuery = `-- name: UpdateTestScript :one
172
+ UPDATE weave_v1.test_script
173
+ SET test_case_id = $1,
174
+ name = $2,
175
+ description = $3,
176
+ language = $4,
177
+ framework = $5,
178
+ status = $6,
179
+ metadata = $7,
180
+ updated_at = NOW()
181
+ WHERE id = $8
182
+ AND project_id = $9
183
+ RETURNING id, project_id, test_case_id, name, description, language, framework, status, current_version_id, metadata, created_at, updated_at, archived_at`;
184
+ async function updateTestScript(client, args) {
185
+ const result = await client.query({
186
+ text: exports.updateTestScriptQuery,
187
+ values: [args.testCaseId, args.name, args.description, args.language, args.framework, args.status, args.metadata, args.id, args.projectId],
188
+ rowMode: "array"
189
+ });
190
+ if (result.rows.length !== 1) {
191
+ return null;
192
+ }
193
+ const row = result.rows[0];
194
+ return {
195
+ id: row[0],
196
+ projectId: row[1],
197
+ testCaseId: row[2],
198
+ name: row[3],
199
+ description: row[4],
200
+ language: row[5],
201
+ framework: row[6],
202
+ status: row[7],
203
+ currentVersionId: row[8],
204
+ metadata: row[9],
205
+ createdAt: row[10],
206
+ updatedAt: row[11],
207
+ archivedAt: row[12]
208
+ };
209
+ }
210
+ exports.archiveTestScriptQuery = `-- name: ArchiveTestScript :one
211
+ UPDATE weave_v1.test_script
212
+ SET status = 'archived',
213
+ archived_at = NOW(),
214
+ updated_at = NOW()
215
+ WHERE id = $1
216
+ AND project_id = $2
217
+ RETURNING id, project_id, test_case_id, name, description, language, framework, status, current_version_id, metadata, created_at, updated_at, archived_at`;
218
+ async function archiveTestScript(client, args) {
219
+ const result = await client.query({
220
+ text: exports.archiveTestScriptQuery,
221
+ values: [args.id, args.projectId],
222
+ rowMode: "array"
223
+ });
224
+ if (result.rows.length !== 1) {
225
+ return null;
226
+ }
227
+ const row = result.rows[0];
228
+ return {
229
+ id: row[0],
230
+ projectId: row[1],
231
+ testCaseId: row[2],
232
+ name: row[3],
233
+ description: row[4],
234
+ language: row[5],
235
+ framework: row[6],
236
+ status: row[7],
237
+ currentVersionId: row[8],
238
+ metadata: row[9],
239
+ createdAt: row[10],
240
+ updatedAt: row[11],
241
+ archivedAt: row[12]
242
+ };
243
+ }
244
+ exports.deleteTestScriptQuery = `-- name: DeleteTestScript :exec
245
+ DELETE
246
+ FROM weave_v1.test_script
247
+ WHERE id = $1
248
+ AND project_id = $2`;
249
+ async function deleteTestScript(client, args) {
250
+ await client.query({
251
+ text: exports.deleteTestScriptQuery,
252
+ values: [args.id, args.projectId],
253
+ rowMode: "array"
254
+ });
255
+ }
256
+ exports.attachTestScriptToWorkflowQuery = `-- name: AttachTestScriptToWorkflow :one
257
+ INSERT INTO weave_v1.workflow_test_script (
258
+ project_id,
259
+ workflow_id,
260
+ test_script_id,
261
+ attached_by,
262
+ metadata
263
+ )
264
+ VALUES (
265
+ $1,
266
+ $2,
267
+ $3,
268
+ $4,
269
+ $5
270
+ )
271
+ ON CONFLICT (workflow_id, test_script_id) DO UPDATE
272
+ SET attached_by = EXCLUDED.attached_by,
273
+ metadata = EXCLUDED.metadata,
274
+ attached_at = NOW()
275
+ RETURNING project_id, workflow_id, test_script_id, attached_by, metadata, attached_at`;
276
+ async function attachTestScriptToWorkflow(client, args) {
277
+ const result = await client.query({
278
+ text: exports.attachTestScriptToWorkflowQuery,
279
+ values: [args.projectId, args.workflowId, args.testScriptId, args.attachedBy, args.metadata],
280
+ rowMode: "array"
281
+ });
282
+ if (result.rows.length !== 1) {
283
+ return null;
284
+ }
285
+ const row = result.rows[0];
286
+ return {
287
+ projectId: row[0],
288
+ workflowId: row[1],
289
+ testScriptId: row[2],
290
+ attachedBy: row[3],
291
+ metadata: row[4],
292
+ attachedAt: row[5]
293
+ };
294
+ }
295
+ exports.detachTestScriptFromWorkflowQuery = `-- name: DetachTestScriptFromWorkflow :exec
296
+ DELETE
297
+ FROM weave_v1.workflow_test_script
298
+ WHERE project_id = $1
299
+ AND workflow_id = $2
300
+ AND test_script_id = $3`;
301
+ async function detachTestScriptFromWorkflow(client, args) {
302
+ await client.query({
303
+ text: exports.detachTestScriptFromWorkflowQuery,
304
+ values: [args.projectId, args.workflowId, args.testScriptId],
305
+ rowMode: "array"
306
+ });
307
+ }
308
+ exports.listWorkflowTestScriptBindingsQuery = `-- name: ListWorkflowTestScriptBindings :many
309
+ SELECT project_id, workflow_id, test_script_id, attached_by, metadata, attached_at
310
+ FROM weave_v1.workflow_test_script
311
+ WHERE project_id = $1
312
+ AND workflow_id = $2
313
+ ORDER BY attached_at DESC
314
+ LIMIT $4
315
+ OFFSET $3`;
316
+ async function listWorkflowTestScriptBindings(client, args) {
317
+ const result = await client.query({
318
+ text: exports.listWorkflowTestScriptBindingsQuery,
319
+ values: [args.projectId, args.workflowId, args.pageOffset, args.pageSize],
320
+ rowMode: "array"
321
+ });
322
+ return result.rows.map(row => {
323
+ return {
324
+ projectId: row[0],
325
+ workflowId: row[1],
326
+ testScriptId: row[2],
327
+ attachedBy: row[3],
328
+ metadata: row[4],
329
+ attachedAt: row[5]
330
+ };
331
+ });
332
+ }
333
+ exports.createTestScriptVersionQuery = `-- name: CreateTestScriptVersion :one
334
+ INSERT INTO weave_v1.test_script_version (
335
+ id,
336
+ test_script_id,
337
+ version_number,
338
+ source_code,
339
+ metadata,
340
+ prompt_version,
341
+ source_location_type,
342
+ storage_connection_id,
343
+ source_uri,
344
+ external_revision,
345
+ source_checksum,
346
+ source_size_bytes
347
+ )
348
+ VALUES (
349
+ $1,
350
+ $2,
351
+ $3,
352
+ $4,
353
+ $5,
354
+ $6,
355
+ $7,
356
+ $8,
357
+ $9,
358
+ $10,
359
+ $11,
360
+ $12
361
+ )
362
+ RETURNING id, test_script_id, version_number, source_code, metadata, prompt_version, source_location_type, storage_connection_id, source_uri, external_revision, source_checksum, source_size_bytes, created_at`;
363
+ async function createTestScriptVersion(client, args) {
364
+ const result = await client.query({
365
+ text: exports.createTestScriptVersionQuery,
366
+ values: [args.id, args.testScriptId, args.versionNumber, args.sourceCode, args.metadata, args.promptVersion, args.sourceLocationType, args.storageConnectionId, args.sourceUri, args.externalRevision, args.sourceChecksum, args.sourceSizeBytes],
367
+ rowMode: "array"
368
+ });
369
+ if (result.rows.length !== 1) {
370
+ return null;
371
+ }
372
+ const row = result.rows[0];
373
+ return {
374
+ id: row[0],
375
+ testScriptId: row[1],
376
+ versionNumber: row[2],
377
+ sourceCode: row[3],
378
+ metadata: row[4],
379
+ promptVersion: row[5],
380
+ sourceLocationType: row[6],
381
+ storageConnectionId: row[7],
382
+ sourceUri: row[8],
383
+ externalRevision: row[9],
384
+ sourceChecksum: row[10],
385
+ sourceSizeBytes: row[11],
386
+ createdAt: row[12]
387
+ };
388
+ }
389
+ exports.getTestScriptVersionQuery = `-- name: GetTestScriptVersion :one
390
+ SELECT sv.id, sv.test_script_id, sv.version_number, sv.source_code, sv.metadata, sv.prompt_version, sv.source_location_type, sv.storage_connection_id, sv.source_uri, sv.external_revision, sv.source_checksum, sv.source_size_bytes, sv.created_at
391
+ FROM weave_v1.test_script_version sv
392
+ INNER JOIN weave_v1.test_script s ON s.id = sv.test_script_id
393
+ WHERE sv.id = $1
394
+ AND sv.test_script_id = $2
395
+ AND s.project_id = $3`;
396
+ async function getTestScriptVersion(client, args) {
397
+ const result = await client.query({
398
+ text: exports.getTestScriptVersionQuery,
399
+ values: [args.id, args.testScriptId, args.projectId],
400
+ rowMode: "array"
401
+ });
402
+ if (result.rows.length !== 1) {
403
+ return null;
404
+ }
405
+ const row = result.rows[0];
406
+ return {
407
+ id: row[0],
408
+ testScriptId: row[1],
409
+ versionNumber: row[2],
410
+ sourceCode: row[3],
411
+ metadata: row[4],
412
+ promptVersion: row[5],
413
+ sourceLocationType: row[6],
414
+ storageConnectionId: row[7],
415
+ sourceUri: row[8],
416
+ externalRevision: row[9],
417
+ sourceChecksum: row[10],
418
+ sourceSizeBytes: row[11],
419
+ createdAt: row[12]
420
+ };
421
+ }
422
+ exports.listTestScriptVersionsQuery = `-- name: ListTestScriptVersions :many
423
+ SELECT sv.id, sv.test_script_id, sv.version_number, sv.source_code, sv.metadata, sv.prompt_version, sv.source_location_type, sv.storage_connection_id, sv.source_uri, sv.external_revision, sv.source_checksum, sv.source_size_bytes, sv.created_at
424
+ FROM weave_v1.test_script_version sv
425
+ INNER JOIN weave_v1.test_script s ON s.id = sv.test_script_id
426
+ WHERE sv.test_script_id = $1
427
+ AND s.project_id = $2
428
+ ORDER BY sv.version_number DESC
429
+ LIMIT $4
430
+ OFFSET $3`;
431
+ async function listTestScriptVersions(client, args) {
432
+ const result = await client.query({
433
+ text: exports.listTestScriptVersionsQuery,
434
+ values: [args.testScriptId, args.projectId, args.pageOffset, args.pageSize],
435
+ rowMode: "array"
436
+ });
437
+ return result.rows.map(row => {
438
+ return {
439
+ id: row[0],
440
+ testScriptId: row[1],
441
+ versionNumber: row[2],
442
+ sourceCode: row[3],
443
+ metadata: row[4],
444
+ promptVersion: row[5],
445
+ sourceLocationType: row[6],
446
+ storageConnectionId: row[7],
447
+ sourceUri: row[8],
448
+ externalRevision: row[9],
449
+ sourceChecksum: row[10],
450
+ sourceSizeBytes: row[11],
451
+ createdAt: row[12]
452
+ };
453
+ });
454
+ }
455
+ exports.getNextTestScriptVersionNumberQuery = `-- name: GetNextTestScriptVersionNumber :one
456
+ SELECT COALESCE(MAX(version_number), 0)::INTEGER + 1 AS version_number
457
+ FROM weave_v1.test_script_version
458
+ WHERE test_script_id = $1`;
459
+ async function getNextTestScriptVersionNumber(client, args) {
460
+ const result = await client.query({
461
+ text: exports.getNextTestScriptVersionNumberQuery,
462
+ values: [args.testScriptId],
463
+ rowMode: "array"
464
+ });
465
+ if (result.rows.length !== 1) {
466
+ return null;
467
+ }
468
+ const row = result.rows[0];
469
+ return {
470
+ versionNumber: row[0]
471
+ };
472
+ }
473
+ exports.setCurrentTestScriptVersionQuery = `-- name: SetCurrentTestScriptVersion :one
474
+ UPDATE weave_v1.test_script
475
+ SET current_version_id = $1,
476
+ updated_at = NOW()
477
+ WHERE id = $2
478
+ AND project_id = $3
479
+ RETURNING id, project_id, test_case_id, name, description, language, framework, status, current_version_id, metadata, created_at, updated_at, archived_at`;
480
+ async function setCurrentTestScriptVersion(client, args) {
481
+ const result = await client.query({
482
+ text: exports.setCurrentTestScriptVersionQuery,
483
+ values: [args.currentVersionId, args.id, args.projectId],
484
+ rowMode: "array"
485
+ });
486
+ if (result.rows.length !== 1) {
487
+ return null;
488
+ }
489
+ const row = result.rows[0];
490
+ return {
491
+ id: row[0],
492
+ projectId: row[1],
493
+ testCaseId: row[2],
494
+ name: row[3],
495
+ description: row[4],
496
+ language: row[5],
497
+ framework: row[6],
498
+ status: row[7],
499
+ currentVersionId: row[8],
500
+ metadata: row[9],
501
+ createdAt: row[10],
502
+ updatedAt: row[11],
503
+ archivedAt: row[12]
504
+ };
505
+ }
506
+ exports.upsertScriptBindingQuery = `-- name: UpsertScriptBinding :one
507
+ INSERT INTO weave_v1.script_binding (
508
+ id,
509
+ test_script_id,
510
+ binding_key,
511
+ binding_type,
512
+ dataset_id,
513
+ column_name,
514
+ default_value,
515
+ is_required,
516
+ metadata
517
+ )
518
+ VALUES (
519
+ $1,
520
+ $2,
521
+ $3,
522
+ $4,
523
+ $5,
524
+ $6,
525
+ $7,
526
+ $8,
527
+ $9
528
+ )
529
+ ON CONFLICT (test_script_id, binding_key) DO UPDATE
530
+ SET binding_type = EXCLUDED.binding_type,
531
+ dataset_id = EXCLUDED.dataset_id,
532
+ column_name = EXCLUDED.column_name,
533
+ default_value = EXCLUDED.default_value,
534
+ is_required = EXCLUDED.is_required,
535
+ metadata = EXCLUDED.metadata,
536
+ updated_at = NOW()
537
+ RETURNING id, test_script_id, binding_key, binding_type, dataset_id, column_name, default_value, is_required, metadata, created_at, updated_at`;
538
+ async function upsertScriptBinding(client, args) {
539
+ const result = await client.query({
540
+ text: exports.upsertScriptBindingQuery,
541
+ values: [args.id, args.testScriptId, args.bindingKey, args.bindingType, args.datasetId, args.columnName, args.defaultValue, args.isRequired, args.metadata],
542
+ rowMode: "array"
543
+ });
544
+ if (result.rows.length !== 1) {
545
+ return null;
546
+ }
547
+ const row = result.rows[0];
548
+ return {
549
+ id: row[0],
550
+ testScriptId: row[1],
551
+ bindingKey: row[2],
552
+ bindingType: row[3],
553
+ datasetId: row[4],
554
+ columnName: row[5],
555
+ defaultValue: row[6],
556
+ isRequired: row[7],
557
+ metadata: row[8],
558
+ createdAt: row[9],
559
+ updatedAt: row[10]
560
+ };
561
+ }
562
+ exports.listScriptBindingsQuery = `-- name: ListScriptBindings :many
563
+ SELECT b.id, b.test_script_id, b.binding_key, b.binding_type, b.dataset_id, b.column_name, b.default_value, b.is_required, b.metadata, b.created_at, b.updated_at
564
+ FROM weave_v1.script_binding b
565
+ INNER JOIN weave_v1.test_script s ON s.id = b.test_script_id
566
+ WHERE b.test_script_id = $1
567
+ AND s.project_id = $2
568
+ ORDER BY b.binding_key`;
569
+ async function listScriptBindings(client, args) {
570
+ const result = await client.query({
571
+ text: exports.listScriptBindingsQuery,
572
+ values: [args.testScriptId, args.projectId],
573
+ rowMode: "array"
574
+ });
575
+ return result.rows.map(row => {
576
+ return {
577
+ id: row[0],
578
+ testScriptId: row[1],
579
+ bindingKey: row[2],
580
+ bindingType: row[3],
581
+ datasetId: row[4],
582
+ columnName: row[5],
583
+ defaultValue: row[6],
584
+ isRequired: row[7],
585
+ metadata: row[8],
586
+ createdAt: row[9],
587
+ updatedAt: row[10]
588
+ };
589
+ });
590
+ }
591
+ exports.deleteScriptBindingQuery = `-- name: DeleteScriptBinding :exec
592
+ DELETE
593
+ FROM weave_v1.script_binding b
594
+ USING weave_v1.test_script s
595
+ WHERE b.id = $1
596
+ AND b.test_script_id = $2
597
+ AND s.id = b.test_script_id
598
+ AND s.project_id = $3`;
599
+ async function deleteScriptBinding(client, args) {
600
+ await client.query({
601
+ text: exports.deleteScriptBindingQuery,
602
+ values: [args.id, args.testScriptId, args.projectId],
603
+ rowMode: "array"
604
+ });
605
+ }