opensip-cli 0.1.6 → 0.1.8

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.map +1 -1
  2. package/dist/bootstrap/admit-tool-package.js +8 -3
  3. package/dist/bootstrap/admit-tool-package.js.map +1 -1
  4. package/dist/bootstrap/bind-tool-context.d.ts.map +1 -1
  5. package/dist/bootstrap/bind-tool-context.js +5 -3
  6. package/dist/bootstrap/bind-tool-context.js.map +1 -1
  7. package/dist/bootstrap/build-command-registration-input.d.ts +7 -0
  8. package/dist/bootstrap/build-command-registration-input.d.ts.map +1 -1
  9. package/dist/bootstrap/build-command-registration-input.js +11 -4
  10. package/dist/bootstrap/build-command-registration-input.js.map +1 -1
  11. package/dist/bootstrap/build-per-run-scope.d.ts +12 -0
  12. package/dist/bootstrap/build-per-run-scope.d.ts.map +1 -1
  13. package/dist/bootstrap/build-per-run-scope.js +92 -10
  14. package/dist/bootstrap/build-per-run-scope.js.map +1 -1
  15. package/dist/bootstrap/bundled-manifest.d.ts +5 -0
  16. package/dist/bootstrap/bundled-manifest.d.ts.map +1 -0
  17. package/dist/bootstrap/bundled-manifest.js +13 -0
  18. package/dist/bootstrap/bundled-manifest.js.map +1 -0
  19. package/dist/bootstrap/bundled-tools.manifest.json +19 -1
  20. package/dist/bootstrap/config-and-capabilities.d.ts.map +1 -1
  21. package/dist/bootstrap/config-and-capabilities.js +5 -4
  22. package/dist/bootstrap/config-and-capabilities.js.map +1 -1
  23. package/dist/bootstrap/constants.d.ts +3 -0
  24. package/dist/bootstrap/constants.d.ts.map +1 -0
  25. package/dist/bootstrap/constants.js +3 -0
  26. package/dist/bootstrap/constants.js.map +1 -0
  27. package/dist/bootstrap/decorate-tool-primary.d.ts +50 -0
  28. package/dist/bootstrap/decorate-tool-primary.d.ts.map +1 -0
  29. package/dist/bootstrap/decorate-tool-primary.js +111 -0
  30. package/dist/bootstrap/decorate-tool-primary.js.map +1 -0
  31. package/dist/bootstrap/execute-post-bailout-bootstrap.d.ts.map +1 -1
  32. package/dist/bootstrap/execute-post-bailout-bootstrap.js +10 -0
  33. package/dist/bootstrap/execute-post-bailout-bootstrap.js.map +1 -1
  34. package/dist/bootstrap/index.d.ts +7 -1
  35. package/dist/bootstrap/index.d.ts.map +1 -1
  36. package/dist/bootstrap/index.js +15 -6
  37. package/dist/bootstrap/index.js.map +1 -1
  38. package/dist/bootstrap/io-plane.d.ts +47 -0
  39. package/dist/bootstrap/io-plane.d.ts.map +1 -0
  40. package/dist/bootstrap/io-plane.js +73 -0
  41. package/dist/bootstrap/io-plane.js.map +1 -0
  42. package/dist/bootstrap/load-tool-capabilities.d.ts.map +1 -1
  43. package/dist/bootstrap/load-tool-capabilities.js +18 -2
  44. package/dist/bootstrap/load-tool-capabilities.js.map +1 -1
  45. package/dist/bootstrap/owning-tool-init.d.ts.map +1 -1
  46. package/dist/bootstrap/owning-tool-init.js +7 -4
  47. package/dist/bootstrap/owning-tool-init.js.map +1 -1
  48. package/dist/bootstrap/phase-map.d.ts +20 -0
  49. package/dist/bootstrap/phase-map.d.ts.map +1 -0
  50. package/dist/bootstrap/phase-map.js +108 -0
  51. package/dist/bootstrap/phase-map.js.map +1 -0
  52. package/dist/bootstrap/pre-action-hook.d.ts.map +1 -1
  53. package/dist/bootstrap/pre-action-hook.js +24 -2
  54. package/dist/bootstrap/pre-action-hook.js.map +1 -1
  55. package/dist/bootstrap/register-tools-discovery.d.ts +42 -59
  56. package/dist/bootstrap/register-tools-discovery.d.ts.map +1 -1
  57. package/dist/bootstrap/register-tools-discovery.js +175 -97
  58. package/dist/bootstrap/register-tools-discovery.js.map +1 -1
  59. package/dist/bootstrap/register-tools-mount.d.ts +18 -1
  60. package/dist/bootstrap/register-tools-mount.d.ts.map +1 -1
  61. package/dist/bootstrap/register-tools-mount.js +118 -18
  62. package/dist/bootstrap/register-tools-mount.js.map +1 -1
  63. package/dist/bootstrap/register-tools.d.ts +58 -14
  64. package/dist/bootstrap/register-tools.d.ts.map +1 -1
  65. package/dist/bootstrap/register-tools.js +185 -14
  66. package/dist/bootstrap/register-tools.js.map +1 -1
  67. package/dist/bootstrap/root-version.d.ts +26 -0
  68. package/dist/bootstrap/root-version.d.ts.map +1 -0
  69. package/dist/bootstrap/root-version.js +36 -0
  70. package/dist/bootstrap/root-version.js.map +1 -0
  71. package/dist/bootstrap/scope-access.d.ts +26 -1
  72. package/dist/bootstrap/scope-access.d.ts.map +1 -1
  73. package/dist/bootstrap/scope-access.js +38 -1
  74. package/dist/bootstrap/scope-access.js.map +1 -1
  75. package/dist/bootstrap/skip-installed-plugins.d.ts +23 -0
  76. package/dist/bootstrap/skip-installed-plugins.d.ts.map +1 -0
  77. package/dist/bootstrap/skip-installed-plugins.js +30 -0
  78. package/dist/bootstrap/skip-installed-plugins.js.map +1 -0
  79. package/dist/bootstrap/tool-lifecycle.d.ts +0 -22
  80. package/dist/bootstrap/tool-lifecycle.d.ts.map +1 -1
  81. package/dist/bootstrap/tool-lifecycle.js +0 -23
  82. package/dist/bootstrap/tool-lifecycle.js.map +1 -1
  83. package/dist/bootstrap/tool-trust.d.ts +22 -2
  84. package/dist/bootstrap/tool-trust.d.ts.map +1 -1
  85. package/dist/bootstrap/tool-trust.js +25 -2
  86. package/dist/bootstrap/tool-trust.js.map +1 -1
  87. package/dist/bootstrap/validate-tool.d.ts +10 -4
  88. package/dist/bootstrap/validate-tool.d.ts.map +1 -1
  89. package/dist/bootstrap/validate-tool.js +76 -22
  90. package/dist/bootstrap/validate-tool.js.map +1 -1
  91. package/dist/cli-context.d.ts +2 -2
  92. package/dist/cli-context.d.ts.map +1 -1
  93. package/dist/cli-context.js +20 -35
  94. package/dist/cli-context.js.map +1 -1
  95. package/dist/commands/agent-catalog.d.ts +29 -0
  96. package/dist/commands/agent-catalog.d.ts.map +1 -1
  97. package/dist/commands/agent-catalog.js +77 -36
  98. package/dist/commands/agent-catalog.js.map +1 -1
  99. package/dist/commands/clear.d.ts.map +1 -1
  100. package/dist/commands/clear.js +0 -1
  101. package/dist/commands/clear.js.map +1 -1
  102. package/dist/commands/command-scope-index.d.ts +15 -1
  103. package/dist/commands/command-scope-index.d.ts.map +1 -1
  104. package/dist/commands/command-scope-index.js +10 -1
  105. package/dist/commands/command-scope-index.js.map +1 -1
  106. package/dist/commands/completion.d.ts +67 -6
  107. package/dist/commands/completion.d.ts.map +1 -1
  108. package/dist/commands/completion.js +84 -12
  109. package/dist/commands/completion.js.map +1 -1
  110. package/dist/commands/configure.d.ts.map +1 -1
  111. package/dist/commands/configure.js +0 -1
  112. package/dist/commands/configure.js.map +1 -1
  113. package/dist/commands/host-command-specs.d.ts +16 -9
  114. package/dist/commands/host-command-specs.d.ts.map +1 -1
  115. package/dist/commands/host-command-specs.js +45 -19
  116. package/dist/commands/host-command-specs.js.map +1 -1
  117. package/dist/commands/host-config-flag.d.ts +21 -0
  118. package/dist/commands/host-config-flag.d.ts.map +1 -0
  119. package/dist/commands/host-config-flag.js +21 -0
  120. package/dist/commands/host-config-flag.js.map +1 -0
  121. package/dist/commands/host-subcommand-groups.d.ts +46 -5
  122. package/dist/commands/host-subcommand-groups.d.ts.map +1 -1
  123. package/dist/commands/host-subcommand-groups.js +97 -65
  124. package/dist/commands/host-subcommand-groups.js.map +1 -1
  125. package/dist/commands/index.d.ts +1 -1
  126. package/dist/commands/index.js +1 -1
  127. package/dist/commands/internal-command-visibility.d.ts +42 -0
  128. package/dist/commands/internal-command-visibility.d.ts.map +1 -0
  129. package/dist/commands/internal-command-visibility.js +54 -0
  130. package/dist/commands/internal-command-visibility.js.map +1 -0
  131. package/dist/commands/mount-command-action.d.ts +5 -0
  132. package/dist/commands/mount-command-action.d.ts.map +1 -1
  133. package/dist/commands/mount-command-action.js +26 -2
  134. package/dist/commands/mount-command-action.js.map +1 -1
  135. package/dist/commands/mount-command-spec.d.ts +9 -2
  136. package/dist/commands/mount-command-spec.d.ts.map +1 -1
  137. package/dist/commands/mount-command-spec.js +9 -1
  138. package/dist/commands/mount-command-spec.js.map +1 -1
  139. package/dist/commands/plugin/domain-resolution.d.ts +12 -13
  140. package/dist/commands/plugin/domain-resolution.d.ts.map +1 -1
  141. package/dist/commands/plugin/domain-resolution.js +12 -58
  142. package/dist/commands/plugin/domain-resolution.js.map +1 -1
  143. package/dist/commands/plugin/host-dir.d.ts +0 -1
  144. package/dist/commands/plugin/host-dir.d.ts.map +1 -1
  145. package/dist/commands/plugin/host-dir.js +1 -1
  146. package/dist/commands/plugin/host-dir.js.map +1 -1
  147. package/dist/commands/plugin.d.ts +20 -14
  148. package/dist/commands/plugin.d.ts.map +1 -1
  149. package/dist/commands/plugin.js +39 -47
  150. package/dist/commands/plugin.js.map +1 -1
  151. package/dist/commands/render-outcome.d.ts.map +1 -1
  152. package/dist/commands/render-outcome.js.map +1 -1
  153. package/dist/commands/shared.d.ts +9 -0
  154. package/dist/commands/shared.d.ts.map +1 -1
  155. package/dist/commands/tools/create.d.ts +11 -0
  156. package/dist/commands/tools/create.d.ts.map +1 -0
  157. package/dist/commands/tools/create.js +84 -0
  158. package/dist/commands/tools/create.js.map +1 -0
  159. package/dist/commands/tools/index.d.ts.map +1 -1
  160. package/dist/commands/tools/index.js +31 -0
  161. package/dist/commands/tools/index.js.map +1 -1
  162. package/dist/commands/tools/runtime-probe-entry.d.ts.map +1 -1
  163. package/dist/commands/tools/runtime-probe-entry.js +4 -2
  164. package/dist/commands/tools/runtime-probe-entry.js.map +1 -1
  165. package/dist/commands/tools/validate.d.ts.map +1 -1
  166. package/dist/commands/tools/validate.js +12 -5
  167. package/dist/commands/tools/validate.js.map +1 -1
  168. package/dist/commands/uninstall.d.ts.map +1 -1
  169. package/dist/commands/uninstall.js +0 -1
  170. package/dist/commands/uninstall.js.map +1 -1
  171. package/dist/env/host-env-specs.d.ts +18 -0
  172. package/dist/env/host-env-specs.d.ts.map +1 -1
  173. package/dist/env/host-env-specs.js +58 -2
  174. package/dist/env/host-env-specs.js.map +1 -1
  175. package/dist/index.d.ts +1 -1
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +33 -11
  178. package/dist/index.js.map +1 -1
  179. package/dist/report-compose.d.ts.map +1 -1
  180. package/dist/report-compose.js +2 -2
  181. package/dist/report-compose.js.map +1 -1
  182. package/dist/session-replay-registry.d.ts +1 -1
  183. package/dist/session-replay-registry.d.ts.map +1 -1
  184. package/dist/session-replay-registry.js +3 -1
  185. package/dist/session-replay-registry.js.map +1 -1
  186. package/dist/telemetry/command-label.d.ts +19 -0
  187. package/dist/telemetry/command-label.d.ts.map +1 -0
  188. package/dist/telemetry/command-label.js +26 -0
  189. package/dist/telemetry/command-label.js.map +1 -0
  190. package/dist/telemetry/sdk-init.d.ts +9 -0
  191. package/dist/telemetry/sdk-init.d.ts.map +1 -1
  192. package/dist/telemetry/sdk-init.js +32 -0
  193. package/dist/telemetry/sdk-init.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 +29 -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,14 +1,15 @@
1
1
  /**
2
2
  * plugin/domain-resolution — pure validation + routing logic for the
3
- * `plugin add/remove/sync` commands.
3
+ * `<tool> plugin add/remove/sync` commands.
4
4
  *
5
5
  * Extracted from `commands/plugin.ts` to keep that file focused on the
6
- * command bodies. Everything here decides WHICH host dir / domain a spec
7
- * targets — it reads package markers but performs no install. The
8
- * plugin-supporting domains are NOT hardcoded: they come from the
9
- * registered tools' `pluginLayout` descriptors (threaded in as
10
- * `PluginLayout[]`), so the kernel stays tool-agnostic and the tools
11
- * remain the single source of truth (ADR-0009 corollary 1).
6
+ * command bodies. Everything here decides WHICH host dir / domain a pack
7
+ * targets — no install. The plugin-supporting domains are NOT hardcoded:
8
+ * they come from the registered tools' `pluginLayout` descriptors (threaded
9
+ * in as `PluginLayout[]`), so the kernel stays tool-agnostic and the tools
10
+ * remain the single source of truth (ADR-0009 corollary 1). The pack ops are
11
+ * mounted under each pack-supporting tool primary (`opensip fit plugin …`),
12
+ * so the domain is bound from the tool rather than a `--domain` flag.
12
13
  */
13
14
  import { type PluginLayout } from '@opensip-cli/core';
14
15
  /**
@@ -19,6 +20,10 @@ import { type PluginLayout } from '@opensip-cli/core';
19
20
  * user-global by default (`~/.opensip-cli/plugins/tool`) so the
20
21
  * subcommand is available in every project — or project-local
21
22
  * (`.runtime/plugins/tool`) with `--project`.
23
+ *
24
+ * Whole Tool plugins are managed by `opensip tools {install,uninstall,…}`
25
+ * (NOT the per-tool `plugin` group); this constant is the shared host-dir
26
+ * segment those commands resolve against.
22
27
  */
23
28
  export declare const TOOL_DOMAIN = "tool";
24
29
  /** The set of plugin-supporting domain names from the contributed layouts. */
@@ -29,10 +34,4 @@ export declare function domainNames(layouts: readonly PluginLayout[]): string[];
29
34
  * construction outside opensip-cli/.runtime/.
30
35
  */
31
36
  export declare function resolveDomain(override: string | undefined, packageName: string, domains: readonly string[]): string | undefined;
32
- /**
33
- * Decide whether `plugin add/remove <spec>` targets a Tool plugin:
34
- * explicit `--domain tool`, or (when no `--domain` is given) a detected
35
- * `kind: "tool"` marker. An explicit fit/sim `--domain` is honoured as-is.
36
- */
37
- export declare function isToolTarget(domainOverride: string | undefined, spec: string, cwd: string): boolean;
38
37
  //# sourceMappingURL=domain-resolution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain-resolution.d.ts","sourceRoot":"","sources":["../../../src/commands/plugin/domain-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIxE;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAEtE;AAaD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,MAAM,GAAG,SAAS,CAGpB;AAqCD;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAIT"}
1
+ {"version":3,"file":"domain-resolution.d.ts","sourceRoot":"","sources":["../../../src/commands/plugin/domain-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,EAAE,CAEtE;AAaD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,MAAM,GAAG,SAAS,CAGpB"}
@@ -1,19 +1,16 @@
1
1
  /**
2
2
  * plugin/domain-resolution — pure validation + routing logic for the
3
- * `plugin add/remove/sync` commands.
3
+ * `<tool> plugin add/remove/sync` commands.
4
4
  *
5
5
  * Extracted from `commands/plugin.ts` to keep that file focused on the
6
- * command bodies. Everything here decides WHICH host dir / domain a spec
7
- * targets — it reads package markers but performs no install. The
8
- * plugin-supporting domains are NOT hardcoded: they come from the
9
- * registered tools' `pluginLayout` descriptors (threaded in as
10
- * `PluginLayout[]`), so the kernel stays tool-agnostic and the tools
11
- * remain the single source of truth (ADR-0009 corollary 1).
6
+ * command bodies. Everything here decides WHICH host dir / domain a pack
7
+ * targets — no install. The plugin-supporting domains are NOT hardcoded:
8
+ * they come from the registered tools' `pluginLayout` descriptors (threaded
9
+ * in as `PluginLayout[]`), so the kernel stays tool-agnostic and the tools
10
+ * remain the single source of truth (ADR-0009 corollary 1). The pack ops are
11
+ * mounted under each pack-supporting tool primary (`opensip fit plugin …`),
12
+ * so the domain is bound from the tool rather than a `--domain` flag.
12
13
  */
13
- import { execFileSync } from 'node:child_process';
14
- import { isAbsolute, join } from 'node:path';
15
- import { readDeclaredKind } from '@opensip-cli/core';
16
- import { extractNameFromSpec } from './host-dir.js';
17
14
  /**
18
15
  * Pseudo-domain for full Tool plugins (whole subcommands). Distinct from
19
16
  * the fit/sim plugin DOMAINS (which are project-committed + listed in
@@ -22,6 +19,10 @@ import { extractNameFromSpec } from './host-dir.js';
22
19
  * user-global by default (`~/.opensip-cli/plugins/tool`) so the
23
20
  * subcommand is available in every project — or project-local
24
21
  * (`.runtime/plugins/tool`) with `--project`.
22
+ *
23
+ * Whole Tool plugins are managed by `opensip tools {install,uninstall,…}`
24
+ * (NOT the per-tool `plugin` group); this constant is the shared host-dir
25
+ * segment those commands resolve against.
25
26
  */
26
27
  export const TOOL_DOMAIN = 'tool';
27
28
  /** The set of plugin-supporting domain names from the contributed layouts. */
@@ -48,51 +49,4 @@ export function resolveDomain(override, packageName, domains) {
48
49
  return inferDomain(packageName, domains);
49
50
  return domains.includes(override) ? override : undefined;
50
51
  }
51
- /**
52
- * Detect a package's `opensipTools.kind` BEFORE installing, so `plugin add`
53
- * can route a Tool plugin to its host dir rather than a fit/sim domain.
54
- *
55
- * - Local-path specs (`.`/`/`/`file:`): read the target's package.json
56
- * directly — free and offline.
57
- * - Registry specs: `npm view <name> opensipTools.kind` (one network
58
- * call; `plugin add` is already online for the install).
59
- *
60
- * Returns undefined when undetectable (offline, private registry, no
61
- * marker) — the caller then falls back to fit/sim domain inference. The raw
62
- * declared kind is returned as a string (the only thing the caller checks is
63
- * `=== 'tool'`); domain markers are no longer a compiled-in host union.
64
- */
65
- function detectPluginKind(spec, cwd) {
66
- if (spec.startsWith('/') || spec.startsWith('.') || spec.startsWith('file:')) {
67
- const raw = spec.startsWith('file:') ? spec.slice('file:'.length) : spec;
68
- return readDeclaredKind(isAbsolute(raw) ? raw : join(cwd, raw));
69
- }
70
- try {
71
- const name = extractNameFromSpec(spec) ?? spec;
72
- const out = execFileSync('npm', ['view', name, 'opensipTools.kind'], {
73
- cwd,
74
- encoding: 'utf8',
75
- stdio: ['ignore', 'pipe', 'ignore'],
76
- })
77
- .toString()
78
- .trim();
79
- return out === '' ? undefined : out;
80
- }
81
- catch {
82
- // @fitness-ignore-next-line error-handling-quality -- `npm view` failure (offline, private registry, or no such package) means the kind is undetectable; returning undefined routes the caller to fit/sim domain inference — the documented fallback, not a swallowed error.
83
- return undefined;
84
- }
85
- }
86
- /**
87
- * Decide whether `plugin add/remove <spec>` targets a Tool plugin:
88
- * explicit `--domain tool`, or (when no `--domain` is given) a detected
89
- * `kind: "tool"` marker. An explicit fit/sim `--domain` is honoured as-is.
90
- */
91
- export function isToolTarget(domainOverride, spec, cwd) {
92
- if (domainOverride === TOOL_DOMAIN)
93
- return true;
94
- if (domainOverride !== undefined)
95
- return false;
96
- return detectPluginKind(spec, cwd) === 'tool';
97
- }
98
52
  //# sourceMappingURL=domain-resolution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain-resolution.js","sourceRoot":"","sources":["../../../src/commands/plugin/domain-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAqB,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAElC,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,OAAgC;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,WAAmB,EAAE,OAA0B;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACtF,OAAO,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,QAA4B,EAC5B,WAAmB,EACnB,OAA0B;IAE1B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrE,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,GAAW;IACjD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAC/C,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE;YACnE,GAAG;YACH,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC;aACC,QAAQ,EAAE;aACV,IAAI,EAAE,CAAC;QACV,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,6QAA6Q;QAC7Q,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,cAAkC,EAClC,IAAY,EACZ,GAAW;IAEX,IAAI,cAAc,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"domain-resolution.js","sourceRoot":"","sources":["../../../src/commands/plugin/domain-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAElC,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,OAAgC;IAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,WAAmB,EAAE,OAA0B;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACtF,OAAO,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,QAA4B,EAC5B,WAAmB,EACnB,OAA0B;IAE1B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrE,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC"}
@@ -38,5 +38,4 @@ export declare function ensureUserPluginHostDir(domain: string): string;
38
38
  export declare function installMissingPeers(dir: string, requestedSpec: string, depsBefore: Set<string>): void;
39
39
  export declare function findInstalledName(dir: string, requestedSpec: string, depsBefore: Set<string>): string | undefined;
40
40
  export declare function readHostDependencies(dir: string): Set<string>;
41
- export declare function extractNameFromSpec(spec: string): string | undefined;
42
41
  //# sourceMappingURL=host-dir.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"host-dir.d.ts","sourceRoot":"","sources":["../../../src/commands/plugin/host-dir.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAQH,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAInD;AAED,uFAAuF;AACvF,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAoBjE;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,IAAI,CAsBN;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,MAAM,GAAG,SAAS,CAEpB;AA2BD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAG7D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAapE"}
1
+ {"version":3,"file":"host-dir.d.ts","sourceRoot":"","sources":["../../../src/commands/plugin/host-dir.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAQH,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAInD;AAED,uFAAuF;AACvF,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAoBjE;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,IAAI,CAsBN;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,MAAM,GAAG,SAAS,CAEpB;AA2BD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAG7D"}
@@ -118,7 +118,7 @@ export function readHostDependencies(dir) {
118
118
  const hostPkg = readPackageJson(join(dir, HOST_PACKAGE_JSON));
119
119
  return new Set(Object.keys(hostPkg?.dependencies ?? {}));
120
120
  }
121
- export function extractNameFromSpec(spec) {
121
+ function extractNameFromSpec(spec) {
122
122
  if (spec.startsWith('/') || spec.startsWith('.') || spec.startsWith('file:'))
123
123
  return undefined;
124
124
  if (spec.startsWith('@')) {
@@ -1 +1 @@
1
- {"version":3,"file":"host-dir.js","sourceRoot":"","sources":["../../../src/commands/plugin/host-dir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-dir.js","sourceRoot":"","sources":["../../../src/commands/plugin/host-dir.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
1
  /**
2
- * plugin command — manage project-local npm-installed plugins.
2
+ * plugin command — manage a PACK-SUPPORTING tool's project-local
3
+ * npm-installed extension packs (fit/sim checks, recipes, scenarios).
4
+ *
5
+ * The pack ops are mounted UNDER each pack-supporting tool primary —
6
+ * `opensip fit plugin {add|list|remove|sync}` (domain pre-bound to `fit`),
7
+ * `opensip sim plugin {…}` (domain `sim`). There is no top-level
8
+ * `opensip plugin` command, and no `--domain`/`--type` flag: the tool the
9
+ * subcommand hangs off of IS the domain. Whole Tool plugins (platform
10
+ * subcommands) are installed/uninstalled with `opensip tools …`, never here.
3
11
  *
4
12
  * Layout (no user-global plugin dir):
5
13
  *
@@ -17,17 +25,17 @@
17
25
  * installed package (silent loads
18
26
  * would surprise users).
19
27
  *
20
- * `plugin add <pkg>` is the one-step install: writes the package to
28
+ * `<tool> plugin add <pkg>` is the one-step install: writes the package to
21
29
  * .runtime/plugins/<domain>/node_modules AND adds it to plugins.<domain>
22
30
  * in the project config. After: `opensip fit` loads it on next run.
23
31
  *
24
- * `plugin remove <pkg>` is the inverse: removes from node_modules AND
32
+ * `<tool> plugin remove <pkg>` is the inverse: removes from node_modules AND
25
33
  * deletes from plugins.<domain>.
26
34
  *
27
- * `plugin list` walks .runtime/plugins/<domain>/node_modules + the
35
+ * `<tool> plugin list` walks .runtime/plugins/<domain>/node_modules + the
28
36
  * config to show what's installed and what's currently loaded.
29
37
  *
30
- * `plugin sync` is the post-clone bootstrap: reads plugins.<domain> from
38
+ * `<tool> plugin sync` is the post-clone bootstrap: reads plugins.<domain> from
31
39
  * the config and `npm install`s everything declared. Used by CI and
32
40
  * by users who clone a repo with custom plugins.
33
41
  *
@@ -36,18 +44,13 @@
36
44
  * - This file owns the `plugin {list,add,remove,sync}` command bodies.
37
45
  * - `plugin/config-edit.ts` — YAML round-trip edits to plugins.<domain>.
38
46
  * - `plugin/domain-resolution.ts` — TOOL_DOMAIN + the pure validation
39
- * logic that routes a spec to a domain / Tool host dir (no install).
47
+ * logic that routes a spec to a domain (no install).
40
48
  * - `plugin/host-dir.ts` — host package.json creation + installed-
41
49
  * package introspection (incl. peer-dependency auto-install).
42
50
  */
43
51
  import { type PluginLayout, type ToolProvenance } from '@opensip-cli/core';
44
52
  import { editPluginList } from './plugin-host-ops.js';
45
53
  import type { PluginResult } from '@opensip-cli/contracts';
46
- /** Options shared by `plugin add`/`remove` for Tool-plugin scope selection. */
47
- export interface PluginScopeOpts {
48
- /** Install/remove a Tool plugin in the project-local host dir instead of user-global. */
49
- readonly project?: boolean;
50
- }
51
54
  /**
52
55
  * Test-only export for the YAML-driven config edit so unit tests can
53
56
  * exercise the round-trip behaviour without spawning npm. Intentionally
@@ -58,14 +61,17 @@ export declare const __test: {
58
61
  };
59
62
  export declare function pluginList(cwd?: string, layouts?: readonly PluginLayout[], toolProvenance?: readonly ToolProvenance[]): Promise<PluginResult>;
60
63
  /**
61
- * Install a plugin AND add it to the project config in one step.
64
+ * Install a pack AND add it to the project config in one step, scoped to the
65
+ * caller's bound `domain` (the pack-supporting tool the subcommand hangs off
66
+ * of — `fit`/`sim`). Whole Tool plugins are NOT installable here; use
67
+ * `opensip tools install`.
62
68
  *
63
69
  * Without the config update, the package wouldn't get loaded — making
64
70
  * "install" alone always incomplete. Single-step is the only sensible
65
71
  * default.
66
72
  */
67
- export declare function pluginAdd(packageName: string | undefined, cwd?: string, domainOverride?: string, layouts?: readonly PluginLayout[], scope?: PluginScopeOpts): Promise<PluginResult>;
68
- export declare function pluginRemove(packageName: string | undefined, cwd?: string, domainOverride?: string, layouts?: readonly PluginLayout[], scope?: PluginScopeOpts): Promise<PluginResult>;
73
+ export declare function pluginAdd(packageName: string | undefined, cwd?: string, domainOverride?: string, layouts?: readonly PluginLayout[]): Promise<PluginResult>;
74
+ export declare function pluginRemove(packageName: string | undefined, cwd?: string, domainOverride?: string, layouts?: readonly PluginLayout[]): Promise<PluginResult>;
69
75
  /**
70
76
  * Install every plugin declared in `plugins.<domain>` for a given
71
77
  * domain (or all domains when none specified). Idempotent — re-running
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAMH,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAU3B,OAAO,EAEL,cAAc,EAIf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAc,YAAY,EAAa,MAAM,wBAAwB,CAAC;AAUlF,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,yFAAyF;IACzF,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM;;CAAqB,CAAC;AAMzC,wBAAsB,UAAU,CAC9B,GAAG,GAAE,MAAsB,EAC3B,OAAO,GAAE,SAAS,YAAY,EAAO,EAGrC,cAAc,GAAE,SAAS,cAAc,EAAO,GAC7C,OAAO,CAAC,YAAY,CAAC,CA2CvB;AAUD;;;;;;GAMG;AAEH,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,GAAG,GAAE,MAAsB,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,GAAE,SAAS,YAAY,EAAO,EACrC,KAAK,GAAE,eAAoB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA6CvB;AAOD,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,GAAG,GAAE,MAAsB,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,GAAE,SAAS,YAAY,EAAO,EACrC,KAAK,GAAE,eAAoB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA0DvB;AAMD;;;;;;;;;;GAUG;AAKH,wBAAsB,UAAU,CAC9B,GAAG,GAAE,MAAsB,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,GAAE,SAAS,YAAY,EAAO,GACpC,OAAO,CAAC,YAAY,CAAC,CA4CvB"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAMH,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,cAAc,EAA4C,MAAM,sBAAsB,CAAC;AAEhG,OAAO,KAAK,EAAc,YAAY,EAAa,MAAM,wBAAwB,CAAC;AAUlF;;;;GAIG;AACH,eAAO,MAAM,MAAM;;CAAqB,CAAC;AAMzC,wBAAsB,UAAU,CAC9B,GAAG,GAAE,MAAsB,EAC3B,OAAO,GAAE,SAAS,YAAY,EAAO,EAGrC,cAAc,GAAE,SAAS,cAAc,EAAO,GAC7C,OAAO,CAAC,YAAY,CAAC,CAgCvB;AAUD;;;;;;;;;GASG;AAEH,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,GAAG,GAAE,MAAsB,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,GAAE,SAAS,YAAY,EAAO,GACpC,OAAO,CAAC,YAAY,CAAC,CAwCvB;AAOD,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,GAAG,GAAE,MAAsB,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,GAAE,SAAS,YAAY,EAAO,GACpC,OAAO,CAAC,YAAY,CAAC,CAqDvB;AAMD;;;;;;;;;;GAUG;AAKH,wBAAsB,UAAU,CAC9B,GAAG,GAAE,MAAsB,EAC3B,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,GAAE,SAAS,YAAY,EAAO,GACpC,OAAO,CAAC,YAAY,CAAC,CA4CvB"}
@@ -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"}