@topolo/cli 0.13.19 → 0.13.21

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 (142) hide show
  1. package/agent-packs/README.md +421 -1
  2. package/agent-packs/docs/selected-artifacts.md +47 -0
  3. package/agent-packs/documentation/cloud-task-state.md +56 -0
  4. package/agent-packs/domain-contexts/README.md +25 -0
  5. package/agent-packs/domain-contexts/cicd.json +8 -0
  6. package/agent-packs/gui/feed-adapter.js +4 -0
  7. package/agent-packs/gui/index.html +9 -0
  8. package/agent-packs/gui/studio.css +14 -0
  9. package/agent-packs/gui/studio.js +121 -0
  10. package/agent-packs/gui/studio_server.py +355 -0
  11. package/agent-packs/roles/cicd/CLAUDE.md +24 -0
  12. package/agent-packs/specializations/cicd--cicd.json +5 -0
  13. package/agent-packs/specializations/cicd--pipeline-engineering.json +5 -0
  14. package/agent-packs/specializations/cicd--promotion-deployment.json +5 -0
  15. package/agent-packs/specializations/cicd--queue-recovery.json +5 -0
  16. package/agent-packs/specializations/cicd--release-verification.json +5 -0
  17. package/agent-packs/specializations/cicd--runner-capacity.json +5 -0
  18. package/agent-packs/specializations/intakes--engineering-02.json +5 -0
  19. package/agent-packs/specializations/intakes--engineering-03.json +5 -0
  20. package/agent-packs/specializations/intakes--engineering.json +5 -0
  21. package/agent-packs/specializations/intakes--operator-01.json +5 -0
  22. package/agent-packs/specializations/intakes--operator-02.json +5 -0
  23. package/agent-packs/specializations/operator-skills--audio-and-narration-specialist.json +5 -0
  24. package/agent-packs/specializations/operator-skills--brand-and-copywriting-specialist.json +5 -0
  25. package/agent-packs/specializations/operator-skills--capability-research-specialist.json +5 -0
  26. package/agent-packs/specializations/operator-skills--data-analysis-and-visualization.json +5 -0
  27. package/agent-packs/specializations/operator-skills--financial-evidence-specialist.json +5 -0
  28. package/agent-packs/specializations/operator-skills--operating-template-specialist.json +5 -0
  29. package/agent-packs/specializations/operator-skills--operator-skill-library.json +5 -0
  30. package/agent-packs/specializations/operator-skills--operator-skills.json +5 -0
  31. package/agent-packs/specializations/operator-skills--operator-workflow-evaluation.json +5 -0
  32. package/agent-packs/specializations/operator-skills--privacy-and-agreement-review.json +5 -0
  33. package/agent-packs/specializations/operator-skills--storytelling-specialist.json +5 -0
  34. package/agent-packs/specializations/operator-skills--ux-and-accessibility-specialist.json +5 -0
  35. package/agent-packs/specializations/operator-skills--video-production-specialist.json +5 -0
  36. package/agent-packs/specializations/operator-skills--visual-design-specialist.json +5 -0
  37. package/agent-packs/specializations/operator-skills--workflow-integration-specialist.json +5 -0
  38. package/agent-packs/specializations/operators--access-and-privacy.json +5 -0
  39. package/agent-packs/specializations/operators--accounting-evidence-review.json +5 -0
  40. package/agent-packs/specializations/operators--agreement-operations.json +5 -0
  41. package/agent-packs/specializations/operators--books-operator.json +5 -0
  42. package/agent-packs/specializations/operators--brand-operator.json +5 -0
  43. package/agent-packs/specializations/operators--commerce-operations.json +5 -0
  44. package/agent-packs/specializations/operators--communications-operator.json +5 -0
  45. package/agent-packs/specializations/operators--content-and-assets-operator.json +5 -0
  46. package/agent-packs/specializations/operators--customer-operations.json +5 -0
  47. package/agent-packs/specializations/operators--design-operator.json +5 -0
  48. package/agent-packs/specializations/operators--design-production-02.json +5 -0
  49. package/agent-packs/specializations/operators--design-production-03.json +5 -0
  50. package/agent-packs/specializations/operators--design-production-04.json +5 -0
  51. package/agent-packs/specializations/operators--device-and-feed-operator.json +5 -0
  52. package/agent-packs/specializations/operators--director-operator.json +5 -0
  53. package/agent-packs/specializations/operators--experience-review.json +5 -0
  54. package/agent-packs/specializations/operators--growth-operations.json +5 -0
  55. package/agent-packs/specializations/operators--learn-operator.json +5 -0
  56. package/agent-packs/specializations/operators--localization-operator.json +5 -0
  57. package/agent-packs/specializations/operators--operators.json +5 -0
  58. package/agent-packs/specializations/operators--pay-operator.json +5 -0
  59. package/agent-packs/specializations/operators--research-and-intelligence.json +5 -0
  60. package/agent-packs/specializations/operators--roadmap-operator.json +5 -0
  61. package/agent-packs/specializations/operators--social-content-operator.json +5 -0
  62. package/agent-packs/specializations/operators--talent-operations.json +5 -0
  63. package/agent-packs/specializations/operators--web-operator.json +5 -0
  64. package/agent-packs/specializations/operators--workflow-operator.json +5 -0
  65. package/agent-packs/specializations/specialists--adversarial-qa.json +5 -0
  66. package/agent-packs/specializations/specialists--backlog-dispatch.json +5 -0
  67. package/agent-packs/specializations/specialists--build-01.json +5 -0
  68. package/agent-packs/specializations/specialists--build-02.json +5 -0
  69. package/agent-packs/specializations/specialists--build-03.json +5 -0
  70. package/agent-packs/specializations/specialists--developer-environment-steward.json +5 -0
  71. package/agent-packs/specializations/specialists--documentation-knowledge-steward.json +5 -0
  72. package/agent-packs/specializations/specialists--execution-readiness.json +5 -0
  73. package/agent-packs/specializations/specialists--incident-triage.json +5 -0
  74. package/agent-packs/specializations/specialists--platform-package-steward.json +5 -0
  75. package/agent-packs/specializations/specialists--product-direction-01.json +5 -0
  76. package/agent-packs/specializations/specialists--product-direction-02.json +5 -0
  77. package/agent-packs/specializations/specialists--release-recovery.json +5 -0
  78. package/agent-packs/specializations/specialists--release-watch.json +5 -0
  79. package/agent-packs/specializations/specialists--roadmap-planning-01.json +5 -0
  80. package/agent-packs/specializations/specialists--roadmap-planning-02.json +5 -0
  81. package/agent-packs/specializations/specialists--security-permissions-review.json +5 -0
  82. package/agent-packs/specializations/specialists--system-architecture-01.json +5 -0
  83. package/agent-packs/specializations/specialists--system-architecture-02.json +5 -0
  84. package/agent-packs/specializations/specialists--translation.json +5 -0
  85. package/agent-packs/specializations/specialists--ux-consistency-review.json +5 -0
  86. package/agent-packs/specializations/specialists--workflow-improvement.json +5 -0
  87. package/agent-packs/specializations/specialists--worktree-retirement.json +5 -0
  88. package/agent-packs/src/topolo_agent_pack/cicd.py +101 -0
  89. package/agent-packs/src/topolo_agent_pack/claude.py +22 -7
  90. package/agent-packs/src/topolo_agent_pack/claude_activation.py +157 -0
  91. package/agent-packs/src/topolo_agent_pack/claude_completion_recovery.py +216 -0
  92. package/agent-packs/src/topolo_agent_pack/claude_desktop.py +181 -0
  93. package/agent-packs/src/topolo_agent_pack/claude_dispatch.py +240 -0
  94. package/agent-packs/src/topolo_agent_pack/claude_prompt.py +74 -0
  95. package/agent-packs/src/topolo_agent_pack/claude_runner.py +207 -0
  96. package/agent-packs/src/topolo_agent_pack/claude_service.py +397 -0
  97. package/agent-packs/src/topolo_agent_pack/cli.py +181 -16
  98. package/agent-packs/src/topolo_agent_pack/closed_ledger_fence.py +118 -0
  99. package/agent-packs/src/topolo_agent_pack/cloud_attach.py +128 -0
  100. package/agent-packs/src/topolo_agent_pack/cloud_cutover.py +134 -0
  101. package/agent-packs/src/topolo_agent_pack/cloud_delta.py +162 -0
  102. package/agent-packs/src/topolo_agent_pack/cloud_migrate.py +142 -0
  103. package/agent-packs/src/topolo_agent_pack/cloud_recovery.py +42 -0
  104. package/agent-packs/src/topolo_agent_pack/cloud_work.py +126 -0
  105. package/agent-packs/src/topolo_agent_pack/coordinator_activity.py +27 -0
  106. package/agent-packs/src/topolo_agent_pack/coordinator_context.py +91 -0
  107. package/agent-packs/src/topolo_agent_pack/coordinator_refresh.py +116 -0
  108. package/agent-packs/src/topolo_agent_pack/desktop_acceptance.py +45 -0
  109. package/agent-packs/src/topolo_agent_pack/desktop_launcher.py +114 -0
  110. package/agent-packs/src/topolo_agent_pack/domain_context.py +38 -0
  111. package/agent-packs/src/topolo_agent_pack/execution.py +103 -6
  112. package/agent-packs/src/topolo_agent_pack/frontdoor.py +23 -0
  113. package/agent-packs/src/topolo_agent_pack/linked_task_context.py +80 -0
  114. package/agent-packs/src/topolo_agent_pack/live.py +285 -18
  115. package/agent-packs/src/topolo_agent_pack/native.py +160 -4
  116. package/agent-packs/src/topolo_agent_pack/review_context.py +33 -0
  117. package/agent-packs/src/topolo_agent_pack/role_catalog.py +137 -0
  118. package/agent-packs/src/topolo_agent_pack/role_context.py +63 -0
  119. package/agent-packs/src/topolo_agent_pack/role_refresh.py +50 -0
  120. package/agent-packs/src/topolo_agent_pack/topolo.py +7 -1
  121. package/agent-packs/src/topolo_agent_pack/work.py +322 -0
  122. package/agent-packs/src/topolo_agent_pack/work_adoption.py +122 -0
  123. package/agent-packs/src/topolo_agent_pack/work_artifacts.py +84 -0
  124. package/agent-packs/src/topolo_agent_pack/work_context.py +77 -0
  125. package/agent-packs/src/topolo_agent_pack/work_gui.py +51 -0
  126. package/agent-packs/src/topolo_agent_pack/work_native.py +414 -0
  127. package/agent-packs/src/topolo_agent_pack/work_wait.py +151 -0
  128. package/agent-packs/templates/topolo-coordinators/AGENTS.md +7 -0
  129. package/agent-packs/templates/topolo-coordinators/agents/intakes/cicd/AGENTS.md +6 -0
  130. package/agent-packs/templates/topolo-coordinators/agents/intakes/cicd/config.json +4 -0
  131. package/agent-packs/templates/topolo-coordinators/agents/intakes/engineering/AGENTS.md +3 -0
  132. package/agent-packs/templates/topolo-coordinators/agents/intakes/engineering/config.json +4 -0
  133. package/agent-packs/templates/topolo-coordinators/agents/intakes/operator-01/AGENTS.md +3 -0
  134. package/agent-packs/templates/topolo-coordinators/agents/intakes/operator-01/config.json +4 -0
  135. package/agent-packs/templates/topolo-coordinators/pack.json +56 -0
  136. package/dist/chunk-NYDIAYVY.js +144 -0
  137. package/dist/{claude-pack-backend-YEVPAOID.js → chunk-UY5LEU5C.js} +1659 -21
  138. package/dist/claude-desktop-profile-JCQKSY3K.js +13 -0
  139. package/dist/claude-pack-activation-Q25MCEPU.js +506 -0
  140. package/dist/claude-pack-backend-HUTKGIDS.js +90 -0
  141. package/dist/index.js +89 -10
  142. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ function registerAgentPacksCommand(program2) {
36
36
  throw new Error("Exact closed smoke operation, role/case and UUID required.");
37
37
  const store = packs.opts().store ?? resolve(homedir(), "AgentPacks");
38
38
  if (options.harness === "claude") {
39
- const { operateClaudeSmoke } = await import("./claude-pack-backend-YEVPAOID.js");
39
+ const { operateClaudeSmoke } = await import("./claude-pack-backend-HUTKGIDS.js");
40
40
  console.log(JSON.stringify(await operateClaudeSmoke({
41
41
  store,
42
42
  kind: "smoke-" + operation,
@@ -64,9 +64,74 @@ function registerAgentPacksCommand(program2) {
64
64
  if (result.error) throw new Error("Python 3.11 or later is required for local packs.");
65
65
  if (result.status !== 0) process.exitCode = result.status ?? 2;
66
66
  });
67
- packs.command("configure").description("Qualify and configure an adopted Claude roster through its live native backend").argument("<pack>").option("--harness <name>", "Host adapter", "claude").requiredOption("--policy <path>", "Reviewed execution policy JSON").requiredOption("--endpoint <url>", "Explicit loopback main-process inspector endpoint, enabled separately with authorization").requiredOption("--pid <pid>", "Expected Claude main-process PID").option("--apply", "Apply native groups, pins, models, effort and permission modes; otherwise preflight only").action(async (pack, options) => {
67
+ packs.command("startup-settings").description("Apply coordinator pins, model and permissions using discovered native capabilities; separate from cloud activation").argument("<pack>").option("--policy <path>", "Reviewed policy, or new output path with --prepare").option("--allow-native-debugger-menu", "Explicit launcher-only consent for the exact owned main-debugger checkbox").option("--upgrade-control", "Upgrade only the exact idle native control; preserve coordinators, settings and task state").option("--finalize", "Finalize exact native coordinators only after independently reviewed cloud qualification").option("--startup-operation <uuid>", "Original acknowledged startup operation for finalization").option("--qualification-task <uuid>", "Completed cloud qualification task with archived native workers").option("--complete-startup", "Finish only acknowledged settings/control startup without replaying native input or pinning").option("--continue-launch <uuid>", "Continue an exact interrupted cold-launch phase without creating sessions or replaying input").option("--launch-desktop", "Launch or discover the exact owned signed-in Desktop profile before native startup").option("--desktop-profile <path>", "Existing owned Desktop user-data directory; never copied").option("--claude-config-dir <path>", "Existing owned SDK configuration/history directory; never copied").option("--continue-readiness", "Continue only the original acknowledged tool-free probes without resending existing input").option("--reconcile", "Reconcile only an interrupted tool-free coordinator bootstrap; never replay native input").option("--prepare", "Prepare exactly three coordinators and freshly verify approved organization policy before native startup").option("--endpoint <url>", "Explicit authorized loopback Claude main-process endpoint").option("--pid <pid>", "Expected Claude main-process PID").option("--previous-library <path>", "Existing private original coordinator adoption library, retired only after successor acknowledgement").option("--previous-connection <path>", "Explicit private owned Desktop task connection for a quiescent installation transfer").option("--apply", "Apply native startup settings; otherwise preflight only").action(async (pack, options) => {
68
+ const { configureClaudeStartup, recoverClaudeStartup, lockClaudeLibrary, completeClaudeStartup } = await import("./claude-pack-backend-HUTKGIDS.js");
69
+ if (options.continueLaunch) {
70
+ if (!options.launchDesktop || !options.apply || !options.policy || !options.endpoint || !options.pid || options.prepare || options.reconcile || options.continueReadiness || options.completeStartup || options.upgradeControl || options.finalize || options.previousConnection || options.previousLibrary || options.desktopProfile || options.claudeConfigDir || options.startupOperation || options.qualificationTask || options.allowNativeDebuggerMenu) throw Error("Cold continuation requires only exact pending operation, current PID/endpoint/policy, launch-desktop and apply.");
71
+ const { launchActivatedClaudePack } = await import("./claude-pack-activation-Q25MCEPU.js");
72
+ console.log(JSON.stringify(await launchActivatedClaudePack({ store: packs.opts().store ?? resolve(homedir(), "AgentPacks"), pack, policy: options.policy, continueLaunch: options.continueLaunch, endpoint: options.endpoint, pid: Number(options.pid) }), null, 2));
73
+ return;
74
+ }
75
+ if (options.upgradeControl) {
76
+ if (!options.apply || !options.policy || !options.endpoint || !options.pid || !options.startupOperation || options.qualificationTask || options.allowNativeDebuggerMenu || options.finalize || options.launchDesktop || options.prepare || options.reconcile || options.continueReadiness || options.completeStartup || options.previousConnection || options.previousLibrary || options.desktopProfile || options.claudeConfigDir) throw Error("Control upgrade requires only exact original startup and current endpoint/PID/policy/apply.");
77
+ const { upgradeClaudeControl } = await import("./claude-pack-activation-Q25MCEPU.js");
78
+ console.log(JSON.stringify(await upgradeClaudeControl({ store: packs.opts().store ?? resolve(homedir(), "AgentPacks"), pack, policy: options.policy, endpoint: options.endpoint, pid: Number(options.pid), startupOperation: options.startupOperation }), null, 2));
79
+ return;
80
+ }
81
+ if (options.finalize) {
82
+ if (!options.apply || !options.policy || !options.endpoint || !options.pid || !options.startupOperation || !options.qualificationTask || options.launchDesktop || options.prepare || options.reconcile || options.continueReadiness || options.completeStartup || options.previousConnection || options.previousLibrary || options.desktopProfile || options.claudeConfigDir) throw Error("Finalization requires only exact original startup/cloud qualification and current endpoint/PID/policy/apply.");
83
+ const { finalizeClaudePack } = await import("./claude-pack-activation-Q25MCEPU.js");
84
+ console.log(JSON.stringify(await finalizeClaudePack({ store: packs.opts().store ?? resolve(homedir(), "AgentPacks"), pack, policy: options.policy, endpoint: options.endpoint, pid: Number(options.pid), startupOperation: options.startupOperation, qualificationTask: options.qualificationTask, ...options.allowNativeDebuggerMenu ? { allowNativeDebuggerMenu: true } : {} }), null, 2));
85
+ return;
86
+ }
87
+ if (options.startupOperation || options.qualificationTask || options.allowNativeDebuggerMenu) throw Error("Startup/cloud qualification selectors apply only to finalization.");
88
+ if (options.launchDesktop) {
89
+ const root = packs.opts().store ?? resolve(homedir(), "AgentPacks");
90
+ if (existsSync(resolve(root, "claude/activation.json")) && options.apply) {
91
+ const receipt = JSON.parse(readFileSync(resolve(root, "claude/activation.json"), "utf8"));
92
+ if (options.desktopProfile && options.desktopProfile !== receipt.profile?.userData || options.claudeConfigDir && options.claudeConfigDir !== receipt.profile?.codeConfig) throw Error("Activated launch profile differs.");
93
+ if (!options.policy || options.endpoint || options.pid || options.prepare || options.reconcile || options.continueReadiness || options.completeStartup || options.previousLibrary || options.previousConnection) throw Error("Activated launch accepts only current policy and owned profile.");
94
+ const { launchActivatedClaudePack } = await import("./claude-pack-activation-Q25MCEPU.js");
95
+ console.log(JSON.stringify(await launchActivatedClaudePack({ store: root, pack, policy: options.policy }), null, 2));
96
+ return;
97
+ }
98
+ if (!options.policy || !options.desktopProfile || !options.claudeConfigDir || options.endpoint || options.pid || options.prepare || options.reconcile || options.continueReadiness || options.completeStartup || options.previousLibrary || options.previousConnection) throw Error("Managed launch requires only exact existing profile directories, policy and optional apply.");
99
+ const { launchClaudeDesktopProfile } = await import("./claude-desktop-profile-JCQKSY3K.js");
100
+ const release = await lockClaudeLibrary(root);
101
+ try {
102
+ console.log(JSON.stringify(launchClaudeDesktopProfile({ root, pack, policy: options.policy, userData: options.desktopProfile, codeConfig: options.claudeConfigDir, apply: options.apply === true }), null, 2));
103
+ } finally {
104
+ release();
105
+ }
106
+ return;
107
+ }
108
+ if (options.desktopProfile || options.claudeConfigDir || !options.endpoint || !options.pid) throw Error("Native startup requires exact endpoint/PID; profile paths are accepted only for managed launch.");
109
+ if (options.completeStartup) {
110
+ if (!options.apply || !options.policy || options.prepare || options.reconcile || options.continueReadiness || options.previousConnection) throw Error("Late startup completion requires only original policy/apply and existing previous-library proof.");
111
+ console.log(JSON.stringify(await completeClaudeStartup({ store: packs.opts().store ?? resolve(homedir(), "AgentPacks"), pack, policy: options.policy, endpoint: options.endpoint, pid: Number(options.pid), ...options.previousLibrary ? { previousLibrary: options.previousLibrary } : {} }), null, 2));
112
+ return;
113
+ }
114
+ if (options.reconcile) {
115
+ if (options.apply || options.prepare || options.policy || options.previousConnection || options.previousLibrary || options.continueReadiness) throw new Error("Startup reconciliation accepts no apply, preparation, policy or transfer effects.");
116
+ console.log(JSON.stringify(await recoverClaudeStartup({ store: packs.opts().store ?? resolve(homedir(), "AgentPacks"), pack, endpoint: options.endpoint, pid: Number(options.pid) }), null, 2));
117
+ return;
118
+ }
119
+ console.log(JSON.stringify(await configureClaudeStartup({
120
+ store: packs.opts().store ?? resolve(homedir(), "AgentPacks"),
121
+ pack,
122
+ policy: options.policy,
123
+ endpoint: options.endpoint,
124
+ pid: Number(options.pid),
125
+ apply: options.apply === true,
126
+ ...options.previousConnection ? { previousConnection: options.previousConnection } : {},
127
+ ...options.previousLibrary ? { previousLibrary: options.previousLibrary } : {},
128
+ ...options.prepare ? { prepare: true } : {},
129
+ ...options.continueReadiness ? { continueReadiness: true } : {}
130
+ }), null, 2));
131
+ });
132
+ packs.command("configure").description("Configure Claude coordinator startup settings through discovered native capabilities; cloud activation is separate").argument("<pack>").option("--harness <name>", "Host adapter", "claude").requiredOption("--policy <path>", "Reviewed execution policy JSON").requiredOption("--endpoint <url>", "Explicit loopback main-process inspector endpoint, enabled separately with authorization").requiredOption("--pid <pid>", "Expected Claude main-process PID").option("--apply", "Apply native groups, pins, models, effort and permission modes; otherwise preflight only").action(async (pack, options) => {
68
133
  if (options.harness !== "claude") throw new Error("Native configure is currently qualified only for Claude Desktop.");
69
- const { configureClaudePack } = await import("./claude-pack-backend-YEVPAOID.js");
134
+ const { configureClaudePack } = await import("./claude-pack-backend-HUTKGIDS.js");
70
135
  const result = await configureClaudePack({
71
136
  store: packs.opts().store ?? resolve(homedir(), "AgentPacks"),
72
137
  pack,
@@ -90,9 +155,23 @@ function registerAgentPacksCommand(program2) {
90
155
  "recover",
91
156
  "doctor",
92
157
  "open",
158
+ "desktop-launcher",
93
159
  "policy",
94
160
  "permissions",
95
161
  "lane",
162
+ "work",
163
+ "work-recover",
164
+ "work-install",
165
+ "work-bind-roles",
166
+ "work-cloud-attach",
167
+ "work-cloud-migrate",
168
+ "work-renew-coordinators",
169
+ "work-recover-claude-completion",
170
+ "work-repair-model-ceilings",
171
+ "work-closed-ledger-fence",
172
+ "work-cloud-cutover",
173
+ "work-cloud-prepare-delta",
174
+ "work-refresh-role-refs",
96
175
  "approvals",
97
176
  "remote-recover",
98
177
  "connect",
@@ -114,7 +193,7 @@ function registerAgentPacksCommand(program2) {
114
193
  throw new Error("Closed existing Claude lane control operation required.");
115
194
  const input3 = options.input ? JSON.parse(readFileSync(options.input, "utf8")) : {};
116
195
  if (!input3 || typeof input3 !== "object" || Array.isArray(input3) || Object.keys(input3).some((k) => k !== "operationId")) throw new Error("Only an exact bootstrap/fixture operation UUID may be supplied.");
117
- const { operateClaudeLaneControl } = await import("./claude-pack-backend-YEVPAOID.js");
196
+ const { operateClaudeLaneControl } = await import("./claude-pack-backend-HUTKGIDS.js");
118
197
  console.log(JSON.stringify(await operateClaudeLaneControl({
119
198
  store: packs.opts().store ?? resolve(homedir(), "AgentPacks"),
120
199
  connection: options.connection,
@@ -126,7 +205,7 @@ function registerAgentPacksCommand(program2) {
126
205
  throw new Error("Closed Claude lane operation requires --input, --pack, --policy, --endpoint and --pid.");
127
206
  const input2 = JSON.parse(readFileSync(options.input, "utf8"));
128
207
  if (!input2 || typeof input2 !== "object" || Array.isArray(input2)) throw new Error("Closed native lane input object required.");
129
- const { operateClaudeLane } = await import("./claude-pack-backend-YEVPAOID.js");
208
+ const { operateClaudeLane } = await import("./claude-pack-backend-HUTKGIDS.js");
130
209
  console.log(JSON.stringify(await operateClaudeLane({
131
210
  store: packs.opts().store ?? resolve(homedir(), "AgentPacks"),
132
211
  pack: options.pack,
@@ -152,7 +231,7 @@ function registerAgentPacksCommand(program2) {
152
231
  decision = response.decision;
153
232
  }
154
233
  if (options.connection) {
155
- const { operateClaudeLaneControl } = await import("./claude-pack-backend-YEVPAOID.js");
234
+ const { operateClaudeLaneControl } = await import("./claude-pack-backend-HUTKGIDS.js");
156
235
  console.log(JSON.stringify(await operateClaudeLaneControl({
157
236
  store: packs.opts().store ?? resolve(homedir(), "AgentPacks"),
158
237
  connection: options.connection,
@@ -164,7 +243,7 @@ function registerAgentPacksCommand(program2) {
164
243
  }), null, 2));
165
244
  return;
166
245
  }
167
- const { operateClaudeApprovals } = await import("./claude-pack-backend-YEVPAOID.js");
246
+ const { operateClaudeApprovals } = await import("./claude-pack-backend-HUTKGIDS.js");
168
247
  console.log(JSON.stringify(await operateClaudeApprovals({
169
248
  store: packs.opts().store ?? resolve(homedir(), "AgentPacks"),
170
249
  kind: args[0],
@@ -179,7 +258,7 @@ function registerAgentPacksCommand(program2) {
179
258
  if (name !== "lane" && (options.policy || options.endpoint || options.pid || options.apply)) {
180
259
  if (options.harness !== "claude" || !options.policy || !options.endpoint || !options.pid || args.length !== 1)
181
260
  throw new Error("Native switch/recovery requires one Claude pack, --policy, --endpoint and --pid.");
182
- const { configureClaudePack } = await import("./claude-pack-backend-YEVPAOID.js");
261
+ const { configureClaudePack } = await import("./claude-pack-backend-HUTKGIDS.js");
183
262
  const result2 = await configureClaudePack({
184
263
  store: packs.opts().store ?? resolve(homedir(), "AgentPacks"),
185
264
  pack: args[0],
@@ -229,7 +308,7 @@ import { Command, Help } from "commander";
229
308
  import { createInterface } from "readline/promises";
230
309
  import { stdin as input } from "process";
231
310
 
232
- // node_modules/.pnpm/@topolo+sdk@0.23.24/node_modules/@topolo/sdk/dist/index.js
311
+ // node_modules/@topolo/sdk/dist/index.js
233
312
  function record(value) {
234
313
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
235
314
  }
@@ -3958,7 +4037,7 @@ function tryOpenBrowser(url) {
3958
4037
  }
3959
4038
  }
3960
4039
 
3961
- // node_modules/.pnpm/@topolo+sdk@0.23.24/node_modules/@topolo/sdk/dist/node/credential-store.js
4040
+ // node_modules/@topolo/sdk/dist/node/credential-store.js
3962
4041
  import { mkdir as mkdir2, readFile as readFile2, chmod as chmod2, lstat, readdir as readdir2 } from "fs/promises";
3963
4042
  import { existsSync as existsSync2, mkdirSync, lstatSync, readdirSync, readFileSync as readFileSync2, openSync, writeFileSync, fsyncSync, closeSync, renameSync, unlinkSync, rmdirSync, linkSync } from "fs";
3964
4043
  import { createHash as createHash2, randomUUID as randomUUID2 } from "crypto";
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@topolo/cli",
3
3
  "packageManager": "pnpm@10.17.1",
4
- "version": "0.13.19",
5
- "topoloPublishedVersion": "0.13.19",
4
+ "version": "0.13.21",
5
+ "topoloPublishedVersion": "0.13.21",
6
6
  "description": "Public command-line interface for Topolo customer organizations, developers, and agents.",
7
7
  "license": "UNLICENSED",
8
8
  "author": "Topolo",
@@ -29,11 +29,11 @@
29
29
  "coverage": "pnpm run coverage:adapter:env && pnpm run coverage:node && pnpm run coverage:adapter",
30
30
  "coverage:node": "vitest run --coverage",
31
31
  "coverage:adapter:env": "python3 -m venv node_modules/.cache/agent-pack-test && node_modules/.cache/agent-pack-test/bin/python -m pip install --disable-pip-version-check --quiet --timeout 15 --retries 0 -r agent-packs/requirements-test.txt",
32
- "coverage:adapter": "pnpm run coverage:adapter:env && PYTHONPATH=agent-packs/src:agent-packs COVERAGE_FILE=node_modules/.cache/agent-pack-test/.coverage node_modules/.cache/agent-pack-test/bin/python -m coverage run --branch --source=topolo_agent_pack.topolo,topolo_agent_pack.claude,topolo_agent_pack.policy,topolo_agent_pack.permissions,topolo_agent_pack.approvals,topolo_agent_pack.execution,topolo_agent_pack.live,topolo_agent_pack.cli,topolo_agent_pack.lanes,topolo_agent_pack.task_models,topolo_agent_pack.throughput,topolo_agent_pack.fresh,coverage_changed -m unittest discover -s agent-packs/tests && COVERAGE_FILE=node_modules/.cache/agent-pack-test/.coverage node_modules/.cache/agent-pack-test/bin/python -m coverage report && COVERAGE_FILE=node_modules/.cache/agent-pack-test/.coverage node_modules/.cache/agent-pack-test/bin/python -m coverage report --include='*/topolo_agent_pack/topolo.py,*/topolo_agent_pack/claude.py,*/topolo_agent_pack/policy.py,*/topolo_agent_pack/permissions.py,*/topolo_agent_pack/approvals.py,*/topolo_agent_pack/execution.py,*/topolo_agent_pack/lanes.py,*/topolo_agent_pack/task_models.py,*/topolo_agent_pack/throughput.py,*/agent-packs/coverage_changed.py' --fail-under=100 && COVERAGE_FILE=node_modules/.cache/agent-pack-test/.coverage node_modules/.cache/agent-pack-test/bin/python -m coverage json -o node_modules/.cache/agent-pack-test/coverage.json && node_modules/.cache/agent-pack-test/bin/python agent-packs/coverage_changed.py"
32
+ "coverage:adapter": "pnpm run coverage:adapter:env && PYTHONPATH=agent-packs/src:agent-packs COVERAGE_FILE=node_modules/.cache/agent-pack-test/.coverage node_modules/.cache/agent-pack-test/bin/python -m coverage run --branch --source=topolo_agent_pack,coverage_changed -m unittest discover -s agent-packs/tests && COVERAGE_FILE=node_modules/.cache/agent-pack-test/.coverage node_modules/.cache/agent-pack-test/bin/python -m coverage report && COVERAGE_FILE=node_modules/.cache/agent-pack-test/.coverage node_modules/.cache/agent-pack-test/bin/python -m coverage report --include='*/topolo_agent_pack/topolo.py,*/topolo_agent_pack/claude.py,*/topolo_agent_pack/policy.py,*/topolo_agent_pack/permissions.py,*/topolo_agent_pack/approvals.py,*/topolo_agent_pack/execution.py,*/topolo_agent_pack/lanes.py,*/topolo_agent_pack/task_models.py,*/topolo_agent_pack/throughput.py,*/agent-packs/coverage_changed.py' --fail-under=100 && COVERAGE_FILE=node_modules/.cache/agent-pack-test/.coverage node_modules/.cache/agent-pack-test/bin/python -m coverage json -o node_modules/.cache/agent-pack-test/coverage.json && node_modules/.cache/agent-pack-test/bin/python agent-packs/coverage_changed.py"
33
33
  },
34
34
  "dependencies": {
35
35
  "@modelcontextprotocol/sdk": "1.31.0",
36
- "@topolo/mcp": "0.14.34",
36
+ "@topolo/mcp": "0.14.35",
37
37
  "@topolo/sdk": "0.23.24",
38
38
  "commander": "^12.1.0",
39
39
  "undici": "6.29.0"