@platless/axom-cli 0.1.0 → 0.5.9

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 (281) hide show
  1. package/README.md +1 -1
  2. package/dist/authScopes.js +19 -0
  3. package/dist/axom-patch/cli/README.md +132 -0
  4. package/dist/axom-patch/cli/account-limits/README.md +27 -0
  5. package/dist/axom-patch/cli/account-limits/antigravity-proxy.mjs +47 -0
  6. package/dist/axom-patch/cli/account-limits/antigravity-read.mjs +90 -0
  7. package/dist/axom-patch/cli/account-limits/antigravity.mjs +46 -0
  8. package/dist/axom-patch/cli/account-limits/generate.py +120 -0
  9. package/dist/axom-patch/cli/account-limits/kimi-proxy.mjs +64 -0
  10. package/dist/axom-patch/cli/account-limits/normalize.mjs +151 -0
  11. package/dist/axom-patch/cli/claude-account-limits.json +37 -0
  12. package/dist/axom-patch/cli/codex-account-limits.json +37 -0
  13. package/dist/axom-patch/cli/commandcode-account-limits.json +30 -0
  14. package/dist/axom-patch/cli/nightly-task.md +152 -0
  15. package/dist/axom-patch/cli/pi-steering.json +37 -0
  16. package/dist/axom-patch/cli/pi-subagent-subwork.json +23 -0
  17. package/dist/axom-patch/cli/probes/claude-late-async-terminal.mjs +38 -0
  18. package/dist/axom-patch/cli/probes/pi-steering.mjs +80 -0
  19. package/dist/axom-patch/cli/probes/pi-subagent-subwork.mjs +211 -0
  20. package/dist/axom-patch/cli/probes/qoder-steering.mjs +89 -0
  21. package/dist/axom-patch/cli/probes/qoder-subagent-origin.mjs +61 -0
  22. package/dist/axom-patch/cli/probes/zcode-subagent-subwork.mjs +257 -0
  23. package/dist/axom-patch/cli/qoder-background-terminal.md +82 -0
  24. package/dist/axom-patch/cli/qoder-foreground-output.md +42 -0
  25. package/dist/axom-patch/cli/qoder-steering.json +52 -0
  26. package/dist/axom-patch/cli/qoder-steering.md +30 -0
  27. package/dist/axom-patch/cli/qoder-subagent-origin.json +73 -0
  28. package/dist/axom-patch/cli/qoder-subagent-subwork.md +73 -0
  29. package/dist/axom-patch/cli/runtime.json +63 -0
  30. package/dist/axom-patch/cli/steering/claude-steering-js.patch +89 -0
  31. package/dist/axom-patch/cli/steering/claude-steering-types.patch +28 -0
  32. package/dist/axom-patch/cli/steering/codex-steering.patch +57 -0
  33. package/dist/axom-patch/cli/steering/pi-steering.js +79 -0
  34. package/dist/axom-patch/cli/zcode-account-limits.json +31 -0
  35. package/dist/axom-patch/cli/zcode-models.json +38 -0
  36. package/dist/axom-patch/cli/zcode-subagent-subwork.json +73 -0
  37. package/dist/cli.js +36 -1
  38. package/dist/commands/auth.js +4 -13
  39. package/dist/commands/execute.js +4 -4
  40. package/dist/commands/record.js +6 -6
  41. package/dist/commands/struct.js +4 -4
  42. package/dist/commands/workstation.js +2 -2
  43. package/dist/credentials.js +2 -2
  44. package/dist/install/claude/commands.js +13 -13
  45. package/dist/keepers/acp/keeper.mjs +3083 -0
  46. package/dist/keepers/acp/manifest.json +9 -0
  47. package/dist/keepers/terminal/keeper.mjs +8469 -0
  48. package/dist/keepers/terminal/manifest.json +9 -0
  49. package/dist/keepers/terminal/node_modules/node-pty/lib/conpty_console_list_agent.js +25 -0
  50. package/dist/keepers/terminal/node_modules/node-pty/lib/eventEmitter2.js +47 -0
  51. package/dist/keepers/terminal/node_modules/node-pty/lib/index.js +52 -0
  52. package/dist/keepers/terminal/node_modules/node-pty/lib/interfaces.js +7 -0
  53. package/dist/keepers/terminal/node_modules/node-pty/lib/shared/conout.js +10 -0
  54. package/dist/keepers/terminal/node_modules/node-pty/lib/terminal.js +190 -0
  55. package/dist/keepers/terminal/node_modules/node-pty/lib/types.js +7 -0
  56. package/dist/keepers/terminal/node_modules/node-pty/lib/unixTerminal.js +351 -0
  57. package/dist/keepers/terminal/node_modules/node-pty/lib/utils.js +38 -0
  58. package/dist/keepers/terminal/node_modules/node-pty/lib/windowsConoutConnection.js +131 -0
  59. package/dist/keepers/terminal/node_modules/node-pty/lib/windowsPtyAgent.js +344 -0
  60. package/dist/keepers/terminal/node_modules/node-pty/lib/windowsTerminal.js +209 -0
  61. package/dist/keepers/terminal/node_modules/node-pty/lib/worker/conoutSocketWorker.js +22 -0
  62. package/dist/keepers/terminal/node_modules/node-pty/package.json +66 -0
  63. package/dist/keepers/terminal/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
  64. package/dist/keepers/terminal/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
  65. package/dist/keepers/terminal/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
  66. package/dist/keepers/terminal/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
  67. package/dist/keepers/terminal/node_modules/node-pty/prebuilds/linux-arm64/pty.node +0 -0
  68. package/dist/keepers/terminal/node_modules/node-pty/prebuilds/linux-x64/pty.node +0 -0
  69. package/dist/mcp.js +32 -14
  70. package/dist/runtime-deps/qoder-sdk/package-lock.json +1189 -0
  71. package/dist/runtime-deps/qoder-sdk/package.json +8 -0
  72. package/dist/test/keeperKit.js +67 -0
  73. package/dist/workstation/acp/acpAgents.js +2514 -681
  74. package/dist/workstation/acp/acpClient.js +95 -318
  75. package/dist/workstation/acp/activityBusy.js +43 -0
  76. package/dist/workstation/acp/activityReporting.js +54 -0
  77. package/dist/workstation/acp/adoption.js +28 -356
  78. package/dist/workstation/acp/authUrlSniffer.js +36 -0
  79. package/dist/workstation/acp/binaryInstall.js +100 -27
  80. package/dist/workstation/acp/builds/gc.js +245 -0
  81. package/dist/workstation/acp/builds/install/binary.js +28 -0
  82. package/dist/workstation/acp/builds/install/npm.js +235 -0
  83. package/dist/workstation/acp/builds/install/uv.js +254 -0
  84. package/dist/workstation/acp/builds/migrate.js +195 -0
  85. package/dist/workstation/acp/builds/model.js +128 -0
  86. package/dist/workstation/acp/builds/nodeGate.js +100 -0
  87. package/dist/workstation/acp/builds/store.js +352 -0
  88. package/dist/workstation/acp/commandTableProbe.js +68 -0
  89. package/dist/workstation/acp/configOptions.js +103 -1
  90. package/dist/workstation/acp/delegationMcp.js +24 -0
  91. package/dist/workstation/acp/envSecrets.js +27 -0
  92. package/dist/workstation/acp/initializeResponse.js +285 -0
  93. package/dist/workstation/acp/installErrors.js +12 -2
  94. package/dist/workstation/acp/installProbe.js +1 -1
  95. package/dist/workstation/acp/managedPatches.js +144 -0
  96. package/dist/workstation/acp/outbox.js +330 -0
  97. package/dist/workstation/acp/patchAssets.js +80 -0
  98. package/dist/workstation/acp/permission.js +335 -37
  99. package/dist/workstation/acp/processor/checkpoint.js +87 -0
  100. package/dist/workstation/acp/processor/commands.js +35 -0
  101. package/dist/workstation/acp/processor/control.js +355 -0
  102. package/dist/workstation/acp/processor/emit.js +26 -0
  103. package/dist/workstation/acp/processor/jsonrpc.js +172 -0
  104. package/dist/workstation/acp/processor/memoryLog.js +49 -0
  105. package/dist/workstation/acp/processor/origins.js +48 -0
  106. package/dist/workstation/acp/processor/output.js +67 -0
  107. package/dist/workstation/acp/processor/projection.js +42 -0
  108. package/dist/workstation/acp/processor/record.js +128 -0
  109. package/dist/workstation/acp/processor/runtime.js +181 -0
  110. package/dist/workstation/acp/processor/sdkSchemas.js +61 -0
  111. package/dist/workstation/acp/processor/session.js +525 -0
  112. package/dist/workstation/acp/processor/sideChannel.js +80 -0
  113. package/dist/workstation/acp/processor/state.js +74 -0
  114. package/dist/workstation/acp/processor/step.js +459 -0
  115. package/dist/workstation/acp/processor/test/fixtureLog.js +65 -0
  116. package/dist/workstation/acp/processor/test/harness.js +120 -0
  117. package/dist/workstation/acp/processor/test/largeIdEcho.js +50 -0
  118. package/dist/workstation/acp/processor/test/rawAgent.js +70 -0
  119. package/dist/workstation/acp/processor/transport/generations.js +76 -0
  120. package/dist/workstation/acp/processor/transport/keeper.js +130 -0
  121. package/dist/workstation/acp/processor/transport/local.js +269 -0
  122. package/dist/workstation/acp/processor/transport/types.js +78 -0
  123. package/dist/workstation/acp/processor/updates.js +364 -0
  124. package/dist/workstation/acp/processorSession.js +1512 -0
  125. package/dist/workstation/acp/qoderStartup.js +45 -0
  126. package/dist/workstation/acp/registry/catalog.js +385 -4
  127. package/dist/workstation/acp/registry/detect.js +55 -0
  128. package/dist/workstation/acp/registry/launch.js +61 -119
  129. package/dist/workstation/acp/sessionUpdateMapper.js +56 -27
  130. package/dist/workstation/acp/steering.js +58 -0
  131. package/dist/workstation/acp/switching.js +114 -0
  132. package/dist/workstation/acp/terminalLogin.js +171 -0
  133. package/dist/workstation/acp/terminalLoginSpec.js +41 -0
  134. package/dist/workstation/acp/test/adapterFixtures.js +256 -0
  135. package/dist/workstation/acp/test/daemonLife.js +106 -0
  136. package/dist/workstation/acp/test/fakeAgent.js +185 -9
  137. package/dist/workstation/acp/test/keeperWorld.js +267 -0
  138. package/dist/workstation/acp/test/memoryOutbox.js +55 -0
  139. package/dist/workstation/acp/test/raw/fixtures.js +196 -0
  140. package/dist/workstation/acp/test/raw/qoderCaptures.js +125 -0
  141. package/dist/workstation/acp/test/raw/sanitize.js +344 -0
  142. package/dist/workstation/acp/test/raw/sources.js +249 -0
  143. package/dist/workstation/acp/test/realAdapter.js +377 -0
  144. package/dist/workstation/acp/test/scriptAgent.js +206 -0
  145. package/dist/workstation/acp/test/sessionFrames.js +42 -0
  146. package/dist/workstation/acp/timedCommand.js +4 -2
  147. package/dist/workstation/acp/uvxInstall.js +72 -122
  148. package/dist/workstation/acp/validate.js +33 -5
  149. package/dist/workstation/agentFlow.js +103 -0
  150. package/dist/workstation/agentSessions.js +1686 -348
  151. package/dist/workstation/channels/agent.js +14 -6
  152. package/dist/workstation/channels/computer.js +203 -7
  153. package/dist/workstation/channels/computerExecs.js +200 -0
  154. package/dist/workstation/channels/management.js +86 -6
  155. package/dist/workstation/config.js +3 -1
  156. package/dist/workstation/connection/encryptedChannel.js +88 -21
  157. package/dist/workstation/daemon.js +309 -6
  158. package/dist/workstation/daemonctl.js +28 -2
  159. package/dist/workstation/desktop/binding.js +36 -0
  160. package/dist/workstation/desktop/bridge.js +212 -0
  161. package/dist/workstation/desktop/flow-control.js +52 -0
  162. package/dist/workstation/desktop/focused-text.js +130 -0
  163. package/dist/workstation/desktop/protocol.js +35 -0
  164. package/dist/workstation/exec/attach.js +126 -0
  165. package/dist/workstation/exec/command.js +40 -0
  166. package/dist/workstation/exec/durable.js +517 -0
  167. package/dist/workstation/exec/fallback.js +106 -0
  168. package/dist/workstation/exec/policy.js +837 -0
  169. package/dist/workstation/exec/shaping.js +211 -0
  170. package/dist/workstation/exec.js +3 -112
  171. package/dist/workstation/files/adapters/computerFileFrames.js +51 -0
  172. package/dist/workstation/files/adapters/toolRequests.js +121 -0
  173. package/dist/workstation/files/client.js +455 -0
  174. package/dist/workstation/files/errors.js +28 -0
  175. package/dist/workstation/files/fence.js +350 -0
  176. package/dist/workstation/files/find/fileIndex.js +153 -0
  177. package/dist/workstation/files/find/fuzzy.js +155 -0
  178. package/dist/workstation/files/host.js +122 -0
  179. package/dist/workstation/files/hostProtocol.js +2 -0
  180. package/dist/workstation/files/media/cache.js +620 -0
  181. package/dist/workstation/files/media/encoding.js +308 -0
  182. package/dist/workstation/files/media/estimator.js +100 -0
  183. package/dist/workstation/files/media/media.js +325 -0
  184. package/dist/workstation/files/media/packedAudio.js +23 -0
  185. package/dist/workstation/files/media/scheduler.js +551 -0
  186. package/dist/workstation/files/media/types.js +5 -0
  187. package/dist/workstation/files/scope.js +45 -0
  188. package/dist/workstation/files/structured.js +284 -0
  189. package/dist/workstation/files/text.js +356 -0
  190. package/dist/workstation/files/uploads.js +351 -0
  191. package/dist/workstation/journal.js +65 -236
  192. package/dist/workstation/keepers/acp/client.js +101 -0
  193. package/dist/workstation/keepers/acp/envelope.js +62 -0
  194. package/dist/workstation/keepers/acp/host.js +419 -0
  195. package/dist/workstation/keepers/acp/main.js +18 -0
  196. package/dist/workstation/keepers/acp/memoryStream.js +121 -0
  197. package/dist/workstation/keepers/acp/params.js +137 -0
  198. package/dist/workstation/keepers/acp/protocol.js +66 -0
  199. package/dist/workstation/keepers/acp/recover.js +120 -0
  200. package/dist/workstation/keepers/acp/session.js +584 -0
  201. package/dist/workstation/keepers/acp/stderr.js +154 -0
  202. package/dist/workstation/keepers/kit/activity.js +103 -0
  203. package/dist/workstation/keepers/kit/bootstrap.js +164 -0
  204. package/dist/workstation/keepers/kit/buildVersion.js +51 -0
  205. package/dist/workstation/keepers/kit/bundle.js +120 -0
  206. package/dist/workstation/keepers/kit/client.js +432 -0
  207. package/dist/workstation/keepers/kit/identity.js +21 -0
  208. package/dist/workstation/keepers/kit/ipc.js +112 -0
  209. package/dist/workstation/keepers/kit/launchConfig.js +8 -0
  210. package/dist/workstation/keepers/kit/launcher.js +249 -0
  211. package/dist/workstation/keepers/kit/lock.js +123 -0
  212. package/dist/workstation/keepers/kit/orphanSweep.js +86 -0
  213. package/dist/workstation/keepers/kit/paths.js +75 -0
  214. package/dist/workstation/keepers/kit/protocol.js +43 -0
  215. package/dist/workstation/keepers/kit/server.js +518 -0
  216. package/dist/workstation/keepers/kit/streamLog.js +697 -0
  217. package/dist/workstation/keepers/legacy.js +296 -0
  218. package/dist/workstation/keepers/policy.js +576 -0
  219. package/dist/workstation/keepers/stop.js +34 -0
  220. package/dist/workstation/keepers/terminal/client.js +213 -0
  221. package/dist/workstation/keepers/terminal/exec.js +981 -0
  222. package/dist/workstation/keepers/terminal/generations.js +129 -0
  223. package/dist/workstation/keepers/terminal/keeper.js +62 -0
  224. package/dist/workstation/keepers/terminal/main.js +43 -0
  225. package/dist/workstation/keepers/terminal/orphanSweep.js +3 -0
  226. package/dist/workstation/keepers/terminal/params.js +27 -0
  227. package/dist/workstation/keepers/terminal/protocol.js +56 -0
  228. package/dist/workstation/keepers/terminal/pty.js +330 -0
  229. package/dist/workstation/oauth/deviceAuthorization.js +21 -12
  230. package/dist/workstation/protocol/accountLimits.js +47 -0
  231. package/dist/workstation/protocol/agent.js +201 -8
  232. package/dist/workstation/protocol/common.js +36 -0
  233. package/dist/workstation/protocol/computer.js +107 -7
  234. package/dist/workstation/protocol/management.js +50 -2
  235. package/dist/workstation/qoderAdapter/backgroundProcess.js +118 -0
  236. package/dist/workstation/qoderAdapter/backgroundTerminal.js +193 -0
  237. package/dist/workstation/qoderAdapter/backgroundTerminalFold.js +372 -0
  238. package/dist/workstation/qoderAdapter/callbackContext.js +76 -0
  239. package/dist/workstation/qoderAdapter/completedContinuation.js +139 -0
  240. package/dist/workstation/qoderAdapter/contract.js +78 -0
  241. package/dist/workstation/qoderAdapter/foregroundOutput.js +36 -0
  242. package/dist/workstation/qoderAdapter/history.js +85 -0
  243. package/dist/workstation/qoderAdapter/identityIndex.js +191 -0
  244. package/dist/workstation/qoderAdapter/inputQueue.js +42 -0
  245. package/dist/workstation/qoderAdapter/main.js +95 -0
  246. package/dist/workstation/qoderAdapter/mapper.js +117 -0
  247. package/dist/workstation/qoderAdapter/observerPlugin.js +245 -0
  248. package/dist/workstation/qoderAdapter/observerReceiver.js +187 -0
  249. package/dist/workstation/qoderAdapter/permissions.js +61 -0
  250. package/dist/workstation/qoderAdapter/profile.js +93 -0
  251. package/dist/workstation/qoderAdapter/sdkDriver.js +48 -0
  252. package/dist/workstation/qoderAdapter/sdkRuntime.js +93 -0
  253. package/dist/workstation/qoderAdapter/sdkRuntimeInstall.js +145 -0
  254. package/dist/workstation/qoderAdapter/session.js +319 -0
  255. package/dist/workstation/qoderAdapter/subagentMeta.js +28 -0
  256. package/dist/workstation/qoderAdapter/subwork.js +85 -0
  257. package/dist/workstation/qoderAdapter/taskControl.js +38 -0
  258. package/dist/workstation/qoderAdapter/taskLedger.js +163 -0
  259. package/dist/workstation/qoderAdapter/types.js +1 -0
  260. package/dist/workstation/qoderAdapter/usage.js +37 -0
  261. package/dist/workstation/register.js +4 -0
  262. package/dist/workstation/systemMetrics.js +110 -1
  263. package/dist/workstation/tools/browser.js +394 -0
  264. package/dist/workstation/tools/client.js +277 -0
  265. package/dist/workstation/tools/info.js +50 -0
  266. package/dist/workstation/tools/keeperProcess.js +124 -0
  267. package/dist/workstation/tools/router.js +55 -0
  268. package/dist/workstation/tools/terminalRouter.js +222 -0
  269. package/dist/workstation/tools/validation.js +86 -0
  270. package/dist/workstation/update/coordinator.js +32 -0
  271. package/dist/workstation/update/npmInstaller.js +2 -0
  272. package/dist/workstation/update/ptyPreflight.js +45 -0
  273. package/dist/workstation/update/taskRegistry.js +141 -23
  274. package/dist/workstation/update/watchdog.js +66 -0
  275. package/package.json +20 -7
  276. package/skills/axom/SKILL.md +55 -17
  277. package/skills/axom-definition/SKILL.md +32 -32
  278. package/skills/axom-platform/SKILL.md +39 -39
  279. package/dist/workstation/acp/acpSession.js +0 -1047
  280. package/dist/workstation/acp/contract.js +0 -494
  281. package/dist/workstation/acp/draftInterceptor.js +0 -154
@@ -20,9 +20,9 @@ export async function executeAction(options) {
20
20
  if (parts.length === 3) {
21
21
  const [applicationName, modelName, operationName] = parts;
22
22
  printOutcome(
23
- // 同步是 axom__*__execute 的固有语义;awaitResult 参数已随 InvocationMode 重构移除,
23
+ // 同步是 axom__execute__run_* 的固有语义;awaitResult 参数已随 InvocationMode 重构移除,
24
24
  // 继续传会被工具的封闭 inputSchema 直接拒掉。
25
- await callAxomTool(server, 'axom__operation__execute', {
25
+ await callAxomTool(server, 'axom__execute__run_operation', {
26
26
  applicationName,
27
27
  modelName,
28
28
  operationName,
@@ -32,9 +32,9 @@ export async function executeAction(options) {
32
32
  }
33
33
  if (parts.length === 2) {
34
34
  const [applicationName, serviceName] = parts;
35
- printOutcome(await callAxomTool(server, 'axom__service__execute', { applicationName, serviceName, input }));
35
+ printOutcome(await callAxomTool(server, 'axom__execute__run_service', { applicationName, serviceName, input }));
36
36
  return;
37
37
  }
38
38
  const [serviceName] = parts;
39
- printOutcome(await callAxomTool(server, 'axom__service__execute', { serviceName, input }));
39
+ printOutcome(await callAxomTool(server, 'axom__execute__run_service', { serviceName, input }));
40
40
  }
@@ -45,24 +45,24 @@ export function registerRecordCommands(program) {
45
45
  export async function recordGetAction(options) {
46
46
  const server = await resolveActionServer(options.server);
47
47
  const [applicationName, modelName] = splitPath(options.path, 2, '<app>/<model>');
48
- printOutcome(await callAxomTool(server, 'axom__record__get', { applicationName, modelName, id: options.id }));
48
+ printOutcome(await callAxomTool(server, 'axom__record_query__get_record', { applicationName, modelName, id: options.id }));
49
49
  }
50
50
  export async function recordCreateAction(options) {
51
51
  const server = await resolveActionServer(options.server);
52
52
  const [applicationName, modelName] = splitPath(options.path, 2, '<app>/<model>');
53
53
  const record = parseJsonArg(options.json, 'record', recordExample);
54
- printOutcome(await callAxomTool(server, 'axom__record__create', { applicationName, modelName, record }));
54
+ printOutcome(await callAxomTool(server, 'axom__record_write__create_record', { applicationName, modelName, record }));
55
55
  }
56
56
  export async function recordUpdateAction(options) {
57
57
  const server = await resolveActionServer(options.server);
58
58
  const [applicationName, modelName] = splitPath(options.path, 2, '<app>/<model>');
59
59
  const changes = parseJsonArg(options.json, 'record update changes', recordExample);
60
- printOutcome(await callAxomTool(server, 'axom__record__update', { applicationName, modelName, id: options.id, changes }));
60
+ printOutcome(await callAxomTool(server, 'axom__record_write__update_record', { applicationName, modelName, id: options.id, changes }));
61
61
  }
62
62
  export async function recordUpsertAction(options) {
63
63
  const server = await resolveActionServer(options.server);
64
64
  const record = parseJsonArg(options.record, 'record', recordExample);
65
- printOutcome(await callAxomTool(server, 'axom__record__upsert', {
65
+ printOutcome(await callAxomTool(server, 'axom__record_write__upsert_record', {
66
66
  applicationName: options.applicationName,
67
67
  modelName: options.modelName,
68
68
  identityField: options.identityField,
@@ -72,7 +72,7 @@ export async function recordUpsertAction(options) {
72
72
  export async function recordDeleteAction(options) {
73
73
  const server = await resolveActionServer(options.server);
74
74
  const [applicationName, modelName] = splitPath(options.path, 2, '<app>/<model>');
75
- printOutcome(await callAxomTool(server, 'axom__record__delete', { applicationName, modelName, id: options.id }));
75
+ printOutcome(await callAxomTool(server, 'axom__record_write__delete_record', { applicationName, modelName, id: options.id }));
76
76
  }
77
77
  export async function recordQueryAction(options) {
78
78
  const server = await resolveActionServer(options.server);
@@ -92,7 +92,7 @@ export async function recordQueryAction(options) {
92
92
  args.criteria = queryCriteria;
93
93
  if ('page' in criteria)
94
94
  args.page = criteria.page;
95
- printOutcome(await callAxomTool(server, 'axom__record__query', args));
95
+ printOutcome(await callAxomTool(server, 'axom__record_query__query_records', args));
96
96
  }
97
97
  async function resolveActionServer(server) {
98
98
  return resolveServer(await loadConfig(), server);
@@ -23,22 +23,22 @@ export async function structListAction(options) {
23
23
  if (options.target !== undefined) {
24
24
  throw new UsageError('Expected axom struct list app with no target.');
25
25
  }
26
- printOutcome(await callAxomTool(server, 'axom__struct__list_applications', {}));
26
+ printOutcome(await callAxomTool(server, 'axom__app_struct__list_applications', {}));
27
27
  return;
28
28
  }
29
29
  const [applicationName] = splitPath(options.target ?? '', 1, '<applicationName>');
30
- printOutcome(await callAxomTool(server, 'axom__struct__list_models', { applicationName }));
30
+ printOutcome(await callAxomTool(server, 'axom__app_struct__list_models', { applicationName }));
31
31
  }
32
32
  export async function structGetAction(options) {
33
33
  const server = await resolveActionServer(options.server);
34
34
  const kind = requireStructKind(options.kind);
35
35
  if (kind === 'app') {
36
36
  const [applicationName] = splitPath(options.target ?? '', 1, '<applicationName>');
37
- printOutcome(await callAxomTool(server, 'axom__struct__get_application', { applicationName }));
37
+ printOutcome(await callAxomTool(server, 'axom__app_struct__get_application', { applicationName }));
38
38
  return;
39
39
  }
40
40
  const [applicationName, modelName] = splitPath(options.target ?? '', 2, '<applicationName>/<modelName>');
41
- printOutcome(await callAxomTool(server, 'axom__struct__get_model', { applicationName, modelName }));
41
+ printOutcome(await callAxomTool(server, 'axom__app_struct__get_model', { applicationName, modelName }));
42
42
  }
43
43
  async function resolveActionServer(server) {
44
44
  return resolveServer(await loadConfig(), server);
@@ -54,8 +54,8 @@ async function ensureRegistered(deps, serverFlag, nameFlag) {
54
54
  * that runs in `/workspace` — a container is precisely where this product runs untrusted code. What
55
55
  * would leak is not the workstation's own key pair (scoped to one workstation, on disk) but a
56
56
  * credential that authenticates *as the user*: it can register further workstations under their
57
- * account and, with the `mcp` scope, call every MCP tool as them, until somebody notices and revokes
58
- * it. Fixed once here rather than filtered at each of the two spawn sites, so the next spawn site
57
+ * account and, with business scopes, call granted MCP tools as them, until somebody notices and
58
+ * revokes it. Fixed once here rather than filtered at each of the two spawn sites, so the next spawn site
59
59
  * inherits the fix instead of having to remember it.
60
60
  *
61
61
  * Nothing after this point needs the value. The daemon authenticates with the file credential
@@ -168,8 +168,8 @@ async function refreshRequest(server, refreshToken) {
168
168
  }),
169
169
  });
170
170
  }
171
- export async function revokeRefreshToken(server, refreshToken) {
172
- await fetch(`${normalizedServer(server)}/oauth/revoke`, {
171
+ export async function revokeRefreshToken(server, refreshToken, fetch_ = globalThis.fetch) {
172
+ await fetch_(`${normalizedServer(server)}/oauth/revoke`, {
173
173
  method: 'POST',
174
174
  headers: { 'content-type': 'application/x-www-form-urlencoded' },
175
175
  body: new URLSearchParams({ token: refreshToken, token_type_hint: 'refresh_token', client_id: 'axom-cli' }),
@@ -8,8 +8,8 @@ Use the Axomwork MCP tools to answer this structural question about the platform
8
8
  $ARGUMENTS
9
9
 
10
10
  Workflow:
11
- 1. \`axom__struct__list_applications\` to see applications; \`axom__struct__get_application\` for one app's models and menus.
12
- 2. \`axom__struct__list_models\` / \`axom__struct__get_model\` for a model's attributes, operations, and display metadata.
11
+ 1. \`axom__app_struct__list_applications\` to see applications; \`axom__app_struct__get_application\` for one app's models and menus.
12
+ 2. \`axom__app_struct__list_models\` / \`axom__app_struct__get_model\` for a model's attributes, operations, and display metadata.
13
13
  3. Prefer read-only struct tools here; do not mutate anything from this command.
14
14
 
15
15
  For the underlying concepts (applications, models, attributes, references), load guide \`concepts/data-model/index.md\` with \`axom__guide__load\`.
@@ -23,10 +23,10 @@ Use the Axomwork MCP record tools to fulfil this request:
23
23
  $ARGUMENTS
24
24
 
25
25
  Workflow:
26
- 1. Discover structure first when unsure: \`axom__struct__get_model\` for attribute names and types.
27
- 2. Query with \`axom__record__query\` (filters/sorts/page criteria — for criteria syntax, load guide \`agent-integration/mcp/record-query-criteria.md\`).
28
- 3. Mutate with \`axom__record__create\` / \`axom__record__update\` / \`axom__record__upsert\` / \`axom__record__delete\`. Read the record first before updating; confirm with the user before deleting.
29
- 4. \`axom__record__upsert\` needs \`identityField\` and the identity value inside \`record\`.
26
+ 1. Discover structure first when unsure: \`axom__app_struct__get_model\` for attribute names and types.
27
+ 2. Query with \`axom__record_query__query_records\` (filters/sorts/page criteria — for criteria syntax, load guide \`agent-integration/mcp/record-query-criteria.md\`).
28
+ 3. Mutate with \`axom__record_write__create_record\` / \`axom__record_write__update_record\` / \`axom__record_write__upsert_record\` / \`axom__record_write__delete_record\`. Read the record first before updating; confirm with the user before deleting.
29
+ 4. \`axom__record_write__upsert_record\` needs \`identityField\` and the identity value inside \`record\`.
30
30
 
31
31
  For safe mutation patterns, load guide \`agent-integration/operating-patterns/safe-record-mutations.md\`.
32
32
  `,
@@ -39,18 +39,18 @@ Execute the requested Axomwork operation or service:
39
39
  $ARGUMENTS
40
40
 
41
41
  Workflow:
42
- 1. Find the operation on its model (\`axom__struct__get_model\`) or the service by name.
43
- 2. Call \`axom__operation__execute\` (applicationName/modelName/operationName/input) or \`axom__service__execute\` (serviceName/input).
42
+ 1. Find the operation on its model (\`axom__app_struct__get_model\`) or the service by name.
43
+ 2. Call \`axom__execute__run_operation\` (applicationName/modelName/operationName/input) or \`axom__execute__run_service\` (serviceName/input).
44
44
  3. Interpret the ExecuteResult payload: \`status\` (success/failure/running), \`message\`, \`text\`, \`returnValue\`, \`runId\`/\`runType\`, \`errors[]\` ({target,code,message}).
45
45
  4. When \`status\` is \`running\`, follow \`runId\` (see \`runType\`) until a terminal state before reporting the outcome.
46
46
 
47
47
  For sync-vs-job semantics load guide \`concepts/execution/synchronous-and-task-execution.md\`; for run following load guide \`agent-integration/operating-patterns/following-runs.md\`.
48
48
  `,
49
49
  definition: `---
50
- description: Develop Axomwork definitions — apps, models, attributes, operations, workflows (requires ADMIN)
50
+ description: Develop Axomwork definitions — apps, models, attributes, operations, workflows (requires app_studio scope and an admin account)
51
51
  ---
52
52
 
53
- You are editing Axomwork application definitions with the canonical \`axom__definition__*\` MCP tools (ADMIN token required).
53
+ You are editing Axomwork application definitions with the canonical \`axom__app_studio__*\` MCP tools (requires the \`app_studio\` scope and an administrator account).
54
54
 
55
55
  $ARGUMENTS
56
56
 
@@ -61,16 +61,16 @@ Rules:
61
61
  4. Confirm destructive definition deletes with the user first.
62
62
  `,
63
63
  platform: `---
64
- description: Operate Axomwork platform configuration — AI vendors/profiles, cowork agents, datasources, platform skills and settings (requires ADMIN)
64
+ description: Operate Axomwork platform configuration — AI providers/profiles, cowork agents, datasources, platform skills and settings (requires setting_platform scope and an admin account)
65
65
  ---
66
66
 
67
- You are operating Axomwork platform configuration with the canonical \`axom__platform__*\` MCP tools (skills, settings, AI vendors/profiles/memory, cowork agents, data sources; ADMIN token required).
67
+ You are operating Axomwork platform configuration with the canonical \`axom__setting_platform__*\` MCP tools (skills, settings, AI providers/profiles/memory, cowork agents, data sources; requires the \`setting_platform\` scope and an administrator account).
68
68
 
69
69
  $ARGUMENTS
70
70
 
71
71
  Rules:
72
72
  1. Read current configuration before editing; respect ETag guards where tools expose them.
73
- 2. For configuration semantics (AI vendors and profiles, cowork agents, datasources, platform skills and settings), load guide \`platform-operations/index.md\` first.
73
+ 2. For configuration semantics (AI providers and profiles, cowork agents, datasources, platform skills and settings), load guide \`platform-operations/index.md\` first.
74
74
  3. Confirm with the user before changes that can interrupt running workflows or agent sessions.
75
75
  `,
76
76
  guide: `---