@agentuity/cli 0.1.40 → 0.1.42

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 (250) hide show
  1. package/bin/cli.ts +0 -2
  2. package/dist/agent-detection.d.ts.map +1 -1
  3. package/dist/agent-detection.js +11 -3
  4. package/dist/agent-detection.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +9 -5
  7. package/dist/cli.js.map +1 -1
  8. package/dist/cmd/ai/index.d.ts.map +1 -1
  9. package/dist/cmd/ai/index.js +1 -8
  10. package/dist/cmd/ai/index.js.map +1 -1
  11. package/dist/cmd/ai/prompt/version.js +1 -1
  12. package/dist/cmd/ai/prompt/version.js.map +1 -1
  13. package/dist/cmd/auth/api.d.ts.map +1 -1
  14. package/dist/cmd/auth/api.js +4 -1
  15. package/dist/cmd/auth/api.js.map +1 -1
  16. package/dist/cmd/auth/org/index.d.ts.map +1 -1
  17. package/dist/cmd/auth/org/index.js +8 -2
  18. package/dist/cmd/auth/org/index.js.map +1 -1
  19. package/dist/cmd/auth/ssh/api.js +2 -2
  20. package/dist/cmd/auth/ssh/api.js.map +1 -1
  21. package/dist/cmd/build/ast.d.ts.map +1 -1
  22. package/dist/cmd/build/ast.js +14 -13
  23. package/dist/cmd/build/ast.js.map +1 -1
  24. package/dist/cmd/build/entry-generator.d.ts.map +1 -1
  25. package/dist/cmd/build/entry-generator.js +19 -0
  26. package/dist/cmd/build/entry-generator.js.map +1 -1
  27. package/dist/cmd/build/patch/index.d.ts.map +1 -1
  28. package/dist/cmd/build/patch/index.js +3 -0
  29. package/dist/cmd/build/patch/index.js.map +1 -1
  30. package/dist/cmd/build/vite/index.d.ts +1 -0
  31. package/dist/cmd/build/vite/index.d.ts.map +1 -1
  32. package/dist/cmd/build/vite/index.js +1 -0
  33. package/dist/cmd/build/vite/index.js.map +1 -1
  34. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts +34 -0
  35. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts.map +1 -0
  36. package/dist/cmd/build/vite/public-asset-path-plugin.js +107 -0
  37. package/dist/cmd/build/vite/public-asset-path-plugin.js.map +1 -0
  38. package/dist/cmd/build/vite/registry-generator.d.ts.map +1 -1
  39. package/dist/cmd/build/vite/registry-generator.js +14 -5
  40. package/dist/cmd/build/vite/registry-generator.js.map +1 -1
  41. package/dist/cmd/build/vite/route-discovery.js +1 -1
  42. package/dist/cmd/build/vite/route-discovery.js.map +1 -1
  43. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -1
  44. package/dist/cmd/build/vite/vite-asset-server-config.js +11 -2
  45. package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -1
  46. package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
  47. package/dist/cmd/build/vite/vite-builder.js +3 -0
  48. package/dist/cmd/build/vite/vite-builder.js.map +1 -1
  49. package/dist/cmd/canary/index.d.ts.map +1 -1
  50. package/dist/cmd/canary/index.js +9 -1
  51. package/dist/cmd/canary/index.js.map +1 -1
  52. package/dist/cmd/cloud/db/create.d.ts.map +1 -1
  53. package/dist/cmd/cloud/db/create.js +2 -2
  54. package/dist/cmd/cloud/db/create.js.map +1 -1
  55. package/dist/cmd/cloud/db/delete.d.ts.map +1 -1
  56. package/dist/cmd/cloud/db/delete.js +2 -2
  57. package/dist/cmd/cloud/db/delete.js.map +1 -1
  58. package/dist/cmd/cloud/deploy-fork.d.ts.map +1 -1
  59. package/dist/cmd/cloud/deploy-fork.js +68 -0
  60. package/dist/cmd/cloud/deploy-fork.js.map +1 -1
  61. package/dist/cmd/cloud/env/import.d.ts.map +1 -1
  62. package/dist/cmd/cloud/env/import.js +4 -1
  63. package/dist/cmd/cloud/env/import.js.map +1 -1
  64. package/dist/cmd/cloud/env/list.d.ts.map +1 -1
  65. package/dist/cmd/cloud/env/list.js +4 -1
  66. package/dist/cmd/cloud/env/list.js.map +1 -1
  67. package/dist/cmd/cloud/env/push.d.ts.map +1 -1
  68. package/dist/cmd/cloud/env/push.js +4 -1
  69. package/dist/cmd/cloud/env/push.js.map +1 -1
  70. package/dist/cmd/cloud/region/index.js +1 -1
  71. package/dist/cmd/cloud/region/index.js.map +1 -1
  72. package/dist/cmd/cloud/sandbox/snapshot/build.d.ts.map +1 -1
  73. package/dist/cmd/cloud/sandbox/snapshot/build.js +22 -10
  74. package/dist/cmd/cloud/sandbox/snapshot/build.js.map +1 -1
  75. package/dist/cmd/cloud/sandbox/snapshot/get.d.ts.map +1 -1
  76. package/dist/cmd/cloud/sandbox/snapshot/get.js +12 -2
  77. package/dist/cmd/cloud/sandbox/snapshot/get.js.map +1 -1
  78. package/dist/cmd/cloud/storage/create.d.ts.map +1 -1
  79. package/dist/cmd/cloud/storage/create.js +2 -2
  80. package/dist/cmd/cloud/storage/create.js.map +1 -1
  81. package/dist/cmd/cloud/storage/delete.d.ts.map +1 -1
  82. package/dist/cmd/cloud/storage/delete.js +2 -2
  83. package/dist/cmd/cloud/storage/delete.js.map +1 -1
  84. package/dist/cmd/cloud/stream/get.js +7 -7
  85. package/dist/cmd/cloud/stream/get.js.map +1 -1
  86. package/dist/cmd/cloud/stream/list.d.ts.map +1 -1
  87. package/dist/cmd/cloud/stream/list.js +9 -6
  88. package/dist/cmd/cloud/stream/list.js.map +1 -1
  89. package/dist/cmd/dev/download.d.ts.map +1 -1
  90. package/dist/cmd/dev/download.js +9 -2
  91. package/dist/cmd/dev/download.js.map +1 -1
  92. package/dist/cmd/dev/index.js +1 -1
  93. package/dist/cmd/dev/index.js.map +1 -1
  94. package/dist/cmd/git/account/add.d.ts.map +1 -1
  95. package/dist/cmd/git/account/add.js +4 -3
  96. package/dist/cmd/git/account/add.js.map +1 -1
  97. package/dist/cmd/git/link.js +2 -2
  98. package/dist/cmd/git/link.js.map +1 -1
  99. package/dist/cmd/git/list.d.ts.map +1 -1
  100. package/dist/cmd/git/list.js +3 -2
  101. package/dist/cmd/git/list.js.map +1 -1
  102. package/dist/cmd/project/auth/init.js +1 -1
  103. package/dist/cmd/project/auth/init.js.map +1 -1
  104. package/dist/cmd/project/auth/shared.d.ts.map +1 -1
  105. package/dist/cmd/project/auth/shared.js +8 -3
  106. package/dist/cmd/project/auth/shared.js.map +1 -1
  107. package/dist/cmd/project/delete.d.ts.map +1 -1
  108. package/dist/cmd/project/delete.js +3 -2
  109. package/dist/cmd/project/delete.js.map +1 -1
  110. package/dist/cmd/project/reconcile.d.ts.map +1 -1
  111. package/dist/cmd/project/reconcile.js +9 -5
  112. package/dist/cmd/project/reconcile.js.map +1 -1
  113. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  114. package/dist/cmd/project/template-flow.js +15 -5
  115. package/dist/cmd/project/template-flow.js.map +1 -1
  116. package/dist/config.d.ts.map +1 -1
  117. package/dist/config.js +3 -2
  118. package/dist/config.js.map +1 -1
  119. package/dist/domain.d.ts.map +1 -1
  120. package/dist/domain.js +4 -3
  121. package/dist/domain.js.map +1 -1
  122. package/dist/internal-logger.d.ts.map +1 -1
  123. package/dist/internal-logger.js +3 -2
  124. package/dist/internal-logger.js.map +1 -1
  125. package/dist/repl.d.ts.map +1 -1
  126. package/dist/repl.js +31 -14
  127. package/dist/repl.js.map +1 -1
  128. package/dist/schema-parser.d.ts.map +1 -1
  129. package/dist/schema-parser.js +4 -1
  130. package/dist/schema-parser.js.map +1 -1
  131. package/dist/sound.d.ts.map +1 -1
  132. package/dist/sound.js +2 -1
  133. package/dist/sound.js.map +1 -1
  134. package/dist/steps.d.ts.map +1 -1
  135. package/dist/steps.js +13 -6
  136. package/dist/steps.js.map +1 -1
  137. package/dist/terminal.js +2 -0
  138. package/dist/terminal.js.map +1 -1
  139. package/dist/tsc-output-parser.d.ts +3 -0
  140. package/dist/tsc-output-parser.d.ts.map +1 -1
  141. package/dist/tsc-output-parser.js +32 -9
  142. package/dist/tsc-output-parser.js.map +1 -1
  143. package/dist/tui/prompt.d.ts.map +1 -1
  144. package/dist/tui/prompt.js +6 -2
  145. package/dist/tui/prompt.js.map +1 -1
  146. package/dist/tui.d.ts.map +1 -1
  147. package/dist/tui.js +26 -15
  148. package/dist/tui.js.map +1 -1
  149. package/dist/typescript-errors.d.ts.map +1 -1
  150. package/dist/typescript-errors.js +5 -2
  151. package/dist/typescript-errors.js.map +1 -1
  152. package/dist/utils/date.d.ts.map +1 -1
  153. package/dist/utils/date.js +5 -1
  154. package/dist/utils/date.js.map +1 -1
  155. package/dist/utils/deps.d.ts.map +1 -1
  156. package/dist/utils/deps.js +5 -3
  157. package/dist/utils/deps.js.map +1 -1
  158. package/dist/utils/detectSubagent.js +1 -1
  159. package/dist/utils/detectSubagent.js.map +1 -1
  160. package/package.json +6 -6
  161. package/src/agent-detection.ts +12 -3
  162. package/src/cli.ts +9 -5
  163. package/src/cmd/ai/index.ts +1 -8
  164. package/src/cmd/ai/prompt/version.ts +1 -1
  165. package/src/cmd/auth/api.ts +4 -1
  166. package/src/cmd/auth/org/index.ts +8 -2
  167. package/src/cmd/auth/ssh/api.ts +2 -2
  168. package/src/cmd/build/ast.ts +14 -13
  169. package/src/cmd/build/entry-generator.ts +19 -0
  170. package/src/cmd/build/patch/index.ts +3 -0
  171. package/src/cmd/build/vite/index.ts +1 -0
  172. package/src/cmd/build/vite/public-asset-path-plugin.ts +137 -0
  173. package/src/cmd/build/vite/registry-generator.ts +14 -5
  174. package/src/cmd/build/vite/route-discovery.ts +1 -1
  175. package/src/cmd/build/vite/vite-asset-server-config.ts +13 -4
  176. package/src/cmd/build/vite/vite-builder.ts +3 -0
  177. package/src/cmd/canary/index.ts +9 -1
  178. package/src/cmd/cloud/db/create.ts +16 -17
  179. package/src/cmd/cloud/db/delete.ts +19 -20
  180. package/src/cmd/cloud/deploy-fork.ts +75 -0
  181. package/src/cmd/cloud/env/import.ts +6 -3
  182. package/src/cmd/cloud/env/list.ts +11 -9
  183. package/src/cmd/cloud/env/push.ts +6 -3
  184. package/src/cmd/cloud/region/index.ts +3 -3
  185. package/src/cmd/cloud/sandbox/snapshot/build.ts +42 -33
  186. package/src/cmd/cloud/sandbox/snapshot/get.ts +21 -15
  187. package/src/cmd/cloud/storage/create.ts +16 -17
  188. package/src/cmd/cloud/storage/delete.ts +19 -20
  189. package/src/cmd/cloud/stream/get.ts +7 -7
  190. package/src/cmd/cloud/stream/list.ts +9 -6
  191. package/src/cmd/dev/download.ts +10 -2
  192. package/src/cmd/dev/index.ts +4 -4
  193. package/src/cmd/git/account/add.ts +5 -4
  194. package/src/cmd/git/link.ts +2 -2
  195. package/src/cmd/git/list.ts +7 -6
  196. package/src/cmd/project/auth/init.ts +6 -6
  197. package/src/cmd/project/auth/shared.ts +8 -3
  198. package/src/cmd/project/delete.ts +3 -2
  199. package/src/cmd/project/reconcile.ts +9 -5
  200. package/src/cmd/project/template-flow.ts +15 -5
  201. package/src/config.ts +3 -2
  202. package/src/domain.ts +4 -3
  203. package/src/internal-logger.ts +3 -2
  204. package/src/repl.ts +27 -14
  205. package/src/schema-parser.ts +4 -1
  206. package/src/sound.ts +2 -1
  207. package/src/steps.ts +11 -6
  208. package/src/terminal.ts +2 -1
  209. package/src/tsc-output-parser.ts +61 -38
  210. package/src/tui/prompt.ts +6 -2
  211. package/src/tui.ts +26 -17
  212. package/src/typescript-errors.ts +5 -2
  213. package/src/utils/date.ts +5 -1
  214. package/src/utils/deps.ts +5 -3
  215. package/src/utils/detectSubagent.ts +1 -1
  216. package/dist/cmd/ai/cadence/index.d.ts +0 -3
  217. package/dist/cmd/ai/cadence/index.d.ts.map +0 -1
  218. package/dist/cmd/ai/cadence/index.js +0 -35
  219. package/dist/cmd/ai/cadence/index.js.map +0 -1
  220. package/dist/cmd/ai/cadence/list.d.ts +0 -3
  221. package/dist/cmd/ai/cadence/list.d.ts.map +0 -1
  222. package/dist/cmd/ai/cadence/list.js +0 -167
  223. package/dist/cmd/ai/cadence/list.js.map +0 -1
  224. package/dist/cmd/ai/cadence/pause.d.ts +0 -3
  225. package/dist/cmd/ai/cadence/pause.d.ts.map +0 -1
  226. package/dist/cmd/ai/cadence/pause.js +0 -103
  227. package/dist/cmd/ai/cadence/pause.js.map +0 -1
  228. package/dist/cmd/ai/cadence/resume.d.ts +0 -3
  229. package/dist/cmd/ai/cadence/resume.d.ts.map +0 -1
  230. package/dist/cmd/ai/cadence/resume.js +0 -106
  231. package/dist/cmd/ai/cadence/resume.js.map +0 -1
  232. package/dist/cmd/ai/cadence/status.d.ts +0 -3
  233. package/dist/cmd/ai/cadence/status.d.ts.map +0 -1
  234. package/dist/cmd/ai/cadence/status.js +0 -129
  235. package/dist/cmd/ai/cadence/status.js.map +0 -1
  236. package/dist/cmd/ai/cadence/stop.d.ts +0 -3
  237. package/dist/cmd/ai/cadence/stop.d.ts.map +0 -1
  238. package/dist/cmd/ai/cadence/stop.js +0 -107
  239. package/dist/cmd/ai/cadence/stop.js.map +0 -1
  240. package/dist/cmd/ai/cadence/util.d.ts +0 -44
  241. package/dist/cmd/ai/cadence/util.d.ts.map +0 -1
  242. package/dist/cmd/ai/cadence/util.js +0 -52
  243. package/dist/cmd/ai/cadence/util.js.map +0 -1
  244. package/src/cmd/ai/cadence/index.ts +0 -36
  245. package/src/cmd/ai/cadence/list.ts +0 -183
  246. package/src/cmd/ai/cadence/pause.ts +0 -119
  247. package/src/cmd/ai/cadence/resume.ts +0 -124
  248. package/src/cmd/ai/cadence/status.ts +0 -141
  249. package/src/cmd/ai/cadence/stop.ts +0 -124
  250. package/src/cmd/ai/cadence/util.ts +0 -86
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/cmd/ai/cadence/status.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare const stopSubcommand: import("../../..").CommandDefinition;
2
- export default stopSubcommand;
3
- //# sourceMappingURL=stop.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../../src/cmd/ai/cadence/stop.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,cAAc,sCAqGzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,107 +0,0 @@
1
- import { z } from 'zod';
2
- import { createCommand } from '../../../types';
3
- import * as tui from '../../../tui';
4
- import { createCadenceKVAdapter, CADENCE_NAMESPACE, getLoopStateKey, parseLoopState, } from './util';
5
- import { getCommand } from '../../../command-prefix';
6
- const CadenceStopResponseSchema = z.object({
7
- success: z.boolean(),
8
- loopId: z.string(),
9
- previousStatus: z.string().optional(),
10
- newStatus: z.string().optional(),
11
- message: z.string(),
12
- });
13
- export const stopSubcommand = createCommand({
14
- name: 'stop',
15
- aliases: ['cancel'],
16
- description: 'Stop and cancel a Cadence loop',
17
- tags: ['mutating', 'updates-resource', 'fast', 'requires-auth'],
18
- requires: { auth: true },
19
- examples: [
20
- { command: getCommand('cadence stop lp_auth_impl'), description: 'Stop and cancel a loop' },
21
- ],
22
- schema: {
23
- args: z.object({
24
- loopId: z.string().min(1).describe('The loop ID to stop'),
25
- }),
26
- response: CadenceStopResponseSchema,
27
- },
28
- async handler(ctx) {
29
- const { args, options } = ctx;
30
- const kv = await createCadenceKVAdapter(ctx);
31
- const key = getLoopStateKey(args.loopId);
32
- const result = await kv.get(CADENCE_NAMESPACE, key);
33
- if (!result.exists || !result.data) {
34
- if (!options.json) {
35
- tui.error(`Loop ${args.loopId} not found.`);
36
- }
37
- return {
38
- success: false,
39
- loopId: args.loopId,
40
- message: 'Loop not found',
41
- };
42
- }
43
- let data;
44
- if (typeof result.data === 'string') {
45
- try {
46
- data = JSON.parse(result.data);
47
- }
48
- catch {
49
- if (!options.json) {
50
- tui.error(`Failed to parse loop state for ${args.loopId}`);
51
- }
52
- return {
53
- success: false,
54
- loopId: args.loopId,
55
- message: 'Failed to parse loop state',
56
- };
57
- }
58
- }
59
- else {
60
- data = result.data;
61
- }
62
- const loop = parseLoopState(data);
63
- if (!loop) {
64
- if (!options.json) {
65
- tui.error(`Invalid loop state for ${args.loopId}`);
66
- }
67
- return {
68
- success: false,
69
- loopId: args.loopId,
70
- message: 'Invalid loop state',
71
- };
72
- }
73
- const previousStatus = loop.status;
74
- if (loop.status === 'completed' || loop.status === 'cancelled') {
75
- if (!options.json) {
76
- tui.warning(`Loop ${args.loopId} is already ${loop.status}`);
77
- }
78
- return {
79
- success: false,
80
- loopId: args.loopId,
81
- previousStatus,
82
- message: `Loop is already ${loop.status}`,
83
- };
84
- }
85
- // Update status to cancelled
86
- const updatedLoop = {
87
- ...loop,
88
- status: 'cancelled',
89
- updatedAt: new Date().toISOString(),
90
- };
91
- await kv.set(CADENCE_NAMESPACE, key, JSON.stringify(updatedLoop), {
92
- contentType: 'application/json',
93
- });
94
- if (!options.json) {
95
- tui.success(`Stopped loop ${args.loopId}`);
96
- }
97
- return {
98
- success: true,
99
- loopId: args.loopId,
100
- previousStatus,
101
- newStatus: 'cancelled',
102
- message: 'Loop cancelled successfully',
103
- };
104
- },
105
- });
106
- export default stopSubcommand;
107
- //# sourceMappingURL=stop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../../src/cmd/ai/cadence/stop.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- import { KeyValueStorageService, type Logger } from '@agentuity/core';
2
- import type { AuthData, Config } from '../../../types';
3
- /** KV namespace for Cadence loop state */
4
- export declare const CADENCE_NAMESPACE = "agentuity-opencode-tasks";
5
- /** Prefix for loop state keys */
6
- export declare const LOOP_KEY_PREFIX = "loop:";
7
- export interface CadenceLoop {
8
- loopId: string;
9
- parentId?: string;
10
- projectLabel?: string;
11
- sessionId?: string;
12
- status: 'running' | 'paused' | 'completed' | 'failed' | 'cancelled';
13
- iteration: number;
14
- maxIterations: number;
15
- prompt: string;
16
- createdAt: string;
17
- updatedAt: string;
18
- lastError?: string;
19
- sandbox?: {
20
- mode: 'off' | 'per_iteration' | 'persistent';
21
- sandboxId?: string;
22
- };
23
- }
24
- export interface CadenceContext {
25
- logger: Logger;
26
- config: Config | null;
27
- auth: AuthData;
28
- project?: {
29
- region: string;
30
- };
31
- }
32
- /**
33
- * Creates a KV storage service for Cadence operations.
34
- */
35
- export declare function createCadenceKVAdapter(ctx: CadenceContext): Promise<KeyValueStorageService>;
36
- /**
37
- * Gets the state key for a loop.
38
- */
39
- export declare function getLoopStateKey(loopId: string): string;
40
- /**
41
- * Parses a loop state from KV storage.
42
- */
43
- export declare function parseLoopState(data: unknown): CadenceLoop | null;
44
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/cmd/ai/cadence/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEvD,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAE5D,iCAAiC;AACjC,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QACT,IAAI,EAAE,KAAK,GAAG,eAAe,GAAG,YAAY,CAAC;QAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACF;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAcjG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAoBhE"}
@@ -1,52 +0,0 @@
1
- import { KeyValueStorageService } from '@agentuity/core';
2
- import { createServerFetchAdapter, getServiceUrls } from '@agentuity/server';
3
- import { getDefaultRegion } from '../../../config';
4
- /** KV namespace for Cadence loop state */
5
- export const CADENCE_NAMESPACE = 'agentuity-opencode-tasks';
6
- /** Prefix for loop state keys */
7
- export const LOOP_KEY_PREFIX = 'loop:';
8
- /**
9
- * Creates a KV storage service for Cadence operations.
10
- */
11
- export async function createCadenceKVAdapter(ctx) {
12
- const adapter = createServerFetchAdapter({
13
- headers: {
14
- Authorization: `Bearer ${ctx.auth.apiKey}`,
15
- },
16
- }, ctx.logger);
17
- const region = ctx.project?.region || (await getDefaultRegion(ctx.config?.name, ctx.config));
18
- const urls = getServiceUrls(region);
19
- const baseUrl = urls.catalyst;
20
- return new KeyValueStorageService(baseUrl, adapter);
21
- }
22
- /**
23
- * Gets the state key for a loop.
24
- */
25
- export function getLoopStateKey(loopId) {
26
- return `${LOOP_KEY_PREFIX}${loopId}:state`;
27
- }
28
- /**
29
- * Parses a loop state from KV storage.
30
- */
31
- export function parseLoopState(data) {
32
- if (!data || typeof data !== 'object')
33
- return null;
34
- const loop = data;
35
- if (!loop.loopId || !loop.status || !loop.prompt)
36
- return null;
37
- return {
38
- loopId: String(loop.loopId),
39
- parentId: loop.parentId ? String(loop.parentId) : undefined,
40
- projectLabel: loop.projectLabel ? String(loop.projectLabel) : undefined,
41
- sessionId: loop.sessionId ? String(loop.sessionId) : undefined,
42
- status: loop.status,
43
- iteration: Number(loop.iteration) || 1,
44
- maxIterations: Number(loop.maxIterations) || 50,
45
- prompt: String(loop.prompt),
46
- createdAt: String(loop.createdAt),
47
- updatedAt: String(loop.updatedAt),
48
- lastError: loop.lastError ? String(loop.lastError) : undefined,
49
- sandbox: loop.sandbox,
50
- };
51
- }
52
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/cmd/ai/cadence/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAe,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAE5D,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AA2BvC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,GAAmB;IAC/D,MAAM,OAAO,GAAG,wBAAwB,CACvC;QACC,OAAO,EAAE;YACR,aAAa,EAAE,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;SAC1C;KACD,EACD,GAAG,CAAC,MAAM,CACV,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7F,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC9B,OAAO,IAAI,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC7C,OAAO,GAAG,eAAe,GAAG,MAAM,QAAQ,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC3C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEnD,MAAM,IAAI,GAAG,IAA+B,CAAC;IAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE9D,OAAO;QACN,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3D,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACvE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9D,MAAM,EAAE,IAAI,CAAC,MAA+B;QAC5C,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACtC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;QAC/C,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9D,OAAO,EAAE,IAAI,CAAC,OAAiC;KAC/C,CAAC;AACH,CAAC"}
@@ -1,36 +0,0 @@
1
- import { createCommand } from '../../../types';
2
- import { listSubcommand } from './list';
3
- import { statusSubcommand } from './status';
4
- import { pauseSubcommand } from './pause';
5
- import { resumeSubcommand } from './resume';
6
- import { stopSubcommand } from './stop';
7
- import { getCommand } from '../../../command-prefix';
8
-
9
- export const command = createCommand({
10
- name: 'cadence',
11
- description: 'Manage long-running Cadence loops for Open Code',
12
- tags: ['fast', 'requires-auth'],
13
- examples: [
14
- { command: getCommand('ai cadence list'), description: 'List all Cadence loops' },
15
- { command: getCommand('ai cadence status lp_auth_impl'), description: 'Get loop status' },
16
- { command: getCommand('ai cadence pause lp_auth_impl'), description: 'Pause a running loop' },
17
- {
18
- command: getCommand('ai cadence resume lp_auth_impl'),
19
- description: 'Resume a paused loop',
20
- },
21
- {
22
- command: getCommand('ai cadence stop lp_auth_impl'),
23
- description: 'Stop and cancel a loop',
24
- },
25
- ],
26
- subcommands: [
27
- listSubcommand,
28
- statusSubcommand,
29
- pauseSubcommand,
30
- resumeSubcommand,
31
- stopSubcommand,
32
- ],
33
- requires: { auth: true },
34
- });
35
-
36
- export default command;
@@ -1,183 +0,0 @@
1
- import { z } from 'zod';
2
- import { createCommand } from '../../../types';
3
- import * as tui from '../../../tui';
4
- import {
5
- createCadenceKVAdapter,
6
- CADENCE_NAMESPACE,
7
- LOOP_KEY_PREFIX,
8
- parseLoopState,
9
- type CadenceLoop,
10
- } from './util';
11
- import { getCommand } from '../../../command-prefix';
12
-
13
- const CadenceListResponseSchema = z.object({
14
- loops: z.array(
15
- z.object({
16
- loopId: z.string(),
17
- status: z.string(),
18
- iteration: z.number(),
19
- maxIterations: z.number(),
20
- prompt: z.string(),
21
- projectLabel: z.string().optional(),
22
- updatedAt: z.string(),
23
- })
24
- ),
25
- count: z.number(),
26
- });
27
-
28
- export const listSubcommand = createCommand({
29
- name: 'list',
30
- aliases: ['ls'],
31
- description: 'List active Cadence loops',
32
- tags: ['read-only', 'fast', 'requires-auth'],
33
- requires: { auth: true },
34
- examples: [
35
- { command: getCommand('cadence list'), description: 'List all Cadence loops' },
36
- {
37
- command: getCommand('cadence list --project github.com/org/repo'),
38
- description: 'List loops for a specific project',
39
- },
40
- ],
41
- schema: {
42
- args: z.object({
43
- project: z.string().optional().describe('Filter by project label'),
44
- }),
45
- response: CadenceListResponseSchema,
46
- },
47
- idempotent: true,
48
-
49
- async handler(ctx) {
50
- const { args, options } = ctx;
51
- const kv = await createCadenceKVAdapter(ctx);
52
-
53
- // Search for loop keys - returns Record<key, item>
54
- const searchResult = await kv.search(CADENCE_NAMESPACE, LOOP_KEY_PREFIX);
55
- const allKeys = Object.keys(searchResult);
56
- const keys = allKeys.filter((k) => k.endsWith(':state'));
57
-
58
- const loops: CadenceLoop[] = [];
59
-
60
- // Fetch each loop's state from the search result or individually
61
- for (const key of keys) {
62
- const item = searchResult[key];
63
- let data: unknown;
64
-
65
- if (item && item.value) {
66
- // Use value from search result
67
- if (typeof item.value === 'string') {
68
- try {
69
- data = JSON.parse(item.value);
70
- } catch {
71
- continue;
72
- }
73
- } else {
74
- data = item.value;
75
- }
76
- } else {
77
- // Fallback to individual get
78
- const result = await kv.get(CADENCE_NAMESPACE, key);
79
- if (!result.exists || !result.data) continue;
80
-
81
- if (typeof result.data === 'string') {
82
- try {
83
- data = JSON.parse(result.data);
84
- } catch {
85
- continue;
86
- }
87
- } else {
88
- data = result.data;
89
- }
90
- }
91
-
92
- const loop = parseLoopState(data);
93
- if (loop) {
94
- // Filter by project if specified
95
- if (args.project && loop.projectLabel !== args.project) {
96
- continue;
97
- }
98
- loops.push(loop);
99
- }
100
- }
101
-
102
- // Sort by updatedAt descending
103
- loops.sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());
104
-
105
- if (!options.json) {
106
- if (loops.length === 0) {
107
- tui.info('No active Cadence loops found.');
108
- } else {
109
- console.log();
110
- tui.info(`Found ${loops.length} Cadence loop(s):`);
111
- console.log();
112
-
113
- const tableData = loops.map((loop) => ({
114
- 'Loop ID': loop.loopId,
115
- Status: formatStatus(loop.status),
116
- Iteration: `${loop.iteration}/${loop.maxIterations}`,
117
- Task: truncate(loop.prompt, 40),
118
- Project: loop.projectLabel ?? '-',
119
- Updated: formatDate(loop.updatedAt),
120
- }));
121
-
122
- tui.table(tableData);
123
- }
124
- }
125
-
126
- return {
127
- loops: loops.map((loop) => ({
128
- loopId: loop.loopId,
129
- status: loop.status,
130
- iteration: loop.iteration,
131
- maxIterations: loop.maxIterations,
132
- prompt: loop.prompt,
133
- projectLabel: loop.projectLabel,
134
- updatedAt: loop.updatedAt,
135
- })),
136
- count: loops.length,
137
- };
138
- },
139
- });
140
-
141
- function formatStatus(status: string): string {
142
- switch (status) {
143
- case 'running':
144
- return tui.colorSuccess('running');
145
- case 'paused':
146
- return tui.colorWarning('paused');
147
- case 'completed':
148
- return tui.colorSuccess('completed');
149
- case 'failed':
150
- return tui.colorError('failed');
151
- case 'cancelled':
152
- return tui.muted('cancelled');
153
- default:
154
- return status;
155
- }
156
- }
157
-
158
- function truncate(str: string, maxLen: number): string {
159
- if (str.length <= maxLen) return str;
160
- return str.substring(0, maxLen - 3) + '...';
161
- }
162
-
163
- function formatDate(isoDate: string): string {
164
- try {
165
- const date = new Date(isoDate);
166
- const now = new Date();
167
- const diffMs = now.getTime() - date.getTime();
168
- const diffMins = Math.floor(diffMs / 60000);
169
-
170
- if (diffMins < 1) return 'just now';
171
- if (diffMins < 60) return `${diffMins}m ago`;
172
-
173
- const diffHours = Math.floor(diffMins / 60);
174
- if (diffHours < 24) return `${diffHours}h ago`;
175
-
176
- const diffDays = Math.floor(diffHours / 24);
177
- return `${diffDays}d ago`;
178
- } catch {
179
- return isoDate;
180
- }
181
- }
182
-
183
- export default listSubcommand;
@@ -1,119 +0,0 @@
1
- import { z } from 'zod';
2
- import { createCommand } from '../../../types';
3
- import * as tui from '../../../tui';
4
- import {
5
- createCadenceKVAdapter,
6
- CADENCE_NAMESPACE,
7
- getLoopStateKey,
8
- parseLoopState,
9
- type CadenceLoop,
10
- } from './util';
11
- import { getCommand } from '../../../command-prefix';
12
-
13
- const CadencePauseResponseSchema = z.object({
14
- success: z.boolean(),
15
- loopId: z.string(),
16
- previousStatus: z.string().optional(),
17
- newStatus: z.string().optional(),
18
- message: z.string(),
19
- });
20
-
21
- export const pauseSubcommand = createCommand({
22
- name: 'pause',
23
- description: 'Pause a running Cadence loop',
24
- tags: ['mutating', 'updates-resource', 'fast', 'requires-auth'],
25
- requires: { auth: true },
26
- examples: [{ command: getCommand('cadence pause lp_auth_impl'), description: 'Pause a loop' }],
27
- schema: {
28
- args: z.object({
29
- loopId: z.string().min(1).describe('The loop ID to pause'),
30
- }),
31
- response: CadencePauseResponseSchema,
32
- },
33
-
34
- async handler(ctx) {
35
- const { args, options } = ctx;
36
- const kv = await createCadenceKVAdapter(ctx);
37
-
38
- const key = getLoopStateKey(args.loopId);
39
- const result = await kv.get(CADENCE_NAMESPACE, key);
40
-
41
- if (!result.exists || !result.data) {
42
- if (!options.json) {
43
- tui.error(`Loop ${args.loopId} not found.`);
44
- }
45
- return {
46
- success: false,
47
- loopId: args.loopId,
48
- message: 'Loop not found',
49
- };
50
- }
51
-
52
- let data: unknown;
53
- if (typeof result.data === 'string') {
54
- try {
55
- data = JSON.parse(result.data);
56
- } catch {
57
- if (!options.json) {
58
- tui.error(`Failed to parse loop state for ${args.loopId}`);
59
- }
60
- return {
61
- success: false,
62
- loopId: args.loopId,
63
- message: 'Failed to parse loop state',
64
- };
65
- }
66
- } else {
67
- data = result.data;
68
- }
69
-
70
- const loop = parseLoopState(data);
71
- if (!loop) {
72
- if (!options.json) {
73
- tui.error(`Invalid loop state for ${args.loopId}`);
74
- }
75
- return {
76
- success: false,
77
- loopId: args.loopId,
78
- message: 'Invalid loop state',
79
- };
80
- }
81
-
82
- if (loop.status !== 'running') {
83
- if (!options.json) {
84
- tui.warning(`Loop ${args.loopId} is not running (status: ${loop.status})`);
85
- }
86
- return {
87
- success: false,
88
- loopId: args.loopId,
89
- previousStatus: loop.status,
90
- message: `Cannot pause loop with status: ${loop.status}`,
91
- };
92
- }
93
-
94
- // Update status to paused
95
- const updatedLoop: CadenceLoop = {
96
- ...loop,
97
- status: 'paused',
98
- updatedAt: new Date().toISOString(),
99
- };
100
-
101
- await kv.set(CADENCE_NAMESPACE, key, JSON.stringify(updatedLoop), {
102
- contentType: 'application/json',
103
- });
104
-
105
- if (!options.json) {
106
- tui.success(`Paused loop ${args.loopId}`);
107
- }
108
-
109
- return {
110
- success: true,
111
- loopId: args.loopId,
112
- previousStatus: 'running',
113
- newStatus: 'paused',
114
- message: 'Loop paused successfully',
115
- };
116
- },
117
- });
118
-
119
- export default pauseSubcommand;