weave-typescript 0.14.0 → 0.16.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 (29) hide show
  1. package/dist/weaveapi/atc/v1/service.pb.d.ts +24 -0
  2. package/dist/weaveapi/atc/v1/service.pb.js +163 -1
  3. package/dist/weaveapi/project/v1/project.pb.d.ts +2 -0
  4. package/dist/weaveapi/project/v1/project.pb.js +27 -1
  5. package/dist/weaveapi/provider/v1/provider.pb.d.ts +123 -0
  6. package/dist/weaveapi/provider/v1/provider.pb.js +914 -0
  7. package/dist/weaveapi/provider/v1/service.pb.d.ts +198 -0
  8. package/dist/weaveapi/provider/v1/service.pb.js +1569 -0
  9. package/dist/weaveapi/task/v1/service.pb.d.ts +1 -0
  10. package/dist/weaveapi/task/v1/service.pb.js +21 -1
  11. package/dist/weaveapi/task/v1/task.pb.d.ts +1 -0
  12. package/dist/weaveapi/task/v1/task.pb.js +21 -1
  13. package/dist/weavesql/atcdb/event_sql.d.ts +68 -0
  14. package/dist/weavesql/atcdb/event_sql.js +143 -1
  15. package/dist/weavesql/atcdb/run_template_sql.d.ts +122 -0
  16. package/dist/weavesql/atcdb/run_template_sql.js +197 -0
  17. package/dist/weavesql/atcdb/snapshot_sql.d.ts +58 -0
  18. package/dist/weavesql/atcdb/snapshot_sql.js +124 -0
  19. package/dist/weavesql/atcdb/team_sql.d.ts +111 -0
  20. package/dist/weavesql/atcdb/team_sql.js +235 -0
  21. package/dist/weavesql/atcdb/workflow_template_sql.d.ts +122 -0
  22. package/dist/weavesql/atcdb/workflow_template_sql.js +197 -0
  23. package/dist/weavesql/weavedb/project_sql.d.ts +53 -5
  24. package/dist/weavesql/weavedb/project_sql.js +114 -11
  25. package/dist/weavesql/weavedb/provider_sql.d.ts +162 -0
  26. package/dist/weavesql/weavedb/provider_sql.js +358 -0
  27. package/dist/weavesql/weavedb/task_sql.d.ts +51 -4
  28. package/dist/weavesql/weavedb/task_sql.js +115 -13
  29. package/package.json +2 -2
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTeamBudgetQuery = exports.upsertTeamBudgetQuery = exports.listTeamAncestorsQuery = exports.listChildTeamsQuery = exports.getTeamQuery = exports.insertTeamQuery = void 0;
4
+ exports.insertTeam = insertTeam;
5
+ exports.getTeam = getTeam;
6
+ exports.listChildTeams = listChildTeams;
7
+ exports.listTeamAncestors = listTeamAncestors;
8
+ exports.upsertTeamBudget = upsertTeamBudget;
9
+ exports.getTeamBudget = getTeamBudget;
10
+ exports.insertTeamQuery = `-- name: InsertTeam :one
11
+ INSERT INTO atc.teams (
12
+ id,
13
+ tenant_id,
14
+ parent_id,
15
+ name,
16
+ team_type,
17
+ metadata
18
+ ) VALUES (
19
+ $1,
20
+ $2,
21
+ $3,
22
+ $4,
23
+ $5,
24
+ $6
25
+ )
26
+ RETURNING id, tenant_id, parent_id, name, team_type, metadata, created_at, updated_at`;
27
+ async function insertTeam(client, args) {
28
+ const result = await client.query({
29
+ text: exports.insertTeamQuery,
30
+ values: [args.id, args.tenantId, args.parentId, args.name, args.teamType, args.metadata],
31
+ rowMode: "array"
32
+ });
33
+ if (result.rows.length !== 1) {
34
+ return null;
35
+ }
36
+ const row = result.rows[0];
37
+ return {
38
+ id: row[0],
39
+ tenantId: row[1],
40
+ parentId: row[2],
41
+ name: row[3],
42
+ teamType: row[4],
43
+ metadata: row[5],
44
+ createdAt: row[6],
45
+ updatedAt: row[7]
46
+ };
47
+ }
48
+ exports.getTeamQuery = `-- name: GetTeam :one
49
+ SELECT id, tenant_id, parent_id, name, team_type, metadata, created_at, updated_at
50
+ FROM atc.teams
51
+ WHERE tenant_id = $1
52
+ AND id = $2`;
53
+ async function getTeam(client, args) {
54
+ const result = await client.query({
55
+ text: exports.getTeamQuery,
56
+ values: [args.tenantId, args.id],
57
+ rowMode: "array"
58
+ });
59
+ if (result.rows.length !== 1) {
60
+ return null;
61
+ }
62
+ const row = result.rows[0];
63
+ return {
64
+ id: row[0],
65
+ tenantId: row[1],
66
+ parentId: row[2],
67
+ name: row[3],
68
+ teamType: row[4],
69
+ metadata: row[5],
70
+ createdAt: row[6],
71
+ updatedAt: row[7]
72
+ };
73
+ }
74
+ exports.listChildTeamsQuery = `-- name: ListChildTeams :many
75
+ SELECT id, tenant_id, parent_id, name, team_type, metadata, created_at, updated_at
76
+ FROM atc.teams
77
+ WHERE tenant_id = $1
78
+ AND parent_id = $2
79
+ ORDER BY name ASC`;
80
+ async function listChildTeams(client, args) {
81
+ const result = await client.query({
82
+ text: exports.listChildTeamsQuery,
83
+ values: [args.tenantId, args.parentId],
84
+ rowMode: "array"
85
+ });
86
+ return result.rows.map(row => {
87
+ return {
88
+ id: row[0],
89
+ tenantId: row[1],
90
+ parentId: row[2],
91
+ name: row[3],
92
+ teamType: row[4],
93
+ metadata: row[5],
94
+ createdAt: row[6],
95
+ updatedAt: row[7]
96
+ };
97
+ });
98
+ }
99
+ exports.listTeamAncestorsQuery = `-- name: ListTeamAncestors :many
100
+ WITH RECURSIVE ancestors AS (
101
+ SELECT
102
+ id,
103
+ tenant_id,
104
+ parent_id,
105
+ name,
106
+ team_type,
107
+ metadata,
108
+ created_at,
109
+ updated_at,
110
+ 0 AS depth
111
+ FROM atc.teams AS team
112
+ WHERE team.tenant_id = $1
113
+ AND team.id = $2
114
+
115
+ UNION ALL
116
+
117
+ SELECT
118
+ team.id,
119
+ team.tenant_id,
120
+ team.parent_id,
121
+ team.name,
122
+ team.team_type,
123
+ team.metadata,
124
+ team.created_at,
125
+ team.updated_at,
126
+ ancestors.depth + 1
127
+ FROM atc.teams AS team
128
+ JOIN ancestors
129
+ ON team.tenant_id = ancestors.tenant_id
130
+ AND team.id = ancestors.parent_id
131
+ )
132
+ SELECT
133
+ id,
134
+ tenant_id,
135
+ parent_id,
136
+ name,
137
+ team_type,
138
+ metadata,
139
+ created_at,
140
+ updated_at
141
+ FROM ancestors
142
+ ORDER BY depth ASC`;
143
+ async function listTeamAncestors(client, args) {
144
+ const result = await client.query({
145
+ text: exports.listTeamAncestorsQuery,
146
+ values: [args.tenantId, args.teamId],
147
+ rowMode: "array"
148
+ });
149
+ return result.rows.map(row => {
150
+ return {
151
+ id: row[0],
152
+ tenantId: row[1],
153
+ parentId: row[2],
154
+ name: row[3],
155
+ teamType: row[4],
156
+ metadata: row[5],
157
+ createdAt: row[6],
158
+ updatedAt: row[7]
159
+ };
160
+ });
161
+ }
162
+ exports.upsertTeamBudgetQuery = `-- name: UpsertTeamBudget :one
163
+ INSERT INTO atc.team_budgets (
164
+ tenant_id,
165
+ team_id,
166
+ period_start,
167
+ period_end,
168
+ max_cost_cents,
169
+ max_compute,
170
+ max_tool_calls
171
+ ) VALUES (
172
+ $1,
173
+ $2,
174
+ $3,
175
+ $4,
176
+ $5,
177
+ $6,
178
+ $7
179
+ )
180
+ ON CONFLICT (tenant_id, team_id, period_start)
181
+ DO UPDATE SET
182
+ period_end = EXCLUDED.period_end,
183
+ max_cost_cents = EXCLUDED.max_cost_cents,
184
+ max_compute = EXCLUDED.max_compute,
185
+ max_tool_calls = EXCLUDED.max_tool_calls
186
+ RETURNING tenant_id, team_id, period_start, period_end, max_cost_cents, max_compute, max_tool_calls, created_at`;
187
+ async function upsertTeamBudget(client, args) {
188
+ const result = await client.query({
189
+ text: exports.upsertTeamBudgetQuery,
190
+ values: [args.tenantId, args.teamId, args.periodStart, args.periodEnd, args.maxCostCents, args.maxCompute, args.maxToolCalls],
191
+ rowMode: "array"
192
+ });
193
+ if (result.rows.length !== 1) {
194
+ return null;
195
+ }
196
+ const row = result.rows[0];
197
+ return {
198
+ tenantId: row[0],
199
+ teamId: row[1],
200
+ periodStart: row[2],
201
+ periodEnd: row[3],
202
+ maxCostCents: row[4],
203
+ maxCompute: row[5],
204
+ maxToolCalls: row[6],
205
+ createdAt: row[7]
206
+ };
207
+ }
208
+ exports.getTeamBudgetQuery = `-- name: GetTeamBudget :one
209
+ SELECT tenant_id, team_id, period_start, period_end, max_cost_cents, max_compute, max_tool_calls, created_at
210
+ FROM atc.team_budgets
211
+ WHERE tenant_id = $1
212
+ AND team_id = $2
213
+ AND period_start <= $3
214
+ AND period_end > $3`;
215
+ async function getTeamBudget(client, args) {
216
+ const result = await client.query({
217
+ text: exports.getTeamBudgetQuery,
218
+ values: [args.tenantId, args.teamId, args.atTime],
219
+ rowMode: "array"
220
+ });
221
+ if (result.rows.length !== 1) {
222
+ return null;
223
+ }
224
+ const row = result.rows[0];
225
+ return {
226
+ tenantId: row[0],
227
+ teamId: row[1],
228
+ periodStart: row[2],
229
+ periodEnd: row[3],
230
+ maxCostCents: row[4],
231
+ maxCompute: row[5],
232
+ maxToolCalls: row[6],
233
+ createdAt: row[7]
234
+ };
235
+ }
@@ -0,0 +1,122 @@
1
+ import { QueryArrayConfig, QueryArrayResult } from "pg";
2
+ interface Client {
3
+ query: (config: QueryArrayConfig) => Promise<QueryArrayResult>;
4
+ }
5
+ export declare const insertWorkflowTemplateQuery = "-- name: InsertWorkflowTemplate :one\nINSERT INTO atc.workflow_templates (\n id,\n tenant_id,\n name,\n version,\n handler_type,\n config,\n security_context,\n budget_context,\n pinned_caller,\n created_by\n) VALUES (\n $1,\n $2,\n $3,\n $4,\n $5,\n $6,\n $7,\n $8,\n $9,\n $10\n)\nRETURNING id, tenant_id, name, version, handler_type, config, security_context, budget_context, pinned_caller, created_by, created_at, updated_at";
6
+ export interface InsertWorkflowTemplateArgs {
7
+ id: string;
8
+ tenantId: string;
9
+ name: string;
10
+ version: number;
11
+ handlerType: string;
12
+ config: any;
13
+ securityContext: any | null;
14
+ budgetContext: any | null;
15
+ pinnedCaller: any | null;
16
+ createdBy: string;
17
+ }
18
+ export interface InsertWorkflowTemplateRow {
19
+ id: string;
20
+ tenantId: string;
21
+ name: string;
22
+ version: number;
23
+ handlerType: string;
24
+ config: any;
25
+ securityContext: any | null;
26
+ budgetContext: any | null;
27
+ pinnedCaller: any | null;
28
+ createdBy: string;
29
+ createdAt: Date;
30
+ updatedAt: Date;
31
+ }
32
+ export declare function insertWorkflowTemplate(client: Client, args: InsertWorkflowTemplateArgs): Promise<InsertWorkflowTemplateRow | null>;
33
+ export declare const getWorkflowTemplateQuery = "-- name: GetWorkflowTemplate :one\nSELECT id, tenant_id, name, version, handler_type, config, security_context, budget_context, pinned_caller, created_by, created_at, updated_at\nFROM atc.workflow_templates\nWHERE tenant_id = $1\n AND id = $2";
34
+ export interface GetWorkflowTemplateArgs {
35
+ tenantId: string;
36
+ id: string;
37
+ }
38
+ export interface GetWorkflowTemplateRow {
39
+ id: string;
40
+ tenantId: string;
41
+ name: string;
42
+ version: number;
43
+ handlerType: string;
44
+ config: any;
45
+ securityContext: any | null;
46
+ budgetContext: any | null;
47
+ pinnedCaller: any | null;
48
+ createdBy: string;
49
+ createdAt: Date;
50
+ updatedAt: Date;
51
+ }
52
+ export declare function getWorkflowTemplate(client: Client, args: GetWorkflowTemplateArgs): Promise<GetWorkflowTemplateRow | null>;
53
+ export declare const getWorkflowTemplateByNameQuery = "-- name: GetWorkflowTemplateByName :one\nSELECT id, tenant_id, name, version, handler_type, config, security_context, budget_context, pinned_caller, created_by, created_at, updated_at\nFROM atc.workflow_templates\nWHERE tenant_id = $1\n AND name = $2\nORDER BY version DESC\nLIMIT 1";
54
+ export interface GetWorkflowTemplateByNameArgs {
55
+ tenantId: string;
56
+ name: string;
57
+ }
58
+ export interface GetWorkflowTemplateByNameRow {
59
+ id: string;
60
+ tenantId: string;
61
+ name: string;
62
+ version: number;
63
+ handlerType: string;
64
+ config: any;
65
+ securityContext: any | null;
66
+ budgetContext: any | null;
67
+ pinnedCaller: any | null;
68
+ createdBy: string;
69
+ createdAt: Date;
70
+ updatedAt: Date;
71
+ }
72
+ export declare function getWorkflowTemplateByName(client: Client, args: GetWorkflowTemplateByNameArgs): Promise<GetWorkflowTemplateByNameRow | null>;
73
+ export declare const listWorkflowTemplatesQuery = "-- name: ListWorkflowTemplates :many\nSELECT id, tenant_id, name, version, handler_type, config, security_context, budget_context, pinned_caller, created_by, created_at, updated_at\nFROM atc.workflow_templates\nWHERE tenant_id = $1\nORDER BY name ASC, version DESC";
74
+ export interface ListWorkflowTemplatesArgs {
75
+ tenantId: string;
76
+ }
77
+ export interface ListWorkflowTemplatesRow {
78
+ id: string;
79
+ tenantId: string;
80
+ name: string;
81
+ version: number;
82
+ handlerType: string;
83
+ config: any;
84
+ securityContext: any | null;
85
+ budgetContext: any | null;
86
+ pinnedCaller: any | null;
87
+ createdBy: string;
88
+ createdAt: Date;
89
+ updatedAt: Date;
90
+ }
91
+ export declare function listWorkflowTemplates(client: Client, args: ListWorkflowTemplatesArgs): Promise<ListWorkflowTemplatesRow[]>;
92
+ export declare const updateWorkflowTemplateQuery = "-- name: UpdateWorkflowTemplate :one\nUPDATE atc.workflow_templates\nSET\n config = $1,\n security_context = $2,\n budget_context = $3,\n pinned_caller = $4,\n version = version + 1,\n updated_at = now()\nWHERE tenant_id = $5\n AND id = $6\nRETURNING id, tenant_id, name, version, handler_type, config, security_context, budget_context, pinned_caller, created_by, created_at, updated_at";
93
+ export interface UpdateWorkflowTemplateArgs {
94
+ config: any;
95
+ securityContext: any | null;
96
+ budgetContext: any | null;
97
+ pinnedCaller: any | null;
98
+ tenantId: string;
99
+ id: string;
100
+ }
101
+ export interface UpdateWorkflowTemplateRow {
102
+ id: string;
103
+ tenantId: string;
104
+ name: string;
105
+ version: number;
106
+ handlerType: string;
107
+ config: any;
108
+ securityContext: any | null;
109
+ budgetContext: any | null;
110
+ pinnedCaller: any | null;
111
+ createdBy: string;
112
+ createdAt: Date;
113
+ updatedAt: Date;
114
+ }
115
+ export declare function updateWorkflowTemplate(client: Client, args: UpdateWorkflowTemplateArgs): Promise<UpdateWorkflowTemplateRow | null>;
116
+ export declare const deleteWorkflowTemplateQuery = "-- name: DeleteWorkflowTemplate :exec\nDELETE FROM atc.workflow_templates\nWHERE tenant_id = $1\n AND id = $2";
117
+ export interface DeleteWorkflowTemplateArgs {
118
+ tenantId: string;
119
+ id: string;
120
+ }
121
+ export declare function deleteWorkflowTemplate(client: Client, args: DeleteWorkflowTemplateArgs): Promise<void>;
122
+ export {};
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteWorkflowTemplateQuery = exports.updateWorkflowTemplateQuery = exports.listWorkflowTemplatesQuery = exports.getWorkflowTemplateByNameQuery = exports.getWorkflowTemplateQuery = exports.insertWorkflowTemplateQuery = void 0;
4
+ exports.insertWorkflowTemplate = insertWorkflowTemplate;
5
+ exports.getWorkflowTemplate = getWorkflowTemplate;
6
+ exports.getWorkflowTemplateByName = getWorkflowTemplateByName;
7
+ exports.listWorkflowTemplates = listWorkflowTemplates;
8
+ exports.updateWorkflowTemplate = updateWorkflowTemplate;
9
+ exports.deleteWorkflowTemplate = deleteWorkflowTemplate;
10
+ exports.insertWorkflowTemplateQuery = `-- name: InsertWorkflowTemplate :one
11
+ INSERT INTO atc.workflow_templates (
12
+ id,
13
+ tenant_id,
14
+ name,
15
+ version,
16
+ handler_type,
17
+ config,
18
+ security_context,
19
+ budget_context,
20
+ pinned_caller,
21
+ created_by
22
+ ) VALUES (
23
+ $1,
24
+ $2,
25
+ $3,
26
+ $4,
27
+ $5,
28
+ $6,
29
+ $7,
30
+ $8,
31
+ $9,
32
+ $10
33
+ )
34
+ RETURNING id, tenant_id, name, version, handler_type, config, security_context, budget_context, pinned_caller, created_by, created_at, updated_at`;
35
+ async function insertWorkflowTemplate(client, args) {
36
+ const result = await client.query({
37
+ text: exports.insertWorkflowTemplateQuery,
38
+ values: [args.id, args.tenantId, args.name, args.version, args.handlerType, args.config, args.securityContext, args.budgetContext, args.pinnedCaller, args.createdBy],
39
+ rowMode: "array"
40
+ });
41
+ if (result.rows.length !== 1) {
42
+ return null;
43
+ }
44
+ const row = result.rows[0];
45
+ return {
46
+ id: row[0],
47
+ tenantId: row[1],
48
+ name: row[2],
49
+ version: row[3],
50
+ handlerType: row[4],
51
+ config: row[5],
52
+ securityContext: row[6],
53
+ budgetContext: row[7],
54
+ pinnedCaller: row[8],
55
+ createdBy: row[9],
56
+ createdAt: row[10],
57
+ updatedAt: row[11]
58
+ };
59
+ }
60
+ exports.getWorkflowTemplateQuery = `-- name: GetWorkflowTemplate :one
61
+ SELECT id, tenant_id, name, version, handler_type, config, security_context, budget_context, pinned_caller, created_by, created_at, updated_at
62
+ FROM atc.workflow_templates
63
+ WHERE tenant_id = $1
64
+ AND id = $2`;
65
+ async function getWorkflowTemplate(client, args) {
66
+ const result = await client.query({
67
+ text: exports.getWorkflowTemplateQuery,
68
+ values: [args.tenantId, args.id],
69
+ rowMode: "array"
70
+ });
71
+ if (result.rows.length !== 1) {
72
+ return null;
73
+ }
74
+ const row = result.rows[0];
75
+ return {
76
+ id: row[0],
77
+ tenantId: row[1],
78
+ name: row[2],
79
+ version: row[3],
80
+ handlerType: row[4],
81
+ config: row[5],
82
+ securityContext: row[6],
83
+ budgetContext: row[7],
84
+ pinnedCaller: row[8],
85
+ createdBy: row[9],
86
+ createdAt: row[10],
87
+ updatedAt: row[11]
88
+ };
89
+ }
90
+ exports.getWorkflowTemplateByNameQuery = `-- name: GetWorkflowTemplateByName :one
91
+ SELECT id, tenant_id, name, version, handler_type, config, security_context, budget_context, pinned_caller, created_by, created_at, updated_at
92
+ FROM atc.workflow_templates
93
+ WHERE tenant_id = $1
94
+ AND name = $2
95
+ ORDER BY version DESC
96
+ LIMIT 1`;
97
+ async function getWorkflowTemplateByName(client, args) {
98
+ const result = await client.query({
99
+ text: exports.getWorkflowTemplateByNameQuery,
100
+ values: [args.tenantId, args.name],
101
+ rowMode: "array"
102
+ });
103
+ if (result.rows.length !== 1) {
104
+ return null;
105
+ }
106
+ const row = result.rows[0];
107
+ return {
108
+ id: row[0],
109
+ tenantId: row[1],
110
+ name: row[2],
111
+ version: row[3],
112
+ handlerType: row[4],
113
+ config: row[5],
114
+ securityContext: row[6],
115
+ budgetContext: row[7],
116
+ pinnedCaller: row[8],
117
+ createdBy: row[9],
118
+ createdAt: row[10],
119
+ updatedAt: row[11]
120
+ };
121
+ }
122
+ exports.listWorkflowTemplatesQuery = `-- name: ListWorkflowTemplates :many
123
+ SELECT id, tenant_id, name, version, handler_type, config, security_context, budget_context, pinned_caller, created_by, created_at, updated_at
124
+ FROM atc.workflow_templates
125
+ WHERE tenant_id = $1
126
+ ORDER BY name ASC, version DESC`;
127
+ async function listWorkflowTemplates(client, args) {
128
+ const result = await client.query({
129
+ text: exports.listWorkflowTemplatesQuery,
130
+ values: [args.tenantId],
131
+ rowMode: "array"
132
+ });
133
+ return result.rows.map(row => {
134
+ return {
135
+ id: row[0],
136
+ tenantId: row[1],
137
+ name: row[2],
138
+ version: row[3],
139
+ handlerType: row[4],
140
+ config: row[5],
141
+ securityContext: row[6],
142
+ budgetContext: row[7],
143
+ pinnedCaller: row[8],
144
+ createdBy: row[9],
145
+ createdAt: row[10],
146
+ updatedAt: row[11]
147
+ };
148
+ });
149
+ }
150
+ exports.updateWorkflowTemplateQuery = `-- name: UpdateWorkflowTemplate :one
151
+ UPDATE atc.workflow_templates
152
+ SET
153
+ config = $1,
154
+ security_context = $2,
155
+ budget_context = $3,
156
+ pinned_caller = $4,
157
+ version = version + 1,
158
+ updated_at = now()
159
+ WHERE tenant_id = $5
160
+ AND id = $6
161
+ RETURNING id, tenant_id, name, version, handler_type, config, security_context, budget_context, pinned_caller, created_by, created_at, updated_at`;
162
+ async function updateWorkflowTemplate(client, args) {
163
+ const result = await client.query({
164
+ text: exports.updateWorkflowTemplateQuery,
165
+ values: [args.config, args.securityContext, args.budgetContext, args.pinnedCaller, args.tenantId, args.id],
166
+ rowMode: "array"
167
+ });
168
+ if (result.rows.length !== 1) {
169
+ return null;
170
+ }
171
+ const row = result.rows[0];
172
+ return {
173
+ id: row[0],
174
+ tenantId: row[1],
175
+ name: row[2],
176
+ version: row[3],
177
+ handlerType: row[4],
178
+ config: row[5],
179
+ securityContext: row[6],
180
+ budgetContext: row[7],
181
+ pinnedCaller: row[8],
182
+ createdBy: row[9],
183
+ createdAt: row[10],
184
+ updatedAt: row[11]
185
+ };
186
+ }
187
+ exports.deleteWorkflowTemplateQuery = `-- name: DeleteWorkflowTemplate :exec
188
+ DELETE FROM atc.workflow_templates
189
+ WHERE tenant_id = $1
190
+ AND id = $2`;
191
+ async function deleteWorkflowTemplate(client, args) {
192
+ await client.query({
193
+ text: exports.deleteWorkflowTemplateQuery,
194
+ values: [args.tenantId, args.id],
195
+ rowMode: "array"
196
+ });
197
+ }
@@ -2,7 +2,7 @@ import { QueryArrayConfig, QueryArrayResult } from "pg";
2
2
  interface Client {
3
3
  query: (config: QueryArrayConfig) => Promise<QueryArrayResult>;
4
4
  }
5
- export declare const createProjectQuery = "-- name: CreateProject :one\nINSERT INTO weave.projects (\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata\n) VALUES (\n $1,\n $2,\n $3,\n $4,\n $5,\n $6,\n $7,\n $8,\n $9,\n $10,\n $11,\n $12,\n $13,\n $14,\n $15,\n $16\n)\nRETURNING\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata,\n created_at,\n updated_at";
5
+ export declare const createProjectQuery = "-- name: CreateProject :one\nINSERT INTO weave.projects (\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata\n) VALUES (\n $1,\n $2,\n $3,\n $4,\n $5,\n $6,\n $7,\n $8,\n $9,\n $10,\n $11,\n $12,\n $13,\n $14,\n $15,\n $16\n)\nRETURNING\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata,\n created_at,\n updated_at,\n first_task_started_at";
6
6
  export interface CreateProjectArgs {
7
7
  id: string;
8
8
  organizationId: string;
@@ -40,9 +40,10 @@ export interface CreateProjectRow {
40
40
  sourceMetadata: any | null;
41
41
  createdAt: Date;
42
42
  updatedAt: Date;
43
+ firstTaskStartedAt: Date | null;
43
44
  }
44
45
  export declare function createProject(client: Client, args: CreateProjectArgs): Promise<CreateProjectRow | null>;
45
- export declare const getProjectByIDQuery = "-- name: GetProjectByID :one\nSELECT\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata,\n created_at,\n updated_at\nFROM weave.projects\nWHERE organization_id = $1\n AND id = $2";
46
+ export declare const getProjectByIDQuery = "-- name: GetProjectByID :one\nSELECT\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata,\n created_at,\n updated_at,\n first_task_started_at\nFROM weave.projects\nWHERE organization_id = $1\n AND id = $2";
46
47
  export interface GetProjectByIDArgs {
47
48
  organizationId: string;
48
49
  id: string;
@@ -66,9 +67,10 @@ export interface GetProjectByIDRow {
66
67
  sourceMetadata: any | null;
67
68
  createdAt: Date;
68
69
  updatedAt: Date;
70
+ firstTaskStartedAt: Date | null;
69
71
  }
70
72
  export declare function getProjectByID(client: Client, args: GetProjectByIDArgs): Promise<GetProjectByIDRow | null>;
71
- export declare const getProjectBySlugQuery = "-- name: GetProjectBySlug :one\nSELECT\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata,\n created_at,\n updated_at\nFROM weave.projects\nWHERE organization_id = $1\n AND slug = $2";
73
+ export declare const getProjectBySlugQuery = "-- name: GetProjectBySlug :one\nSELECT\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata,\n created_at,\n updated_at,\n first_task_started_at\nFROM weave.projects\nWHERE organization_id = $1\n AND slug = $2";
72
74
  export interface GetProjectBySlugArgs {
73
75
  organizationId: string;
74
76
  projectSlug: string;
@@ -92,9 +94,10 @@ export interface GetProjectBySlugRow {
92
94
  sourceMetadata: any | null;
93
95
  createdAt: Date;
94
96
  updatedAt: Date;
97
+ firstTaskStartedAt: Date | null;
95
98
  }
96
99
  export declare function getProjectBySlug(client: Client, args: GetProjectBySlugArgs): Promise<GetProjectBySlugRow | null>;
97
- export declare const listProjectsQuery = "-- name: ListProjects :many\nSELECT\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata,\n created_at,\n updated_at\nFROM weave.projects\nWHERE organization_id = $1\nORDER BY updated_at DESC, created_at DESC";
100
+ export declare const listProjectsQuery = "-- name: ListProjects :many\nSELECT\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata,\n created_at,\n updated_at,\n first_task_started_at\nFROM weave.projects\nWHERE organization_id = $1\nORDER BY updated_at DESC, created_at DESC";
98
101
  export interface ListProjectsArgs {
99
102
  organizationId: string;
100
103
  }
@@ -117,9 +120,10 @@ export interface ListProjectsRow {
117
120
  sourceMetadata: any | null;
118
121
  createdAt: Date;
119
122
  updatedAt: Date;
123
+ firstTaskStartedAt: Date | null;
120
124
  }
121
125
  export declare function listProjects(client: Client, args: ListProjectsArgs): Promise<ListProjectsRow[]>;
122
- export declare const updateProjectBySlugQuery = "-- name: UpdateProjectBySlug :one\nUPDATE weave.projects\nSET\n name = $1,\n summary = $2,\n description = $3,\n status = $4,\n workspace_id = $5,\n git_repository = $6,\n start_date = $7,\n target_date = $8,\n source_system = $9,\n source_id = $10,\n source_metadata = $11,\n updated_at = now()\nWHERE organization_id = $12\n AND slug = $13\nRETURNING\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata,\n created_at,\n updated_at";
126
+ export declare const updateProjectBySlugQuery = "-- name: UpdateProjectBySlug :one\nUPDATE weave.projects\nSET\n name = $1,\n summary = $2,\n description = $3,\n status = $4,\n workspace_id = $5,\n git_repository = $6,\n start_date = $7,\n target_date = $8,\n source_system = $9,\n source_id = $10,\n source_metadata = $11,\n updated_at = now()\nWHERE organization_id = $12\n AND slug = $13\nRETURNING\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata,\n created_at,\n updated_at,\n first_task_started_at";
123
127
  export interface UpdateProjectBySlugArgs {
124
128
  name: string;
125
129
  summary: string;
@@ -154,8 +158,38 @@ export interface UpdateProjectBySlugRow {
154
158
  sourceMetadata: any | null;
155
159
  createdAt: Date;
156
160
  updatedAt: Date;
161
+ firstTaskStartedAt: Date | null;
157
162
  }
158
163
  export declare function updateProjectBySlug(client: Client, args: UpdateProjectBySlugArgs): Promise<UpdateProjectBySlugRow | null>;
164
+ export declare const updateProjectLifecycleByIDQuery = "-- name: UpdateProjectLifecycleByID :one\nUPDATE weave.projects\nSET\n status = $1,\n first_task_started_at = COALESCE(first_task_started_at, $2),\n updated_at = now()\nWHERE organization_id = $3\n AND id = $4\nRETURNING\n id,\n organization_id,\n slug,\n name,\n summary,\n description,\n status,\n owner_user_id,\n creator_user_id,\n workspace_id,\n git_repository,\n start_date,\n target_date,\n source_system,\n source_id,\n source_metadata,\n created_at,\n updated_at,\n first_task_started_at";
165
+ export interface UpdateProjectLifecycleByIDArgs {
166
+ status: string;
167
+ firstTaskStartedAt: Date | null;
168
+ organizationId: string;
169
+ projectId: string;
170
+ }
171
+ export interface UpdateProjectLifecycleByIDRow {
172
+ id: string;
173
+ organizationId: string;
174
+ slug: string;
175
+ name: string;
176
+ summary: string;
177
+ description: string;
178
+ status: string;
179
+ ownerUserId: string;
180
+ creatorUserId: string;
181
+ workspaceId: string;
182
+ gitRepository: string | null;
183
+ startDate: Date | null;
184
+ targetDate: Date | null;
185
+ sourceSystem: string | null;
186
+ sourceId: string | null;
187
+ sourceMetadata: any | null;
188
+ createdAt: Date;
189
+ updatedAt: Date;
190
+ firstTaskStartedAt: Date | null;
191
+ }
192
+ export declare function updateProjectLifecycleByID(client: Client, args: UpdateProjectLifecycleByIDArgs): Promise<UpdateProjectLifecycleByIDRow | null>;
159
193
  export declare const listProjectPermissionsQuery = "-- name: ListProjectPermissions :many\nSELECT\n id,\n project_id,\n principal_kind,\n principal_id,\n principal_slug,\n principal_display_name,\n permission_level,\n created_at\nFROM weave.project_shares\nWHERE organization_id = $1\n AND project_id = $2\nORDER BY principal_kind ASC, principal_display_name ASC";
160
194
  export interface ListProjectPermissionsArgs {
161
195
  organizationId: string;
@@ -191,4 +225,18 @@ export interface ListProjectActivityRow {
191
225
  createdAt: Date;
192
226
  }
193
227
  export declare function listProjectActivity(client: Client, args: ListProjectActivityArgs): Promise<ListProjectActivityRow[]>;
228
+ export declare const createProjectActivityQuery = "-- name: CreateProjectActivity :exec\nINSERT INTO weave.project_activity (\n id,\n organization_id,\n project_id,\n task_id,\n event_type,\n actor_id,\n actor_slug,\n actor_label,\n description,\n metadata\n) VALUES (\n $1,\n $2,\n $3,\n $4,\n $5,\n $6,\n $7,\n $8,\n $9,\n $10\n)";
229
+ export interface CreateProjectActivityArgs {
230
+ id: string;
231
+ organizationId: string;
232
+ projectId: string;
233
+ taskId: string | null;
234
+ eventType: string;
235
+ actorId: string | null;
236
+ actorSlug: string | null;
237
+ actorLabel: string;
238
+ description: string;
239
+ metadata: any | null;
240
+ }
241
+ export declare function createProjectActivity(client: Client, args: CreateProjectActivityArgs): Promise<void>;
194
242
  export {};