weave-typescript 0.51.2 → 0.52.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 (185) hide show
  1. package/dist/google/protobuf/duration.pb.d.ts +99 -0
  2. package/dist/google/protobuf/duration.pb.js +93 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +2 -1
  5. package/dist/weave/authz/v1/index.d.ts +1 -0
  6. package/dist/weave/authz/v1/index.js +38 -0
  7. package/dist/weave/authz/v1/options.pb.d.ts +52 -0
  8. package/dist/weave/authz/v1/options.pb.js +403 -0
  9. package/dist/weave/filter/v1/index.d.ts +1 -0
  10. package/dist/weave/filter/v1/index.js +38 -0
  11. package/dist/{weaveapi/atc/v1/message.pb.d.ts → weave/filter/v1/options.pb.d.ts} +33 -21
  12. package/dist/weave/filter/v1/options.pb.js +417 -0
  13. package/dist/weave/index.d.ts +2 -0
  14. package/dist/weave/index.js +39 -0
  15. package/dist/weaveapi/agent/v1/agent.pb.d.ts +137 -188
  16. package/dist/weaveapi/agent/v1/agent.pb.js +891 -2151
  17. package/dist/weaveapi/agent/v1/index.d.ts +1 -1
  18. package/dist/weaveapi/agent/v1/index.js +2 -2
  19. package/dist/weaveapi/agent/v1/run.pb.d.ts +289 -0
  20. package/dist/weaveapi/agent/v1/run.pb.js +2763 -0
  21. package/dist/weaveapi/auth/v1/auth.pb.d.ts +67 -14
  22. package/dist/weaveapi/auth/v1/auth.pb.js +829 -89
  23. package/dist/weaveapi/auth/v1/index.d.ts +4 -1
  24. package/dist/weaveapi/auth/v1/index.js +5 -2
  25. package/dist/weaveapi/auth/v1/{service.pb.d.ts → organization_admin.pb.d.ts} +39 -530
  26. package/dist/weaveapi/auth/v1/{service.pb.js → organization_admin.pb.js} +2978 -5812
  27. package/dist/weaveapi/auth/v1/personal_access_token.pb.d.ts +114 -0
  28. package/dist/weaveapi/auth/v1/personal_access_token.pb.js +750 -0
  29. package/dist/weaveapi/auth/v1/profile.pb.d.ts +161 -0
  30. package/dist/weaveapi/auth/v1/profile.pb.js +1007 -0
  31. package/dist/weaveapi/auth/v1/session.pb.d.ts +460 -0
  32. package/dist/weaveapi/auth/v1/session.pb.js +3544 -0
  33. package/dist/weaveapi/chat/v1/chat.pb.d.ts +377 -149
  34. package/dist/weaveapi/chat/v1/chat.pb.js +3492 -1614
  35. package/dist/weaveapi/chat/v1/index.d.ts +0 -1
  36. package/dist/weaveapi/chat/v1/index.js +1 -2
  37. package/dist/weaveapi/consolidation/v1/consolidation.pb.d.ts +95 -0
  38. package/dist/weaveapi/consolidation/v1/consolidation.pb.js +770 -1
  39. package/dist/weaveapi/consolidation/v1/index.d.ts +0 -1
  40. package/dist/weaveapi/consolidation/v1/index.js +1 -2
  41. package/dist/weaveapi/content/v1/content.pb.d.ts +63 -0
  42. package/dist/weaveapi/content/v1/content.pb.js +470 -0
  43. package/dist/weaveapi/content/v1/index.d.ts +1 -0
  44. package/dist/weaveapi/content/v1/index.js +38 -0
  45. package/dist/weaveapi/gateway/v1/gateway.pb.d.ts +247 -523
  46. package/dist/weaveapi/gateway/v1/gateway.pb.js +1648 -5783
  47. package/dist/weaveapi/gateway/v1/index.d.ts +0 -1
  48. package/dist/weaveapi/gateway/v1/index.js +1 -2
  49. package/dist/weaveapi/index.d.ts +5 -5
  50. package/dist/weaveapi/index.js +6 -6
  51. package/dist/weaveapi/inference/v1/generate.pb.d.ts +120 -0
  52. package/dist/weaveapi/inference/v1/generate.pb.js +1159 -0
  53. package/dist/weaveapi/inference/v1/index.d.ts +4 -0
  54. package/dist/weaveapi/{provider → inference}/v1/index.js +4 -2
  55. package/dist/weaveapi/{model → inference}/v1/model.pb.d.ts +52 -15
  56. package/dist/weaveapi/{model → inference}/v1/model.pb.js +529 -116
  57. package/dist/weaveapi/{model/v1/service.pb.d.ts → inference/v1/model_route.pb.d.ts} +182 -110
  58. package/dist/weaveapi/{model/v1/service.pb.js → inference/v1/model_route.pb.js} +2197 -1061
  59. package/dist/weaveapi/inference/v1/provider.pb.d.ts +264 -0
  60. package/dist/weaveapi/inference/v1/provider.pb.js +2590 -0
  61. package/dist/weaveapi/ingestion/v1/index.d.ts +0 -2
  62. package/dist/weaveapi/ingestion/v1/index.js +1 -3
  63. package/dist/weaveapi/ingestion/v1/ingestion.pb.d.ts +543 -0
  64. package/dist/weaveapi/ingestion/v1/ingestion.pb.js +5550 -16
  65. package/dist/weaveapi/initialization/v1/index.d.ts +1 -0
  66. package/dist/weaveapi/initialization/v1/index.js +38 -0
  67. package/dist/weaveapi/initialization/v1/initialization.pb.d.ts +99 -0
  68. package/dist/weaveapi/initialization/v1/initialization.pb.js +510 -0
  69. package/dist/weaveapi/organization/v1/index.d.ts +0 -1
  70. package/dist/weaveapi/organization/v1/index.js +1 -2
  71. package/dist/weaveapi/organization/v1/organization.pb.d.ts +241 -0
  72. package/dist/weaveapi/organization/v1/organization.pb.js +1838 -1
  73. package/dist/weaveapi/reporting/index.d.ts +1 -0
  74. package/dist/weaveapi/reporting/index.js +38 -0
  75. package/dist/weaveapi/{task → reporting}/v1/index.d.ts +1 -1
  76. package/dist/weaveapi/{model → reporting}/v1/index.js +2 -2
  77. package/dist/weaveapi/reporting/v1/service.pb.d.ts +38 -0
  78. package/dist/weaveapi/reporting/v1/service.pb.js +167 -0
  79. package/dist/weaveapi/reporting/v1/usage.pb.d.ts +150 -0
  80. package/dist/weaveapi/reporting/v1/usage.pb.js +1837 -0
  81. package/dist/weaveapi/retrieval/v1/index.d.ts +0 -1
  82. package/dist/weaveapi/retrieval/v1/index.js +1 -2
  83. package/dist/weaveapi/retrieval/v1/retrieval.pb.d.ts +96 -2
  84. package/dist/weaveapi/retrieval/v1/retrieval.pb.js +690 -10
  85. package/dist/weaveapi/tool/index.d.ts +1 -0
  86. package/dist/weaveapi/tool/index.js +38 -0
  87. package/dist/weaveapi/tool/v1/index.d.ts +1 -0
  88. package/dist/weaveapi/tool/v1/index.js +38 -0
  89. package/dist/weaveapi/tool/v1/tool.pb.d.ts +370 -0
  90. package/dist/weaveapi/tool/v1/tool.pb.js +2717 -0
  91. package/dist/weaveapi/workflow/v1/index.d.ts +1 -1
  92. package/dist/weaveapi/workflow/v1/index.js +2 -2
  93. package/dist/weaveapi/workflow/v1/run.pb.d.ts +244 -0
  94. package/dist/weaveapi/workflow/v1/run.pb.js +2084 -0
  95. package/dist/weaveapi/workflow/v1/workflow.pb.d.ts +122 -275
  96. package/dist/weaveapi/workflow/v1/workflow.pb.js +790 -3261
  97. package/dist/weavesql/weavedb/agent_sql.d.ts +173 -477
  98. package/dist/weavesql/weavedb/agent_sql.js +281 -758
  99. package/dist/weavesql/weavedb/authorization_outbox_sql.d.ts +261 -0
  100. package/dist/weavesql/weavedb/authorization_outbox_sql.js +445 -0
  101. package/dist/weavesql/weavedb/chat_sql.d.ts +103 -345
  102. package/dist/weavesql/weavedb/chat_sql.js +312 -597
  103. package/dist/weavesql/weavedb/document_consolidation_sql.d.ts +217 -0
  104. package/dist/weavesql/weavedb/document_consolidation_sql.js +486 -0
  105. package/dist/weavesql/weavedb/document_ingestion_sql.d.ts +1433 -0
  106. package/dist/weavesql/weavedb/document_ingestion_sql.js +3488 -0
  107. package/dist/weavesql/weavedb/document_retrieval_sql.d.ts +314 -0
  108. package/dist/weavesql/weavedb/document_retrieval_sql.js +965 -0
  109. package/dist/weavesql/weavedb/document_table_sql.d.ts +6 -6
  110. package/dist/weavesql/weavedb/document_table_sql.js +12 -12
  111. package/dist/weavesql/weavedb/identity_sql.d.ts +1014 -0
  112. package/dist/weavesql/weavedb/identity_sql.js +1811 -0
  113. package/dist/weavesql/weavedb/inference_model_route_sql.d.ts +161 -0
  114. package/dist/weavesql/weavedb/inference_model_route_sql.js +408 -0
  115. package/dist/weavesql/weavedb/inference_provider_sql.d.ts +125 -0
  116. package/dist/weavesql/weavedb/inference_provider_sql.js +228 -0
  117. package/dist/weavesql/weavedb/initialization_sql.d.ts +15 -0
  118. package/dist/weavesql/weavedb/initialization_sql.js +33 -0
  119. package/dist/weavesql/weavedb/model_catalog_sql.d.ts +6 -6
  120. package/dist/weavesql/weavedb/model_catalog_sql.js +6 -6
  121. package/dist/weavesql/weavedb/organization_sql.d.ts +22 -102
  122. package/dist/weavesql/weavedb/organization_sql.js +54 -262
  123. package/dist/weavesql/weavedb/tool_sql.d.ts +209 -0
  124. package/dist/weavesql/weavedb/tool_sql.js +407 -0
  125. package/dist/weavesql/weavedb/usage_sql.d.ts +356 -0
  126. package/dist/weavesql/weavedb/usage_sql.js +568 -0
  127. package/dist/weavesql/weavedb/workflow_sql.d.ts +159 -546
  128. package/dist/weavesql/weavedb/workflow_sql.js +281 -909
  129. package/package.json +2 -2
  130. package/dist/weaveapi/agent/v1/service.pb.d.ts +0 -397
  131. package/dist/weaveapi/agent/v1/service.pb.js +0 -3152
  132. package/dist/weaveapi/atc/v1/event.pb.d.ts +0 -134
  133. package/dist/weaveapi/atc/v1/event.pb.js +0 -1124
  134. package/dist/weaveapi/atc/v1/index.d.ts +0 -5
  135. package/dist/weaveapi/atc/v1/index.js +0 -42
  136. package/dist/weaveapi/atc/v1/message.pb.js +0 -287
  137. package/dist/weaveapi/atc/v1/process.pb.d.ts +0 -91
  138. package/dist/weaveapi/atc/v1/process.pb.js +0 -658
  139. package/dist/weaveapi/atc/v1/run.pb.d.ts +0 -71
  140. package/dist/weaveapi/atc/v1/run.pb.js +0 -525
  141. package/dist/weaveapi/atc/v1/service.pb.d.ts +0 -472
  142. package/dist/weaveapi/atc/v1/service.pb.js +0 -3093
  143. package/dist/weaveapi/chat/v1/service.pb.d.ts +0 -345
  144. package/dist/weaveapi/chat/v1/service.pb.js +0 -2545
  145. package/dist/weaveapi/consolidation/v1/service.pb.d.ts +0 -93
  146. package/dist/weaveapi/consolidation/v1/service.pb.js +0 -427
  147. package/dist/weaveapi/gateway/v1/service.pb.d.ts +0 -235
  148. package/dist/weaveapi/gateway/v1/service.pb.js +0 -651
  149. package/dist/weaveapi/ingestion/v1/service.pb.d.ts +0 -420
  150. package/dist/weaveapi/ingestion/v1/service.pb.js +0 -2311
  151. package/dist/weaveapi/ingestion/v1/table.pb.d.ts +0 -121
  152. package/dist/weaveapi/ingestion/v1/table.pb.js +0 -1478
  153. package/dist/weaveapi/model/v1/index.d.ts +0 -2
  154. package/dist/weaveapi/organization/v1/service.pb.d.ts +0 -261
  155. package/dist/weaveapi/organization/v1/service.pb.js +0 -1561
  156. package/dist/weaveapi/project/v1/index.d.ts +0 -2
  157. package/dist/weaveapi/project/v1/index.js +0 -39
  158. package/dist/weaveapi/project/v1/project.pb.d.ts +0 -105
  159. package/dist/weaveapi/project/v1/project.pb.js +0 -1004
  160. package/dist/weaveapi/project/v1/service.pb.d.ts +0 -247
  161. package/dist/weaveapi/project/v1/service.pb.js +0 -1994
  162. package/dist/weaveapi/provider/v1/index.d.ts +0 -2
  163. package/dist/weaveapi/provider/v1/provider.pb.d.ts +0 -137
  164. package/dist/weaveapi/provider/v1/provider.pb.js +0 -1000
  165. package/dist/weaveapi/provider/v1/service.pb.d.ts +0 -223
  166. package/dist/weaveapi/provider/v1/service.pb.js +0 -1888
  167. package/dist/weaveapi/retrieval/v1/service.pb.d.ts +0 -93
  168. package/dist/weaveapi/retrieval/v1/service.pb.js +0 -385
  169. package/dist/weaveapi/task/v1/index.js +0 -39
  170. package/dist/weaveapi/task/v1/service.pb.d.ts +0 -172
  171. package/dist/weaveapi/task/v1/service.pb.js +0 -1436
  172. package/dist/weaveapi/task/v1/task.pb.d.ts +0 -85
  173. package/dist/weaveapi/task/v1/task.pb.js +0 -802
  174. package/dist/weaveapi/workflow/v1/service.pb.d.ts +0 -392
  175. package/dist/weaveapi/workflow/v1/service.pb.js +0 -3146
  176. /package/dist/{weaveapi/atc → weave/authz}/index.d.ts +0 -0
  177. /package/dist/{weaveapi/atc → weave/authz}/index.js +0 -0
  178. /package/dist/{weaveapi/model → weave/filter}/index.d.ts +0 -0
  179. /package/dist/{weaveapi/model → weave/filter}/index.js +0 -0
  180. /package/dist/weaveapi/{project → content}/index.d.ts +0 -0
  181. /package/dist/weaveapi/{project → content}/index.js +0 -0
  182. /package/dist/weaveapi/{provider → inference}/index.d.ts +0 -0
  183. /package/dist/weaveapi/{provider → inference}/index.js +0 -0
  184. /package/dist/weaveapi/{task → initialization}/index.d.ts +0 -0
  185. /package/dist/weaveapi/{task → initialization}/index.js +0 -0
@@ -1,113 +1,50 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.listAgentRunEventsQuery = exports.insertAgentRunEventQuery = exports.updateAgentRunStatusQuery = exports.listAgentRunsQuery = exports.claimAgentRunQuery = exports.getAgentRunQuery = exports.createAgentRunQuery = exports.listAgentDefinitionVersionsQuery = exports.getAgentDefinitionVersionByIDQuery = exports.getAgentDefinitionVersionByNumberQuery = exports.setAgentDefinitionLatestVersionQuery = exports.insertAgentDefinitionVersionQuery = exports.listAgentDraftEventsQuery = exports.insertAgentDraftEventQuery = exports.insertAgentDraftPatchQuery = exports.updateAgentDraftQuery = exports.updateAgentDefinitionStatusQuery = exports.updateAgentDefinitionDraftMetadataQuery = exports.listAgentDefinitionsQuery = exports.getAgentDefinitionDraftQuery = exports.getAgentDefinitionBySlugQuery = exports.getAgentDefinitionByIDQuery = exports.createAgentDefinitionDraftQuery = exports.createAgentDefinitionQuery = void 0;
4
- exports.createAgentDefinition = createAgentDefinition;
5
- exports.createAgentDefinitionDraft = createAgentDefinitionDraft;
6
- exports.getAgentDefinitionByID = getAgentDefinitionByID;
7
- exports.getAgentDefinitionBySlug = getAgentDefinitionBySlug;
8
- exports.getAgentDefinitionDraft = getAgentDefinitionDraft;
9
- exports.listAgentDefinitions = listAgentDefinitions;
10
- exports.updateAgentDefinitionDraftMetadata = updateAgentDefinitionDraftMetadata;
11
- exports.updateAgentDefinitionStatus = updateAgentDefinitionStatus;
12
- exports.updateAgentDraft = updateAgentDraft;
13
- exports.insertAgentDraftPatch = insertAgentDraftPatch;
14
- exports.insertAgentDraftEvent = insertAgentDraftEvent;
15
- exports.listAgentDraftEvents = listAgentDraftEvents;
16
- exports.insertAgentDefinitionVersion = insertAgentDefinitionVersion;
17
- exports.setAgentDefinitionLatestVersion = setAgentDefinitionLatestVersion;
18
- exports.getAgentDefinitionVersionByNumber = getAgentDefinitionVersionByNumber;
19
- exports.getAgentDefinitionVersionByID = getAgentDefinitionVersionByID;
20
- exports.listAgentDefinitionVersions = listAgentDefinitionVersions;
3
+ exports.listAgentRunEventsQuery = exports.createAgentRunEventQuery = exports.updateAgentRunStatusQuery = exports.listAgentRunsQuery = exports.getAgentRunQuery = exports.createAgentRunQuery = exports.upsertDefaultChatAgentQuery = exports.listAgentsQuery = exports.updateAgentQuery = exports.getAgentQuery = exports.createAgentQuery = void 0;
4
+ exports.createAgent = createAgent;
5
+ exports.getAgent = getAgent;
6
+ exports.updateAgent = updateAgent;
7
+ exports.listAgents = listAgents;
8
+ exports.upsertDefaultChatAgent = upsertDefaultChatAgent;
21
9
  exports.createAgentRun = createAgentRun;
22
10
  exports.getAgentRun = getAgentRun;
23
- exports.claimAgentRun = claimAgentRun;
24
11
  exports.listAgentRuns = listAgentRuns;
25
12
  exports.updateAgentRunStatus = updateAgentRunStatus;
26
- exports.insertAgentRunEvent = insertAgentRunEvent;
13
+ exports.createAgentRunEvent = createAgentRunEvent;
27
14
  exports.listAgentRunEvents = listAgentRunEvents;
28
- exports.createAgentDefinitionQuery = `-- name: CreateAgentDefinition :one
29
- INSERT INTO weave.agent_definitions (
30
- id,
15
+ exports.createAgentQuery = `-- name: CreateAgent :one
16
+ INSERT INTO weave.agent (
31
17
  organization_id,
32
18
  slug,
33
19
  name,
34
20
  description,
35
- status,
36
- created_by_user_id
37
- ) VALUES (
38
- $1,
39
- $2,
40
- $3,
41
- $4,
42
- $5,
43
- $6,
44
- $7
45
- )
46
- RETURNING id, organization_id, slug, name, description, status, created_by_user_id, draft_revision, latest_version_id, latest_version, created_at, updated_at`;
47
- async function createAgentDefinition(client, args) {
48
- const result = await client.query({
49
- text: exports.createAgentDefinitionQuery,
50
- values: [args.id, args.organizationId, args.slug, args.name, args.description, args.status, args.createdByUserId],
51
- rowMode: "array"
52
- });
53
- if (result.rows.length !== 1) {
54
- return null;
55
- }
56
- const row = result.rows[0];
57
- return {
58
- id: row[0],
59
- organizationId: row[1],
60
- slug: row[2],
61
- name: row[3],
62
- description: row[4],
63
- status: row[5],
64
- createdByUserId: row[6],
65
- draftRevision: row[7],
66
- latestVersionId: row[8],
67
- latestVersion: row[9],
68
- createdAt: row[10],
69
- updatedAt: row[11]
70
- };
71
- }
72
- exports.createAgentDefinitionDraftQuery = `-- name: CreateAgentDefinitionDraft :one
73
- INSERT INTO weave.agent_definition_drafts (
74
- id,
75
- definition_id,
76
- organization_id,
77
- base_version_id,
78
- revision,
79
- name,
80
- description,
81
21
  instructions,
82
- model_id,
83
- provider_configuration_id,
84
- tool_descriptors,
22
+ default_model_id,
23
+ default_generate_config,
24
+ include_contents,
25
+ output_key,
85
26
  input_schema,
86
27
  output_schema,
87
- metadata,
88
- updated_by_user_id
28
+ metadata
89
29
  ) VALUES (
90
30
  $1,
91
31
  $2,
92
32
  $3,
93
- $4::uuid,
33
+ $4,
94
34
  $5,
95
35
  $6,
96
- $7,
36
+ COALESCE($7::jsonb, '{}'::jsonb),
97
37
  $8,
98
38
  $9,
99
- $10::uuid,
100
- $11,
101
- $12,
102
- $13,
103
- $14,
104
- $15
39
+ $10::jsonb,
40
+ $11::jsonb,
41
+ COALESCE($12::jsonb, '{}'::jsonb)
105
42
  )
106
- RETURNING id, definition_id, organization_id, base_version_id, revision, name, description, instructions, model_id, provider_configuration_id, tool_descriptors, input_schema, output_schema, metadata, updated_by_user_id, created_at, updated_at`;
107
- async function createAgentDefinitionDraft(client, args) {
43
+ RETURNING id, organization_id, slug, name, description, instructions, default_model_id, default_generate_config, include_contents, output_key, input_schema, output_schema, metadata, created_at, updated_at`;
44
+ async function createAgent(client, args) {
108
45
  const result = await client.query({
109
- text: exports.createAgentDefinitionDraftQuery,
110
- values: [args.id, args.definitionId, args.organizationId, args.baseVersionId, args.revision, args.name, args.description, args.instructions, args.modelId, args.providerConfigurationId, args.toolDescriptors, args.inputSchema, args.outputSchema, args.metadata, args.updatedByUserId],
46
+ text: exports.createAgentQuery,
47
+ values: [args.organizationId, args.slug, args.name, args.description, args.instructions, args.defaultModelId, args.defaultGenerateConfig, args.includeContents, args.outputKey, args.inputSchema, args.outputSchema, args.metadata],
111
48
  rowMode: "array"
112
49
  });
113
50
  if (result.rows.length !== 1) {
@@ -116,32 +53,30 @@ async function createAgentDefinitionDraft(client, args) {
116
53
  const row = result.rows[0];
117
54
  return {
118
55
  id: row[0],
119
- definitionId: row[1],
120
- organizationId: row[2],
121
- baseVersionId: row[3],
122
- revision: row[4],
123
- name: row[5],
124
- description: row[6],
125
- instructions: row[7],
126
- modelId: row[8],
127
- providerConfigurationId: row[9],
128
- toolDescriptors: row[10],
129
- inputSchema: row[11],
130
- outputSchema: row[12],
131
- metadata: row[13],
132
- updatedByUserId: row[14],
133
- createdAt: row[15],
134
- updatedAt: row[16]
56
+ organizationId: row[1],
57
+ slug: row[2],
58
+ name: row[3],
59
+ description: row[4],
60
+ instructions: row[5],
61
+ defaultModelId: row[6],
62
+ defaultGenerateConfig: row[7],
63
+ includeContents: row[8],
64
+ outputKey: row[9],
65
+ inputSchema: row[10],
66
+ outputSchema: row[11],
67
+ metadata: row[12],
68
+ createdAt: row[13],
69
+ updatedAt: row[14]
135
70
  };
136
71
  }
137
- exports.getAgentDefinitionByIDQuery = `-- name: GetAgentDefinitionByID :one
138
- SELECT id, organization_id, slug, name, description, status, created_by_user_id, draft_revision, latest_version_id, latest_version, created_at, updated_at FROM weave.agent_definitions
72
+ exports.getAgentQuery = `-- name: GetAgent :one
73
+ SELECT id, organization_id, slug, name, description, instructions, default_model_id, default_generate_config, include_contents, output_key, input_schema, output_schema, metadata, created_at, updated_at FROM weave.agent
139
74
  WHERE organization_id = $1
140
75
  AND id = $2`;
141
- async function getAgentDefinitionByID(client, args) {
76
+ async function getAgent(client, args) {
142
77
  const result = await client.query({
143
- text: exports.getAgentDefinitionByIDQuery,
144
- values: [args.organizationId, args.definitionId],
78
+ text: exports.getAgentQuery,
79
+ values: [args.organizationId, args.agentId],
145
80
  rowMode: "array"
146
81
  });
147
82
  if (result.rows.length !== 1) {
@@ -154,23 +89,38 @@ async function getAgentDefinitionByID(client, args) {
154
89
  slug: row[2],
155
90
  name: row[3],
156
91
  description: row[4],
157
- status: row[5],
158
- createdByUserId: row[6],
159
- draftRevision: row[7],
160
- latestVersionId: row[8],
161
- latestVersion: row[9],
162
- createdAt: row[10],
163
- updatedAt: row[11]
92
+ instructions: row[5],
93
+ defaultModelId: row[6],
94
+ defaultGenerateConfig: row[7],
95
+ includeContents: row[8],
96
+ outputKey: row[9],
97
+ inputSchema: row[10],
98
+ outputSchema: row[11],
99
+ metadata: row[12],
100
+ createdAt: row[13],
101
+ updatedAt: row[14]
164
102
  };
165
103
  }
166
- exports.getAgentDefinitionBySlugQuery = `-- name: GetAgentDefinitionBySlug :one
167
- SELECT id, organization_id, slug, name, description, status, created_by_user_id, draft_revision, latest_version_id, latest_version, created_at, updated_at FROM weave.agent_definitions
168
- WHERE organization_id = $1
169
- AND slug = $2`;
170
- async function getAgentDefinitionBySlug(client, args) {
104
+ exports.updateAgentQuery = `-- name: UpdateAgent :one
105
+ UPDATE weave.agent
106
+ SET slug = $1,
107
+ name = $2,
108
+ description = COALESCE($3::text, ''),
109
+ instructions = COALESCE($4::text, ''),
110
+ default_model_id = $5,
111
+ default_generate_config = COALESCE($6::jsonb, '{}'::jsonb),
112
+ include_contents = $7,
113
+ output_key = COALESCE($8::text, ''),
114
+ input_schema = $9::jsonb,
115
+ output_schema = $10::jsonb,
116
+ metadata = COALESCE($11::jsonb, '{}'::jsonb)
117
+ WHERE organization_id = $12
118
+ AND id = $13
119
+ RETURNING id, organization_id, slug, name, description, instructions, default_model_id, default_generate_config, include_contents, output_key, input_schema, output_schema, metadata, created_at, updated_at`;
120
+ async function updateAgent(client, args) {
171
121
  const result = await client.query({
172
- text: exports.getAgentDefinitionBySlugQuery,
173
- values: [args.organizationId, args.slug],
122
+ text: exports.updateAgentQuery,
123
+ values: [args.slug, args.name, args.description, args.instructions, args.defaultModelId, args.defaultGenerateConfig, args.includeContents, args.outputKey, args.inputSchema, args.outputSchema, args.metadata, args.organizationId, args.agentId],
174
124
  rowMode: "array"
175
125
  });
176
126
  if (result.rows.length !== 1) {
@@ -183,62 +133,29 @@ async function getAgentDefinitionBySlug(client, args) {
183
133
  slug: row[2],
184
134
  name: row[3],
185
135
  description: row[4],
186
- status: row[5],
187
- createdByUserId: row[6],
188
- draftRevision: row[7],
189
- latestVersionId: row[8],
190
- latestVersion: row[9],
191
- createdAt: row[10],
192
- updatedAt: row[11]
193
- };
194
- }
195
- exports.getAgentDefinitionDraftQuery = `-- name: GetAgentDefinitionDraft :one
196
- SELECT id, definition_id, organization_id, base_version_id, revision, name, description, instructions, model_id, provider_configuration_id, tool_descriptors, input_schema, output_schema, metadata, updated_by_user_id, created_at, updated_at FROM weave.agent_definition_drafts
197
- WHERE organization_id = $1
198
- AND definition_id = $2`;
199
- async function getAgentDefinitionDraft(client, args) {
200
- const result = await client.query({
201
- text: exports.getAgentDefinitionDraftQuery,
202
- values: [args.organizationId, args.definitionId],
203
- rowMode: "array"
204
- });
205
- if (result.rows.length !== 1) {
206
- return null;
207
- }
208
- const row = result.rows[0];
209
- return {
210
- id: row[0],
211
- definitionId: row[1],
212
- organizationId: row[2],
213
- baseVersionId: row[3],
214
- revision: row[4],
215
- name: row[5],
216
- description: row[6],
217
- instructions: row[7],
218
- modelId: row[8],
219
- providerConfigurationId: row[9],
220
- toolDescriptors: row[10],
221
- inputSchema: row[11],
222
- outputSchema: row[12],
223
- metadata: row[13],
224
- updatedByUserId: row[14],
225
- createdAt: row[15],
226
- updatedAt: row[16]
136
+ instructions: row[5],
137
+ defaultModelId: row[6],
138
+ defaultGenerateConfig: row[7],
139
+ includeContents: row[8],
140
+ outputKey: row[9],
141
+ inputSchema: row[10],
142
+ outputSchema: row[11],
143
+ metadata: row[12],
144
+ createdAt: row[13],
145
+ updatedAt: row[14]
227
146
  };
228
147
  }
229
- exports.listAgentDefinitionsQuery = `-- name: ListAgentDefinitions :many
230
- SELECT id, organization_id, slug, name, description, status, created_by_user_id, draft_revision, latest_version_id, latest_version, created_at, updated_at FROM weave.agent_definitions
148
+ exports.listAgentsQuery = `-- name: ListAgents :many
149
+ SELECT id, organization_id, slug, name, description, instructions, default_model_id, default_generate_config, include_contents, output_key, input_schema, output_schema, metadata, created_at, updated_at
150
+ FROM weave.agent
231
151
  WHERE organization_id = $1
232
- AND (
233
- $2::text IS NULL
234
- OR status = $2::text
235
- )
236
- ORDER BY updated_at DESC, created_at DESC
237
- LIMIT $4 OFFSET $3`;
238
- async function listAgentDefinitions(client, args) {
152
+ ORDER BY name ASC, id ASC
153
+ LIMIT COALESCE($3::integer, 100)
154
+ OFFSET COALESCE($2::integer, 0)`;
155
+ async function listAgents(client, args) {
239
156
  const result = await client.query({
240
- text: exports.listAgentDefinitionsQuery,
241
- values: [args.organizationId, args.status, args.pageOffset, args.pageSize],
157
+ text: exports.listAgentsQuery,
158
+ values: [args.organizationId, args.pageOffset, args.pageSize],
242
159
  rowMode: "array"
243
160
  });
244
161
  return result.rows.map(row => {
@@ -248,345 +165,71 @@ async function listAgentDefinitions(client, args) {
248
165
  slug: row[2],
249
166
  name: row[3],
250
167
  description: row[4],
251
- status: row[5],
252
- createdByUserId: row[6],
253
- draftRevision: row[7],
254
- latestVersionId: row[8],
255
- latestVersion: row[9],
256
- createdAt: row[10],
257
- updatedAt: row[11]
168
+ instructions: row[5],
169
+ defaultModelId: row[6],
170
+ defaultGenerateConfig: row[7],
171
+ includeContents: row[8],
172
+ outputKey: row[9],
173
+ inputSchema: row[10],
174
+ outputSchema: row[11],
175
+ metadata: row[12],
176
+ createdAt: row[13],
177
+ updatedAt: row[14]
258
178
  };
259
179
  });
260
180
  }
261
- exports.updateAgentDefinitionDraftMetadataQuery = `-- name: UpdateAgentDefinitionDraftMetadata :one
262
- UPDATE weave.agent_definitions
263
- SET
264
- name = $1,
265
- description = $2,
266
- draft_revision = $3,
267
- updated_at = now()
268
- WHERE organization_id = $4
269
- AND id = $5
270
- RETURNING id, organization_id, slug, name, description, status, created_by_user_id, draft_revision, latest_version_id, latest_version, created_at, updated_at`;
271
- async function updateAgentDefinitionDraftMetadata(client, args) {
272
- const result = await client.query({
273
- text: exports.updateAgentDefinitionDraftMetadataQuery,
274
- values: [args.name, args.description, args.draftRevision, args.organizationId, args.definitionId],
275
- rowMode: "array"
276
- });
277
- if (result.rows.length !== 1) {
278
- return null;
279
- }
280
- const row = result.rows[0];
281
- return {
282
- id: row[0],
283
- organizationId: row[1],
284
- slug: row[2],
285
- name: row[3],
286
- description: row[4],
287
- status: row[5],
288
- createdByUserId: row[6],
289
- draftRevision: row[7],
290
- latestVersionId: row[8],
291
- latestVersion: row[9],
292
- createdAt: row[10],
293
- updatedAt: row[11]
294
- };
295
- }
296
- exports.updateAgentDefinitionStatusQuery = `-- name: UpdateAgentDefinitionStatus :one
297
- UPDATE weave.agent_definitions
298
- SET
299
- status = $1,
300
- updated_at = now()
301
- WHERE organization_id = $2
302
- AND id = $3
303
- RETURNING id, organization_id, slug, name, description, status, created_by_user_id, draft_revision, latest_version_id, latest_version, created_at, updated_at`;
304
- async function updateAgentDefinitionStatus(client, args) {
305
- const result = await client.query({
306
- text: exports.updateAgentDefinitionStatusQuery,
307
- values: [args.status, args.organizationId, args.definitionId],
308
- rowMode: "array"
309
- });
310
- if (result.rows.length !== 1) {
311
- return null;
312
- }
313
- const row = result.rows[0];
314
- return {
315
- id: row[0],
316
- organizationId: row[1],
317
- slug: row[2],
318
- name: row[3],
319
- description: row[4],
320
- status: row[5],
321
- createdByUserId: row[6],
322
- draftRevision: row[7],
323
- latestVersionId: row[8],
324
- latestVersion: row[9],
325
- createdAt: row[10],
326
- updatedAt: row[11]
327
- };
328
- }
329
- exports.updateAgentDraftQuery = `-- name: UpdateAgentDraft :one
330
- UPDATE weave.agent_definition_drafts
331
- SET
332
- base_version_id = $1::uuid,
333
- revision = revision + 1,
334
- name = $2,
335
- description = $3,
336
- instructions = $4,
337
- model_id = $5,
338
- provider_configuration_id = $6::uuid,
339
- tool_descriptors = $7,
340
- input_schema = $8,
341
- output_schema = $9,
342
- metadata = $10,
343
- updated_by_user_id = $11,
344
- updated_at = now()
345
- WHERE organization_id = $12
346
- AND definition_id = $13
347
- AND revision = $14
348
- RETURNING id, definition_id, organization_id, base_version_id, revision, name, description, instructions, model_id, provider_configuration_id, tool_descriptors, input_schema, output_schema, metadata, updated_by_user_id, created_at, updated_at`;
349
- async function updateAgentDraft(client, args) {
350
- const result = await client.query({
351
- text: exports.updateAgentDraftQuery,
352
- values: [args.baseVersionId, args.name, args.description, args.instructions, args.modelId, args.providerConfigurationId, args.toolDescriptors, args.inputSchema, args.outputSchema, args.metadata, args.updatedByUserId, args.organizationId, args.definitionId, args.expectedRevision],
353
- rowMode: "array"
354
- });
355
- if (result.rows.length !== 1) {
356
- return null;
357
- }
358
- const row = result.rows[0];
359
- return {
360
- id: row[0],
361
- definitionId: row[1],
362
- organizationId: row[2],
363
- baseVersionId: row[3],
364
- revision: row[4],
365
- name: row[5],
366
- description: row[6],
367
- instructions: row[7],
368
- modelId: row[8],
369
- providerConfigurationId: row[9],
370
- toolDescriptors: row[10],
371
- inputSchema: row[11],
372
- outputSchema: row[12],
373
- metadata: row[13],
374
- updatedByUserId: row[14],
375
- createdAt: row[15],
376
- updatedAt: row[16]
377
- };
378
- }
379
- exports.insertAgentDraftPatchQuery = `-- name: InsertAgentDraftPatch :one
380
- INSERT INTO weave.agent_definition_draft_patches (
381
- id,
382
- definition_id,
383
- organization_id,
384
- revision,
385
- patch,
386
- created_by_user_id
387
- ) VALUES (
388
- $1,
389
- $2,
390
- $3,
391
- $4,
392
- $5,
393
- $6
394
- )
395
- RETURNING id, definition_id, organization_id, revision, patch, created_by_user_id, created_at`;
396
- async function insertAgentDraftPatch(client, args) {
397
- const result = await client.query({
398
- text: exports.insertAgentDraftPatchQuery,
399
- values: [args.id, args.definitionId, args.organizationId, args.revision, args.patch, args.createdByUserId],
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
- definitionId: row[1],
409
- organizationId: row[2],
410
- revision: row[3],
411
- patch: row[4],
412
- createdByUserId: row[5],
413
- createdAt: row[6]
414
- };
415
- }
416
- exports.insertAgentDraftEventQuery = `-- name: InsertAgentDraftEvent :one
417
- INSERT INTO weave.agent_definition_draft_events (
418
- id,
419
- definition_id,
181
+ exports.upsertDefaultChatAgentQuery = `-- name: UpsertDefaultChatAgent :one
182
+ INSERT INTO weave.agent (
420
183
  organization_id,
421
- draft_id,
422
- sequence,
423
- kind,
424
- base_revision,
425
- result_revision,
426
- changed_fields,
427
- source,
428
- client_request_id,
429
- conflict,
430
- created_by_user_id
184
+ slug,
185
+ name,
186
+ description,
187
+ instructions,
188
+ default_model_id,
189
+ default_generate_config,
190
+ include_contents,
191
+ output_key,
192
+ metadata
431
193
  ) VALUES (
432
194
  $1,
433
195
  $2,
434
196
  $3,
435
- $4,
436
- COALESCE(
437
- (
438
- SELECT max(sequence) + 1
439
- FROM weave.agent_definition_draft_events
440
- WHERE definition_id = $2
441
- ),
442
- 1
443
- ),
197
+ COALESCE($4::text, ''),
444
198
  $5,
445
199
  $6,
446
- $7::integer,
447
- $8::text[],
448
- $9,
449
- $10,
450
- $11::jsonb,
451
- $12
200
+ '{}'::jsonb,
201
+ 'default',
202
+ '',
203
+ COALESCE($7::jsonb, '{}'::jsonb)
452
204
  )
453
- RETURNING id, organization_id, definition_id, draft_id, sequence, kind, base_revision, result_revision, changed_fields, source, client_request_id, conflict, created_by_user_id, created_at`;
454
- async function insertAgentDraftEvent(client, args) {
455
- const result = await client.query({
456
- text: exports.insertAgentDraftEventQuery,
457
- values: [args.id, args.definitionId, args.organizationId, args.draftId, args.kind, args.baseRevision, args.resultRevision, args.changedFields, args.source, args.clientRequestId, args.conflict, args.createdByUserId],
458
- rowMode: "array"
459
- });
460
- if (result.rows.length !== 1) {
461
- return null;
462
- }
463
- const row = result.rows[0];
464
- return {
465
- id: row[0],
466
- organizationId: row[1],
467
- definitionId: row[2],
468
- draftId: row[3],
469
- sequence: row[4],
470
- kind: row[5],
471
- baseRevision: row[6],
472
- resultRevision: row[7],
473
- changedFields: row[8],
474
- source: row[9],
475
- clientRequestId: row[10],
476
- conflict: row[11],
477
- createdByUserId: row[12],
478
- createdAt: row[13]
479
- };
480
- }
481
- exports.listAgentDraftEventsQuery = `-- name: ListAgentDraftEvents :many
482
- SELECT id, organization_id, definition_id, draft_id, sequence, kind, base_revision, result_revision, changed_fields, source, client_request_id, conflict, created_by_user_id, created_at FROM weave.agent_definition_draft_events
483
- WHERE organization_id = $1
484
- AND definition_id = $2
485
- AND sequence > $3
486
- ORDER BY sequence
487
- LIMIT $4`;
488
- async function listAgentDraftEvents(client, args) {
489
- const result = await client.query({
490
- text: exports.listAgentDraftEventsQuery,
491
- values: [args.organizationId, args.definitionId, args.afterSequence, args.pageSize],
492
- rowMode: "array"
493
- });
494
- return result.rows.map(row => {
495
- return {
496
- id: row[0],
497
- organizationId: row[1],
498
- definitionId: row[2],
499
- draftId: row[3],
500
- sequence: row[4],
501
- kind: row[5],
502
- baseRevision: row[6],
503
- resultRevision: row[7],
504
- changedFields: row[8],
505
- source: row[9],
506
- clientRequestId: row[10],
507
- conflict: row[11],
508
- createdByUserId: row[12],
509
- createdAt: row[13]
510
- };
511
- });
512
- }
513
- exports.insertAgentDefinitionVersionQuery = `-- name: InsertAgentDefinitionVersion :one
514
- INSERT INTO weave.agent_definition_versions (
205
+ ON CONFLICT (organization_id, slug) DO UPDATE
206
+ SET name = EXCLUDED.name,
207
+ description = EXCLUDED.description,
208
+ instructions = EXCLUDED.instructions,
209
+ default_model_id = EXCLUDED.default_model_id,
210
+ metadata = EXCLUDED.metadata,
211
+ updated_at = now()
212
+ RETURNING
515
213
  id,
516
- definition_id,
517
214
  organization_id,
518
- version,
519
- source_draft_revision,
215
+ slug,
520
216
  name,
521
217
  description,
522
218
  instructions,
523
- model_id,
524
- provider_configuration_id,
525
- tool_descriptors,
219
+ default_model_id,
220
+ default_generate_config,
221
+ include_contents,
222
+ output_key,
526
223
  input_schema,
527
224
  output_schema,
528
225
  metadata,
529
- published_by_user_id
530
- ) VALUES (
531
- $1,
532
- $2,
533
- $3,
534
- $4,
535
- $5,
536
- $6,
537
- $7,
538
- $8,
539
- $9,
540
- $10::uuid,
541
- $11,
542
- $12,
543
- $13,
544
- $14,
545
- $15
546
- )
547
- RETURNING id, definition_id, organization_id, version, source_draft_revision, name, description, instructions, model_id, provider_configuration_id, tool_descriptors, input_schema, output_schema, metadata, published_by_user_id, published_at`;
548
- async function insertAgentDefinitionVersion(client, args) {
226
+ created_at,
227
+ updated_at,
228
+ (xmax = 0)::bool AS created`;
229
+ async function upsertDefaultChatAgent(client, args) {
549
230
  const result = await client.query({
550
- text: exports.insertAgentDefinitionVersionQuery,
551
- values: [args.id, args.definitionId, args.organizationId, args.version, args.sourceDraftRevision, args.name, args.description, args.instructions, args.modelId, args.providerConfigurationId, args.toolDescriptors, args.inputSchema, args.outputSchema, args.metadata, args.publishedByUserId],
552
- rowMode: "array"
553
- });
554
- if (result.rows.length !== 1) {
555
- return null;
556
- }
557
- const row = result.rows[0];
558
- return {
559
- id: row[0],
560
- definitionId: row[1],
561
- organizationId: row[2],
562
- version: row[3],
563
- sourceDraftRevision: row[4],
564
- name: row[5],
565
- description: row[6],
566
- instructions: row[7],
567
- modelId: row[8],
568
- providerConfigurationId: row[9],
569
- toolDescriptors: row[10],
570
- inputSchema: row[11],
571
- outputSchema: row[12],
572
- metadata: row[13],
573
- publishedByUserId: row[14],
574
- publishedAt: row[15]
575
- };
576
- }
577
- exports.setAgentDefinitionLatestVersionQuery = `-- name: SetAgentDefinitionLatestVersion :one
578
- UPDATE weave.agent_definitions
579
- SET
580
- latest_version_id = $1,
581
- latest_version = $2,
582
- updated_at = now()
583
- WHERE organization_id = $3
584
- AND id = $4
585
- RETURNING id, organization_id, slug, name, description, status, created_by_user_id, draft_revision, latest_version_id, latest_version, created_at, updated_at`;
586
- async function setAgentDefinitionLatestVersion(client, args) {
587
- const result = await client.query({
588
- text: exports.setAgentDefinitionLatestVersionQuery,
589
- values: [args.versionId, args.version, args.organizationId, args.definitionId],
231
+ text: exports.upsertDefaultChatAgentQuery,
232
+ values: [args.organizationId, args.slug, args.name, args.description, args.instructions, args.defaultModelId, args.metadata],
590
233
  rowMode: "array"
591
234
  });
592
235
  if (result.rows.length !== 1) {
@@ -599,144 +242,48 @@ async function setAgentDefinitionLatestVersion(client, args) {
599
242
  slug: row[2],
600
243
  name: row[3],
601
244
  description: row[4],
602
- status: row[5],
603
- createdByUserId: row[6],
604
- draftRevision: row[7],
605
- latestVersionId: row[8],
606
- latestVersion: row[9],
607
- createdAt: row[10],
608
- updatedAt: row[11]
609
- };
610
- }
611
- exports.getAgentDefinitionVersionByNumberQuery = `-- name: GetAgentDefinitionVersionByNumber :one
612
- SELECT id, definition_id, organization_id, version, source_draft_revision, name, description, instructions, model_id, provider_configuration_id, tool_descriptors, input_schema, output_schema, metadata, published_by_user_id, published_at FROM weave.agent_definition_versions
613
- WHERE organization_id = $1
614
- AND definition_id = $2
615
- AND version = $3`;
616
- async function getAgentDefinitionVersionByNumber(client, args) {
617
- const result = await client.query({
618
- text: exports.getAgentDefinitionVersionByNumberQuery,
619
- values: [args.organizationId, args.definitionId, args.version],
620
- rowMode: "array"
621
- });
622
- if (result.rows.length !== 1) {
623
- return null;
624
- }
625
- const row = result.rows[0];
626
- return {
627
- id: row[0],
628
- definitionId: row[1],
629
- organizationId: row[2],
630
- version: row[3],
631
- sourceDraftRevision: row[4],
632
- name: row[5],
633
- description: row[6],
634
- instructions: row[7],
635
- modelId: row[8],
636
- providerConfigurationId: row[9],
637
- toolDescriptors: row[10],
638
- inputSchema: row[11],
639
- outputSchema: row[12],
640
- metadata: row[13],
641
- publishedByUserId: row[14],
642
- publishedAt: row[15]
643
- };
644
- }
645
- exports.getAgentDefinitionVersionByIDQuery = `-- name: GetAgentDefinitionVersionByID :one
646
- SELECT id, definition_id, organization_id, version, source_draft_revision, name, description, instructions, model_id, provider_configuration_id, tool_descriptors, input_schema, output_schema, metadata, published_by_user_id, published_at FROM weave.agent_definition_versions
647
- WHERE organization_id = $1
648
- AND id = $2`;
649
- async function getAgentDefinitionVersionByID(client, args) {
650
- const result = await client.query({
651
- text: exports.getAgentDefinitionVersionByIDQuery,
652
- values: [args.organizationId, args.versionId],
653
- rowMode: "array"
654
- });
655
- if (result.rows.length !== 1) {
656
- return null;
657
- }
658
- const row = result.rows[0];
659
- return {
660
- id: row[0],
661
- definitionId: row[1],
662
- organizationId: row[2],
663
- version: row[3],
664
- sourceDraftRevision: row[4],
665
- name: row[5],
666
- description: row[6],
667
- instructions: row[7],
668
- modelId: row[8],
669
- providerConfigurationId: row[9],
670
- toolDescriptors: row[10],
671
- inputSchema: row[11],
672
- outputSchema: row[12],
673
- metadata: row[13],
674
- publishedByUserId: row[14],
675
- publishedAt: row[15]
245
+ instructions: row[5],
246
+ defaultModelId: row[6],
247
+ defaultGenerateConfig: row[7],
248
+ includeContents: row[8],
249
+ outputKey: row[9],
250
+ inputSchema: row[10],
251
+ outputSchema: row[11],
252
+ metadata: row[12],
253
+ createdAt: row[13],
254
+ updatedAt: row[14],
255
+ created: row[15]
676
256
  };
677
257
  }
678
- exports.listAgentDefinitionVersionsQuery = `-- name: ListAgentDefinitionVersions :many
679
- SELECT id, definition_id, organization_id, version, source_draft_revision, name, description, instructions, model_id, provider_configuration_id, tool_descriptors, input_schema, output_schema, metadata, published_by_user_id, published_at FROM weave.agent_definition_versions
680
- WHERE organization_id = $1
681
- AND definition_id = $2
682
- ORDER BY version DESC
683
- LIMIT $4 OFFSET $3`;
684
- async function listAgentDefinitionVersions(client, args) {
685
- const result = await client.query({
686
- text: exports.listAgentDefinitionVersionsQuery,
687
- values: [args.organizationId, args.definitionId, args.pageOffset, args.pageSize],
688
- rowMode: "array"
689
- });
690
- return result.rows.map(row => {
691
- return {
692
- id: row[0],
693
- definitionId: row[1],
694
- organizationId: row[2],
695
- version: row[3],
696
- sourceDraftRevision: row[4],
697
- name: row[5],
698
- description: row[6],
699
- instructions: row[7],
700
- modelId: row[8],
701
- providerConfigurationId: row[9],
702
- toolDescriptors: row[10],
703
- inputSchema: row[11],
704
- outputSchema: row[12],
705
- metadata: row[13],
706
- publishedByUserId: row[14],
707
- publishedAt: row[15]
708
- };
709
- });
710
- }
711
258
  exports.createAgentRunQuery = `-- name: CreateAgentRun :one
712
- INSERT INTO weave.agent_runs (
713
- id,
259
+ INSERT INTO weave.agent_run (
714
260
  organization_id,
715
- agent_definition_id,
716
- agent_version_id,
717
- status,
718
- created_by_user_id,
261
+ root_agent_id,
262
+ runtime_invocation_id,
263
+ started_by_user_id,
719
264
  chat_session_id,
720
- workflow_run_id,
721
- workflow_step_run_id,
722
- input
265
+ status,
266
+ input,
267
+ model_id,
268
+ inference_model_route_id,
269
+ generate_config
723
270
  ) VALUES (
724
271
  $1,
725
272
  $2,
726
- $3,
273
+ COALESCE($3::text, ''),
727
274
  $4,
728
- $5,
729
- $6,
730
- $7::uuid,
731
- $8::uuid,
275
+ $5::uuid,
276
+ COALESCE($6::text, 'pending'),
277
+ COALESCE($7::jsonb, '{}'::jsonb),
278
+ COALESCE($8::text, ''),
732
279
  $9::uuid,
733
- $10
280
+ COALESCE($10::jsonb, '{}'::jsonb)
734
281
  )
735
- RETURNING id, organization_id, agent_definition_id, agent_version_id, status, created_by_user_id, chat_session_id, workflow_run_id, workflow_step_run_id, input, output, error_code, safe_error_message, created_at, started_at, finished_at`;
282
+ RETURNING id, organization_id, root_agent_id, runtime_invocation_id, started_by_user_id, chat_session_id, status, input, output, model_id, inference_model_route_id, generate_config, generation_details, error_code, error_message, started_at, completed_at, created_at, updated_at`;
736
283
  async function createAgentRun(client, args) {
737
284
  const result = await client.query({
738
285
  text: exports.createAgentRunQuery,
739
- values: [args.id, args.organizationId, args.agentDefinitionId, args.agentVersionId, args.status, args.createdByUserId, args.chatSessionId, args.workflowRunId, args.workflowStepRunId, args.input],
286
+ values: [args.organizationId, args.rootAgentId, args.runtimeInvocationId, args.startedByUserId, args.chatSessionId, args.status, args.input, args.modelId, args.inferenceModelRouteId, args.generateConfig],
740
287
  rowMode: "array"
741
288
  });
742
289
  if (result.rows.length !== 1) {
@@ -746,24 +293,28 @@ async function createAgentRun(client, args) {
746
293
  return {
747
294
  id: row[0],
748
295
  organizationId: row[1],
749
- agentDefinitionId: row[2],
750
- agentVersionId: row[3],
751
- status: row[4],
752
- createdByUserId: row[5],
753
- chatSessionId: row[6],
754
- workflowRunId: row[7],
755
- workflowStepRunId: row[8],
756
- input: row[9],
757
- output: row[10],
758
- errorCode: row[11],
759
- safeErrorMessage: row[12],
760
- createdAt: row[13],
761
- startedAt: row[14],
762
- finishedAt: row[15]
296
+ rootAgentId: row[2],
297
+ runtimeInvocationId: row[3],
298
+ startedByUserId: row[4],
299
+ chatSessionId: row[5],
300
+ status: row[6],
301
+ input: row[7],
302
+ output: row[8],
303
+ modelId: row[9],
304
+ inferenceModelRouteId: row[10],
305
+ generateConfig: row[11],
306
+ generationDetails: row[12],
307
+ errorCode: row[13],
308
+ errorMessage: row[14],
309
+ startedAt: row[15],
310
+ completedAt: row[16],
311
+ createdAt: row[17],
312
+ updatedAt: row[18]
763
313
  };
764
314
  }
765
315
  exports.getAgentRunQuery = `-- name: GetAgentRun :one
766
- SELECT id, organization_id, agent_definition_id, agent_version_id, status, created_by_user_id, chat_session_id, workflow_run_id, workflow_step_run_id, input, output, error_code, safe_error_message, created_at, started_at, finished_at FROM weave.agent_runs
316
+ SELECT id, organization_id, root_agent_id, runtime_invocation_id, started_by_user_id, chat_session_id, status, input, output, model_id, inference_model_route_id, generate_config, generation_details, error_code, error_message, started_at, completed_at, created_at, updated_at
317
+ FROM weave.agent_run
767
318
  WHERE organization_id = $1
768
319
  AND id = $2`;
769
320
  async function getAgentRun(client, args) {
@@ -779,119 +330,85 @@ async function getAgentRun(client, args) {
779
330
  return {
780
331
  id: row[0],
781
332
  organizationId: row[1],
782
- agentDefinitionId: row[2],
783
- agentVersionId: row[3],
784
- status: row[4],
785
- createdByUserId: row[5],
786
- chatSessionId: row[6],
787
- workflowRunId: row[7],
788
- workflowStepRunId: row[8],
789
- input: row[9],
790
- output: row[10],
791
- errorCode: row[11],
792
- safeErrorMessage: row[12],
793
- createdAt: row[13],
794
- startedAt: row[14],
795
- finishedAt: row[15]
796
- };
797
- }
798
- exports.claimAgentRunQuery = `-- name: ClaimAgentRun :one
799
- UPDATE weave.agent_runs
800
- SET
801
- status = $1,
802
- error_code = '',
803
- safe_error_message = '',
804
- started_at = COALESCE(started_at, $2::timestamptz),
805
- finished_at = NULL
806
- WHERE organization_id = $3
807
- AND id = $4
808
- AND status = $5
809
- RETURNING id, organization_id, agent_definition_id, agent_version_id, status, created_by_user_id, chat_session_id, workflow_run_id, workflow_step_run_id, input, output, error_code, safe_error_message, created_at, started_at, finished_at`;
810
- async function claimAgentRun(client, args) {
811
- const result = await client.query({
812
- text: exports.claimAgentRunQuery,
813
- values: [args.status, args.startedAt, args.organizationId, args.agentRunId, args.expectedStatus],
814
- rowMode: "array"
815
- });
816
- if (result.rows.length !== 1) {
817
- return null;
818
- }
819
- const row = result.rows[0];
820
- return {
821
- id: row[0],
822
- organizationId: row[1],
823
- agentDefinitionId: row[2],
824
- agentVersionId: row[3],
825
- status: row[4],
826
- createdByUserId: row[5],
827
- chatSessionId: row[6],
828
- workflowRunId: row[7],
829
- workflowStepRunId: row[8],
830
- input: row[9],
831
- output: row[10],
832
- errorCode: row[11],
833
- safeErrorMessage: row[12],
834
- createdAt: row[13],
835
- startedAt: row[14],
836
- finishedAt: row[15]
333
+ rootAgentId: row[2],
334
+ runtimeInvocationId: row[3],
335
+ startedByUserId: row[4],
336
+ chatSessionId: row[5],
337
+ status: row[6],
338
+ input: row[7],
339
+ output: row[8],
340
+ modelId: row[9],
341
+ inferenceModelRouteId: row[10],
342
+ generateConfig: row[11],
343
+ generationDetails: row[12],
344
+ errorCode: row[13],
345
+ errorMessage: row[14],
346
+ startedAt: row[15],
347
+ completedAt: row[16],
348
+ createdAt: row[17],
349
+ updatedAt: row[18]
837
350
  };
838
351
  }
839
352
  exports.listAgentRunsQuery = `-- name: ListAgentRuns :many
840
- SELECT id, organization_id, agent_definition_id, agent_version_id, status, created_by_user_id, chat_session_id, workflow_run_id, workflow_step_run_id, input, output, error_code, safe_error_message, created_at, started_at, finished_at FROM weave.agent_runs
353
+ SELECT id, organization_id, root_agent_id, runtime_invocation_id, started_by_user_id, chat_session_id, status, input, output, model_id, inference_model_route_id, generate_config, generation_details, error_code, error_message, started_at, completed_at, created_at, updated_at
354
+ FROM weave.agent_run
841
355
  WHERE organization_id = $1
842
- AND (
843
- $2::uuid IS NULL
844
- OR agent_definition_id = $2::uuid
845
- )
846
- AND (
847
- $3::text IS NULL
848
- OR status = $3::text
849
- )
850
- ORDER BY created_at DESC
851
- LIMIT $5 OFFSET $4`;
356
+ AND ($2::uuid IS NULL OR root_agent_id = $2::uuid)
357
+ AND ($3::uuid IS NULL OR chat_session_id = $3::uuid)
358
+ AND ($4::text IS NULL OR status = $4::text)
359
+ ORDER BY created_at DESC, id DESC
360
+ LIMIT COALESCE($6::integer, 100)
361
+ OFFSET COALESCE($5::integer, 0)`;
852
362
  async function listAgentRuns(client, args) {
853
363
  const result = await client.query({
854
364
  text: exports.listAgentRunsQuery,
855
- values: [args.organizationId, args.agentDefinitionId, args.status, args.pageOffset, args.pageSize],
365
+ values: [args.organizationId, args.rootAgentId, args.chatSessionId, args.status, args.pageOffset, args.pageSize],
856
366
  rowMode: "array"
857
367
  });
858
368
  return result.rows.map(row => {
859
369
  return {
860
370
  id: row[0],
861
371
  organizationId: row[1],
862
- agentDefinitionId: row[2],
863
- agentVersionId: row[3],
864
- status: row[4],
865
- createdByUserId: row[5],
866
- chatSessionId: row[6],
867
- workflowRunId: row[7],
868
- workflowStepRunId: row[8],
869
- input: row[9],
870
- output: row[10],
871
- errorCode: row[11],
872
- safeErrorMessage: row[12],
873
- createdAt: row[13],
874
- startedAt: row[14],
875
- finishedAt: row[15]
372
+ rootAgentId: row[2],
373
+ runtimeInvocationId: row[3],
374
+ startedByUserId: row[4],
375
+ chatSessionId: row[5],
376
+ status: row[6],
377
+ input: row[7],
378
+ output: row[8],
379
+ modelId: row[9],
380
+ inferenceModelRouteId: row[10],
381
+ generateConfig: row[11],
382
+ generationDetails: row[12],
383
+ errorCode: row[13],
384
+ errorMessage: row[14],
385
+ startedAt: row[15],
386
+ completedAt: row[16],
387
+ createdAt: row[17],
388
+ updatedAt: row[18]
876
389
  };
877
390
  });
878
391
  }
879
392
  exports.updateAgentRunStatusQuery = `-- name: UpdateAgentRunStatus :one
880
- UPDATE weave.agent_runs
881
- SET
882
- status = $1,
883
- output = $2,
884
- error_code = $3,
885
- safe_error_message = $4,
886
- started_at = COALESCE(started_at, $5::timestamptz),
887
- finished_at = $6::timestamptz
888
- WHERE organization_id = $7
889
- AND id = $8
890
- RETURNING id, organization_id, agent_definition_id, agent_version_id, status, created_by_user_id, chat_session_id, workflow_run_id, workflow_step_run_id, input, output, error_code, safe_error_message, created_at, started_at, finished_at`;
393
+ UPDATE weave.agent_run
394
+ SET status = $1,
395
+ runtime_invocation_id = COALESCE($2::text, runtime_invocation_id),
396
+ output = $3::jsonb,
397
+ model_id = COALESCE($4::text, model_id),
398
+ inference_model_route_id = COALESCE($5::uuid, inference_model_route_id),
399
+ generate_config = COALESCE($6::jsonb, generate_config),
400
+ generation_details = $7::jsonb,
401
+ error_code = COALESCE($8::text, ''),
402
+ error_message = COALESCE($9::text, ''),
403
+ started_at = COALESCE($10::timestamptz, started_at),
404
+ completed_at = $11::timestamptz
405
+ WHERE organization_id = $12
406
+ AND id = $13
407
+ RETURNING id, organization_id, root_agent_id, runtime_invocation_id, started_by_user_id, chat_session_id, status, input, output, model_id, inference_model_route_id, generate_config, generation_details, error_code, error_message, started_at, completed_at, created_at, updated_at`;
891
408
  async function updateAgentRunStatus(client, args) {
892
409
  const result = await client.query({
893
410
  text: exports.updateAgentRunStatusQuery,
894
- values: [args.status, args.output, args.errorCode, args.safeErrorMessage, args.startedAt, args.finishedAt, args.organizationId, args.agentRunId],
411
+ values: [args.status, args.runtimeInvocationId, args.output, args.modelId, args.inferenceModelRouteId, args.generateConfig, args.generationDetails, args.errorCode, args.errorMessage, args.startedAt, args.completedAt, args.organizationId, args.agentRunId],
895
412
  rowMode: "array"
896
413
  });
897
414
  if (result.rows.length !== 1) {
@@ -901,45 +418,48 @@ async function updateAgentRunStatus(client, args) {
901
418
  return {
902
419
  id: row[0],
903
420
  organizationId: row[1],
904
- agentDefinitionId: row[2],
905
- agentVersionId: row[3],
906
- status: row[4],
907
- createdByUserId: row[5],
908
- chatSessionId: row[6],
909
- workflowRunId: row[7],
910
- workflowStepRunId: row[8],
911
- input: row[9],
912
- output: row[10],
913
- errorCode: row[11],
914
- safeErrorMessage: row[12],
915
- createdAt: row[13],
916
- startedAt: row[14],
917
- finishedAt: row[15]
421
+ rootAgentId: row[2],
422
+ runtimeInvocationId: row[3],
423
+ startedByUserId: row[4],
424
+ chatSessionId: row[5],
425
+ status: row[6],
426
+ input: row[7],
427
+ output: row[8],
428
+ modelId: row[9],
429
+ inferenceModelRouteId: row[10],
430
+ generateConfig: row[11],
431
+ generationDetails: row[12],
432
+ errorCode: row[13],
433
+ errorMessage: row[14],
434
+ startedAt: row[15],
435
+ completedAt: row[16],
436
+ createdAt: row[17],
437
+ updatedAt: row[18]
918
438
  };
919
439
  }
920
- exports.insertAgentRunEventQuery = `-- name: InsertAgentRunEvent :one
921
- INSERT INTO weave.agent_run_events (
922
- id,
440
+ exports.createAgentRunEventQuery = `-- name: CreateAgentRunEvent :one
441
+ INSERT INTO weave.agent_run_event (
923
442
  organization_id,
924
443
  agent_run_id,
925
444
  sequence,
926
445
  kind,
927
- message,
928
- payload
446
+ agent_id,
447
+ payload,
448
+ generation_details
929
449
  ) VALUES (
930
450
  $1,
931
451
  $2,
932
452
  $3,
933
453
  $4,
934
- $5,
935
- $6,
936
- $7
454
+ $5::uuid,
455
+ COALESCE($6::jsonb, '{}'::jsonb),
456
+ $7::jsonb
937
457
  )
938
- RETURNING id, organization_id, agent_run_id, sequence, kind, message, payload, created_at`;
939
- async function insertAgentRunEvent(client, args) {
458
+ RETURNING id, organization_id, agent_run_id, sequence, kind, agent_id, payload, generation_details, created_at`;
459
+ async function createAgentRunEvent(client, args) {
940
460
  const result = await client.query({
941
- text: exports.insertAgentRunEventQuery,
942
- values: [args.id, args.organizationId, args.agentRunId, args.sequence, args.kind, args.message, args.payload],
461
+ text: exports.createAgentRunEventQuery,
462
+ values: [args.organizationId, args.agentRunId, args.sequence, args.kind, args.agentId, args.payload, args.generationDetails],
943
463
  rowMode: "array"
944
464
  });
945
465
  if (result.rows.length !== 1) {
@@ -952,18 +472,20 @@ async function insertAgentRunEvent(client, args) {
952
472
  agentRunId: row[2],
953
473
  sequence: row[3],
954
474
  kind: row[4],
955
- message: row[5],
475
+ agentId: row[5],
956
476
  payload: row[6],
957
- createdAt: row[7]
477
+ generationDetails: row[7],
478
+ createdAt: row[8]
958
479
  };
959
480
  }
960
481
  exports.listAgentRunEventsQuery = `-- name: ListAgentRunEvents :many
961
- SELECT id, organization_id, agent_run_id, sequence, kind, message, payload, created_at FROM weave.agent_run_events
482
+ SELECT id, organization_id, agent_run_id, sequence, kind, agent_id, payload, generation_details, created_at
483
+ FROM weave.agent_run_event
962
484
  WHERE organization_id = $1
963
485
  AND agent_run_id = $2
964
- AND sequence > $3
965
- ORDER BY sequence
966
- LIMIT $4`;
486
+ AND sequence > COALESCE($3::bigint, 0)
487
+ ORDER BY sequence ASC
488
+ LIMIT COALESCE($4::integer, 100)`;
967
489
  async function listAgentRunEvents(client, args) {
968
490
  const result = await client.query({
969
491
  text: exports.listAgentRunEventsQuery,
@@ -977,9 +499,10 @@ async function listAgentRunEvents(client, args) {
977
499
  agentRunId: row[2],
978
500
  sequence: row[3],
979
501
  kind: row[4],
980
- message: row[5],
502
+ agentId: row[5],
981
503
  payload: row[6],
982
- createdAt: row[7]
504
+ generationDetails: row[7],
505
+ createdAt: row[8]
983
506
  };
984
507
  });
985
508
  }