@agentuity/cli 0.0.58 → 0.0.59

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 (143) hide show
  1. package/dist/cmd/build/bundler.d.ts +1 -1
  2. package/dist/cmd/cloud/agent/get.d.ts +2 -0
  3. package/dist/cmd/cloud/agent/get.d.ts.map +1 -0
  4. package/dist/cmd/cloud/agent/get.js +97 -0
  5. package/dist/cmd/cloud/agent/get.js.map +1 -0
  6. package/dist/cmd/cloud/agent/index.d.ts +2 -0
  7. package/dist/cmd/cloud/agent/index.d.ts.map +1 -0
  8. package/dist/cmd/cloud/agent/index.js +11 -0
  9. package/dist/cmd/cloud/agent/index.js.map +1 -0
  10. package/dist/cmd/cloud/agent/list.d.ts +2 -0
  11. package/dist/cmd/cloud/agent/list.d.ts.map +1 -0
  12. package/dist/cmd/cloud/agent/list.js +101 -0
  13. package/dist/cmd/cloud/agent/list.js.map +1 -0
  14. package/dist/cmd/cloud/agent/schema.d.ts +4 -0
  15. package/dist/cmd/cloud/agent/schema.d.ts.map +1 -0
  16. package/dist/cmd/cloud/agent/schema.js +22 -0
  17. package/dist/cmd/cloud/agent/schema.js.map +1 -0
  18. package/dist/cmd/cloud/apikey/create.d.ts +2 -0
  19. package/dist/cmd/cloud/apikey/create.d.ts.map +1 -0
  20. package/dist/cmd/cloud/apikey/create.js +100 -0
  21. package/dist/cmd/cloud/apikey/create.js.map +1 -0
  22. package/dist/cmd/cloud/apikey/delete.d.ts +2 -0
  23. package/dist/cmd/cloud/apikey/delete.d.ts.map +1 -0
  24. package/dist/cmd/cloud/apikey/delete.js +55 -0
  25. package/dist/cmd/cloud/apikey/delete.js.map +1 -0
  26. package/dist/cmd/cloud/apikey/get.d.ts +2 -0
  27. package/dist/cmd/cloud/apikey/get.d.ts.map +1 -0
  28. package/dist/cmd/cloud/apikey/get.js +57 -0
  29. package/dist/cmd/cloud/apikey/get.js.map +1 -0
  30. package/dist/cmd/cloud/apikey/index.d.ts.map +1 -0
  31. package/dist/cmd/cloud/apikey/index.js +13 -0
  32. package/dist/cmd/cloud/apikey/index.js.map +1 -0
  33. package/dist/cmd/cloud/apikey/list.d.ts +2 -0
  34. package/dist/cmd/cloud/apikey/list.d.ts.map +1 -0
  35. package/dist/cmd/cloud/apikey/list.js +53 -0
  36. package/dist/cmd/cloud/apikey/list.js.map +1 -0
  37. package/dist/cmd/cloud/deployment/index.d.ts.map +1 -1
  38. package/dist/cmd/cloud/deployment/index.js +2 -0
  39. package/dist/cmd/cloud/deployment/index.js.map +1 -1
  40. package/dist/cmd/cloud/deployment/logs.d.ts +2 -0
  41. package/dist/cmd/cloud/deployment/logs.d.ts.map +1 -0
  42. package/dist/cmd/cloud/deployment/logs.js +70 -0
  43. package/dist/cmd/cloud/deployment/logs.js.map +1 -0
  44. package/dist/cmd/cloud/index.d.ts.map +1 -1
  45. package/dist/cmd/cloud/index.js +8 -2
  46. package/dist/cmd/cloud/index.js.map +1 -1
  47. package/dist/cmd/cloud/session/logs.d.ts.map +1 -1
  48. package/dist/cmd/cloud/session/logs.js +12 -9
  49. package/dist/cmd/cloud/session/logs.js.map +1 -1
  50. package/dist/cmd/cloud/stream/delete.d.ts +3 -0
  51. package/dist/cmd/cloud/stream/delete.d.ts.map +1 -0
  52. package/dist/cmd/cloud/stream/delete.js +42 -0
  53. package/dist/cmd/cloud/stream/delete.js.map +1 -0
  54. package/dist/cmd/cloud/stream/get.d.ts +3 -0
  55. package/dist/cmd/cloud/stream/get.d.ts.map +1 -0
  56. package/dist/cmd/cloud/stream/get.js +110 -0
  57. package/dist/cmd/cloud/stream/get.js.map +1 -0
  58. package/dist/cmd/cloud/stream/index.d.ts +3 -0
  59. package/dist/cmd/cloud/stream/index.d.ts.map +1 -0
  60. package/dist/cmd/cloud/stream/index.js +13 -0
  61. package/dist/cmd/cloud/stream/index.js.map +1 -0
  62. package/dist/cmd/cloud/stream/list.d.ts +3 -0
  63. package/dist/cmd/cloud/stream/list.d.ts.map +1 -0
  64. package/dist/cmd/cloud/stream/list.js +131 -0
  65. package/dist/cmd/cloud/stream/list.js.map +1 -0
  66. package/dist/cmd/cloud/stream/util.d.ts +8 -0
  67. package/dist/cmd/cloud/stream/util.d.ts.map +1 -0
  68. package/dist/cmd/cloud/stream/util.js +19 -0
  69. package/dist/cmd/cloud/stream/util.js.map +1 -0
  70. package/dist/cmd/cloud/vector/delete.d.ts +3 -0
  71. package/dist/cmd/cloud/vector/delete.d.ts.map +1 -0
  72. package/dist/cmd/cloud/vector/delete.js +90 -0
  73. package/dist/cmd/cloud/vector/delete.js.map +1 -0
  74. package/dist/cmd/cloud/vector/get.d.ts +3 -0
  75. package/dist/cmd/cloud/vector/get.d.ts.map +1 -0
  76. package/dist/cmd/cloud/vector/get.js +80 -0
  77. package/dist/cmd/cloud/vector/get.js.map +1 -0
  78. package/dist/cmd/cloud/vector/index.d.ts +3 -0
  79. package/dist/cmd/cloud/vector/index.d.ts.map +1 -0
  80. package/dist/cmd/cloud/vector/index.js +14 -0
  81. package/dist/cmd/cloud/vector/index.js.map +1 -0
  82. package/dist/cmd/cloud/vector/search.d.ts +3 -0
  83. package/dist/cmd/cloud/vector/search.d.ts.map +1 -0
  84. package/dist/cmd/cloud/vector/search.js +136 -0
  85. package/dist/cmd/cloud/vector/search.js.map +1 -0
  86. package/dist/cmd/cloud/vector/util.d.ts +8 -0
  87. package/dist/cmd/cloud/vector/util.d.ts.map +1 -0
  88. package/dist/cmd/cloud/vector/util.js +18 -0
  89. package/dist/cmd/cloud/vector/util.js.map +1 -0
  90. package/dist/cmd/dev/agents.d.ts.map +1 -1
  91. package/dist/cmd/dev/agents.js +3 -2
  92. package/dist/cmd/dev/agents.js.map +1 -1
  93. package/dist/cmd/dev/index.js +3 -3
  94. package/dist/cmd/dev/index.js.map +1 -1
  95. package/dist/cmd/index.d.ts.map +1 -1
  96. package/dist/cmd/index.js +38 -42
  97. package/dist/cmd/index.js.map +1 -1
  98. package/dist/schema-parser.d.ts.map +1 -1
  99. package/dist/schema-parser.js +3 -1
  100. package/dist/schema-parser.js.map +1 -1
  101. package/dist/tui.d.ts +10 -1
  102. package/dist/tui.d.ts.map +1 -1
  103. package/dist/tui.js +58 -31
  104. package/dist/tui.js.map +1 -1
  105. package/dist/utils/date.d.ts +14 -0
  106. package/dist/utils/date.d.ts.map +1 -0
  107. package/dist/utils/date.js +51 -0
  108. package/dist/utils/date.js.map +1 -0
  109. package/package.json +6 -6
  110. package/src/cmd/cloud/agent/get.ts +105 -0
  111. package/src/cmd/cloud/agent/index.ts +11 -0
  112. package/src/cmd/cloud/agent/list.ts +107 -0
  113. package/src/cmd/cloud/agent/schema.ts +25 -0
  114. package/src/cmd/cloud/apikey/create.ts +114 -0
  115. package/src/cmd/cloud/apikey/delete.ts +66 -0
  116. package/src/cmd/cloud/apikey/get.ts +62 -0
  117. package/src/cmd/cloud/apikey/index.ts +13 -0
  118. package/src/cmd/cloud/apikey/list.ts +58 -0
  119. package/src/cmd/cloud/deployment/index.ts +2 -0
  120. package/src/cmd/cloud/deployment/logs.ts +75 -0
  121. package/src/cmd/cloud/index.ts +8 -2
  122. package/src/cmd/cloud/session/logs.ts +12 -11
  123. package/src/cmd/cloud/stream/delete.ts +49 -0
  124. package/src/cmd/cloud/stream/get.ts +118 -0
  125. package/src/cmd/cloud/stream/index.ts +14 -0
  126. package/src/cmd/cloud/stream/list.ts +146 -0
  127. package/src/cmd/cloud/stream/util.ts +32 -0
  128. package/src/cmd/cloud/vector/delete.ts +105 -0
  129. package/src/cmd/cloud/vector/get.ts +94 -0
  130. package/src/cmd/cloud/vector/index.ts +15 -0
  131. package/src/cmd/cloud/vector/search.ts +156 -0
  132. package/src/cmd/cloud/vector/util.ts +28 -0
  133. package/src/cmd/dev/agents.ts +4 -3
  134. package/src/cmd/dev/index.ts +3 -3
  135. package/src/cmd/index.ts +38 -42
  136. package/src/schema-parser.ts +3 -1
  137. package/src/tui.ts +69 -36
  138. package/src/utils/date.ts +57 -0
  139. package/dist/cmd/cloud/agents/index.d.ts.map +0 -1
  140. package/dist/cmd/cloud/agents/index.js +0 -133
  141. package/dist/cmd/cloud/agents/index.js.map +0 -1
  142. package/src/cmd/cloud/agents/index.ts +0 -148
  143. /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;