opensip-cli 0.1.11 → 0.1.13

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 (195) hide show
  1. package/dist/bootstrap/artifact-seams.d.ts +7 -0
  2. package/dist/bootstrap/artifact-seams.d.ts.map +1 -0
  3. package/dist/bootstrap/artifact-seams.js +53 -0
  4. package/dist/bootstrap/artifact-seams.js.map +1 -0
  5. package/dist/bootstrap/atomic-artifact-write.d.ts +19 -0
  6. package/dist/bootstrap/atomic-artifact-write.d.ts.map +1 -0
  7. package/dist/bootstrap/atomic-artifact-write.js +68 -0
  8. package/dist/bootstrap/atomic-artifact-write.js.map +1 -0
  9. package/dist/bootstrap/baseline-seams.d.ts.map +1 -1
  10. package/dist/bootstrap/baseline-seams.js +79 -27
  11. package/dist/bootstrap/baseline-seams.js.map +1 -1
  12. package/dist/bootstrap/build-external-worker-child-env.d.ts +25 -0
  13. package/dist/bootstrap/build-external-worker-child-env.d.ts.map +1 -0
  14. package/dist/bootstrap/build-external-worker-child-env.js +71 -0
  15. package/dist/bootstrap/build-external-worker-child-env.js.map +1 -0
  16. package/dist/bootstrap/build-per-run-scope.js +1 -1
  17. package/dist/bootstrap/build-per-run-scope.js.map +1 -1
  18. package/dist/bootstrap/build-targets.d.ts.map +1 -1
  19. package/dist/bootstrap/build-targets.js +2 -7
  20. package/dist/bootstrap/build-targets.js.map +1 -1
  21. package/dist/bootstrap/config-and-capabilities.d.ts.map +1 -1
  22. package/dist/bootstrap/config-and-capabilities.js +15 -101
  23. package/dist/bootstrap/config-and-capabilities.js.map +1 -1
  24. package/dist/bootstrap/config-declarations.d.ts +23 -0
  25. package/dist/bootstrap/config-declarations.d.ts.map +1 -0
  26. package/dist/bootstrap/config-declarations.js +73 -0
  27. package/dist/bootstrap/config-declarations.js.map +1 -0
  28. package/dist/bootstrap/deliver-envelope.d.ts +4 -1
  29. package/dist/bootstrap/deliver-envelope.d.ts.map +1 -1
  30. package/dist/bootstrap/deliver-envelope.js +12 -5
  31. package/dist/bootstrap/deliver-envelope.js.map +1 -1
  32. package/dist/bootstrap/dispatch-fork-core.d.ts +1 -1
  33. package/dist/bootstrap/dispatch-fork-core.d.ts.map +1 -1
  34. package/dist/bootstrap/dispatch-fork-core.js +73 -75
  35. package/dist/bootstrap/dispatch-fork-core.js.map +1 -1
  36. package/dist/bootstrap/dispatch-host-rpc-handler.d.ts.map +1 -1
  37. package/dist/bootstrap/dispatch-host-rpc-handler.js +4 -0
  38. package/dist/bootstrap/dispatch-host-rpc-handler.js.map +1 -1
  39. package/dist/bootstrap/dispatch-replay-result.d.ts.map +1 -1
  40. package/dist/bootstrap/dispatch-replay-result.js +3 -0
  41. package/dist/bootstrap/dispatch-replay-result.js.map +1 -1
  42. package/dist/bootstrap/load-tool-capabilities.d.ts.map +1 -1
  43. package/dist/bootstrap/load-tool-capabilities.js +34 -3
  44. package/dist/bootstrap/load-tool-capabilities.js.map +1 -1
  45. package/dist/bootstrap/register-tools-discovery.d.ts.map +1 -1
  46. package/dist/bootstrap/register-tools-discovery.js +2 -0
  47. package/dist/bootstrap/register-tools-discovery.js.map +1 -1
  48. package/dist/bootstrap/report-failure.d.ts +28 -0
  49. package/dist/bootstrap/report-failure.d.ts.map +1 -0
  50. package/dist/bootstrap/report-failure.js +135 -0
  51. package/dist/bootstrap/report-failure.js.map +1 -0
  52. package/dist/bootstrap/run-plane.d.ts.map +1 -1
  53. package/dist/bootstrap/run-plane.js +1 -0
  54. package/dist/bootstrap/run-plane.js.map +1 -1
  55. package/dist/bootstrap/scope-access.d.ts +1 -1
  56. package/dist/bootstrap/scope-access.d.ts.map +1 -1
  57. package/dist/bootstrap/scope-access.js +7 -2
  58. package/dist/bootstrap/scope-access.js.map +1 -1
  59. package/dist/bootstrap/state-lock-policy.d.ts +19 -0
  60. package/dist/bootstrap/state-lock-policy.d.ts.map +1 -0
  61. package/dist/bootstrap/state-lock-policy.js +86 -0
  62. package/dist/bootstrap/state-lock-policy.js.map +1 -0
  63. package/dist/bootstrap/synthesize-external-tool.d.ts.map +1 -1
  64. package/dist/bootstrap/synthesize-external-tool.js +11 -1
  65. package/dist/bootstrap/synthesize-external-tool.js.map +1 -1
  66. package/dist/bootstrap/tool-command-dispatch-types.d.ts +23 -2
  67. package/dist/bootstrap/tool-command-dispatch-types.d.ts.map +1 -1
  68. package/dist/bootstrap/tool-command-worker-context.d.ts +4 -3
  69. package/dist/bootstrap/tool-command-worker-context.d.ts.map +1 -1
  70. package/dist/bootstrap/tool-command-worker-context.js +28 -4
  71. package/dist/bootstrap/tool-command-worker-context.js.map +1 -1
  72. package/dist/bootstrap/tool-command-worker-entry.d.ts.map +1 -1
  73. package/dist/bootstrap/tool-command-worker-entry.js +38 -31
  74. package/dist/bootstrap/tool-command-worker-entry.js.map +1 -1
  75. package/dist/bootstrap/tool-command-worker-result.d.ts +25 -0
  76. package/dist/bootstrap/tool-command-worker-result.d.ts.map +1 -0
  77. package/dist/bootstrap/tool-command-worker-result.js +60 -0
  78. package/dist/bootstrap/tool-command-worker-result.js.map +1 -0
  79. package/dist/bootstrap/tool-trust.d.ts +12 -0
  80. package/dist/bootstrap/tool-trust.d.ts.map +1 -1
  81. package/dist/bootstrap/tool-trust.js +29 -5
  82. package/dist/bootstrap/tool-trust.js.map +1 -1
  83. package/dist/cli-context.d.ts.map +1 -1
  84. package/dist/cli-context.js +22 -3
  85. package/dist/cli-context.js.map +1 -1
  86. package/dist/commands/agent-catalog.d.ts +8 -7
  87. package/dist/commands/agent-catalog.d.ts.map +1 -1
  88. package/dist/commands/agent-catalog.js +108 -60
  89. package/dist/commands/agent-catalog.js.map +1 -1
  90. package/dist/commands/completion.d.ts.map +1 -1
  91. package/dist/commands/completion.js +1 -0
  92. package/dist/commands/completion.js.map +1 -1
  93. package/dist/commands/config.d.ts +22 -0
  94. package/dist/commands/config.d.ts.map +1 -0
  95. package/dist/commands/config.js +135 -0
  96. package/dist/commands/config.js.map +1 -0
  97. package/dist/commands/host-command-specs.d.ts.map +1 -1
  98. package/dist/commands/host-command-specs.js +8 -4
  99. package/dist/commands/host-command-specs.js.map +1 -1
  100. package/dist/commands/host-subcommand-config.d.ts +7 -0
  101. package/dist/commands/host-subcommand-config.d.ts.map +1 -0
  102. package/dist/commands/host-subcommand-config.js +75 -0
  103. package/dist/commands/host-subcommand-config.js.map +1 -0
  104. package/dist/commands/host-subcommand-groups.d.ts.map +1 -1
  105. package/dist/commands/host-subcommand-groups.js +7 -1
  106. package/dist/commands/host-subcommand-groups.js.map +1 -1
  107. package/dist/commands/host-subcommand-plugins.d.ts.map +1 -1
  108. package/dist/commands/host-subcommand-plugins.js +11 -13
  109. package/dist/commands/host-subcommand-plugins.js.map +1 -1
  110. package/dist/commands/host-subcommand-sessions.d.ts.map +1 -1
  111. package/dist/commands/host-subcommand-sessions.js +3 -3
  112. package/dist/commands/host-subcommand-sessions.js.map +1 -1
  113. package/dist/commands/init/language-detection.d.ts.map +1 -1
  114. package/dist/commands/init/language-detection.js +3 -2
  115. package/dist/commands/init/language-detection.js.map +1 -1
  116. package/dist/commands/init/scaffold-writer.d.ts.map +1 -1
  117. package/dist/commands/init/scaffold-writer.js +0 -1
  118. package/dist/commands/init/scaffold-writer.js.map +1 -1
  119. package/dist/commands/init.d.ts +5 -4
  120. package/dist/commands/init.d.ts.map +1 -1
  121. package/dist/commands/init.js +5 -4
  122. package/dist/commands/init.js.map +1 -1
  123. package/dist/commands/mount-command-spec.d.ts +3 -1
  124. package/dist/commands/mount-command-spec.d.ts.map +1 -1
  125. package/dist/commands/mount-command-spec.js +27 -4
  126. package/dist/commands/mount-command-spec.js.map +1 -1
  127. package/dist/commands/plugin/config-edit.d.ts.map +1 -1
  128. package/dist/commands/plugin/config-edit.js +0 -1
  129. package/dist/commands/plugin/config-edit.js.map +1 -1
  130. package/dist/commands/plugin/host-dir.d.ts.map +1 -1
  131. package/dist/commands/plugin/host-dir.js +0 -1
  132. package/dist/commands/plugin/host-dir.js.map +1 -1
  133. package/dist/commands/shared.d.ts +5 -1
  134. package/dist/commands/shared.d.ts.map +1 -1
  135. package/dist/commands/tools/create-template-writer.d.ts +16 -0
  136. package/dist/commands/tools/create-template-writer.d.ts.map +1 -0
  137. package/dist/commands/tools/create-template-writer.js +39 -0
  138. package/dist/commands/tools/create-template-writer.js.map +1 -0
  139. package/dist/commands/tools/create-templates.d.ts +19 -0
  140. package/dist/commands/tools/create-templates.d.ts.map +1 -0
  141. package/dist/commands/tools/create-templates.js +228 -0
  142. package/dist/commands/tools/create-templates.js.map +1 -0
  143. package/dist/commands/tools/create.d.ts +4 -1
  144. package/dist/commands/tools/create.d.ts.map +1 -1
  145. package/dist/commands/tools/create.js +35 -50
  146. package/dist/commands/tools/create.js.map +1 -1
  147. package/dist/commands/tools/index.d.ts.map +1 -1
  148. package/dist/commands/tools/index.js +8 -0
  149. package/dist/commands/tools/index.js.map +1 -1
  150. package/dist/commands/tools/install.d.ts.map +1 -1
  151. package/dist/commands/tools/install.js +14 -1
  152. package/dist/commands/tools/install.js.map +1 -1
  153. package/dist/commands/tools/validate.d.ts.map +1 -1
  154. package/dist/commands/tools/validate.js +46 -5
  155. package/dist/commands/tools/validate.js.map +1 -1
  156. package/dist/commands/uninstall/targets.d.ts +1 -1
  157. package/dist/commands/uninstall/targets.d.ts.map +1 -1
  158. package/dist/commands/uninstall/targets.js +6 -14
  159. package/dist/commands/uninstall/targets.js.map +1 -1
  160. package/dist/env/host-env-specs.d.ts.map +1 -1
  161. package/dist/env/host-env-specs.js +63 -4
  162. package/dist/env/host-env-specs.js.map +1 -1
  163. package/dist/error-handler.d.ts.map +1 -1
  164. package/dist/error-handler.js +28 -6
  165. package/dist/error-handler.js.map +1 -1
  166. package/dist/format-bytes.d.ts +2 -0
  167. package/dist/format-bytes.d.ts.map +1 -0
  168. package/dist/format-bytes.js +10 -0
  169. package/dist/format-bytes.js.map +1 -0
  170. package/dist/index.js +2 -0
  171. package/dist/index.js.map +1 -1
  172. package/dist/report-compose.d.ts.map +1 -1
  173. package/dist/report-compose.js +21 -3
  174. package/dist/report-compose.js.map +1 -1
  175. package/dist/session-replay-registry.d.ts.map +1 -1
  176. package/dist/session-replay-registry.js +0 -1
  177. package/dist/session-replay-registry.js.map +1 -1
  178. package/dist/ui/result-to-view.d.ts.map +1 -1
  179. package/dist/ui/result-to-view.js +10 -1
  180. package/dist/ui/result-to-view.js.map +1 -1
  181. package/dist/ui/views/misc-views.d.ts +13 -0
  182. package/dist/ui/views/misc-views.d.ts.map +1 -1
  183. package/dist/ui/views/misc-views.js +54 -10
  184. package/dist/ui/views/misc-views.js.map +1 -1
  185. package/dist/ui/views/tools-views.d.ts.map +1 -1
  186. package/dist/ui/views/tools-views.js +8 -7
  187. package/dist/ui/views/tools-views.js.map +1 -1
  188. package/dist/update-notifier.d.ts +3 -0
  189. package/dist/update-notifier.d.ts.map +1 -1
  190. package/dist/update-notifier.js +3 -0
  191. package/dist/update-notifier.js.map +1 -1
  192. package/dist/update-state.d.ts.map +1 -1
  193. package/dist/update-state.js +0 -1
  194. package/dist/update-state.js.map +1 -1
  195. package/package.json +33 -33
@@ -1,50 +1,15 @@
1
- import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
1
+ import { randomUUID } from 'node:crypto';
2
2
  import { join } from 'node:path';
3
- import { PROJECT_LOCAL_MANIFEST_FILE, resolveProjectPaths } from '@opensip-cli/core';
4
- const TOOL_ID_PATTERN = /^[a-z][a-z0-9-]*$/;
5
- function manifestJson(toolId, commandName) {
6
- return `${JSON.stringify({
7
- kind: 'tool',
8
- id: toolId,
9
- name: toolId,
10
- version: '0.1.0',
11
- apiVersion: 1,
12
- main: './index.mjs',
13
- commands: [{ name: commandName, description: `Run ${toolId}` }],
14
- }, null, 2)}\n`;
15
- }
16
- function runtimeMjs(toolId, commandName) {
17
- // Dependency-free plain object: authored tools load via file URL and must not
18
- // require @opensip-cli/* packages in the consumer project node_modules.
19
- return `export const tool = {
20
- metadata: {
21
- id: '${toolId}',
22
- name: '${toolId}',
23
- version: '0.1.0',
24
- description: 'Project-local tool scaffolded by opensip tools create',
25
- },
26
- commandSpecs: [
27
- {
28
- name: '${commandName}',
29
- description: 'Run ${toolId}',
30
- commonFlags: ['json'],
31
- scope: 'none',
32
- output: 'command-result',
33
- handler: async () => ({
34
- type: 'text-lines',
35
- title: '${toolId}',
36
- lines: ['Your project-local tool is ready — allowlist it, then run opensip ${commandName}.'],
37
- }),
38
- },
39
- ],
40
- };
41
- `;
42
- }
3
+ import { resolveProjectPaths } from '@opensip-cli/core';
4
+ import { writeTemplateFiles } from './create-template-writer.js';
5
+ import { isToolsCreateTemplate, TOOLS_CREATE_TEMPLATE_RENDERERS, } from './create-templates.js';
6
+ export const TOOL_ID_PATTERN = /^[a-z][a-z0-9-]*$/;
43
7
  /**
44
- * Scaffold a minimal project-local Tool under `<project>/opensip-cli/tools/<id>/`.
8
+ * Scaffold a project-local Tool under `<project>/opensip-cli/tools/<id>/`.
45
9
  */
46
10
  export function toolsCreate(input) {
47
11
  const toolId = input.toolId.trim();
12
+ const template = input.template ?? 'minimal-js';
48
13
  if (!TOOL_ID_PATTERN.test(toolId)) {
49
14
  return {
50
15
  type: 'tools-create',
@@ -55,30 +20,50 @@ export function toolsCreate(input) {
55
20
  error: "tool id must be kebab-case (e.g. 'hello-tools')",
56
21
  };
57
22
  }
23
+ if (!isToolsCreateTemplate(template)) {
24
+ return {
25
+ type: 'tools-create',
26
+ toolId,
27
+ template,
28
+ dir: '',
29
+ files: [],
30
+ success: false,
31
+ error: `unknown template '${String(template)}' (choose minimal-js or ts-local)`,
32
+ };
33
+ }
58
34
  const commandName = toolId;
59
35
  const toolDir = join(resolveProjectPaths(input.projectRoot).authoredToolsDir, toolId);
60
- const manifestPath = join(toolDir, PROJECT_LOCAL_MANIFEST_FILE);
61
- const entryPath = join(toolDir, 'index.mjs');
62
- if (existsSync(toolDir) && !input.force) {
36
+ const stableId = randomUUID();
37
+ const rendered = TOOLS_CREATE_TEMPLATE_RENDERERS[template]({
38
+ toolId,
39
+ stableId,
40
+ commandName,
41
+ });
42
+ const writeResult = writeTemplateFiles({
43
+ toolDir,
44
+ files: rendered.files,
45
+ force: input.force,
46
+ });
47
+ if (!writeResult.success) {
63
48
  return {
64
49
  type: 'tools-create',
65
50
  toolId,
51
+ template,
66
52
  dir: toolDir,
67
53
  files: [],
68
54
  success: false,
69
- error: `directory already exists: ${toolDir} (pass --force to overwrite scaffold files)`,
55
+ error: writeResult.error,
70
56
  };
71
57
  }
72
- mkdirSync(toolDir, { recursive: true });
73
- writeFileSync(manifestPath, manifestJson(toolId, commandName), 'utf8');
74
- writeFileSync(entryPath, runtimeMjs(toolId, commandName), 'utf8');
75
58
  return {
76
59
  type: 'tools-create',
77
60
  toolId,
61
+ template,
78
62
  dir: toolDir,
79
- files: [manifestPath, entryPath],
63
+ files: writeResult.files,
80
64
  success: true,
81
65
  hint: `export OPENSIP_CLI_ALLOW_PROJECT_TOOLS='${toolId}'`,
66
+ nextSteps: rendered.nextSteps,
82
67
  };
83
68
  }
84
69
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/tools/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIrF,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAQ5C,SAAS,YAAY,CAAC,MAAc,EAAE,WAAmB;IACvD,OAAO,GAAG,IAAI,CAAC,SAAS,CACtB;QACE,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,CAAC;QACb,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,MAAM,EAAE,EAAE,CAAC;KAChE,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CAAC;AACR,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,WAAmB;IACrD,8EAA8E;IAC9E,wEAAwE;IACxE,OAAO;;WAEE,MAAM;aACJ,MAAM;;;;;;eAMJ,WAAW;0BACA,MAAM;;;;;;kBAMd,MAAM;qFAC6D,WAAW;;;;;CAK/F,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM;YACN,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,iDAAiD;SACzD,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACtF,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE7C,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM;YACN,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,6BAA6B,OAAO,6CAA6C;SACzF,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;IACvE,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;IAElE,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM;QACN,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QAChC,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,2CAA2C,MAAM,GAAG;KAC3D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/tools/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,qBAAqB,EACrB,+BAA+B,GAEhC,MAAM,uBAAuB,CAAC;AAI/B,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AASnD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC;IAEhD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM;YACN,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,iDAAiD;SACzD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM;YACN,QAAQ;YACR,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,qBAAqB,MAAM,CAAC,QAAQ,CAAC,mCAAmC;SAChF,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM;QACN,QAAQ;QACR,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,kBAAkB,CAAC;QACrC,OAAO;QACP,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM;YACN,QAAQ;YACR,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW,CAAC,KAAK;SACzB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM;QACN,QAAQ;QACR,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,2CAA2C,MAAM,GAAG;QAC1D,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAU3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,KAAK,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAqSzD,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,kBAAkB,GAAG,SAAS,QAAQ,EAAE,CAUlF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAU3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,KAAK,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AA8SzD,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,kBAAkB,GAAG,SAAS,QAAQ,EAAE,CAUlF"}
@@ -233,6 +233,13 @@ function buildToolsCreateSpec(ctx) {
233
233
  },
234
234
  ],
235
235
  options: [
236
+ {
237
+ flag: '--template',
238
+ value: '<name>',
239
+ description: 'Scaffold template (minimal-js or ts-local)',
240
+ choices: ['minimal-js', 'ts-local'],
241
+ default: 'minimal-js',
242
+ },
236
243
  {
237
244
  flag: '--force',
238
245
  description: 'Overwrite scaffold files when the tool directory already exists',
@@ -248,6 +255,7 @@ function buildToolsCreateSpec(ctx) {
248
255
  toolId,
249
256
  projectRoot: effectiveCwd(opts),
250
257
  force: opts.force,
258
+ template: opts.template,
251
259
  });
252
260
  if (!result.success)
253
261
  ctx.setExitCode(EXIT_CODES.CONFIGURATION_ERROR);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/tools/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/tools/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAaD,mFAAmF;AACnF,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0DzF"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/tools/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAsBD,mFAAmF;AACnF,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8DzF"}
@@ -25,6 +25,15 @@ function packStagedDir(stagedPkgDir) {
25
25
  const name = out.trim().split('\n').at(-1)?.trim() ?? '';
26
26
  return `${stagedPkgDir}/${name}`;
27
27
  }
28
+ function installNextSteps(manifest) {
29
+ if (manifest === undefined)
30
+ return undefined;
31
+ const commandName = manifest.commands[0]?.name;
32
+ return [
33
+ `export OPENSIP_CLI_ALLOW_INSTALLED_TOOLS='${manifest.id}'`,
34
+ ...(commandName === undefined ? [] : [`opensip ${commandName}`]),
35
+ ];
36
+ }
28
37
  /** Stage, validate, and (on a `passed` verdict only) activate one tool package. */
29
38
  export async function toolsInstall(opts) {
30
39
  const scope = opts.project === true ? 'project' : 'global';
@@ -73,7 +82,11 @@ export async function toolsInstall(opts) {
73
82
  validation: result,
74
83
  ...(report.manifest === undefined
75
84
  ? {}
76
- : { toolId: report.manifest.id, version: report.manifest.version }),
85
+ : {
86
+ toolId: report.manifest.id,
87
+ version: report.manifest.version,
88
+ nextSteps: installNextSteps(report.manifest),
89
+ }),
77
90
  };
78
91
  }
79
92
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/tools/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/tools/install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/tools/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAaH,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,wBAAwB,CAAC;AAExF,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,QAG2B,CAAC;AAElE,6CAA6C;AAC7C,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAyKD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,qBAAqB,EAC3B,EAAE,UAAkB,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACpD,OAAO,CAAC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAyDtF"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/tools/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAmBH,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,wBAAwB,CAAC;AAExF,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,QAG2B,CAAC;AAElE,6CAA6C;AAC7C,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAyND;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,qBAAqB,EAC3B,EAAE,UAAkB,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACpD,OAAO,CAAC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CA2DtF"}
@@ -20,6 +20,7 @@
20
20
  import { existsSync, mkdtempSync, rmSync, statSync } from 'node:fs';
21
21
  import { tmpdir } from 'node:os';
22
22
  import { isAbsolute, join, resolve } from 'node:path';
23
+ import { PROJECT_LOCAL_MANIFEST_FILE, } from '@opensip-cli/core';
23
24
  import { admitToolPackage } from '../../bootstrap/admit-tool-package.js';
24
25
  import { ensureHostDir } from '../plugin/host-dir.js';
25
26
  import { npmInstallIntoHost } from '../plugin-host-ops.js';
@@ -29,6 +30,15 @@ import { runStorageContractChecks } from './storage-contract-checks.js';
29
30
  export const VALIDATE_EXECUTION_NOTICE = 'opensip: validating runs the package’s module (untrusted code; ' +
30
31
  'install scripts stay blocked, the import runs in a sandboxed-by-timeout ' +
31
32
  'child process — a crash boundary, not a security boundary).\n';
33
+ /**
34
+ * A package carrying the project-local sidecar manifest is an authored tool
35
+ * (source `project-local`); otherwise its identity is in `package.json`
36
+ * (source `installed`). Survives an npm install because the sidecar is packed
37
+ * by default (no `files` allowlist excludes it).
38
+ */
39
+ function manifestSourceFor(pkgDir) {
40
+ return existsSync(join(pkgDir, PROJECT_LOCAL_MANIFEST_FILE)) ? 'project-local' : 'installed';
41
+ }
32
42
  const NOOP_CLEANUP = () => {
33
43
  /* in-place candidates own their dir; nothing was staged */
34
44
  };
@@ -46,7 +56,12 @@ function stageCandidate(opts) {
46
56
  const localDir = isLocalDirSpec(opts.spec, opts.cwd);
47
57
  if (localDir && opts.installDeps !== true) {
48
58
  const pkgDir = isAbsolute(opts.spec) ? opts.spec : resolve(opts.cwd, opts.spec);
49
- return { pkgDir, cleanup: NOOP_CLEANUP, stagedByInstall: false };
59
+ return {
60
+ pkgDir,
61
+ cleanup: NOOP_CLEANUP,
62
+ stagedByInstall: false,
63
+ source: manifestSourceFor(pkgDir),
64
+ };
50
65
  }
51
66
  const tempHost = mkdtempSync(join(tmpdir(), 'ost-tools-validate-'));
52
67
  const cleanup = () => rmSync(tempHost, { recursive: true, force: true });
@@ -54,12 +69,20 @@ function stageCandidate(opts) {
54
69
  const spec = localDir && !isAbsolute(opts.spec) ? resolve(opts.cwd, opts.spec) : opts.spec;
55
70
  const outcome = npmInstallIntoHost(tempHost, spec);
56
71
  if (!outcome.ok) {
57
- return { pkgDir: '', cleanup, stagedByInstall: true, stagingError: outcome.error };
72
+ return {
73
+ pkgDir: '',
74
+ cleanup,
75
+ stagedByInstall: true,
76
+ source: 'installed',
77
+ stagingError: outcome.error,
78
+ };
58
79
  }
80
+ const pkgDir = join(tempHost, 'node_modules', outcome.installedName);
59
81
  return {
60
- pkgDir: join(tempHost, 'node_modules', outcome.installedName),
82
+ pkgDir,
61
83
  cleanup,
62
84
  stagedByInstall: true,
85
+ source: manifestSourceFor(pkgDir),
63
86
  };
64
87
  }
65
88
  function section(name, status, diagnostics = []) {
@@ -75,6 +98,21 @@ function storageSections(findings) {
75
98
  section('import-boundaries', boundaries.length === 0 ? 'passed' : 'failed', boundaries.map(fmt)),
76
99
  ];
77
100
  }
101
+ function externalOutputModeSection(manifest) {
102
+ if (manifest === undefined)
103
+ return undefined;
104
+ const liveViewCommands = manifest.commands
105
+ .filter((cmd) => cmd.output === 'live-view')
106
+ .map((cmd) => cmd.name);
107
+ if (liveViewCommands.length === 0) {
108
+ return section('external-output-modes', 'passed');
109
+ }
110
+ const names = liveViewCommands.map((name) => `'${name}'`).join(', ');
111
+ return section('external-output-modes', 'failed', [
112
+ `external command(s) ${names} declare output 'live-view', which is bundled/in-process only; ` +
113
+ "use 'command-result', 'signal-envelope', or 'raw-stream'.",
114
+ ]);
115
+ }
78
116
  /** Map one admission section result to a report section. */
79
117
  function fromAdmission(s) {
80
118
  return section(s.section, s.ok ? 'passed' : 'failed', s.diagnostic ? [s.diagnostic] : []);
@@ -173,14 +211,17 @@ export async function runToolValidation(opts, { keepStaged = false } = {}) {
173
211
  // candidate code runs.
174
212
  const staticReport = await admitToolPackage({
175
213
  dir: staged.pkgDir,
176
- source: 'installed',
214
+ source: staged.source,
177
215
  explicitlyRequested: true,
178
216
  staticOnly: true,
179
217
  });
180
218
  const sections = staticReport.sections.map((s) => fromAdmission(s));
219
+ const externalOutputModes = externalOutputModeSection(staticReport.rawManifest);
220
+ if (externalOutputModes !== undefined)
221
+ sections.push(externalOutputModes);
181
222
  let toolId = staticReport.manifest?.id;
182
223
  let incomplete = false;
183
- if (staticReport.ok) {
224
+ if (staticReport.ok && externalOutputModes?.status !== 'failed') {
184
225
  // Runtime sections — child-process probe (untrusted code executes there).
185
226
  const runtime = runtimeSectionsFor(staged, staticReport.manifest?.config !== undefined, toolId);
186
227
  sections.push(...runtime.sections);
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/tools/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/tools/validate.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * - `collectTargets` (user mode + project mode bucketing)
9
9
  * - The pre-prompt print helpers (`printUserModeTargets`,
10
10
  * `printProjectDefault`, `printProjectPurge`) and supporting
11
- * formatters (`formatSize`, `formatKeepLine`).
11
+ * formatters (`formatBytes`, `formatKeepLine`).
12
12
  */
13
13
  /**
14
14
  * Bucket classification per target:
@@ -1 +1 @@
1
- {"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../../src/commands/uninstall/targets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH;;;;;;;GAOG;AACH,KAAK,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEzE,yDAAyD;AACzD,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AA+C/C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CAMV;AAyED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAQjG;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAC1B,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,WAAW,EAAE,MAAM,GAClB,IAAI,CAsBN;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAC1B,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,WAAW,EAAE,MAAM,GAClB,IAAI,CASN"}
1
+ {"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../../src/commands/uninstall/targets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH;;;;;;;GAOG;AACH,KAAK,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEzE,yDAAyD;AACzD,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AAwC/C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CAMV;AAyED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAQjG;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAC1B,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,WAAW,EAAE,MAAM,GAClB,IAAI,CAsBN;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,EAC1B,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,WAAW,EAAE,MAAM,GAClB,IAAI,CASN"}
@@ -8,11 +8,12 @@
8
8
  * - `collectTargets` (user mode + project mode bucketing)
9
9
  * - The pre-prompt print helpers (`printUserModeTargets`,
10
10
  * `printProjectDefault`, `printProjectPurge`) and supporting
11
- * formatters (`formatSize`, `formatKeepLine`).
11
+ * formatters (`formatBytes`, `formatKeepLine`).
12
12
  */
13
13
  import { existsSync, readdirSync, statSync } from 'node:fs';
14
14
  import { join } from 'node:path';
15
15
  import { resolveProjectPaths } from '@opensip-cli/core';
16
+ import { formatBytes } from '../../format-bytes.js';
16
17
  /** Recursively tally size of a directory. */
17
18
  function dirSize(path) {
18
19
  let total = 0;
@@ -33,15 +34,6 @@ function dirSize(path) {
33
34
  }
34
35
  return total;
35
36
  }
36
- function formatSize(bytes) {
37
- if (bytes < 1024)
38
- return `${bytes} B`;
39
- if (bytes < 1024 * 1024)
40
- return `${(bytes / 1024).toFixed(1)} KB`;
41
- if (bytes < 1024 * 1024 * 1024)
42
- return `${(bytes / 1024 / 1024).toFixed(1)} MB`;
43
- return `${(bytes / 1024 / 1024 / 1024).toFixed(2)} GB`;
44
- }
45
37
  /** Count files recursively under a directory; best-effort (unreadable subdirs skipped). */
46
38
  function countFilesRecursive(dir) {
47
39
  let count = 0;
@@ -161,9 +153,9 @@ function formatKeepLine(t) {
161
153
  export function printUserModeTargets(write, targets) {
162
154
  const totalSize = targets.reduce((sum, t) => sum + t.sizeBytes, 0);
163
155
  write('\n');
164
- write(`About to remove user-level state (${formatSize(totalSize)}):\n`);
156
+ write(`About to remove user-level state (${formatBytes(totalSize)}):\n`);
165
157
  for (const t of targets) {
166
- write(` - ${t.path}${t.kind === 'dir' ? '/' : ''} (${formatSize(t.sizeBytes)})\n`);
158
+ write(` - ${t.path}${t.kind === 'dir' ? '/' : ''} (${formatBytes(t.sizeBytes)})\n`);
167
159
  }
168
160
  write('\n');
169
161
  }
@@ -176,7 +168,7 @@ export function printProjectDefault(write, toDelete, toKeep, projectRoot) {
176
168
  else {
177
169
  write('This will remove (rebuildable runtime state only):\n');
178
170
  for (const t of toDelete) {
179
- write(` - ${t.path}${t.kind === 'dir' ? '/' : ''} (${formatSize(t.sizeBytes)})\n`);
171
+ write(` - ${t.path}${t.kind === 'dir' ? '/' : ''} (${formatBytes(t.sizeBytes)})\n`);
180
172
  if (t.bucket === 'runtime') {
181
173
  write(' sessions database, cache, logs, baselines\n');
182
174
  }
@@ -196,7 +188,7 @@ export function printProjectPurge(write, toDelete, projectRoot) {
196
188
  write(`Project: ${projectRoot}\n\n`);
197
189
  write('⚠ This removes EVERYTHING, including your authored content:\n\n');
198
190
  for (const t of toDelete) {
199
- write(` - ${t.path}${t.kind === 'dir' ? '/' : ''} (${formatSize(t.sizeBytes)})\n`);
191
+ write(` - ${t.path}${t.kind === 'dir' ? '/' : ''} (${formatBytes(t.sizeBytes)})\n`);
200
192
  }
201
193
  write('\n ⚠ If your custom checks are not committed to git, you will\n');
202
194
  write(' lose them. We recommend running `git status` first.\n\n');
@@ -1 +1 @@
1
- {"version":3,"file":"targets.js","sourceRoot":"","sources":["../../../src/commands/uninstall/targets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAe,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA0BxD,6CAA6C;AAC7C,SAAS,OAAO,CAAC,IAAY;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACpB,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtB,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;QAClD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAChF,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACzD,CAAC;AAED,2FAA2F;AAC3F,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,CAAC,CAAS,EAAQ,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,CAAC,WAAW,EAAE;oBAAE,IAAI,CAAC,CAAC,CAAC,CAAC;qBACxB,IAAI,CAAC,CAAC,MAAM,EAAE;oBAAE,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAmB,EACnB,QAAgB,EAChB,UAAkB;IAElB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,KAAK,CAAC,UAAU;YACtB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;YACpC,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,KAAK,CAAC,UAAU;YACtB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI;YAC1C,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,aAAqB;IACtD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC;YACH,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YAC5B,SAAS;YACT,MAAM,EAAE,cAAc;YACtB,YAAY,EAAE,KAAK,CAAC,IAAI;YACxB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SACtD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,wBAAwB,CAAC;IAC3D,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5C,KAAK,GAAG,KAAK,CAAC,CAAC,SAAS,QAAQ,MAAM,GAAG,CAAC;IAC5C,CAAC;IACD,OAAO,eAAe,CAAC,CAAC,YAAY,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAA0B,EAAE,OAA0B;IACzF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACnE,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,KAAK,CAAC,qCAAqC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAA0B,EAC1B,QAA2B,EAC3B,MAAyB,EACzB,WAAmB;IAEnB,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,KAAK,CAAC,YAAY,WAAW,MAAM,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,0DAA0D,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC9D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrF,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC3B,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACvD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAA0B,EAC1B,QAA2B,EAC3B,WAAmB;IAEnB,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,KAAK,CAAC,YAAY,WAAW,MAAM,CAAC,CAAC;IACrC,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACzE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvF,CAAC;IACD,KAAK,CAAC,kEAAkE,CAAC,CAAC;IAC1E,KAAK,CAAC,6DAA6D,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"targets.js","sourceRoot":"","sources":["../../../src/commands/uninstall/targets.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"host-env-specs.d.ts","sourceRoot":"","sources":["../../src/env/host-env-specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAyB,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAExF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAqG7D,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAGvD,CAAC;AAEF,oFAAoF;AAEpF,eAAO,MAAM,OAAO,aAAiC,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAKhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAoB7D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,CAEhE"}
1
+ {"version":3,"file":"host-env-specs.d.ts","sourceRoot":"","sources":["../../src/env/host-env-specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAEL,WAAW,EAEX,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAE3B,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAoJ7D,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAGvD,CAAC;AAEF,oFAAoF;AAEpF,eAAO,MAAM,OAAO,aAAiC,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAYhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EA0B7D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,CAQhE"}
@@ -20,7 +20,7 @@
20
20
  * `env-via-registry` guardrail.
21
21
  */
22
22
  import { CONFIG_ENV_SPECS } from '@opensip-cli/config';
23
- import { CORRELATION_ENV_SPECS, EnvRegistry } from '@opensip-cli/core';
23
+ import { CORRELATION_ENV_SPECS, EnvRegistry, WORKER_LIMITS_ENV_SPECS, } from '@opensip-cli/core';
24
24
  /** CLI-layer infra variables: OpenTelemetry + the update-notifier opt-outs. */
25
25
  export const CLI_INFRA_ENV_SPECS = [
26
26
  {
@@ -93,6 +93,18 @@ export const CLI_INFRA_ENV_SPECS = [
93
93
  'Does not affect bundled or authored tools. Pair with OPENSIP_CLI_SKIP_INSTALLED for ' +
94
94
  'incident response (kill switch wins).',
95
95
  },
96
+ {
97
+ canonical: 'OPENSIP_CLI_ALLOW_CAPABILITY_PACKS',
98
+ coerce: (raw) => raw
99
+ .split(/[\s,]+/)
100
+ .map((s) => s.trim())
101
+ .filter((s) => s.length > 0),
102
+ default: [],
103
+ docs: 'Comma/whitespace-separated third-party capability-pack package names to admit ' +
104
+ '(deny-by-default). Names must match exactly, e.g. @scope/opensip-fit-rules. ' +
105
+ "The '*' wildcard is intentionally not honored for capability packs. First-party " +
106
+ 'bundled capability packs are trusted by shipping and ignore this list.',
107
+ },
96
108
  // ADR-0054 M4-E: `OPENSIP_CLI_EXTERNAL_WORKER` (the opt-in gate for the
97
109
  // out-of-process dispatch plane) was RETIRED. External (installed /
98
110
  // project-local / user-global) tools now fork the worker BY DEFAULT — the gate
@@ -115,6 +127,35 @@ export const CLI_INFRA_ENV_SPECS = [
115
127
  'rides in with git clone, so loading it runs untrusted code. Global-authored tools ' +
116
128
  '(~/.opensip-cli/tools/) are trusted-by-default and ignore this list.',
117
129
  },
130
+ {
131
+ canonical: 'OPENSIP_STATE_LOCK_WAIT_MS',
132
+ docs: 'Override datastore/artifact write-lock wait time in milliseconds. Local default 30000; ' +
133
+ 'CI default 5000 when CI is set.',
134
+ },
135
+ {
136
+ canonical: 'OPENSIP_STATE_LOCK_STALE_MS',
137
+ docs: 'Override stale-lock recovery threshold in milliseconds (default 600000). Abandoned locks ' +
138
+ 'whose owner process is gone or heartbeat is older than this are removed.',
139
+ },
140
+ {
141
+ canonical: 'CI',
142
+ docs: 'Standard CI sentinel. When set, state write locks use the shorter CI wait default.',
143
+ },
144
+ {
145
+ canonical: 'OPENSIP_CLI_TOOL_ENV_PASSTHROUGH',
146
+ coerce: (raw) => raw
147
+ .split(/[\s,]+/)
148
+ .map((s) => s.trim())
149
+ .filter((s) => s.length > 0),
150
+ default: [],
151
+ docs: 'Comma/whitespace-separated extra environment variable names to forward into external-tool ' +
152
+ 'dispatch worker children beyond the default allow-list (PATH, HOME, TMPDIR, OTEL_*, etc.). ' +
153
+ 'The default allow-list also forwards the CLI tool admission controls ' +
154
+ '(OPENSIP_CLI_ALLOW_*_TOOLS and OPENSIP_CLI_SKIP_*), so a worker sees the same ' +
155
+ 'explicit trust decisions as the supervising process. ' +
156
+ 'Use when a specific external tool legitimately needs a parent env var (e.g. HTTP_PROXY). ' +
157
+ 'Does not affect bundled live-run worker forks.',
158
+ },
118
159
  ];
119
160
  /**
120
161
  * The full CLI env surface = infra vars + the ten subprocess-correlation vars.
@@ -160,6 +201,12 @@ export const BUNDLED_TOOL_ENV_SPECS = [
160
201
  canonical: 'OPENSIP_HEAP_NO_MONITOR',
161
202
  docs: 'Set to 1 to disable the graph V8 heap-pressure monitor (REPL embedding / custom allocators).',
162
203
  },
204
+ {
205
+ canonical: 'GRAPH_EQUIV_DIAG',
206
+ docs: 'File path. When set, the graph `graph-equivalence-check` writes a structured JSON ' +
207
+ 'diagnostic of every production decline/phantom divergence (owner, resolved targets, ' +
208
+ 'and the call edge on both engines) to that path. Diagnostic-only; unset in normal runs.',
209
+ },
163
210
  ];
164
211
  /**
165
212
  * Pre-scope variables read raw at their sites (documented `env-via-registry`
@@ -170,8 +217,14 @@ export const PRE_SCOPE_ENV_SPECS = [
170
217
  canonical: 'NO_COLOR',
171
218
  docs: 'Disable ANSI colours (https://no-color.org). Resolved by the terminal theme.',
172
219
  },
173
- { canonical: 'FORCE_COLOR', docs: 'Force ANSI colours even when the stream is not a TTY.' },
174
- { canonical: 'COLORTERM', docs: 'Terminal colour capability hint (e.g. truecolor).' },
220
+ {
221
+ canonical: 'FORCE_COLOR',
222
+ docs: 'Force ANSI colours even when the stream is not a TTY.',
223
+ },
224
+ {
225
+ canonical: 'COLORTERM',
226
+ docs: 'Terminal colour capability hint (e.g. truecolor).',
227
+ },
175
228
  { canonical: 'TERM', docs: 'Terminal type; consulted for colour support.' },
176
229
  {
177
230
  canonical: 'TERM_PROGRAM',
@@ -191,6 +244,12 @@ export const PRE_SCOPE_ENV_SPECS = [
191
244
  * of truth for the generated env-surface reference (Phase 6).
192
245
  */
193
246
  export function describeHostEnv() {
194
- return [...CONFIG_ENV_SPECS, ...BUNDLED_TOOL_ENV_SPECS, ...CLI_ENV_SPECS, ...PRE_SCOPE_ENV_SPECS];
247
+ return [
248
+ ...CONFIG_ENV_SPECS,
249
+ ...BUNDLED_TOOL_ENV_SPECS,
250
+ ...CLI_ENV_SPECS,
251
+ ...WORKER_LIMITS_ENV_SPECS,
252
+ ...PRE_SCOPE_ENV_SPECS,
253
+ ];
195
254
  }
196
255
  //# sourceMappingURL=host-env-specs.js.map