opensip-cli 0.1.5 → 0.1.7

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 (229) hide show
  1. package/dist/bootstrap/admit-tool-package.d.ts +15 -1
  2. package/dist/bootstrap/admit-tool-package.d.ts.map +1 -1
  3. package/dist/bootstrap/admit-tool-package.js +30 -5
  4. package/dist/bootstrap/admit-tool-package.js.map +1 -1
  5. package/dist/bootstrap/bind-tool-context.d.ts.map +1 -1
  6. package/dist/bootstrap/bind-tool-context.js +5 -3
  7. package/dist/bootstrap/bind-tool-context.js.map +1 -1
  8. package/dist/bootstrap/build-command-registration-input.d.ts +7 -0
  9. package/dist/bootstrap/build-command-registration-input.d.ts.map +1 -1
  10. package/dist/bootstrap/build-command-registration-input.js +11 -4
  11. package/dist/bootstrap/build-command-registration-input.js.map +1 -1
  12. package/dist/bootstrap/build-per-run-scope.d.ts +12 -0
  13. package/dist/bootstrap/build-per-run-scope.d.ts.map +1 -1
  14. package/dist/bootstrap/build-per-run-scope.js +84 -9
  15. package/dist/bootstrap/build-per-run-scope.js.map +1 -1
  16. package/dist/bootstrap/bundled-manifest.d.ts +5 -0
  17. package/dist/bootstrap/bundled-manifest.d.ts.map +1 -0
  18. package/dist/bootstrap/bundled-manifest.js +13 -0
  19. package/dist/bootstrap/bundled-manifest.js.map +1 -0
  20. package/dist/bootstrap/bundled-tools.manifest.json +19 -1
  21. package/dist/bootstrap/config-and-capabilities.d.ts +5 -3
  22. package/dist/bootstrap/config-and-capabilities.d.ts.map +1 -1
  23. package/dist/bootstrap/config-and-capabilities.js +10 -7
  24. package/dist/bootstrap/config-and-capabilities.js.map +1 -1
  25. package/dist/bootstrap/constants.d.ts +3 -0
  26. package/dist/bootstrap/constants.d.ts.map +1 -0
  27. package/dist/bootstrap/constants.js +3 -0
  28. package/dist/bootstrap/constants.js.map +1 -0
  29. package/dist/bootstrap/decorate-tool-primary.d.ts +50 -0
  30. package/dist/bootstrap/decorate-tool-primary.d.ts.map +1 -0
  31. package/dist/bootstrap/decorate-tool-primary.js +111 -0
  32. package/dist/bootstrap/decorate-tool-primary.js.map +1 -0
  33. package/dist/bootstrap/execute-post-bailout-bootstrap.d.ts +1 -0
  34. package/dist/bootstrap/execute-post-bailout-bootstrap.d.ts.map +1 -1
  35. package/dist/bootstrap/execute-post-bailout-bootstrap.js +12 -1
  36. package/dist/bootstrap/execute-post-bailout-bootstrap.js.map +1 -1
  37. package/dist/bootstrap/index.d.ts +1 -1
  38. package/dist/bootstrap/index.d.ts.map +1 -1
  39. package/dist/bootstrap/index.js +1 -4
  40. package/dist/bootstrap/index.js.map +1 -1
  41. package/dist/bootstrap/io-plane.d.ts +47 -0
  42. package/dist/bootstrap/io-plane.d.ts.map +1 -0
  43. package/dist/bootstrap/io-plane.js +73 -0
  44. package/dist/bootstrap/io-plane.js.map +1 -0
  45. package/dist/bootstrap/load-tool-capabilities.d.ts.map +1 -1
  46. package/dist/bootstrap/load-tool-capabilities.js +18 -2
  47. package/dist/bootstrap/load-tool-capabilities.js.map +1 -1
  48. package/dist/bootstrap/owning-tool-init.d.ts.map +1 -1
  49. package/dist/bootstrap/owning-tool-init.js +7 -4
  50. package/dist/bootstrap/owning-tool-init.js.map +1 -1
  51. package/dist/bootstrap/phase-map.d.ts +20 -0
  52. package/dist/bootstrap/phase-map.d.ts.map +1 -0
  53. package/dist/bootstrap/phase-map.js +108 -0
  54. package/dist/bootstrap/phase-map.js.map +1 -0
  55. package/dist/bootstrap/plan-pre-action-bootstrap.d.ts +5 -5
  56. package/dist/bootstrap/plan-pre-action-bootstrap.d.ts.map +1 -1
  57. package/dist/bootstrap/plan-pre-action-bootstrap.js +3 -19
  58. package/dist/bootstrap/plan-pre-action-bootstrap.js.map +1 -1
  59. package/dist/bootstrap/pre-action-guards.d.ts +2 -1
  60. package/dist/bootstrap/pre-action-guards.d.ts.map +1 -1
  61. package/dist/bootstrap/pre-action-guards.js +3 -27
  62. package/dist/bootstrap/pre-action-guards.js.map +1 -1
  63. package/dist/bootstrap/pre-action-hook.d.ts +2 -1
  64. package/dist/bootstrap/pre-action-hook.d.ts.map +1 -1
  65. package/dist/bootstrap/pre-action-hook.js +23 -4
  66. package/dist/bootstrap/pre-action-hook.js.map +1 -1
  67. package/dist/bootstrap/register-tools-discovery.d.ts +38 -39
  68. package/dist/bootstrap/register-tools-discovery.d.ts.map +1 -1
  69. package/dist/bootstrap/register-tools-discovery.js +134 -85
  70. package/dist/bootstrap/register-tools-discovery.js.map +1 -1
  71. package/dist/bootstrap/register-tools-mount.d.ts +18 -1
  72. package/dist/bootstrap/register-tools-mount.d.ts.map +1 -1
  73. package/dist/bootstrap/register-tools-mount.js +118 -18
  74. package/dist/bootstrap/register-tools-mount.js.map +1 -1
  75. package/dist/bootstrap/register-tools.d.ts +58 -14
  76. package/dist/bootstrap/register-tools.d.ts.map +1 -1
  77. package/dist/bootstrap/register-tools.js +185 -14
  78. package/dist/bootstrap/register-tools.js.map +1 -1
  79. package/dist/bootstrap/root-version.d.ts +26 -0
  80. package/dist/bootstrap/root-version.d.ts.map +1 -0
  81. package/dist/bootstrap/root-version.js +36 -0
  82. package/dist/bootstrap/root-version.js.map +1 -0
  83. package/dist/bootstrap/scope-access.d.ts +11 -0
  84. package/dist/bootstrap/scope-access.d.ts.map +1 -1
  85. package/dist/bootstrap/scope-access.js +26 -0
  86. package/dist/bootstrap/scope-access.js.map +1 -1
  87. package/dist/bootstrap/tool-lifecycle.d.ts +0 -22
  88. package/dist/bootstrap/tool-lifecycle.d.ts.map +1 -1
  89. package/dist/bootstrap/tool-lifecycle.js +0 -23
  90. package/dist/bootstrap/tool-lifecycle.js.map +1 -1
  91. package/dist/bootstrap/validate-tool.d.ts +10 -4
  92. package/dist/bootstrap/validate-tool.d.ts.map +1 -1
  93. package/dist/bootstrap/validate-tool.js +76 -22
  94. package/dist/bootstrap/validate-tool.js.map +1 -1
  95. package/dist/cli-context.d.ts +2 -2
  96. package/dist/cli-context.d.ts.map +1 -1
  97. package/dist/cli-context.js +20 -35
  98. package/dist/cli-context.js.map +1 -1
  99. package/dist/commands/agent-catalog.d.ts +29 -0
  100. package/dist/commands/agent-catalog.d.ts.map +1 -1
  101. package/dist/commands/agent-catalog.js +77 -36
  102. package/dist/commands/agent-catalog.js.map +1 -1
  103. package/dist/commands/clear.d.ts.map +1 -1
  104. package/dist/commands/clear.js +0 -1
  105. package/dist/commands/clear.js.map +1 -1
  106. package/dist/commands/command-scope-index.d.ts +45 -0
  107. package/dist/commands/command-scope-index.d.ts.map +1 -0
  108. package/dist/commands/command-scope-index.js +51 -0
  109. package/dist/commands/command-scope-index.js.map +1 -0
  110. package/dist/commands/completion.d.ts +67 -6
  111. package/dist/commands/completion.d.ts.map +1 -1
  112. package/dist/commands/completion.js +84 -12
  113. package/dist/commands/completion.js.map +1 -1
  114. package/dist/commands/configure.d.ts.map +1 -1
  115. package/dist/commands/configure.js +0 -1
  116. package/dist/commands/configure.js.map +1 -1
  117. package/dist/commands/host-command-specs.d.ts +16 -9
  118. package/dist/commands/host-command-specs.d.ts.map +1 -1
  119. package/dist/commands/host-command-specs.js +47 -21
  120. package/dist/commands/host-command-specs.js.map +1 -1
  121. package/dist/commands/host-config-flag.d.ts +21 -0
  122. package/dist/commands/host-config-flag.d.ts.map +1 -0
  123. package/dist/commands/host-config-flag.js +21 -0
  124. package/dist/commands/host-config-flag.js.map +1 -0
  125. package/dist/commands/host-subcommand-groups.d.ts +46 -5
  126. package/dist/commands/host-subcommand-groups.d.ts.map +1 -1
  127. package/dist/commands/host-subcommand-groups.js +97 -65
  128. package/dist/commands/host-subcommand-groups.js.map +1 -1
  129. package/dist/commands/index.d.ts +1 -1
  130. package/dist/commands/index.js +1 -1
  131. package/dist/commands/internal-command-visibility.d.ts +42 -0
  132. package/dist/commands/internal-command-visibility.d.ts.map +1 -0
  133. package/dist/commands/internal-command-visibility.js +54 -0
  134. package/dist/commands/internal-command-visibility.js.map +1 -0
  135. package/dist/commands/mount-command-action.d.ts +24 -0
  136. package/dist/commands/mount-command-action.d.ts.map +1 -0
  137. package/dist/commands/mount-command-action.js +78 -0
  138. package/dist/commands/mount-command-action.js.map +1 -0
  139. package/dist/commands/mount-command-spec-wiring.d.ts +24 -0
  140. package/dist/commands/mount-command-spec-wiring.d.ts.map +1 -0
  141. package/dist/commands/mount-command-spec-wiring.js +71 -0
  142. package/dist/commands/mount-command-spec-wiring.js.map +1 -0
  143. package/dist/commands/mount-command-spec.d.ts +9 -2
  144. package/dist/commands/mount-command-spec.d.ts.map +1 -1
  145. package/dist/commands/mount-command-spec.js +11 -135
  146. package/dist/commands/mount-command-spec.js.map +1 -1
  147. package/dist/commands/plugin/domain-resolution.d.ts +12 -13
  148. package/dist/commands/plugin/domain-resolution.d.ts.map +1 -1
  149. package/dist/commands/plugin/domain-resolution.js +12 -58
  150. package/dist/commands/plugin/domain-resolution.js.map +1 -1
  151. package/dist/commands/plugin/host-dir.d.ts +0 -1
  152. package/dist/commands/plugin/host-dir.d.ts.map +1 -1
  153. package/dist/commands/plugin/host-dir.js +1 -1
  154. package/dist/commands/plugin/host-dir.js.map +1 -1
  155. package/dist/commands/plugin.d.ts +20 -14
  156. package/dist/commands/plugin.d.ts.map +1 -1
  157. package/dist/commands/plugin.js +39 -47
  158. package/dist/commands/plugin.js.map +1 -1
  159. package/dist/commands/render-outcome.d.ts.map +1 -1
  160. package/dist/commands/render-outcome.js.map +1 -1
  161. package/dist/commands/shared.d.ts +9 -0
  162. package/dist/commands/shared.d.ts.map +1 -1
  163. package/dist/commands/tools/create.d.ts +11 -0
  164. package/dist/commands/tools/create.d.ts.map +1 -0
  165. package/dist/commands/tools/create.js +84 -0
  166. package/dist/commands/tools/create.js.map +1 -0
  167. package/dist/commands/tools/index.d.ts.map +1 -1
  168. package/dist/commands/tools/index.js +31 -0
  169. package/dist/commands/tools/index.js.map +1 -1
  170. package/dist/commands/tools/runtime-probe-entry.d.ts.map +1 -1
  171. package/dist/commands/tools/runtime-probe-entry.js +4 -2
  172. package/dist/commands/tools/runtime-probe-entry.js.map +1 -1
  173. package/dist/commands/tools/validate.d.ts.map +1 -1
  174. package/dist/commands/tools/validate.js +12 -5
  175. package/dist/commands/tools/validate.js.map +1 -1
  176. package/dist/commands/uninstall.d.ts.map +1 -1
  177. package/dist/commands/uninstall.js +0 -1
  178. package/dist/commands/uninstall.js.map +1 -1
  179. package/dist/env/host-env-specs.d.ts +18 -0
  180. package/dist/env/host-env-specs.d.ts.map +1 -1
  181. package/dist/env/host-env-specs.js +36 -2
  182. package/dist/env/host-env-specs.js.map +1 -1
  183. package/dist/index.d.ts +1 -1
  184. package/dist/index.d.ts.map +1 -1
  185. package/dist/index.js +46 -21
  186. package/dist/index.js.map +1 -1
  187. package/dist/report-compose.d.ts.map +1 -1
  188. package/dist/report-compose.js +2 -2
  189. package/dist/report-compose.js.map +1 -1
  190. package/dist/session-replay-registry.d.ts +1 -1
  191. package/dist/session-replay-registry.d.ts.map +1 -1
  192. package/dist/session-replay-registry.js +3 -1
  193. package/dist/session-replay-registry.js.map +1 -1
  194. package/dist/ui/result-to-view.d.ts +27 -7
  195. package/dist/ui/result-to-view.d.ts.map +1 -1
  196. package/dist/ui/result-to-view.js +68 -75
  197. package/dist/ui/result-to-view.js.map +1 -1
  198. package/dist/ui/views/misc-views.d.ts.map +1 -1
  199. package/dist/ui/views/misc-views.js +3 -1
  200. package/dist/ui/views/misc-views.js.map +1 -1
  201. package/dist/ui/views/tools-views.d.ts +2 -1
  202. package/dist/ui/views/tools-views.d.ts.map +1 -1
  203. package/dist/ui/views/tools-views.js +21 -0
  204. package/dist/ui/views/tools-views.js.map +1 -1
  205. package/package.json +32 -32
  206. package/dist/bootstrap/authored-tool-admission.d.ts +0 -23
  207. package/dist/bootstrap/authored-tool-admission.d.ts.map +0 -1
  208. package/dist/bootstrap/authored-tool-admission.js +0 -54
  209. package/dist/bootstrap/authored-tool-admission.js.map +0 -1
  210. package/dist/bootstrap/egress-plane.d.ts +0 -22
  211. package/dist/bootstrap/egress-plane.d.ts.map +0 -1
  212. package/dist/bootstrap/egress-plane.js +0 -37
  213. package/dist/bootstrap/egress-plane.js.map +0 -1
  214. package/dist/bootstrap/installed-tool-admission.d.ts +0 -20
  215. package/dist/bootstrap/installed-tool-admission.d.ts.map +0 -1
  216. package/dist/bootstrap/installed-tool-admission.js +0 -60
  217. package/dist/bootstrap/installed-tool-admission.js.map +0 -1
  218. package/dist/bootstrap/live-plane.d.ts +0 -51
  219. package/dist/bootstrap/live-plane.d.ts.map +0 -1
  220. package/dist/bootstrap/live-plane.js +0 -72
  221. package/dist/bootstrap/live-plane.js.map +0 -1
  222. package/dist/bootstrap/register-tools-bundled.d.ts +0 -28
  223. package/dist/bootstrap/register-tools-bundled.d.ts.map +0 -1
  224. package/dist/bootstrap/register-tools-bundled.js +0 -107
  225. package/dist/bootstrap/register-tools-bundled.js.map +0 -1
  226. package/dist/bootstrap/register-tools-shared.d.ts +0 -40
  227. package/dist/bootstrap/register-tools-shared.d.ts.map +0 -1
  228. package/dist/bootstrap/register-tools-shared.js +0 -98
  229. package/dist/bootstrap/register-tools-shared.js.map +0 -1
@@ -1,6 +1,14 @@
1
1
  // @fitness-ignore-file error-handling-quality -- npm install failures already stream to stderr via inherited stdio (downstream loader surfaces unresolved imports), and the package.json / node_modules walks are probes where unreadable/malformed entries mean "not installable" or "not a candidate" — same as absent.
2
2
  /**
3
- * plugin command — manage project-local npm-installed plugins.
3
+ * plugin command — manage a PACK-SUPPORTING tool's project-local
4
+ * npm-installed extension packs (fit/sim checks, recipes, scenarios).
5
+ *
6
+ * The pack ops are mounted UNDER each pack-supporting tool primary —
7
+ * `opensip fit plugin {add|list|remove|sync}` (domain pre-bound to `fit`),
8
+ * `opensip sim plugin {…}` (domain `sim`). There is no top-level
9
+ * `opensip plugin` command, and no `--domain`/`--type` flag: the tool the
10
+ * subcommand hangs off of IS the domain. Whole Tool plugins (platform
11
+ * subcommands) are installed/uninstalled with `opensip tools …`, never here.
4
12
  *
5
13
  * Layout (no user-global plugin dir):
6
14
  *
@@ -18,17 +26,17 @@
18
26
  * installed package (silent loads
19
27
  * would surprise users).
20
28
  *
21
- * `plugin add <pkg>` is the one-step install: writes the package to
29
+ * `<tool> plugin add <pkg>` is the one-step install: writes the package to
22
30
  * .runtime/plugins/<domain>/node_modules AND adds it to plugins.<domain>
23
31
  * in the project config. After: `opensip fit` loads it on next run.
24
32
  *
25
- * `plugin remove <pkg>` is the inverse: removes from node_modules AND
33
+ * `<tool> plugin remove <pkg>` is the inverse: removes from node_modules AND
26
34
  * deletes from plugins.<domain>.
27
35
  *
28
- * `plugin list` walks .runtime/plugins/<domain>/node_modules + the
36
+ * `<tool> plugin list` walks .runtime/plugins/<domain>/node_modules + the
29
37
  * config to show what's installed and what's currently loaded.
30
38
  *
31
- * `plugin sync` is the post-clone bootstrap: reads plugins.<domain> from
39
+ * `<tool> plugin sync` is the post-clone bootstrap: reads plugins.<domain> from
32
40
  * the config and `npm install`s everything declared. Used by CI and
33
41
  * by users who clone a repo with custom plugins.
34
42
  *
@@ -37,18 +45,18 @@
37
45
  * - This file owns the `plugin {list,add,remove,sync}` command bodies.
38
46
  * - `plugin/config-edit.ts` — YAML round-trip edits to plugins.<domain>.
39
47
  * - `plugin/domain-resolution.ts` — TOOL_DOMAIN + the pure validation
40
- * logic that routes a spec to a domain / Tool host dir (no install).
48
+ * logic that routes a spec to a domain (no install).
41
49
  * - `plugin/host-dir.ts` — host package.json creation + installed-
42
50
  * package introspection (incl. peer-dependency auto-install).
43
51
  */
44
52
  import { execFileSync } from 'node:child_process';
45
53
  import { existsSync } from 'node:fs';
46
54
  import { join } from 'node:path';
47
- import { discoverPackagesInNodeModules, readProjectPluginsList, resolveProjectPaths, resolveUserPaths, } from '@opensip-cli/core';
55
+ import { readProjectPluginsList, resolveProjectPaths, } from '@opensip-cli/core';
48
56
  import { addToConfigPluginList, removeFromConfigPluginList } from './plugin/config-edit.js';
49
- import { domainNames, isToolTarget, resolveDomain, TOOL_DOMAIN, } from './plugin/domain-resolution.js';
57
+ import { domainNames, resolveDomain } from './plugin/domain-resolution.js';
50
58
  import { ensurePluginHostDir, HOST_PACKAGE_JSON, isSafeNpmSpec } from './plugin/host-dir.js';
51
- import { addToolPlugin, editPluginList, npmInstallIntoHost, npmUninstallFromHost, removeToolPlugin, } from './plugin-host-ops.js';
59
+ import { editPluginList, npmInstallIntoHost, npmUninstallFromHost } from './plugin-host-ops.js';
52
60
  /**
53
61
  * CommandResult discriminator literals. `as const` keeps the literal type
54
62
  * (so the PluginResult union still narrows) while satisfying
@@ -81,29 +89,18 @@ toolProvenance = []) {
81
89
  });
82
90
  }
83
91
  }
84
- // Tool plugins are not a fit/sim layout they auto-discover by marker
85
- // from the user-global host dir and (with --project) the project-local
86
- // one. Dedup by name; a project-local pin shadows a user-global install.
87
- const seenTools = new Set();
88
- for (const dir of [
89
- resolveProjectPaths(cwd).pluginsDir(TOOL_DOMAIN),
90
- resolveUserPaths().pluginsDir(TOOL_DOMAIN),
91
- ]) {
92
- for (const pkg of discoverPackagesInNodeModules(join(dir, 'node_modules'), 'tool')) {
93
- if (seenTools.has(pkg.name))
94
- continue;
95
- seenTools.add(pkg.name);
96
- plugins.push({ domain: TOOL_DOMAIN, namespace: pkg.name, pluginType: 'package' });
97
- }
98
- }
92
+ // Whole Tool plugins are NOT listed here`<tool> plugin list` is scoped to
93
+ // the tool's own extension-pack domain (fit/sim packs). Installed Tool
94
+ // plugins (platform subcommands) are listed by `opensip tools list`.
95
+ //
99
96
  // Additive provenance section (launch): the tools admitted through the
100
97
  // compatibility gate this run — passed in by the command handler from the
101
98
  // entered RunScope (`currentScope().toolProvenance`), NOT a disk re-scan.
102
- // Surfaces source/identity/manifestHash for bundled/installed/project-local
103
- // tools alongside the discovered fit/sim/tool plugin list above.
99
+ // Surfaces source/identity/manifestHash for the admitted tools alongside the
100
+ // discovered pack list above.
104
101
  return {
105
102
  type: 'plugin-list',
106
- domains: [...domainsForList(layouts), TOOL_DOMAIN],
103
+ domains: domainsForList(layouts),
107
104
  plugins,
108
105
  totalCount: plugins.length,
109
106
  toolProvenance,
@@ -116,20 +113,23 @@ function domainsForList(layouts) {
116
113
  // COMMAND: plugin add <package>
117
114
  // =============================================================================
118
115
  /**
119
- * Install a plugin AND add it to the project config in one step.
116
+ * Install a pack AND add it to the project config in one step, scoped to the
117
+ * caller's bound `domain` (the pack-supporting tool the subcommand hangs off
118
+ * of — `fit`/`sim`). Whole Tool plugins are NOT installable here; use
119
+ * `opensip tools install`.
120
120
  *
121
121
  * Without the config update, the package wouldn't get loaded — making
122
122
  * "install" alone always incomplete. Single-step is the only sensible
123
123
  * default.
124
124
  */
125
125
  // eslint-disable-next-line @typescript-eslint/require-await -- async to keep the Promise<PluginResult> contract; npm install is synchronous via execFileSync
126
- export async function pluginAdd(packageName, cwd = process.cwd(), domainOverride, layouts = [], scope = {}) {
126
+ export async function pluginAdd(packageName, cwd = process.cwd(), domainOverride, layouts = []) {
127
127
  if (!packageName) {
128
128
  return {
129
129
  type: PLUGIN_ADD,
130
130
  packageName: '',
131
131
  success: false,
132
- error: 'No package name provided. Usage: opensip plugin add <package-name>',
132
+ error: 'No package name provided. Usage: opensip <tool> plugin add <package-name>',
133
133
  };
134
134
  }
135
135
  if (!isSafeNpmSpec(packageName)) {
@@ -140,13 +140,9 @@ export async function pluginAdd(packageName, cwd = process.cwd(), domainOverride
140
140
  error: `Invalid package spec '${packageName}' — must not start with '-' (would be interpreted as an npm flag)`,
141
141
  };
142
142
  }
143
- // Tool-plugin path: install into the user-global (or --project) tool host
144
- // dir, no config entry (tools auto-discover by marker).
145
- if (isToolTarget(domainOverride, packageName, cwd)) {
146
- return addToolPlugin(packageName, cwd, scope.project === true);
147
- }
148
- // fit/sim domain path: install into the project-local domain host dir and
149
- // record in plugins.<domain> so discovery loads it.
143
+ // The domain is bound by the host (the pack-supporting tool primary the
144
+ // subcommand mounts under), so it is always one of the contributed layouts;
145
+ // resolve/validate defensively against them.
150
146
  const domains = domainNames(layouts);
151
147
  const domain = resolveDomain(domainOverride, packageName, domains);
152
148
  if (!domain) {
@@ -154,7 +150,7 @@ export async function pluginAdd(packageName, cwd = process.cwd(), domainOverride
154
150
  type: PLUGIN_ADD,
155
151
  packageName,
156
152
  success: false,
157
- error: `Invalid --domain '${String(domainOverride)}' — expected one of: ${[...domains, TOOL_DOMAIN].join(', ')}`,
153
+ error: `Invalid domain '${String(domainOverride)}' — expected one of: ${domains.join(', ')}`,
158
154
  };
159
155
  }
160
156
  const dir = ensurePluginHostDir(domain, cwd);
@@ -170,13 +166,13 @@ export async function pluginAdd(packageName, cwd = process.cwd(), domainOverride
170
166
  // COMMAND: plugin remove <package>
171
167
  // =============================================================================
172
168
  // eslint-disable-next-line @typescript-eslint/require-await -- async to keep the Promise<PluginResult> contract; npm uninstall is synchronous via execFileSync
173
- export async function pluginRemove(packageName, cwd = process.cwd(), domainOverride, layouts = [], scope = {}) {
169
+ export async function pluginRemove(packageName, cwd = process.cwd(), domainOverride, layouts = []) {
174
170
  if (!packageName) {
175
171
  return {
176
172
  type: PLUGIN_REMOVE,
177
173
  packageName: '',
178
174
  success: false,
179
- error: 'No package name provided. Usage: opensip plugin remove <package-name>',
175
+ error: 'No package name provided. Usage: opensip <tool> plugin remove <package-name>',
180
176
  };
181
177
  }
182
178
  if (!isSafeNpmSpec(packageName)) {
@@ -187,12 +183,8 @@ export async function pluginRemove(packageName, cwd = process.cwd(), domainOverr
187
183
  error: `Invalid package spec '${packageName}' — must not start with '-' (would be interpreted as an npm flag)`,
188
184
  };
189
185
  }
190
- // Tool-plugin path: a tool removal targets the tool host dir directly.
191
- // Detection by an installed package can't read a published marker, so the
192
- // tool path is keyed on the explicit `--domain tool`.
193
- if (domainOverride === TOOL_DOMAIN) {
194
- return removeToolPlugin(packageName, cwd, scope.project === true);
195
- }
186
+ // The domain is bound by the host (the pack-supporting tool primary). Whole
187
+ // Tool plugins are uninstalled with `opensip tools uninstall`, not here.
196
188
  const domains = domainNames(layouts);
197
189
  const domain = resolveDomain(domainOverride, packageName, domains);
198
190
  if (!domain) {
@@ -200,7 +192,7 @@ export async function pluginRemove(packageName, cwd = process.cwd(), domainOverr
200
192
  type: PLUGIN_REMOVE,
201
193
  packageName,
202
194
  success: false,
203
- error: `Invalid --domain '${String(domainOverride)}' — expected one of: ${[...domains, TOOL_DOMAIN].join(', ')}`,
195
+ error: `Invalid domain '${String(domainOverride)}' — expected one of: ${domains.join(', ')}`,
204
196
  };
205
197
  }
206
198
  const paths = resolveProjectPaths(cwd);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"render-outcome.d.ts","sourceRoot":"","sources":["../../src/commands/render-outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAK5E,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE9C"}
1
+ {"version":3,"file":"render-outcome.d.ts","sourceRoot":"","sources":["../../src/commands/render-outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAK5E,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"render-outcome.js","sourceRoot":"","sources":["../../src/commands/render-outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,qFAAqF;AACrF,MAAM,WAAW,GAAG,CAAC,CAAC;AAYtB;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAuB,EACvB,IAA0B;IAE1B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAsB,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"render-outcome.js","sourceRoot":"","sources":["../../src/commands/render-outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,qFAAqF;AACrF,MAAM,WAAW,GAAG,CAAC,CAAC;AAYtB;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAuB,EACvB,IAA0B;IAE1B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAsB,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACrD,CAAC"}
@@ -90,6 +90,15 @@ export interface CliCommandsContext {
90
90
  * surface only).
91
91
  */
92
92
  readonly toolCommandSpecs?: readonly SpecLike[];
93
+ /**
94
+ * Descriptor-driven names of the tools' `visibility: 'internal'` (Tier-3)
95
+ * commands (tool-command-surface-taxonomy Task 1.3). The `completion` command
96
+ * filters these from its inventory — the SAME source the `--help` hide pass
97
+ * keys on — so completion and help never drift. Optional so test harnesses that
98
+ * don't exercise completion can omit it (completion then falls back to the
99
+ * static {@link INTERNAL_COMMANDS} set inside `assembleCompletionInventory`).
100
+ */
101
+ readonly toolInternalCommands?: ReadonlySet<string>;
93
102
  /**
94
103
  * Persistence accessor (thunk). Calling this returns the project-local
95
104
  * DataStore, opening it lazily on first access. Commands that don't read
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/commands/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErF;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,SAAS,YAAY,EAAE,CAAC;IAC9E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACpD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE;QAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,KAAK,IAAI,CAAC;IACX;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IACvD;;;;;;;;;OASG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAChD;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;CACnC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/commands/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErF;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,SAAS,YAAY,EAAE,CAAC;IAC9E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACpD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE;QAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,KAAK,IAAI,CAAC;IACX;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IACvD;;;;;;;;;OASG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAChD;;;;;;;OAOG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpD;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;CACnC"}
@@ -0,0 +1,11 @@
1
+ import type { ToolsCreateResult } from '@opensip-cli/contracts';
2
+ export interface ToolsCreateInput {
3
+ readonly toolId: string;
4
+ readonly projectRoot: string;
5
+ readonly force?: boolean;
6
+ }
7
+ /**
8
+ * Scaffold a minimal project-local Tool under `<project>/opensip-cli/tools/<id>/`.
9
+ */
10
+ export declare function toolsCreate(input: ToolsCreateInput): ToolsCreateResult;
11
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/tools/create.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AA8CD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAyCtE"}
@@ -0,0 +1,84 @@
1
+ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
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
+ }
43
+ /**
44
+ * Scaffold a minimal project-local Tool under `<project>/opensip-cli/tools/<id>/`.
45
+ */
46
+ export function toolsCreate(input) {
47
+ const toolId = input.toolId.trim();
48
+ if (!TOOL_ID_PATTERN.test(toolId)) {
49
+ return {
50
+ type: 'tools-create',
51
+ toolId,
52
+ dir: '',
53
+ files: [],
54
+ success: false,
55
+ error: "tool id must be kebab-case (e.g. 'hello-tools')",
56
+ };
57
+ }
58
+ const commandName = toolId;
59
+ 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) {
63
+ return {
64
+ type: 'tools-create',
65
+ toolId,
66
+ dir: toolDir,
67
+ files: [],
68
+ success: false,
69
+ error: `directory already exists: ${toolDir} (pass --force to overwrite scaffold files)`,
70
+ };
71
+ }
72
+ mkdirSync(toolDir, { recursive: true });
73
+ writeFileSync(manifestPath, manifestJson(toolId, commandName), 'utf8');
74
+ writeFileSync(entryPath, runtimeMjs(toolId, commandName), 'utf8');
75
+ return {
76
+ type: 'tools-create',
77
+ toolId,
78
+ dir: toolDir,
79
+ files: [manifestPath, entryPath],
80
+ success: true,
81
+ hint: `export OPENSIP_CLI_ALLOW_PROJECT_TOOLS='${toolId}'`,
82
+ };
83
+ }
84
+ //# sourceMappingURL=create.js.map
@@ -0,0 +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 +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;AAQ3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,KAAK,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AA8MzD,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,kBAAkB,GAAG,SAAS,QAAQ,EAAE,CAQlF"}
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;AAS3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,KAAK,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AA2OzD,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,kBAAkB,GAAG,SAAS,QAAQ,EAAE,CASlF"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { EXIT_CODES } from '@opensip-cli/contracts';
11
11
  import { currentScope, defineCommand, } from '@opensip-cli/core';
12
+ import { toolsCreate } from './create.js';
12
13
  import { toolsDataPurge } from './data-purge.js';
13
14
  import { toolsInstall } from './install.js';
14
15
  import { toolsList } from './list.js';
@@ -176,6 +177,35 @@ function buildToolsUninstallSpec(ctx) {
176
177
  },
177
178
  });
178
179
  }
180
+ function buildToolsCreateSpec(ctx) {
181
+ return defineCommand({
182
+ name: 'create',
183
+ description: 'Scaffold a minimal project-local Tool under opensip-cli/tools/<id>/',
184
+ commonFlags: ['json'],
185
+ args: [{ name: 'tool-id', description: 'Kebab-case tool id (also the subcommand name)' }],
186
+ options: [
187
+ {
188
+ flag: '--force',
189
+ description: 'Overwrite scaffold files when the tool directory already exists',
190
+ default: false,
191
+ },
192
+ ],
193
+ scope: 'project',
194
+ output: COMMAND_RESULT_OUTPUT,
195
+ handler: (rawOpts) => {
196
+ const opts = rawOpts;
197
+ const toolId = opts._args[0] ?? '';
198
+ const result = toolsCreate({
199
+ toolId,
200
+ projectRoot: effectiveCwd(opts),
201
+ force: opts.force,
202
+ });
203
+ if (!result.success)
204
+ ctx.setExitCode(EXIT_CODES.CONFIGURATION_ERROR);
205
+ return Promise.resolve(result);
206
+ },
207
+ });
208
+ }
179
209
  function buildToolsDataPurgeSpec(ctx) {
180
210
  return defineCommand({
181
211
  name: 'data-purge',
@@ -204,6 +234,7 @@ function buildToolsDataPurgeSpec(ctx) {
204
234
  export function buildToolsGroupLeaves(ctx) {
205
235
  return [
206
236
  buildToolsListSpec(),
237
+ buildToolsCreateSpec(ctx),
207
238
  buildToolsValidateSpec(ctx),
208
239
  buildToolsInstallSpec(ctx),
209
240
  buildToolsUninstallSpec(ctx),
@@ -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":"runtime-probe-entry.d.ts","sourceRoot":"","sources":["../../../src/commands/tools/runtime-probe-entry.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG"}
1
+ {"version":3,"file":"runtime-probe-entry.d.ts","sourceRoot":"","sources":["../../../src/commands/tools/runtime-probe-entry.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG"}
@@ -1,5 +1,4 @@
1
1
  // @fitness-ignore-file one-outcome-shape -- this stdout JSON line is the PRIVATE parent↔child probe wire (runtime-probe.ts parses it), not the CLI's user-facing --json surface; renderOutcome/CommandOutcome govern user machine output, and the probe is never invoked as a CLI command.
2
- // @fitness-ignore-file only-documented-toolcli-seams -- same rationale: the stdout JSON is the private parent↔child probe IPC wire (parsed by runtime-probe.ts), not user-facing run output through a ToolCliContext seam.
3
2
  /**
4
3
  * runtime-probe-entry — the child-process side of `tools validate`'s runtime
5
4
  * sections (ADR-0041).
@@ -12,6 +11,7 @@
12
11
  * security boundary — same user privileges) and prints a slim JSON report on
13
12
  * stdout. Exit 0 ⇔ report.ok.
14
13
  */
14
+ import { resolveToolHooks } from '@opensip-cli/core';
15
15
  import { admitToolPackage } from '../../bootstrap/admit-tool-package.js';
16
16
  const dir = process.argv[2];
17
17
  if (dir === undefined || dir.length === 0) {
@@ -27,7 +27,9 @@ else {
27
27
  const slim = {
28
28
  ok: report.ok,
29
29
  sections: report.sections,
30
- toolConfigNamespace: report.tool?.config?.namespace ?? null,
30
+ toolConfigNamespace: report.tool
31
+ ? (resolveToolHooks(report.tool).config?.namespace ?? null)
32
+ : null,
31
33
  toolId: report.tool?.metadata.name ?? report.tool?.metadata.id ?? null,
32
34
  };
33
35
  process.stdout.write(`${JSON.stringify(slim)}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-probe-entry.js","sourceRoot":"","sources":["../../../src/commands/tools/runtime-probe-entry.ts"],"names":[],"mappings":"AAAA,2RAA2R;AAC3R,2NAA2N;AAC3N;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAIzE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC5E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;KAAM,CAAC;IACN,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;QACpC,GAAG;QACH,MAAM,EAAE,WAAW;QACnB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAC;IACH,MAAM,IAAI,GAAgB;QACxB,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,mBAAmB,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,IAAI,IAAI;QAC3D,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,IAAI;KACvE,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"runtime-probe-entry.js","sourceRoot":"","sources":["../../../src/commands/tools/runtime-probe-entry.ts"],"names":[],"mappings":"AAAA,2RAA2R;AAC3R;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAIzE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC5E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;KAAM,CAAC;IACN,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;QACpC,GAAG;QACH,MAAM,EAAE,WAAW;QACnB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAC;IACH,MAAM,IAAI,GAAgB;QACxB,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,mBAAmB,EAAE,MAAM,CAAC,IAAI;YAC9B,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC;YAC3D,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,IAAI;KACvE,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC"}
@@ -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;AAoKD;;;;;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;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"}
@@ -105,16 +105,23 @@ function skippedRuntimeSections() {
105
105
  }
106
106
  /**
107
107
  * Config contract (spec + ADR-0043 family): a manifest that declares config
108
- * needs a runtime `Tool.config`; a runtime namespace must equal the tool id.
108
+ * needs a runtime `Tool.config`.
109
+ *
110
+ * tool-command-surface-taxonomy Task 2.4 / Q1: the config namespace is
111
+ * DECOUPLED from the tool id (`metadata.name`). `metadata.name` is the command
112
+ * verb (`fit`/`sim`), while the config namespace is a hardcoded
113
+ * `ToolConfigDeclaration.namespace` literal (`fitness`/`simulation`/`graph`).
114
+ * They are intentionally allowed to differ (the long config key is retained as
115
+ * the sole valid namespace until Q6 flips the literal), so this section no
116
+ * longer requires `namespace === toolId` — that coupling was the pre-rename
117
+ * assumption. The unclaimed-namespace policy (`config-and-capabilities.ts`)
118
+ * still rejects a user-typed block that no loaded tool claims.
109
119
  */
110
- function configContractSection(manifestDeclaresConfig, toolConfigNamespace, toolId) {
120
+ function configContractSection(manifestDeclaresConfig, toolConfigNamespace, _toolId) {
111
121
  const diagnostics = [];
112
122
  if (manifestDeclaresConfig && toolConfigNamespace === null) {
113
123
  diagnostics.push('manifest declares config but the runtime Tool.config contribution is missing');
114
124
  }
115
- if (toolConfigNamespace !== null && toolConfigNamespace !== toolId) {
116
- diagnostics.push(`Tool.config.namespace '${toolConfigNamespace}' does not match the tool id '${toolId ?? ''}'`);
117
- }
118
125
  return section('config-contract', diagnostics.length === 0 ? 'passed' : 'failed', diagnostics);
119
126
  }
120
127
  /** The runtime-probe + config-contract leg. Mutates nothing; returns its sections. */
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/tools/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAuB,MAAM,8BAA8B,CAAC;AAI7F,+EAA+E;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GACpC,iEAAiE;IACjE,0EAA0E;IAC1E,+DAA+D,CAAC;AAoBlE,MAAM,YAAY,GAAG,GAAS,EAAE;IAC9B,2DAA2D;AAC7D,CAAC,CAAC;AAEF,8DAA8D;AAC9D,SAAS,cAAc,CAAC,IAAY,EAAE,GAAW;IAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/D,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,IAA2B;IACjD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,IAAI,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACnE,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3F,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACrF,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,aAAa,CAAC;QAC7D,OAAO;QACP,eAAe,EAAE,IAAI;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CACd,IAAY,EACZ,MAAsC,EACtC,cAAiC,EAAE;IAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,eAAe,CAAC,QAAmC;IAC1D,MAAM,UAAU,GAAG,CAAC,CAAiB,EAAW,EAAE,CAChD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,CAAC,CAAiB,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/E,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO;QACL,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzF,OAAO,CACL,mBAAmB,EACnB,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAC7C,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CACpB;KACF,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,SAAS,aAAa,CAAC,CAItB;IACC,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC3B,KAAyC,EACzC,eAAwB;IAExB,IAAI,KAAK,CAAC,EAAE,IAAI,eAAe;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,KAAK,SAAS;QAC1B,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC;QACzC,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CACrD,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,SAAS,sBAAsB;IAC7B,OAAO;QACL,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE;YACjC,uFAAuF;SACxF,CAAC;QACF,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC;QAChC,OAAO,CAAC,4BAA4B,EAAE,SAAS,CAAC;KACjD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC5B,sBAA+B,EAC/B,mBAAkC,EAClC,MAA0B;IAE1B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,sBAAsB,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;QAC3D,WAAW,CAAC,IAAI,CACd,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,IAAI,mBAAmB,KAAK,IAAI,IAAI,mBAAmB,KAAK,MAAM,EAAE,CAAC;QACnE,WAAW,CAAC,IAAI,CACd,0BAA0B,mBAAmB,iCAAiC,MAAM,IAAI,EAAE,GAAG,CAC9F,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACjG,CAAC;AAED,sFAAsF;AACtF,SAAS,kBAAkB,CACzB,MAAuB,EACvB,sBAA+B,EAC/B,cAAkC;IAElC,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC1F,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,eAAe,CAAC;SACxE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,GAAG,cAAc,CAAC;IAC5B,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QACb,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;YAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,EAAE,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,UAAU,CACjB,QAAyC,EACzC,UAAmB;IAEnB,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjE,IAAI,UAAU;QAAE,OAAO,YAAY,CAAC;IACpC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAA2B,EAC3B,EAAE,UAAU,GAAG,KAAK,KAA+B,EAAE;IAErD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO;gBACL,MAAM,EAAE;oBACN,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,QAAQ;oBACjB,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;iBAChE;gBACD,OAAO,EAAE,YAAY;aACtB,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,uBAAuB;QACvB,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC;YAC1C,GAAG,EAAE,MAAM,CAAC,MAAM;YAClB,MAAM,EAAE,WAAW;YACnB,mBAAmB,EAAE,IAAI;YACzB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,QAAQ,GAA2B,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5F,IAAI,MAAM,GAAuB,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC3D,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;YACpB,0EAA0E;YAC1E,MAAM,OAAO,GAAG,kBAAkB,CAChC,MAAM,EACN,YAAY,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,EAC3C,MAAM,CACP,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACxB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,CAAC;QAED,oEAAoE;QACpE,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE3E,OAAO;YACL,MAAM,EAAE;gBACN,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC3C,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;gBACzC,QAAQ;aACT;YACD,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY;SACpD,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,UAAU;YAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/tools/validate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAkBH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AA6FD,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA6ChG"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAkBH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AA6FD,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA6ChG"}
@@ -1,5 +1,4 @@
1
1
  // @fitness-ignore-file error-handling-quality -- file/dir walks for uninstall planning and best-effort tidy-up: missing/unreadable entries (TOCTOU vanish between readdir+stat, permission-denied subdirs, already-removed parent shells) are the expected non-terminal signal to skip; failure-IS-the-signal is the function contract in each catch.
2
- // @fitness-ignore-file only-documented-toolcli-seams -- interactive TTY UX: the readline confirmation prompt + human-readable removal-progress notes go to stdout via an injectable `write` (defaulted to process.stdout for the real run, stubbed in tests); this is not machine run output through a ToolCliContext seam (same category as clear.ts/configure.ts).
3
2
  /**
4
3
  * @fileoverview `opensip uninstall` — remove opensip-cli state
5
4
  * from a user account and/or project.