@agentuity/cli 0.1.41 → 0.1.43

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 (247) hide show
  1. package/dist/agent-detection.d.ts.map +1 -1
  2. package/dist/agent-detection.js +8 -2
  3. package/dist/agent-detection.js.map +1 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +9 -5
  6. package/dist/cli.js.map +1 -1
  7. package/dist/cmd/ai/index.d.ts.map +1 -1
  8. package/dist/cmd/ai/index.js +1 -8
  9. package/dist/cmd/ai/index.js.map +1 -1
  10. package/dist/cmd/ai/prompt/version.js +1 -1
  11. package/dist/cmd/ai/prompt/version.js.map +1 -1
  12. package/dist/cmd/auth/api.d.ts.map +1 -1
  13. package/dist/cmd/auth/api.js +4 -1
  14. package/dist/cmd/auth/api.js.map +1 -1
  15. package/dist/cmd/auth/ssh/api.js +2 -2
  16. package/dist/cmd/auth/ssh/api.js.map +1 -1
  17. package/dist/cmd/build/ast.d.ts.map +1 -1
  18. package/dist/cmd/build/ast.js +14 -13
  19. package/dist/cmd/build/ast.js.map +1 -1
  20. package/dist/cmd/build/entry-generator.d.ts.map +1 -1
  21. package/dist/cmd/build/entry-generator.js +137 -1
  22. package/dist/cmd/build/entry-generator.js.map +1 -1
  23. package/dist/cmd/build/patch/index.d.ts.map +1 -1
  24. package/dist/cmd/build/patch/index.js +3 -0
  25. package/dist/cmd/build/patch/index.js.map +1 -1
  26. package/dist/cmd/build/vite/index.d.ts +1 -0
  27. package/dist/cmd/build/vite/index.d.ts.map +1 -1
  28. package/dist/cmd/build/vite/index.js +1 -0
  29. package/dist/cmd/build/vite/index.js.map +1 -1
  30. package/dist/cmd/build/vite/metadata-generator.d.ts.map +1 -1
  31. package/dist/cmd/build/vite/metadata-generator.js +19 -9
  32. package/dist/cmd/build/vite/metadata-generator.js.map +1 -1
  33. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts +46 -0
  34. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts.map +1 -0
  35. package/dist/cmd/build/vite/public-asset-path-plugin.js +133 -0
  36. package/dist/cmd/build/vite/public-asset-path-plugin.js.map +1 -0
  37. package/dist/cmd/build/vite/registry-generator.d.ts.map +1 -1
  38. package/dist/cmd/build/vite/registry-generator.js +14 -5
  39. package/dist/cmd/build/vite/registry-generator.js.map +1 -1
  40. package/dist/cmd/build/vite/route-discovery.js +1 -1
  41. package/dist/cmd/build/vite/route-discovery.js.map +1 -1
  42. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -1
  43. package/dist/cmd/build/vite/vite-asset-server-config.js +17 -7
  44. package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -1
  45. package/dist/cmd/build/vite/vite-asset-server.d.ts.map +1 -1
  46. package/dist/cmd/build/vite/vite-asset-server.js +1 -1
  47. package/dist/cmd/build/vite/vite-asset-server.js.map +1 -1
  48. package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
  49. package/dist/cmd/build/vite/vite-builder.js +13 -9
  50. package/dist/cmd/build/vite/vite-builder.js.map +1 -1
  51. package/dist/cmd/canary/index.d.ts.map +1 -1
  52. package/dist/cmd/canary/index.js +9 -1
  53. package/dist/cmd/canary/index.js.map +1 -1
  54. package/dist/cmd/cloud/db/create.d.ts.map +1 -1
  55. package/dist/cmd/cloud/db/create.js +2 -2
  56. package/dist/cmd/cloud/db/create.js.map +1 -1
  57. package/dist/cmd/cloud/db/delete.d.ts.map +1 -1
  58. package/dist/cmd/cloud/db/delete.js +2 -2
  59. package/dist/cmd/cloud/db/delete.js.map +1 -1
  60. package/dist/cmd/cloud/env/import.d.ts.map +1 -1
  61. package/dist/cmd/cloud/env/import.js +4 -1
  62. package/dist/cmd/cloud/env/import.js.map +1 -1
  63. package/dist/cmd/cloud/env/list.d.ts.map +1 -1
  64. package/dist/cmd/cloud/env/list.js +4 -1
  65. package/dist/cmd/cloud/env/list.js.map +1 -1
  66. package/dist/cmd/cloud/env/push.d.ts.map +1 -1
  67. package/dist/cmd/cloud/env/push.js +4 -1
  68. package/dist/cmd/cloud/env/push.js.map +1 -1
  69. package/dist/cmd/cloud/region/index.js +1 -1
  70. package/dist/cmd/cloud/region/index.js.map +1 -1
  71. package/dist/cmd/cloud/sandbox/snapshot/build.d.ts.map +1 -1
  72. package/dist/cmd/cloud/sandbox/snapshot/build.js +22 -10
  73. package/dist/cmd/cloud/sandbox/snapshot/build.js.map +1 -1
  74. package/dist/cmd/cloud/sandbox/snapshot/get.d.ts.map +1 -1
  75. package/dist/cmd/cloud/sandbox/snapshot/get.js +12 -2
  76. package/dist/cmd/cloud/sandbox/snapshot/get.js.map +1 -1
  77. package/dist/cmd/cloud/storage/create.d.ts.map +1 -1
  78. package/dist/cmd/cloud/storage/create.js +2 -2
  79. package/dist/cmd/cloud/storage/create.js.map +1 -1
  80. package/dist/cmd/cloud/storage/delete.d.ts.map +1 -1
  81. package/dist/cmd/cloud/storage/delete.js +2 -2
  82. package/dist/cmd/cloud/storage/delete.js.map +1 -1
  83. package/dist/cmd/dev/download.d.ts.map +1 -1
  84. package/dist/cmd/dev/download.js +9 -2
  85. package/dist/cmd/dev/download.js.map +1 -1
  86. package/dist/cmd/dev/index.js +1 -1
  87. package/dist/cmd/dev/index.js.map +1 -1
  88. package/dist/cmd/git/account/add.d.ts.map +1 -1
  89. package/dist/cmd/git/account/add.js +4 -3
  90. package/dist/cmd/git/account/add.js.map +1 -1
  91. package/dist/cmd/git/link.js +2 -2
  92. package/dist/cmd/git/link.js.map +1 -1
  93. package/dist/cmd/git/list.d.ts.map +1 -1
  94. package/dist/cmd/git/list.js +3 -2
  95. package/dist/cmd/git/list.js.map +1 -1
  96. package/dist/cmd/project/auth/init.js +1 -1
  97. package/dist/cmd/project/auth/init.js.map +1 -1
  98. package/dist/cmd/project/auth/shared.d.ts.map +1 -1
  99. package/dist/cmd/project/auth/shared.js +8 -3
  100. package/dist/cmd/project/auth/shared.js.map +1 -1
  101. package/dist/cmd/project/delete.d.ts.map +1 -1
  102. package/dist/cmd/project/delete.js +3 -2
  103. package/dist/cmd/project/delete.js.map +1 -1
  104. package/dist/cmd/project/reconcile.d.ts.map +1 -1
  105. package/dist/cmd/project/reconcile.js +9 -5
  106. package/dist/cmd/project/reconcile.js.map +1 -1
  107. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  108. package/dist/cmd/project/template-flow.js +15 -5
  109. package/dist/cmd/project/template-flow.js.map +1 -1
  110. package/dist/cmd/support/report.d.ts.map +1 -1
  111. package/dist/cmd/support/report.js +58 -23
  112. package/dist/cmd/support/report.js.map +1 -1
  113. package/dist/config.d.ts.map +1 -1
  114. package/dist/config.js +3 -2
  115. package/dist/config.js.map +1 -1
  116. package/dist/domain.d.ts.map +1 -1
  117. package/dist/domain.js +4 -3
  118. package/dist/domain.js.map +1 -1
  119. package/dist/internal-logger.d.ts +7 -0
  120. package/dist/internal-logger.d.ts.map +1 -1
  121. package/dist/internal-logger.js +82 -27
  122. package/dist/internal-logger.js.map +1 -1
  123. package/dist/repl.d.ts.map +1 -1
  124. package/dist/repl.js +31 -14
  125. package/dist/repl.js.map +1 -1
  126. package/dist/schema-parser.d.ts.map +1 -1
  127. package/dist/schema-parser.js +4 -1
  128. package/dist/schema-parser.js.map +1 -1
  129. package/dist/sound.d.ts.map +1 -1
  130. package/dist/sound.js +2 -1
  131. package/dist/sound.js.map +1 -1
  132. package/dist/steps.d.ts.map +1 -1
  133. package/dist/steps.js +13 -6
  134. package/dist/steps.js.map +1 -1
  135. package/dist/terminal.js +2 -0
  136. package/dist/terminal.js.map +1 -1
  137. package/dist/tsc-output-parser.d.ts +3 -0
  138. package/dist/tsc-output-parser.d.ts.map +1 -1
  139. package/dist/tsc-output-parser.js +32 -9
  140. package/dist/tsc-output-parser.js.map +1 -1
  141. package/dist/tui/prompt.d.ts.map +1 -1
  142. package/dist/tui/prompt.js +6 -2
  143. package/dist/tui/prompt.js.map +1 -1
  144. package/dist/tui.d.ts.map +1 -1
  145. package/dist/tui.js +26 -15
  146. package/dist/tui.js.map +1 -1
  147. package/dist/typescript-errors.d.ts.map +1 -1
  148. package/dist/typescript-errors.js +5 -2
  149. package/dist/typescript-errors.js.map +1 -1
  150. package/dist/utils/date.d.ts.map +1 -1
  151. package/dist/utils/date.js +5 -1
  152. package/dist/utils/date.js.map +1 -1
  153. package/dist/utils/deps.d.ts.map +1 -1
  154. package/dist/utils/deps.js +5 -3
  155. package/dist/utils/deps.js.map +1 -1
  156. package/dist/utils/detectSubagent.js +1 -1
  157. package/dist/utils/detectSubagent.js.map +1 -1
  158. package/package.json +8 -7
  159. package/src/agent-detection.ts +9 -2
  160. package/src/cli.ts +9 -5
  161. package/src/cmd/ai/index.ts +1 -8
  162. package/src/cmd/ai/prompt/version.ts +1 -1
  163. package/src/cmd/auth/api.ts +4 -1
  164. package/src/cmd/auth/ssh/api.ts +2 -2
  165. package/src/cmd/build/ast.ts +14 -13
  166. package/src/cmd/build/entry-generator.ts +137 -1
  167. package/src/cmd/build/patch/index.ts +3 -0
  168. package/src/cmd/build/vite/index.ts +1 -0
  169. package/src/cmd/build/vite/metadata-generator.ts +20 -9
  170. package/src/cmd/build/vite/public-asset-path-plugin.ts +167 -0
  171. package/src/cmd/build/vite/registry-generator.ts +14 -5
  172. package/src/cmd/build/vite/route-discovery.ts +1 -1
  173. package/src/cmd/build/vite/vite-asset-server-config.ts +19 -9
  174. package/src/cmd/build/vite/vite-asset-server.ts +3 -1
  175. package/src/cmd/build/vite/vite-builder.ts +22 -18
  176. package/src/cmd/canary/index.ts +9 -1
  177. package/src/cmd/cloud/db/create.ts +16 -17
  178. package/src/cmd/cloud/db/delete.ts +19 -20
  179. package/src/cmd/cloud/env/import.ts +6 -3
  180. package/src/cmd/cloud/env/list.ts +11 -9
  181. package/src/cmd/cloud/env/push.ts +6 -3
  182. package/src/cmd/cloud/region/index.ts +3 -3
  183. package/src/cmd/cloud/sandbox/snapshot/build.ts +42 -33
  184. package/src/cmd/cloud/sandbox/snapshot/get.ts +21 -15
  185. package/src/cmd/cloud/storage/create.ts +16 -17
  186. package/src/cmd/cloud/storage/delete.ts +19 -20
  187. package/src/cmd/dev/download.ts +10 -2
  188. package/src/cmd/dev/index.ts +4 -4
  189. package/src/cmd/git/account/add.ts +5 -4
  190. package/src/cmd/git/link.ts +2 -2
  191. package/src/cmd/git/list.ts +7 -6
  192. package/src/cmd/project/auth/init.ts +6 -6
  193. package/src/cmd/project/auth/shared.ts +8 -3
  194. package/src/cmd/project/delete.ts +3 -2
  195. package/src/cmd/project/reconcile.ts +9 -5
  196. package/src/cmd/project/template-flow.ts +15 -5
  197. package/src/cmd/support/report.ts +82 -28
  198. package/src/config.ts +3 -2
  199. package/src/domain.ts +4 -3
  200. package/src/internal-logger.ts +91 -26
  201. package/src/repl.ts +27 -14
  202. package/src/schema-parser.ts +4 -1
  203. package/src/sound.ts +2 -1
  204. package/src/steps.ts +11 -6
  205. package/src/terminal.ts +2 -1
  206. package/src/tsc-output-parser.ts +61 -38
  207. package/src/tui/prompt.ts +6 -2
  208. package/src/tui.ts +26 -17
  209. package/src/typescript-errors.ts +5 -2
  210. package/src/utils/date.ts +5 -1
  211. package/src/utils/deps.ts +5 -3
  212. package/src/utils/detectSubagent.ts +1 -1
  213. package/dist/cmd/ai/cadence/index.d.ts +0 -3
  214. package/dist/cmd/ai/cadence/index.d.ts.map +0 -1
  215. package/dist/cmd/ai/cadence/index.js +0 -35
  216. package/dist/cmd/ai/cadence/index.js.map +0 -1
  217. package/dist/cmd/ai/cadence/list.d.ts +0 -3
  218. package/dist/cmd/ai/cadence/list.d.ts.map +0 -1
  219. package/dist/cmd/ai/cadence/list.js +0 -167
  220. package/dist/cmd/ai/cadence/list.js.map +0 -1
  221. package/dist/cmd/ai/cadence/pause.d.ts +0 -3
  222. package/dist/cmd/ai/cadence/pause.d.ts.map +0 -1
  223. package/dist/cmd/ai/cadence/pause.js +0 -103
  224. package/dist/cmd/ai/cadence/pause.js.map +0 -1
  225. package/dist/cmd/ai/cadence/resume.d.ts +0 -3
  226. package/dist/cmd/ai/cadence/resume.d.ts.map +0 -1
  227. package/dist/cmd/ai/cadence/resume.js +0 -106
  228. package/dist/cmd/ai/cadence/resume.js.map +0 -1
  229. package/dist/cmd/ai/cadence/status.d.ts +0 -3
  230. package/dist/cmd/ai/cadence/status.d.ts.map +0 -1
  231. package/dist/cmd/ai/cadence/status.js +0 -129
  232. package/dist/cmd/ai/cadence/status.js.map +0 -1
  233. package/dist/cmd/ai/cadence/stop.d.ts +0 -3
  234. package/dist/cmd/ai/cadence/stop.d.ts.map +0 -1
  235. package/dist/cmd/ai/cadence/stop.js +0 -107
  236. package/dist/cmd/ai/cadence/stop.js.map +0 -1
  237. package/dist/cmd/ai/cadence/util.d.ts +0 -44
  238. package/dist/cmd/ai/cadence/util.d.ts.map +0 -1
  239. package/dist/cmd/ai/cadence/util.js +0 -52
  240. package/dist/cmd/ai/cadence/util.js.map +0 -1
  241. package/src/cmd/ai/cadence/index.ts +0 -36
  242. package/src/cmd/ai/cadence/list.ts +0 -183
  243. package/src/cmd/ai/cadence/pause.ts +0 -119
  244. package/src/cmd/ai/cadence/resume.ts +0 -124
  245. package/src/cmd/ai/cadence/status.ts +0 -141
  246. package/src/cmd/ai/cadence/stop.ts +0 -124
  247. package/src/cmd/ai/cadence/util.ts +0 -86
@@ -1,141 +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
-
7
- const CadenceStatusResponseSchema = z.object({
8
- found: z.boolean(),
9
- loop: z
10
- .object({
11
- loopId: z.string(),
12
- status: z.string(),
13
- iteration: z.number(),
14
- maxIterations: z.number(),
15
- prompt: z.string(),
16
- projectLabel: z.string().optional(),
17
- sessionId: z.string().optional(),
18
- createdAt: z.string(),
19
- updatedAt: z.string(),
20
- lastError: z.string().optional(),
21
- })
22
- .optional(),
23
- });
24
-
25
- export const statusSubcommand = createCommand({
26
- name: 'status',
27
- aliases: ['get', 'show'],
28
- description: 'Get status of a Cadence loop',
29
- tags: ['read-only', 'fast', 'requires-auth'],
30
- requires: { auth: true },
31
- examples: [
32
- { command: getCommand('cadence status lp_auth_impl'), description: 'Get loop status' },
33
- ],
34
- schema: {
35
- args: z.object({
36
- loopId: z.string().min(1).describe('The loop ID (e.g., lp_auth_impl)'),
37
- }),
38
- response: CadenceStatusResponseSchema,
39
- },
40
- idempotent: true,
41
-
42
- async handler(ctx) {
43
- const { args, options } = ctx;
44
- const kv = await createCadenceKVAdapter(ctx);
45
-
46
- const key = getLoopStateKey(args.loopId);
47
- const result = await kv.get(CADENCE_NAMESPACE, key);
48
-
49
- if (!result.exists || !result.data) {
50
- if (!options.json) {
51
- tui.warning(`Loop ${args.loopId} not found.`);
52
- }
53
- return { found: false };
54
- }
55
-
56
- let data: unknown;
57
- if (typeof result.data === 'string') {
58
- try {
59
- data = JSON.parse(result.data);
60
- } catch {
61
- if (!options.json) {
62
- tui.error(`Failed to parse loop state for ${args.loopId}`);
63
- }
64
- return { found: false };
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 { found: false };
76
- }
77
-
78
- if (!options.json) {
79
- console.log();
80
- tui.info(`Cadence Loop: ${tui.colorPrimary(loop.loopId)}`);
81
- console.log();
82
-
83
- const details = [
84
- ['Status', formatStatus(loop.status)],
85
- ['Iteration', `${loop.iteration} / ${loop.maxIterations}`],
86
- ['Project', loop.projectLabel ?? '-'],
87
- ['Session', loop.sessionId ?? '-'],
88
- ['Created', loop.createdAt],
89
- ['Updated', loop.updatedAt],
90
- ];
91
-
92
- if (loop.lastError) {
93
- details.push(['Last Error', tui.colorError(loop.lastError)]);
94
- }
95
-
96
- for (const [label, value] of details) {
97
- console.log(` ${tui.muted(label + ':')} ${value}`);
98
- }
99
-
100
- console.log();
101
- console.log(tui.muted('Task:'));
102
- console.log(` ${loop.prompt}`);
103
- console.log();
104
- }
105
-
106
- return {
107
- found: true,
108
- loop: {
109
- loopId: loop.loopId,
110
- status: loop.status,
111
- iteration: loop.iteration,
112
- maxIterations: loop.maxIterations,
113
- prompt: loop.prompt,
114
- projectLabel: loop.projectLabel,
115
- sessionId: loop.sessionId,
116
- createdAt: loop.createdAt,
117
- updatedAt: loop.updatedAt,
118
- lastError: loop.lastError,
119
- },
120
- };
121
- },
122
- });
123
-
124
- function formatStatus(status: string): string {
125
- switch (status) {
126
- case 'running':
127
- return tui.colorSuccess('● running');
128
- case 'paused':
129
- return tui.colorWarning('⏸ paused');
130
- case 'completed':
131
- return tui.colorSuccess('✓ completed');
132
- case 'failed':
133
- return tui.colorError('✗ failed');
134
- case 'cancelled':
135
- return tui.muted('○ cancelled');
136
- default:
137
- return status;
138
- }
139
- }
140
-
141
- export default statusSubcommand;
@@ -1,124 +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 CadenceStopResponseSchema = 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 stopSubcommand = createCommand({
22
- name: 'stop',
23
- aliases: ['cancel'],
24
- description: 'Stop and cancel a Cadence loop',
25
- tags: ['mutating', 'updates-resource', 'fast', 'requires-auth'],
26
- requires: { auth: true },
27
- examples: [
28
- { command: getCommand('cadence stop lp_auth_impl'), description: 'Stop and cancel a loop' },
29
- ],
30
- schema: {
31
- args: z.object({
32
- loopId: z.string().min(1).describe('The loop ID to stop'),
33
- }),
34
- response: CadenceStopResponseSchema,
35
- },
36
-
37
- async handler(ctx) {
38
- const { args, options } = ctx;
39
- const kv = await createCadenceKVAdapter(ctx);
40
-
41
- const key = getLoopStateKey(args.loopId);
42
- const result = await kv.get(CADENCE_NAMESPACE, key);
43
-
44
- if (!result.exists || !result.data) {
45
- if (!options.json) {
46
- tui.error(`Loop ${args.loopId} not found.`);
47
- }
48
- return {
49
- success: false,
50
- loopId: args.loopId,
51
- message: 'Loop not found',
52
- };
53
- }
54
-
55
- let data: unknown;
56
- if (typeof result.data === 'string') {
57
- try {
58
- data = JSON.parse(result.data);
59
- } catch {
60
- if (!options.json) {
61
- tui.error(`Failed to parse loop state for ${args.loopId}`);
62
- }
63
- return {
64
- success: false,
65
- loopId: args.loopId,
66
- message: 'Failed to parse loop state',
67
- };
68
- }
69
- } else {
70
- data = result.data;
71
- }
72
-
73
- const loop = parseLoopState(data);
74
- if (!loop) {
75
- if (!options.json) {
76
- tui.error(`Invalid loop state for ${args.loopId}`);
77
- }
78
- return {
79
- success: false,
80
- loopId: args.loopId,
81
- message: 'Invalid loop state',
82
- };
83
- }
84
-
85
- const previousStatus = loop.status;
86
-
87
- if (loop.status === 'completed' || loop.status === 'cancelled') {
88
- if (!options.json) {
89
- tui.warning(`Loop ${args.loopId} is already ${loop.status}`);
90
- }
91
- return {
92
- success: false,
93
- loopId: args.loopId,
94
- previousStatus,
95
- message: `Loop is already ${loop.status}`,
96
- };
97
- }
98
-
99
- // Update status to cancelled
100
- const updatedLoop: CadenceLoop = {
101
- ...loop,
102
- status: 'cancelled',
103
- updatedAt: new Date().toISOString(),
104
- };
105
-
106
- await kv.set(CADENCE_NAMESPACE, key, JSON.stringify(updatedLoop), {
107
- contentType: 'application/json',
108
- });
109
-
110
- if (!options.json) {
111
- tui.success(`Stopped loop ${args.loopId}`);
112
- }
113
-
114
- return {
115
- success: true,
116
- loopId: args.loopId,
117
- previousStatus,
118
- newStatus: 'cancelled',
119
- message: 'Loop cancelled successfully',
120
- };
121
- },
122
- });
123
-
124
- export default stopSubcommand;
@@ -1,86 +0,0 @@
1
- import { KeyValueStorageService, type Logger } from '@agentuity/core';
2
- import { createServerFetchAdapter, getServiceUrls } from '@agentuity/server';
3
- import { getDefaultRegion } from '../../../config';
4
- import type { AuthData, Config } from '../../../types';
5
-
6
- /** KV namespace for Cadence loop state */
7
- export const CADENCE_NAMESPACE = 'agentuity-opencode-tasks';
8
-
9
- /** Prefix for loop state keys */
10
- export const LOOP_KEY_PREFIX = 'loop:';
11
-
12
- export interface CadenceLoop {
13
- loopId: string;
14
- parentId?: string;
15
- projectLabel?: string;
16
- sessionId?: string;
17
- status: 'running' | 'paused' | 'completed' | 'failed' | 'cancelled';
18
- iteration: number;
19
- maxIterations: number;
20
- prompt: string;
21
- createdAt: string;
22
- updatedAt: string;
23
- lastError?: string;
24
- sandbox?: {
25
- mode: 'off' | 'per_iteration' | 'persistent';
26
- sandboxId?: string;
27
- };
28
- }
29
-
30
- export interface CadenceContext {
31
- logger: Logger;
32
- config: Config | null;
33
- auth: AuthData;
34
- project?: { region: string };
35
- }
36
-
37
- /**
38
- * Creates a KV storage service for Cadence operations.
39
- */
40
- export async function createCadenceKVAdapter(ctx: CadenceContext): Promise<KeyValueStorageService> {
41
- const adapter = createServerFetchAdapter(
42
- {
43
- headers: {
44
- Authorization: `Bearer ${ctx.auth.apiKey}`,
45
- },
46
- },
47
- ctx.logger
48
- );
49
-
50
- const region = ctx.project?.region || (await getDefaultRegion(ctx.config?.name, ctx.config));
51
- const urls = getServiceUrls(region);
52
- const baseUrl = urls.catalyst;
53
- return new KeyValueStorageService(baseUrl, adapter);
54
- }
55
-
56
- /**
57
- * Gets the state key for a loop.
58
- */
59
- export function getLoopStateKey(loopId: string): string {
60
- return `${LOOP_KEY_PREFIX}${loopId}:state`;
61
- }
62
-
63
- /**
64
- * Parses a loop state from KV storage.
65
- */
66
- export function parseLoopState(data: unknown): CadenceLoop | null {
67
- if (!data || typeof data !== 'object') return null;
68
-
69
- const loop = data as Record<string, unknown>;
70
- if (!loop.loopId || !loop.status || !loop.prompt) return null;
71
-
72
- return {
73
- loopId: String(loop.loopId),
74
- parentId: loop.parentId ? String(loop.parentId) : undefined,
75
- projectLabel: loop.projectLabel ? String(loop.projectLabel) : undefined,
76
- sessionId: loop.sessionId ? String(loop.sessionId) : undefined,
77
- status: loop.status as CadenceLoop['status'],
78
- iteration: Number(loop.iteration) || 1,
79
- maxIterations: Number(loop.maxIterations) || 50,
80
- prompt: String(loop.prompt),
81
- createdAt: String(loop.createdAt),
82
- updatedAt: String(loop.updatedAt),
83
- lastError: loop.lastError ? String(loop.lastError) : undefined,
84
- sandbox: loop.sandbox as CadenceLoop['sandbox'],
85
- };
86
- }