@agentuity/cli 0.0.58 → 0.0.60

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 (258) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +14 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/cmd/ai/capabilities/show.d.ts.map +1 -1
  5. package/dist/cmd/ai/capabilities/show.js +11 -4
  6. package/dist/cmd/ai/capabilities/show.js.map +1 -1
  7. package/dist/cmd/build/bundler.d.ts +1 -1
  8. package/dist/cmd/cloud/agent/get.d.ts +2 -0
  9. package/dist/cmd/cloud/agent/get.d.ts.map +1 -0
  10. package/dist/cmd/cloud/agent/get.js +97 -0
  11. package/dist/cmd/cloud/agent/get.js.map +1 -0
  12. package/dist/cmd/cloud/agent/index.d.ts +2 -0
  13. package/dist/cmd/cloud/agent/index.d.ts.map +1 -0
  14. package/dist/cmd/cloud/agent/index.js +11 -0
  15. package/dist/cmd/cloud/agent/index.js.map +1 -0
  16. package/dist/cmd/cloud/agent/list.d.ts.map +1 -0
  17. package/dist/cmd/cloud/agent/list.js +101 -0
  18. package/dist/cmd/cloud/agent/list.js.map +1 -0
  19. package/dist/cmd/cloud/agent/schema.d.ts +4 -0
  20. package/dist/cmd/cloud/agent/schema.d.ts.map +1 -0
  21. package/dist/cmd/cloud/agent/schema.js +22 -0
  22. package/dist/cmd/cloud/agent/schema.js.map +1 -0
  23. package/dist/cmd/cloud/apikey/create.d.ts +2 -0
  24. package/dist/cmd/cloud/apikey/create.d.ts.map +1 -0
  25. package/dist/cmd/cloud/apikey/create.js +100 -0
  26. package/dist/cmd/cloud/apikey/create.js.map +1 -0
  27. package/dist/cmd/cloud/apikey/delete.d.ts.map +1 -0
  28. package/dist/cmd/cloud/apikey/delete.js +55 -0
  29. package/dist/cmd/cloud/apikey/delete.js.map +1 -0
  30. package/dist/cmd/cloud/apikey/get.d.ts +2 -0
  31. package/dist/cmd/cloud/apikey/get.d.ts.map +1 -0
  32. package/dist/cmd/cloud/apikey/get.js +57 -0
  33. package/dist/cmd/cloud/apikey/get.js.map +1 -0
  34. package/dist/cmd/cloud/apikey/index.d.ts.map +1 -0
  35. package/dist/cmd/cloud/apikey/index.js +13 -0
  36. package/dist/cmd/cloud/apikey/index.js.map +1 -0
  37. package/dist/cmd/cloud/apikey/list.d.ts +2 -0
  38. package/dist/cmd/cloud/apikey/list.d.ts.map +1 -0
  39. package/dist/cmd/cloud/apikey/list.js +53 -0
  40. package/dist/cmd/cloud/apikey/list.js.map +1 -0
  41. package/dist/cmd/cloud/db/create.d.ts +2 -0
  42. package/dist/cmd/cloud/db/create.d.ts.map +1 -0
  43. package/dist/cmd/cloud/db/create.js +68 -0
  44. package/dist/cmd/cloud/db/create.js.map +1 -0
  45. package/dist/cmd/cloud/db/delete.d.ts +2 -0
  46. package/dist/cmd/cloud/db/delete.d.ts.map +1 -0
  47. package/dist/cmd/cloud/db/delete.js +106 -0
  48. package/dist/cmd/cloud/db/delete.js.map +1 -0
  49. package/dist/cmd/cloud/db/get.d.ts +2 -0
  50. package/dist/cmd/cloud/db/get.d.ts.map +1 -0
  51. package/dist/cmd/cloud/db/get.js +66 -0
  52. package/dist/cmd/cloud/db/get.js.map +1 -0
  53. package/dist/cmd/cloud/db/index.d.ts +2 -0
  54. package/dist/cmd/cloud/db/index.d.ts.map +1 -0
  55. package/dist/cmd/cloud/db/index.js +14 -0
  56. package/dist/cmd/cloud/db/index.js.map +1 -0
  57. package/dist/cmd/cloud/db/list.d.ts +2 -0
  58. package/dist/cmd/cloud/db/list.d.ts.map +1 -0
  59. package/dist/cmd/cloud/db/list.js +75 -0
  60. package/dist/cmd/cloud/db/list.js.map +1 -0
  61. package/dist/cmd/cloud/db/sql.d.ts +2 -0
  62. package/dist/cmd/cloud/db/sql.d.ts.map +1 -0
  63. package/dist/cmd/cloud/db/sql.js +102 -0
  64. package/dist/cmd/cloud/db/sql.js.map +1 -0
  65. package/dist/cmd/cloud/deployment/index.d.ts.map +1 -1
  66. package/dist/cmd/cloud/deployment/index.js +2 -0
  67. package/dist/cmd/cloud/deployment/index.js.map +1 -1
  68. package/dist/cmd/cloud/deployment/logs.d.ts +2 -0
  69. package/dist/cmd/cloud/deployment/logs.d.ts.map +1 -0
  70. package/dist/cmd/cloud/deployment/logs.js +70 -0
  71. package/dist/cmd/cloud/deployment/logs.js.map +1 -0
  72. package/dist/cmd/cloud/env/get.d.ts.map +1 -1
  73. package/dist/cmd/cloud/env/get.js +2 -3
  74. package/dist/cmd/cloud/env/get.js.map +1 -1
  75. package/dist/cmd/cloud/env/list.d.ts.map +1 -1
  76. package/dist/cmd/cloud/env/list.js +1 -2
  77. package/dist/cmd/cloud/env/list.js.map +1 -1
  78. package/dist/cmd/cloud/index.d.ts.map +1 -1
  79. package/dist/cmd/cloud/index.js +12 -4
  80. package/dist/cmd/cloud/index.js.map +1 -1
  81. package/dist/cmd/cloud/secret/get.d.ts.map +1 -1
  82. package/dist/cmd/cloud/secret/get.js +2 -3
  83. package/dist/cmd/cloud/secret/get.js.map +1 -1
  84. package/dist/cmd/cloud/secret/list.d.ts.map +1 -1
  85. package/dist/cmd/cloud/secret/list.js +1 -2
  86. package/dist/cmd/cloud/secret/list.js.map +1 -1
  87. package/dist/cmd/cloud/session/logs.d.ts.map +1 -1
  88. package/dist/cmd/cloud/session/logs.js +12 -9
  89. package/dist/cmd/cloud/session/logs.js.map +1 -1
  90. package/dist/cmd/cloud/storage/create.d.ts +2 -0
  91. package/dist/cmd/cloud/storage/create.d.ts.map +1 -0
  92. package/dist/cmd/cloud/storage/create.js +61 -0
  93. package/dist/cmd/cloud/storage/create.js.map +1 -0
  94. package/dist/cmd/cloud/storage/delete.d.ts +2 -0
  95. package/dist/cmd/cloud/storage/delete.d.ts.map +1 -0
  96. package/dist/cmd/cloud/storage/delete.js +167 -0
  97. package/dist/cmd/cloud/storage/delete.js.map +1 -0
  98. package/dist/cmd/cloud/storage/download.d.ts +2 -0
  99. package/dist/cmd/cloud/storage/download.d.ts.map +1 -0
  100. package/dist/cmd/cloud/storage/download.js +131 -0
  101. package/dist/cmd/cloud/storage/download.js.map +1 -0
  102. package/dist/cmd/cloud/storage/get.d.ts +2 -0
  103. package/dist/cmd/cloud/storage/get.d.ts.map +1 -0
  104. package/dist/cmd/cloud/storage/get.js +86 -0
  105. package/dist/cmd/cloud/storage/get.js.map +1 -0
  106. package/dist/cmd/cloud/storage/index.d.ts +2 -0
  107. package/dist/cmd/cloud/storage/index.d.ts.map +1 -0
  108. package/dist/cmd/cloud/storage/index.js +22 -0
  109. package/dist/cmd/cloud/storage/index.js.map +1 -0
  110. package/dist/cmd/cloud/storage/list.d.ts +2 -0
  111. package/dist/cmd/cloud/storage/list.d.ts.map +1 -0
  112. package/dist/cmd/cloud/storage/list.js +170 -0
  113. package/dist/cmd/cloud/storage/list.js.map +1 -0
  114. package/dist/cmd/cloud/storage/upload.d.ts +2 -0
  115. package/dist/cmd/cloud/storage/upload.d.ts.map +1 -0
  116. package/dist/cmd/cloud/storage/upload.js +133 -0
  117. package/dist/cmd/cloud/storage/upload.js.map +1 -0
  118. package/dist/cmd/cloud/storage/utils.d.ts +18 -0
  119. package/dist/cmd/cloud/storage/utils.d.ts.map +1 -0
  120. package/dist/cmd/cloud/storage/utils.js +21 -0
  121. package/dist/cmd/cloud/storage/utils.js.map +1 -0
  122. package/dist/cmd/cloud/stream/delete.d.ts +3 -0
  123. package/dist/cmd/cloud/stream/delete.d.ts.map +1 -0
  124. package/dist/cmd/cloud/stream/delete.js +42 -0
  125. package/dist/cmd/cloud/stream/delete.js.map +1 -0
  126. package/dist/cmd/cloud/stream/get.d.ts +3 -0
  127. package/dist/cmd/cloud/stream/get.d.ts.map +1 -0
  128. package/dist/cmd/cloud/stream/get.js +110 -0
  129. package/dist/cmd/cloud/stream/get.js.map +1 -0
  130. package/dist/cmd/cloud/stream/index.d.ts +3 -0
  131. package/dist/cmd/cloud/stream/index.d.ts.map +1 -0
  132. package/dist/cmd/cloud/stream/index.js +13 -0
  133. package/dist/cmd/cloud/stream/index.js.map +1 -0
  134. package/dist/cmd/cloud/stream/list.d.ts +3 -0
  135. package/dist/cmd/cloud/stream/list.d.ts.map +1 -0
  136. package/dist/cmd/cloud/stream/list.js +131 -0
  137. package/dist/cmd/cloud/stream/list.js.map +1 -0
  138. package/dist/cmd/cloud/stream/util.d.ts +8 -0
  139. package/dist/cmd/cloud/stream/util.d.ts.map +1 -0
  140. package/dist/cmd/cloud/stream/util.js +19 -0
  141. package/dist/cmd/cloud/stream/util.js.map +1 -0
  142. package/dist/cmd/cloud/vector/delete.d.ts +3 -0
  143. package/dist/cmd/cloud/vector/delete.d.ts.map +1 -0
  144. package/dist/cmd/cloud/vector/delete.js +90 -0
  145. package/dist/cmd/cloud/vector/delete.js.map +1 -0
  146. package/dist/cmd/cloud/vector/get.d.ts +3 -0
  147. package/dist/cmd/cloud/vector/get.d.ts.map +1 -0
  148. package/dist/cmd/cloud/vector/get.js +80 -0
  149. package/dist/cmd/cloud/vector/get.js.map +1 -0
  150. package/dist/cmd/cloud/vector/index.d.ts +3 -0
  151. package/dist/cmd/cloud/vector/index.d.ts.map +1 -0
  152. package/dist/cmd/cloud/vector/index.js +14 -0
  153. package/dist/cmd/cloud/vector/index.js.map +1 -0
  154. package/dist/cmd/cloud/vector/search.d.ts +3 -0
  155. package/dist/cmd/cloud/vector/search.d.ts.map +1 -0
  156. package/dist/cmd/cloud/vector/search.js +136 -0
  157. package/dist/cmd/cloud/vector/search.js.map +1 -0
  158. package/dist/cmd/cloud/vector/util.d.ts +8 -0
  159. package/dist/cmd/cloud/vector/util.d.ts.map +1 -0
  160. package/dist/cmd/cloud/vector/util.js +18 -0
  161. package/dist/cmd/cloud/vector/util.js.map +1 -0
  162. package/dist/cmd/dev/agents.d.ts.map +1 -1
  163. package/dist/cmd/dev/agents.js +3 -2
  164. package/dist/cmd/dev/agents.js.map +1 -1
  165. package/dist/cmd/dev/index.js +3 -3
  166. package/dist/cmd/dev/index.js.map +1 -1
  167. package/dist/cmd/index.d.ts.map +1 -1
  168. package/dist/cmd/index.js +38 -42
  169. package/dist/cmd/index.js.map +1 -1
  170. package/dist/schema-parser.d.ts.map +1 -1
  171. package/dist/schema-parser.js +3 -1
  172. package/dist/schema-parser.js.map +1 -1
  173. package/dist/tui.d.ts +12 -2
  174. package/dist/tui.d.ts.map +1 -1
  175. package/dist/tui.js +61 -31
  176. package/dist/tui.js.map +1 -1
  177. package/dist/utils/date.d.ts +14 -0
  178. package/dist/utils/date.d.ts.map +1 -0
  179. package/dist/utils/date.js +51 -0
  180. package/dist/utils/date.js.map +1 -0
  181. package/dist/version.js +1 -1
  182. package/dist/version.js.map +1 -1
  183. package/package.json +6 -6
  184. package/src/cli.ts +15 -1
  185. package/src/cmd/ai/capabilities/show.ts +11 -4
  186. package/src/cmd/cloud/agent/get.ts +105 -0
  187. package/src/cmd/cloud/agent/index.ts +11 -0
  188. package/src/cmd/cloud/agent/list.ts +107 -0
  189. package/src/cmd/cloud/agent/schema.ts +25 -0
  190. package/src/cmd/cloud/apikey/create.ts +114 -0
  191. package/src/cmd/cloud/apikey/delete.ts +66 -0
  192. package/src/cmd/cloud/apikey/get.ts +62 -0
  193. package/src/cmd/cloud/apikey/index.ts +13 -0
  194. package/src/cmd/cloud/apikey/list.ts +58 -0
  195. package/src/cmd/cloud/db/create.ts +72 -0
  196. package/src/cmd/cloud/db/delete.ts +118 -0
  197. package/src/cmd/cloud/db/get.ts +75 -0
  198. package/src/cmd/cloud/db/index.ts +14 -0
  199. package/src/cmd/cloud/db/list.ts +83 -0
  200. package/src/cmd/cloud/db/sql.ts +125 -0
  201. package/src/cmd/cloud/deployment/index.ts +2 -0
  202. package/src/cmd/cloud/deployment/logs.ts +75 -0
  203. package/src/cmd/cloud/env/get.ts +2 -3
  204. package/src/cmd/cloud/env/list.ts +1 -2
  205. package/src/cmd/cloud/index.ts +13 -4
  206. package/src/cmd/cloud/secret/get.ts +2 -3
  207. package/src/cmd/cloud/secret/list.ts +1 -2
  208. package/src/cmd/cloud/session/logs.ts +12 -11
  209. package/src/cmd/cloud/storage/create.ts +65 -0
  210. package/src/cmd/cloud/storage/delete.ts +195 -0
  211. package/src/cmd/cloud/storage/download.ts +154 -0
  212. package/src/cmd/cloud/storage/get.ts +97 -0
  213. package/src/cmd/cloud/storage/index.ts +22 -0
  214. package/src/cmd/cloud/storage/list.ts +197 -0
  215. package/src/cmd/cloud/storage/upload.ts +150 -0
  216. package/src/cmd/cloud/storage/utils.ts +26 -0
  217. package/src/cmd/cloud/stream/delete.ts +49 -0
  218. package/src/cmd/cloud/stream/get.ts +118 -0
  219. package/src/cmd/cloud/stream/index.ts +14 -0
  220. package/src/cmd/cloud/stream/list.ts +146 -0
  221. package/src/cmd/cloud/stream/util.ts +32 -0
  222. package/src/cmd/cloud/vector/delete.ts +105 -0
  223. package/src/cmd/cloud/vector/get.ts +94 -0
  224. package/src/cmd/cloud/vector/index.ts +15 -0
  225. package/src/cmd/cloud/vector/search.ts +156 -0
  226. package/src/cmd/cloud/vector/util.ts +28 -0
  227. package/src/cmd/dev/agents.ts +4 -3
  228. package/src/cmd/dev/index.ts +3 -3
  229. package/src/cmd/index.ts +38 -42
  230. package/src/schema-parser.ts +3 -1
  231. package/src/tui.ts +73 -36
  232. package/src/utils/date.ts +57 -0
  233. package/src/version.ts +1 -1
  234. package/dist/cmd/cloud/agents/index.d.ts.map +0 -1
  235. package/dist/cmd/cloud/agents/index.js +0 -133
  236. package/dist/cmd/cloud/agents/index.js.map +0 -1
  237. package/dist/cmd/cloud/resource/add.d.ts +0 -2
  238. package/dist/cmd/cloud/resource/add.d.ts.map +0 -1
  239. package/dist/cmd/cloud/resource/add.js +0 -70
  240. package/dist/cmd/cloud/resource/add.js.map +0 -1
  241. package/dist/cmd/cloud/resource/delete.d.ts.map +0 -1
  242. package/dist/cmd/cloud/resource/delete.js +0 -126
  243. package/dist/cmd/cloud/resource/delete.js.map +0 -1
  244. package/dist/cmd/cloud/resource/index.d.ts +0 -2
  245. package/dist/cmd/cloud/resource/index.d.ts.map +0 -1
  246. package/dist/cmd/cloud/resource/index.js +0 -12
  247. package/dist/cmd/cloud/resource/index.js.map +0 -1
  248. package/dist/cmd/cloud/resource/list.d.ts.map +0 -1
  249. package/dist/cmd/cloud/resource/list.js +0 -100
  250. package/dist/cmd/cloud/resource/list.js.map +0 -1
  251. package/src/cmd/cloud/agents/index.ts +0 -148
  252. package/src/cmd/cloud/resource/add.ts +0 -75
  253. package/src/cmd/cloud/resource/delete.ts +0 -141
  254. package/src/cmd/cloud/resource/index.ts +0 -12
  255. package/src/cmd/cloud/resource/list.ts +0 -105
  256. /package/dist/cmd/cloud/{resource → agent}/list.d.ts +0 -0
  257. /package/dist/cmd/cloud/{resource → apikey}/delete.d.ts +0 -0
  258. /package/dist/cmd/cloud/{agents → apikey}/index.d.ts +0 -0
@@ -0,0 +1,131 @@
1
+ import { z } from 'zod';
2
+ import { createCommand } from '../../../types';
3
+ import * as tui from '../../../tui';
4
+ import { createStorageAdapter } from './util';
5
+ import { getCommand } from '../../../command-prefix';
6
+ function formatBytes(bytes) {
7
+ if (bytes === 0)
8
+ return '0 B';
9
+ if (bytes < 1024)
10
+ return `${bytes} B`;
11
+ if (bytes < 1024 * 1024)
12
+ return `${(bytes / 1024).toFixed(2)} KB`;
13
+ if (bytes < 1024 * 1024 * 1024)
14
+ return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
15
+ return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)} GB`;
16
+ }
17
+ const StreamInfoSchema = z.object({
18
+ id: z.string().describe('Stream ID'),
19
+ name: z.string().describe('Stream name'),
20
+ metadata: z.record(z.string(), z.string()).describe('Stream metadata'),
21
+ url: z.string().describe('Public URL'),
22
+ sizeBytes: z.number().describe('Size in bytes'),
23
+ });
24
+ const ListStreamsResponseSchema = z.object({
25
+ streams: z.array(StreamInfoSchema).describe('List of streams'),
26
+ total: z.number().describe('Total count of matching streams'),
27
+ });
28
+ export const listSubcommand = createCommand({
29
+ name: 'list',
30
+ aliases: ['ls'],
31
+ description: 'List recent streams with optional filtering',
32
+ tags: ['read-only', 'slow', 'requires-auth'],
33
+ requires: { auth: true, project: true },
34
+ idempotent: true,
35
+ examples: [
36
+ `${getCommand('stream list')} - List all streams`,
37
+ `${getCommand('stream ls --size 50')} - List 50 most recent streams`,
38
+ `${getCommand('stream list --name agent-logs')} - Filter by name`,
39
+ `${getCommand('stream list --metadata type=export')} - Filter by metadata`,
40
+ `${getCommand('stream ls --json')} - Output as JSON`,
41
+ ],
42
+ schema: {
43
+ options: z.object({
44
+ size: z.number().optional().describe('maximum number of streams to return (default: 100)'),
45
+ offset: z.number().optional().describe('number of streams to skip for pagination'),
46
+ name: z.string().optional().describe('filter by stream name'),
47
+ metadata: z
48
+ .string()
49
+ .optional()
50
+ .describe('filter by metadata (format: key=value or key1=value1,key2=value2)'),
51
+ }),
52
+ response: ListStreamsResponseSchema,
53
+ },
54
+ async handler(ctx) {
55
+ const { opts, options } = ctx;
56
+ const storage = await createStorageAdapter(ctx);
57
+ // Parse metadata filter if provided
58
+ let metadataFilter;
59
+ if (opts.metadata) {
60
+ const validPairs = {};
61
+ const malformed = [];
62
+ const pairs = opts.metadata.split(',');
63
+ for (const pair of pairs) {
64
+ const trimmedPair = pair.trim();
65
+ if (!trimmedPair)
66
+ continue;
67
+ const firstEqualIdx = trimmedPair.indexOf('=');
68
+ if (firstEqualIdx === -1) {
69
+ malformed.push(trimmedPair);
70
+ continue;
71
+ }
72
+ const key = trimmedPair.substring(0, firstEqualIdx).trim();
73
+ const value = trimmedPair.substring(firstEqualIdx + 1).trim();
74
+ if (!key || !value) {
75
+ malformed.push(trimmedPair);
76
+ continue;
77
+ }
78
+ validPairs[key] = value;
79
+ }
80
+ if (malformed.length > 0) {
81
+ ctx.logger.warn(`Skipping malformed metadata pairs: ${malformed.join(', ')}`);
82
+ }
83
+ if (Object.keys(validPairs).length > 0) {
84
+ metadataFilter = validPairs;
85
+ }
86
+ }
87
+ const result = await storage.list({
88
+ limit: opts.size,
89
+ offset: opts.offset,
90
+ name: opts.name,
91
+ metadata: metadataFilter,
92
+ });
93
+ if (options.json) {
94
+ console.log(JSON.stringify(result, null, 2));
95
+ return {
96
+ streams: result.streams,
97
+ total: result.total,
98
+ };
99
+ }
100
+ if (result.streams.length === 0) {
101
+ tui.info('No streams found');
102
+ }
103
+ else {
104
+ const tableData = result.streams.map((stream) => {
105
+ const sizeBytes = stream.sizeBytes ?? 0;
106
+ const metadataStr = Object.keys(stream.metadata).length > 0 ? JSON.stringify(stream.metadata) : '-';
107
+ return {
108
+ Name: stream.name,
109
+ ID: stream.id,
110
+ Size: formatBytes(sizeBytes),
111
+ Metadata: metadataStr.length > 40 ? metadataStr.substring(0, 37) + '...' : metadataStr,
112
+ URL: tui.link(stream.url),
113
+ };
114
+ });
115
+ tui.table(tableData, [
116
+ { name: 'Name', alignment: 'left' },
117
+ { name: 'ID', alignment: 'left' },
118
+ { name: 'Size', alignment: 'right' },
119
+ { name: 'Metadata', alignment: 'left' },
120
+ { name: 'URL', alignment: 'left' },
121
+ ]);
122
+ tui.info(`Total: ${result.total} stream(s)`);
123
+ }
124
+ return {
125
+ streams: result.streams,
126
+ total: result.total,
127
+ };
128
+ },
129
+ });
130
+ export default listSubcommand;
131
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/stream/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { StreamStorageService, Logger } from '@agentuity/core';
2
+ import type { Config } from '../../../types';
3
+ export declare function createStorageAdapter(ctx: {
4
+ logger: Logger;
5
+ projectDir: string;
6
+ config: Config | null;
7
+ }): Promise<StreamStorageService>;
8
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/stream/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,wBAAsB,oBAAoB,CAAC,GAAG,EAAE;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,iCAoBA"}
@@ -0,0 +1,19 @@
1
+ import { StreamStorageService } from '@agentuity/core';
2
+ import { createServerFetchAdapter } from '@agentuity/server';
3
+ import { loadProjectSDKKey } from '../../../config';
4
+ import { ErrorCode } from '../../../errors';
5
+ import * as tui from '../../../tui';
6
+ export async function createStorageAdapter(ctx) {
7
+ const sdkKey = await loadProjectSDKKey(ctx.projectDir);
8
+ if (!sdkKey) {
9
+ tui.fatal(`Couldn't find the AGENTUITY_SDK_KEY in ${ctx.projectDir} .env file`, ErrorCode.CONFIG_NOT_FOUND);
10
+ }
11
+ const adapter = createServerFetchAdapter({
12
+ headers: {
13
+ Authorization: `Bearer ${sdkKey}`,
14
+ },
15
+ }, ctx.logger);
16
+ const baseUrl = ctx.config?.overrides?.stream_url ?? 'https://stream.agentuity.cloud';
17
+ return new StreamStorageService(baseUrl, adapter);
18
+ }
19
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/stream/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAU,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAI1C;IACA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CACR,0CAA0C,GAAG,CAAC,UAAU,YAAY,EACpE,SAAS,CAAC,gBAAgB,CAC1B,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,wBAAwB,CACvC;QACC,OAAO,EAAE;YACR,aAAa,EAAE,UAAU,MAAM,EAAE;SACjC;KACD,EACD,GAAG,CAAC,MAAM,CACV,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,IAAI,gCAAgC,CAAC;IACtF,OAAO,IAAI,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const deleteSubcommand: import("../../..").CommandDefinition;
2
+ export default deleteSubcommand;
3
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/vector/delete.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,gBAAgB,sCAsF3B,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,90 @@
1
+ import { z } from 'zod';
2
+ import { createCommand } from '../../../types';
3
+ import { ErrorCode } from '../../../errors';
4
+ import * as tui from '../../../tui';
5
+ import { createStorageAdapter } from './util';
6
+ import { getCommand } from '../../../command-prefix';
7
+ const VectorDeleteResponseSchema = z.object({
8
+ success: z.boolean().describe('Whether the operation succeeded'),
9
+ namespace: z.string().describe('Namespace name'),
10
+ keys: z.array(z.string()).describe('Keys that were deleted'),
11
+ deleted: z.number().describe('Number of vectors deleted'),
12
+ durationMs: z.number().describe('Operation duration in milliseconds'),
13
+ message: z.string().optional().describe('Confirmation message'),
14
+ });
15
+ export const deleteSubcommand = createCommand({
16
+ name: 'delete',
17
+ aliases: ['del', 'rm'],
18
+ description: 'Delete one or more vectors by key',
19
+ tags: ['destructive', 'deletes-resource', 'slow', 'requires-auth'],
20
+ requires: { auth: true, project: true },
21
+ idempotent: true,
22
+ examples: [
23
+ `${getCommand('vector delete products chair-001')} - Delete a single vector (interactive)`,
24
+ `${getCommand('vector rm knowledge-base doc-123 doc-456 --confirm')} - Delete multiple vectors without confirmation`,
25
+ `${getCommand('vector del embeddings old-profile-1 old-profile-2 --confirm')} - Bulk delete without confirmation`,
26
+ ],
27
+ schema: {
28
+ args: z.object({
29
+ namespace: z.string().min(1).describe('the vector storage namespace'),
30
+ keys: z.array(z.string().min(1)).min(1).describe('one or more keys to delete'),
31
+ }),
32
+ options: z.object({
33
+ confirm: z
34
+ .boolean()
35
+ .optional()
36
+ .default(false)
37
+ .describe('if true will not prompt for confirmation'),
38
+ }),
39
+ response: VectorDeleteResponseSchema,
40
+ },
41
+ async handler(ctx) {
42
+ const { args, options, opts } = ctx;
43
+ if (!opts.confirm) {
44
+ if (!process.stdin.isTTY) {
45
+ tui.fatal('No TTY and --confirm is not set. Refusing to delete', ErrorCode.VALIDATION_FAILED);
46
+ }
47
+ const keyList = args.keys.length > 3 ? `${args.keys.slice(0, 3).join(', ')}...` : args.keys.join(', ');
48
+ tui.warning(`This will delete ${args.keys.length} vector(s) from ${tui.bold(args.namespace)}: ${keyList}`);
49
+ const confirm = await new Promise((resolve) => {
50
+ process.stdout.write('Are you sure? (yes/no): ');
51
+ process.stdin.once('data', (data) => {
52
+ const answer = data.toString().trim().toLowerCase();
53
+ resolve(answer === 'yes' || answer === 'y');
54
+ });
55
+ });
56
+ if (!confirm) {
57
+ tui.info('Cancelled');
58
+ return {
59
+ success: false,
60
+ namespace: args.namespace,
61
+ keys: args.keys,
62
+ deleted: 0,
63
+ durationMs: 0,
64
+ message: 'Cancelled',
65
+ };
66
+ }
67
+ }
68
+ const storage = await createStorageAdapter(ctx);
69
+ const started = Date.now();
70
+ const deleted = await storage.delete(args.namespace, ...args.keys);
71
+ const durationMs = Date.now() - started;
72
+ if (!options.json) {
73
+ if (deleted > 0) {
74
+ tui.success(`Deleted ${deleted} vector(s) from ${tui.bold(args.namespace)} (${durationMs}ms)`);
75
+ }
76
+ else {
77
+ tui.warning(`No vectors were deleted from ${tui.bold(args.namespace)} (keys may not exist)`);
78
+ }
79
+ }
80
+ return {
81
+ success: true,
82
+ namespace: args.namespace,
83
+ keys: args.keys,
84
+ deleted,
85
+ durationMs,
86
+ };
87
+ },
88
+ });
89
+ export default deleteSubcommand;
90
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/vector/delete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const getSubcommand: import("../../..").CommandDefinition;
2
+ export default getSubcommand;
3
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/vector/get.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,aAAa,sCA4ExB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { z } from 'zod';
2
+ import { createCommand } from '../../../types';
3
+ import * as tui from '../../../tui';
4
+ import { createStorageAdapter } from './util';
5
+ import { getCommand } from '../../../command-prefix';
6
+ const VectorGetResponseSchema = z.object({
7
+ exists: z.boolean().describe('Whether the vector exists'),
8
+ key: z.string().optional().describe('Vector key'),
9
+ id: z.string().optional().describe('Vector ID'),
10
+ metadata: z.record(z.string(), z.unknown()).optional().describe('Vector metadata'),
11
+ document: z.string().optional().describe('Original document text'),
12
+ similarity: z.number().optional().describe('Similarity score'),
13
+ });
14
+ export const getSubcommand = createCommand({
15
+ name: 'get',
16
+ description: 'Get a specific vector entry by key',
17
+ tags: ['read-only', 'fast', 'requires-auth'],
18
+ requires: { auth: true, project: true },
19
+ idempotent: true,
20
+ examples: [
21
+ `${getCommand('vector get products chair-001')} - Get a specific product vector`,
22
+ `${getCommand('vector get knowledge-base doc-123')} - Get a document from knowledge base`,
23
+ `${getCommand('vector get embeddings user-profile-456')} - Get user profile embedding`,
24
+ ],
25
+ schema: {
26
+ args: z.object({
27
+ namespace: z.string().min(1).describe('the vector storage namespace'),
28
+ key: z.string().min(1).describe('the key of the vector to retrieve'),
29
+ }),
30
+ response: VectorGetResponseSchema,
31
+ },
32
+ async handler(ctx) {
33
+ const { args, options } = ctx;
34
+ const storage = await createStorageAdapter(ctx);
35
+ const started = Date.now();
36
+ const result = await storage.get(args.namespace, args.key);
37
+ const durationMs = Date.now() - started;
38
+ if (!options.json) {
39
+ if (result.exists) {
40
+ tui.success(`Found vector "${tui.bold(args.key)}" in ${tui.bold(args.namespace)} (${durationMs}ms)`);
41
+ const data = result.data;
42
+ tui.info(` ID: ${data.id}`);
43
+ tui.info(` Key: ${data.key}`);
44
+ if (data.similarity !== undefined) {
45
+ tui.info(` Similarity: ${(data.similarity * 100).toFixed(1)}%`);
46
+ }
47
+ if (data.document) {
48
+ const docPreview = data.document.length > 200
49
+ ? data.document.substring(0, 197) + '...'
50
+ : data.document;
51
+ tui.info(` Document: ${docPreview}`);
52
+ }
53
+ if (data.metadata && Object.keys(data.metadata).length > 0) {
54
+ tui.info(` Metadata: ${JSON.stringify(data.metadata, null, 2)}`);
55
+ }
56
+ if (data.embeddings) {
57
+ tui.info(` Embeddings: [${data.embeddings.length} dimensions]`);
58
+ }
59
+ }
60
+ else {
61
+ tui.warning(`Vector "${tui.bold(args.key)}" not found in ${tui.bold(args.namespace)}`);
62
+ }
63
+ }
64
+ if (result.exists) {
65
+ return {
66
+ exists: true,
67
+ key: result.data.key,
68
+ id: result.data.id,
69
+ metadata: result.data.metadata,
70
+ document: result.data.document,
71
+ similarity: result.data.similarity,
72
+ };
73
+ }
74
+ return {
75
+ exists: false,
76
+ };
77
+ },
78
+ });
79
+ export default getSubcommand;
80
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/vector/get.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const vectorCommand: import("../../..").CommandDefinition;
2
+ export default vectorCommand;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/vector/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,sCAOxB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { createCommand } from '../../../types';
2
+ import { deleteSubcommand } from './delete';
3
+ import { getSubcommand } from './get';
4
+ import { searchSubcommand } from './search';
5
+ export const vectorCommand = createCommand({
6
+ name: 'vector',
7
+ aliases: ['vec'],
8
+ description: 'Manage vector storage for your projects',
9
+ tags: ['requires-auth', 'destructive', 'deletes-resource', 'slow'],
10
+ subcommands: [searchSubcommand, getSubcommand, deleteSubcommand],
11
+ requires: { auth: true, project: true },
12
+ });
13
+ export default vectorCommand;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/vector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IAC1C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,WAAW,EAAE,yCAAyC;IACtD,IAAI,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,CAAC;IAClE,WAAW,EAAE,CAAC,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,CAAC;IAChE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;CACvC,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const searchSubcommand: import("../../..").CommandDefinition;
2
+ export default searchSubcommand;
3
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/vector/search.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,gBAAgB,sCAqI3B,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,136 @@
1
+ import { z } from 'zod';
2
+ import { createCommand } from '../../../types';
3
+ import * as tui from '../../../tui';
4
+ import { createStorageAdapter } from './util';
5
+ import { getCommand } from '../../../command-prefix';
6
+ const VectorSearchResultSchema = z.object({
7
+ id: z.string().describe('Vector ID'),
8
+ key: z.string().describe('Vector key'),
9
+ similarity: z.number().describe('Similarity score (0-1)'),
10
+ metadata: z.record(z.string(), z.unknown()).optional().describe('Vector metadata'),
11
+ });
12
+ const VectorSearchResponseSchema = z.object({
13
+ namespace: z.string().describe('Namespace name'),
14
+ query: z.string().describe('Search query used'),
15
+ results: z.array(VectorSearchResultSchema).describe('Search results'),
16
+ count: z.number().describe('Number of results found'),
17
+ });
18
+ export const searchSubcommand = createCommand({
19
+ name: 'search',
20
+ aliases: ['list', 'ls'],
21
+ description: 'Search for vectors using semantic similarity',
22
+ tags: ['read-only', 'slow', 'requires-auth'],
23
+ requires: { auth: true, project: true },
24
+ idempotent: true,
25
+ examples: [
26
+ `${getCommand('vector search products "comfortable office chair"')} - Search for similar products`,
27
+ `${getCommand('vector list knowledge-base "machine learning"')} - Search knowledge base`,
28
+ `${getCommand('vector search docs "API documentation" --limit 5')} - Limit results`,
29
+ `${getCommand('vector search products "ergonomic" --similarity 0.8')} - Set minimum similarity`,
30
+ `${getCommand('vector ls embeddings "neural networks" --metadata category=ai')} - Filter by metadata`,
31
+ ],
32
+ schema: {
33
+ args: z.object({
34
+ namespace: z.string().min(1).describe('the vector storage namespace'),
35
+ query: z.string().min(1).describe('the search query text'),
36
+ }),
37
+ options: z.object({
38
+ limit: z.number().optional().describe('maximum number of results to return (default: 10)'),
39
+ similarity: z
40
+ .number()
41
+ .min(0)
42
+ .max(1)
43
+ .optional()
44
+ .describe('minimum similarity threshold (0.0-1.0)'),
45
+ metadata: z
46
+ .string()
47
+ .optional()
48
+ .describe('filter by metadata (format: key=value or key1=value1,key2=value2)'),
49
+ }),
50
+ response: VectorSearchResponseSchema,
51
+ },
52
+ async handler(ctx) {
53
+ const { args, opts, options } = ctx;
54
+ const storage = await createStorageAdapter(ctx);
55
+ const started = Date.now();
56
+ // Parse metadata filter if provided
57
+ let metadataFilter;
58
+ if (opts.metadata) {
59
+ const validPairs = {};
60
+ const malformed = [];
61
+ const pairs = opts.metadata.split(',');
62
+ for (const pair of pairs) {
63
+ const trimmedPair = pair.trim();
64
+ if (!trimmedPair)
65
+ continue;
66
+ const firstEqualIdx = trimmedPair.indexOf('=');
67
+ if (firstEqualIdx === -1) {
68
+ malformed.push(trimmedPair);
69
+ continue;
70
+ }
71
+ const key = trimmedPair.substring(0, firstEqualIdx).trim();
72
+ const value = trimmedPair.substring(firstEqualIdx + 1).trim();
73
+ if (!key || !value) {
74
+ malformed.push(trimmedPair);
75
+ continue;
76
+ }
77
+ // Try to parse as JSON for complex values, otherwise use as string
78
+ try {
79
+ validPairs[key] = JSON.parse(value);
80
+ }
81
+ catch {
82
+ validPairs[key] = value;
83
+ }
84
+ }
85
+ if (malformed.length > 0) {
86
+ ctx.logger.warn(`Skipping malformed metadata pairs: ${malformed.join(', ')}`);
87
+ }
88
+ if (Object.keys(validPairs).length > 0) {
89
+ metadataFilter = validPairs;
90
+ }
91
+ }
92
+ const results = await storage.search(args.namespace, {
93
+ query: args.query,
94
+ limit: opts.limit,
95
+ similarity: opts.similarity,
96
+ metadata: metadataFilter,
97
+ });
98
+ const durationMs = Date.now() - started;
99
+ if (!options.json) {
100
+ if (results.length === 0) {
101
+ tui.info(`No vectors found matching "${tui.bold(args.query)}" in ${tui.bold(args.namespace)}`);
102
+ }
103
+ else {
104
+ tui.info(`Found ${results.length} result(s) in ${tui.bold(args.namespace)} (${durationMs}ms):`);
105
+ const tableData = results.map((result) => {
106
+ const metadataStr = result.metadata ? JSON.stringify(result.metadata) : '-';
107
+ return {
108
+ Key: result.key,
109
+ ID: result.id,
110
+ Similarity: `${(result.similarity * 100).toFixed(1)}%`,
111
+ Metadata: metadataStr.length > 50 ? metadataStr.substring(0, 47) + '...' : metadataStr,
112
+ };
113
+ });
114
+ tui.table(tableData, [
115
+ { name: 'Key', alignment: 'left' },
116
+ { name: 'ID', alignment: 'left' },
117
+ { name: 'Similarity', alignment: 'right' },
118
+ { name: 'Metadata', alignment: 'left' },
119
+ ]);
120
+ }
121
+ }
122
+ return {
123
+ namespace: args.namespace,
124
+ query: args.query,
125
+ results: results.map((r) => ({
126
+ id: r.id,
127
+ key: r.key,
128
+ similarity: r.similarity,
129
+ metadata: r.metadata,
130
+ })),
131
+ count: results.length,
132
+ };
133
+ },
134
+ });
135
+ export default searchSubcommand;
136
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/vector/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Logger, VectorStorageService } from '@agentuity/core';
2
+ import type { Config } from '../../../types';
3
+ export declare function createStorageAdapter(ctx: {
4
+ logger: Logger;
5
+ projectDir: string;
6
+ config: Config | null;
7
+ }): Promise<VectorStorageService>;
8
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/vector/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAG/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,wBAAsB,oBAAoB,CAAC,GAAG,EAAE;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,iCAiBA"}
@@ -0,0 +1,18 @@
1
+ import { VectorStorageService } from '@agentuity/core';
2
+ import { createServerFetchAdapter } from '@agentuity/server';
3
+ import { loadProjectSDKKey } from '../../../config';
4
+ import * as tui from '../../../tui';
5
+ export async function createStorageAdapter(ctx) {
6
+ const sdkKey = await loadProjectSDKKey(ctx.projectDir);
7
+ if (!sdkKey) {
8
+ tui.fatal(`Couldn't find the AGENTUITY_SDK_KEY in ${ctx.projectDir} .env file`);
9
+ }
10
+ const adapter = createServerFetchAdapter({
11
+ headers: {
12
+ Authorization: `Bearer ${sdkKey}`,
13
+ },
14
+ }, ctx.logger);
15
+ const baseUrl = ctx.config?.overrides?.catalyst_url ?? 'https://catalyst.agentuity.cloud';
16
+ return new VectorStorageService(baseUrl, adapter);
17
+ }
18
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/vector/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAI1C;IACA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,0CAA0C,GAAG,CAAC,UAAU,YAAY,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,OAAO,GAAG,wBAAwB,CACvC;QACC,OAAO,EAAE;YACR,aAAa,EAAE,UAAU,MAAM,EAAE;SACjC;KACD,EACD,GAAG,CAAC,MAAM,CACV,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,IAAI,kCAAkC,CAAC;IAC1F,OAAO,IAAI,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/cmd/dev/agents.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,gBAAgB,sCA2G3B,CAAC"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/cmd/dev/agents.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,gBAAgB,sCA4G3B,CAAC"}
@@ -7,7 +7,7 @@ const AgentSchema = z.object({
7
7
  id: z.string(),
8
8
  name: z.string(),
9
9
  description: z.string().nullable(),
10
- identifier: z.string(),
10
+ identifier: z.string().nullable(), // nullable for legacy records
11
11
  version: z.string().nullable(),
12
12
  deploymentId: z.string().nullable(),
13
13
  devmode: z.boolean(),
@@ -58,7 +58,8 @@ export const agentsSubcommand = createSubcommand({
58
58
  if (!response.success) {
59
59
  tui.fatal(`Failed to fetch agents: ${response.message ?? 'Unknown error'}`);
60
60
  }
61
- const agents = response.data;
61
+ // Filter out legacy agents without identifiers
62
+ const agents = response.data.filter((agent) => agent.identifier !== null);
62
63
  if (format === 'json' && !options.json) {
63
64
  console.log(JSON.stringify(agents, null, 2));
64
65
  return agents;