opendevbrowser 0.0.20 → 0.0.22

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 (53) hide show
  1. package/README.md +18 -8
  2. package/dist/chunk-3ILXPKSJ.js +86 -0
  3. package/dist/chunk-3ILXPKSJ.js.map +1 -0
  4. package/dist/{chunk-LMNFPJRI.js → chunk-OGE5KJ4X.js} +18 -12
  5. package/dist/{chunk-LMNFPJRI.js.map → chunk-OGE5KJ4X.js.map} +1 -1
  6. package/dist/chunk-QVWOPIZJ.js +612 -0
  7. package/dist/chunk-QVWOPIZJ.js.map +1 -0
  8. package/dist/{chunk-3VA6XR25.js → chunk-STGGGVYT.js} +23 -100
  9. package/dist/chunk-STGGGVYT.js.map +1 -0
  10. package/dist/{chunk-C6QUKABT.js → chunk-ZE2E7ZGH.js} +243 -37
  11. package/dist/chunk-ZE2E7ZGH.js.map +1 -0
  12. package/dist/cli/commands/macro-resolve.d.ts.map +1 -1
  13. package/dist/cli/commands/uninstall.d.ts +1 -0
  14. package/dist/cli/commands/uninstall.d.ts.map +1 -1
  15. package/dist/cli/help.d.ts.map +1 -1
  16. package/dist/cli/index.js +296 -617
  17. package/dist/cli/index.js.map +1 -1
  18. package/dist/cli/installers/postinstall-skill-sync.d.ts +15 -0
  19. package/dist/cli/installers/postinstall-skill-sync.d.ts.map +1 -0
  20. package/dist/cli/installers/postinstall-skill-sync.js +48 -0
  21. package/dist/cli/installers/postinstall-skill-sync.js.map +1 -0
  22. package/dist/cli/installers/skills.d.ts +9 -14
  23. package/dist/cli/installers/skills.d.ts.map +1 -1
  24. package/dist/cli/skill-lifecycle.d.ts +26 -0
  25. package/dist/cli/skill-lifecycle.d.ts.map +1 -0
  26. package/dist/cli/update-skill-modes.d.ts +3 -0
  27. package/dist/cli/update-skill-modes.d.ts.map +1 -0
  28. package/dist/cli/utils/workflow-message.d.ts.map +1 -1
  29. package/dist/index.js +9 -8
  30. package/dist/index.js.map +1 -1
  31. package/dist/inspiredesign/handoff.d.ts +34 -0
  32. package/dist/inspiredesign/handoff.d.ts.map +1 -0
  33. package/dist/opendevbrowser.js +9 -8
  34. package/dist/opendevbrowser.js.map +1 -1
  35. package/dist/providers/inspiredesign-contract.d.ts +33 -0
  36. package/dist/providers/inspiredesign-contract.d.ts.map +1 -1
  37. package/dist/providers/renderer.d.ts +3 -1
  38. package/dist/providers/renderer.d.ts.map +1 -1
  39. package/dist/providers/workflow-handoff.d.ts +14 -0
  40. package/dist/providers/workflow-handoff.d.ts.map +1 -0
  41. package/dist/providers/workflows.d.ts.map +1 -1
  42. package/dist/{providers-3VBLTNAX.js → providers-ZIVHHH4F.js} +2 -2
  43. package/dist/public-surface/generated-manifest.d.ts +3 -3
  44. package/dist/public-surface/generated-manifest.d.ts.map +1 -1
  45. package/dist/public-surface/source.d.ts +4 -4
  46. package/dist/skills/skill-loader.js +2 -1
  47. package/extension/manifest.json +1 -1
  48. package/package.json +6 -4
  49. package/scripts/postinstall-sync-skills.mjs +33 -0
  50. package/skills/opendevbrowser-product-presentation-asset/SKILL.md +2 -2
  51. package/dist/chunk-3VA6XR25.js.map +0 -1
  52. package/dist/chunk-C6QUKABT.js.map +0 -1
  53. /package/dist/{providers-3VBLTNAX.js.map → providers-ZIVHHH4F.js.map} +0 -0
package/README.md CHANGED
@@ -99,20 +99,29 @@ cd <public-repo-root>
99
99
  npm pack
100
100
 
101
101
  WORKDIR=$(mktemp -d /tmp/opendevbrowser-first-run-XXXXXX)
102
+ ISOLATED_ROOT=$(mktemp -d /tmp/opendevbrowser-first-run-isolated-XXXXXX)
103
+ export HOME="$ISOLATED_ROOT/home"
104
+ export OPENCODE_CONFIG_DIR="$ISOLATED_ROOT/opencode-config"
105
+ export OPENCODE_CACHE_DIR="$ISOLATED_ROOT/opencode-cache"
106
+ export CODEX_HOME="$ISOLATED_ROOT/codex-home"
107
+ export CLAUDECODE_HOME="$ISOLATED_ROOT/claudecode-home"
108
+ export AMP_CLI_HOME="$ISOLATED_ROOT/ampcli-home"
102
109
  cd "$WORKDIR"
103
110
  npm init -y
104
- npm install <public-repo-root>/opendevbrowser-0.0.20.tgz
111
+ npm install <public-repo-root>/opendevbrowser-0.0.21.tgz
105
112
  npx --no-install opendevbrowser --help
106
113
  npx --no-install opendevbrowser help
107
114
  ```
108
115
 
109
116
  Published npm consumer proof is tracked separately in [docs/RELEASE_RUNBOOK.md](docs/RELEASE_RUNBOOK.md) through `scripts/registry-consumer-smoke.mjs`.
110
117
 
118
+ Set `OPDEVBROWSER_SKIP_POSTINSTALL_SKILL_SYNC=1` before `npm install` only if you need a packaging smoke test that avoids the install-time managed-skill refresh entirely.
119
+
111
120
  See [docs/FIRST_RUN_ONBOARDING.md](docs/FIRST_RUN_ONBOARDING.md) for the full onboarding checklist, [docs/DEPENDENCIES.md](docs/DEPENDENCIES.md) for runtime inventory, and [docs/SURFACE_REFERENCE.md](docs/SURFACE_REFERENCE.md) for the live CLI and tool surface.
112
121
 
113
122
  Successful installs reconcile daemon auto-start on supported platforms so the relay is available on login. If the current CLI entrypoint lives under a transient temp-root path such as a first-run `/tmp` or `/private/tmp` workspace, OpenDevBrowser refuses to persist that path as auto-start. Rerun `opendevbrowser daemon install`, or `npx --no-install opendevbrowser daemon install` from a persistent local package install, from a stable install location if you want login auto-start; remove it later with `opendevbrowser daemon uninstall`.
114
123
 
115
- Bundled skills sync to **OpenCode, Codex, ClaudeCode, and AmpCLI** targets during install. Use `--skills-global` for user-wide installs or `--skills-local` for project-local installs; see [docs/CLI.md](docs/CLI.md) for exact target paths.
124
+ Bundled skills sync to **OpenCode, Codex, ClaudeCode, and AmpCLI** targets during install. `npx opendevbrowser` manages global or project-local targets according to the selected skills mode, and package installation (`npm install -g`, local tarball install, or equivalent) best-effort syncs the canonical bundled packs into the managed global targets during package `postinstall`. See [docs/CLI.md](docs/CLI.md) for exact target paths.
116
125
 
117
126
  ### CLI + Extension (No OpenCode)
118
127
 
@@ -265,12 +274,12 @@ Start every surface check from generated help when you need the current public l
265
274
 
266
275
  ## Recent Features
267
276
 
268
- ### v0.0.20 (Current release cycle)
277
+ ### v0.0.21 (Current release cycle)
269
278
 
270
- - **Operator review and inspection are now first-class surfaces** with dedicated `review`, `review-desktop`, `session-inspector audit`, `session-inspector plan`, and `status-capabilities` entry points across the CLI and tool layers.
271
- - **Inspire Design is now a first-class workflow surface** with provider contracts, capture lanes, parity coverage, and release-facing docs instead of partial workflow wiring.
272
- - **Help-led discoverability is stronger** because the generated help surface now carries canonical next-step guidance and release-facing metadata for the new operator and workflow lanes.
273
- - **Live audit and release harnesses are more honest under load** because env-limited classification, foreign relay ownership handling, desktop observation capture, and shopping follow-up classification were tightened instead of being reported as ambiguous failures.
279
+ - **Workflow success handoffs are now first-class across the main workflow lanes** with explicit follow-through metadata for research, shopping, product-video, and Inspire Design instead of generic success text.
280
+ - **Macro execution reports blocker truthfully** because `macro-resolve --execute` now preserves blocked execution wording when runtime blocker metadata survives the run.
281
+ - **Release validation is more stable under extension mode** because the live harnesses reuse healthy relay ownership and the product-video follow-through or timeout teardown paths no longer drift into false failures.
282
+ - **Help and docs now treat Inspire Design's canvas handoff as the reference workflow contract** for operator next-step guidance.
274
283
 
275
284
  ### v0.0.16
276
285
 
@@ -478,8 +487,9 @@ OpenDevBrowser includes **9 OpenDevBrowser-specific skill packs**. Install, upda
478
487
 
479
488
  Installer note:
480
489
  - `--skills-global` and `--skills-local` sync the 9 canonical `opendevbrowser-*` packs into managed global or project-local agent directories.
490
+ - Managed installs write a target-level ownership marker, so later update and uninstall only act on CLI-managed skill targets or older config installs that already contain canonical packs.
481
491
  - Reinstall and update refresh drifted managed copies and leave matching packs unchanged.
482
- - Uninstall removes managed canonical packs and only prunes legacy `research` or `shopping` leftovers when those directories are empty and clearly obsolete.
492
+ - Uninstall removes managed canonical packs, retires repo-owned legacy alias directories that match shipped content, and leaves unrelated directories untouched.
483
493
 
484
494
  Skills are discovered from (priority order):
485
495
  1. `.opencode/skill/` (project)
@@ -0,0 +1,86 @@
1
+ // src/utils/package-assets.ts
2
+ import * as fs from "fs";
3
+ import * as path from "path";
4
+ import { fileURLToPath } from "url";
5
+ var PACKAGE_NAME = "opendevbrowser";
6
+ var SKILLS_DIR_NAME = "skills";
7
+ var cachedPackageRoot = null;
8
+ function findPackageRoot(startDir) {
9
+ let current = startDir;
10
+ while (true) {
11
+ const pkgPath = path.join(current, "package.json");
12
+ if (fs.existsSync(pkgPath)) {
13
+ try {
14
+ const parsed = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
15
+ if (parsed.name === PACKAGE_NAME) {
16
+ return current;
17
+ }
18
+ } catch {
19
+ }
20
+ }
21
+ const parent = path.dirname(current);
22
+ if (parent === current) {
23
+ break;
24
+ }
25
+ current = parent;
26
+ }
27
+ return null;
28
+ }
29
+ function getPackageRoot() {
30
+ if (cachedPackageRoot) {
31
+ return cachedPackageRoot;
32
+ }
33
+ const moduleDir = path.dirname(fileURLToPath(import.meta.url));
34
+ const packageRoot = findPackageRoot(moduleDir);
35
+ if (!packageRoot) {
36
+ throw new Error(`Unable to locate ${PACKAGE_NAME} package root.`);
37
+ }
38
+ cachedPackageRoot = packageRoot;
39
+ return cachedPackageRoot;
40
+ }
41
+ function findBundledSkillsDir() {
42
+ try {
43
+ const skillsDir = path.join(getPackageRoot(), SKILLS_DIR_NAME);
44
+ return fs.existsSync(skillsDir) ? skillsDir : null;
45
+ } catch {
46
+ return null;
47
+ }
48
+ }
49
+ function getBundledSkillsDir() {
50
+ const skillsDir = findBundledSkillsDir();
51
+ if (!skillsDir) {
52
+ throw new Error(`Bundled skills directory not found in ${PACKAGE_NAME} package.`);
53
+ }
54
+ return skillsDir;
55
+ }
56
+
57
+ // src/skills/bundled-skill-directories.ts
58
+ var bundledSkillDirectories = [
59
+ { name: "opendevbrowser-best-practices" },
60
+ { name: "opendevbrowser-continuity-ledger" },
61
+ { name: "opendevbrowser-data-extraction" },
62
+ { name: "opendevbrowser-design-agent" },
63
+ { name: "opendevbrowser-form-testing" },
64
+ { name: "opendevbrowser-login-automation" },
65
+ { name: "opendevbrowser-product-presentation-asset" },
66
+ { name: "opendevbrowser-research" },
67
+ { name: "opendevbrowser-shopping" }
68
+ ];
69
+ var bundledSkillDirectoryByName = new Map(
70
+ bundledSkillDirectories.map((entry) => [entry.name, entry])
71
+ );
72
+ function listBundledSkillDirectories() {
73
+ return [...bundledSkillDirectories];
74
+ }
75
+ function isBundledSkillName(name) {
76
+ return bundledSkillDirectoryByName.has(name);
77
+ }
78
+
79
+ export {
80
+ getPackageRoot,
81
+ findBundledSkillsDir,
82
+ getBundledSkillsDir,
83
+ listBundledSkillDirectories,
84
+ isBundledSkillName
85
+ };
86
+ //# sourceMappingURL=chunk-3ILXPKSJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/package-assets.ts","../src/skills/bundled-skill-directories.ts"],"sourcesContent":["import * as fs from \"fs\";\nimport * as path from \"path\";\nimport { fileURLToPath } from \"url\";\n\nconst PACKAGE_NAME = \"opendevbrowser\";\nconst SKILLS_DIR_NAME = \"skills\";\n\nlet cachedPackageRoot: string | null = null;\n\nfunction findPackageRoot(startDir: string): string | null {\n let current = startDir;\n\n while (true) {\n const pkgPath = path.join(current, \"package.json\");\n if (fs.existsSync(pkgPath)) {\n try {\n const parsed = JSON.parse(fs.readFileSync(pkgPath, \"utf-8\")) as { name?: string };\n if (parsed.name === PACKAGE_NAME) {\n return current;\n }\n } catch {\n void 0;\n }\n }\n\n const parent = path.dirname(current);\n if (parent === current) {\n break;\n }\n current = parent;\n }\n\n return null;\n}\n\nexport function getPackageRoot(): string {\n if (cachedPackageRoot) {\n return cachedPackageRoot;\n }\n const moduleDir = path.dirname(fileURLToPath(import.meta.url));\n const packageRoot = findPackageRoot(moduleDir);\n if (!packageRoot) {\n throw new Error(`Unable to locate ${PACKAGE_NAME} package root.`);\n }\n cachedPackageRoot = packageRoot;\n return cachedPackageRoot;\n}\n\nexport function findBundledSkillsDir(): string | null {\n try {\n const skillsDir = path.join(getPackageRoot(), SKILLS_DIR_NAME);\n return fs.existsSync(skillsDir) ? skillsDir : null;\n } catch {\n return null;\n }\n}\n\nexport function getBundledSkillsDir(): string {\n const skillsDir = findBundledSkillsDir();\n if (!skillsDir) {\n throw new Error(`Bundled skills directory not found in ${PACKAGE_NAME} package.`);\n }\n return skillsDir;\n}\n","export interface BundledSkillDirectory {\n name: string;\n}\n\nexport const bundledSkillDirectories: BundledSkillDirectory[] = [\n { name: \"opendevbrowser-best-practices\" },\n { name: \"opendevbrowser-continuity-ledger\" },\n { name: \"opendevbrowser-data-extraction\" },\n { name: \"opendevbrowser-design-agent\" },\n { name: \"opendevbrowser-form-testing\" },\n { name: \"opendevbrowser-login-automation\" },\n { name: \"opendevbrowser-product-presentation-asset\" },\n { name: \"opendevbrowser-research\" },\n { name: \"opendevbrowser-shopping\" }\n];\n\nconst bundledSkillDirectoryByName = new Map(\n bundledSkillDirectories.map((entry) => [entry.name, entry] as const)\n);\n\nexport function listBundledSkillDirectories(): BundledSkillDirectory[] {\n return [...bundledSkillDirectories];\n}\n\nexport function getBundledSkillDirectory(name: string): BundledSkillDirectory | null {\n return bundledSkillDirectoryByName.get(name) ?? null;\n}\n\nexport function isBundledSkillName(name: string): boolean {\n return bundledSkillDirectoryByName.has(name);\n}\n"],"mappings":";AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,SAAS,qBAAqB;AAE9B,IAAM,eAAe;AACrB,IAAM,kBAAkB;AAExB,IAAI,oBAAmC;AAEvC,SAAS,gBAAgB,UAAiC;AACxD,MAAI,UAAU;AAEd,SAAO,MAAM;AACX,UAAM,UAAe,UAAK,SAAS,cAAc;AACjD,QAAO,cAAW,OAAO,GAAG;AAC1B,UAAI;AACF,cAAM,SAAS,KAAK,MAAS,gBAAa,SAAS,OAAO,CAAC;AAC3D,YAAI,OAAO,SAAS,cAAc;AAChC,iBAAO;AAAA,QACT;AAAA,MACF,QAAQ;AAAA,MAER;AAAA,IACF;AAEA,UAAM,SAAc,aAAQ,OAAO;AACnC,QAAI,WAAW,SAAS;AACtB;AAAA,IACF;AACA,cAAU;AAAA,EACZ;AAEA,SAAO;AACT;AAEO,SAAS,iBAAyB;AACvC,MAAI,mBAAmB;AACrB,WAAO;AAAA,EACT;AACA,QAAM,YAAiB,aAAQ,cAAc,YAAY,GAAG,CAAC;AAC7D,QAAM,cAAc,gBAAgB,SAAS;AAC7C,MAAI,CAAC,aAAa;AAChB,UAAM,IAAI,MAAM,oBAAoB,YAAY,gBAAgB;AAAA,EAClE;AACA,sBAAoB;AACpB,SAAO;AACT;AAEO,SAAS,uBAAsC;AACpD,MAAI;AACF,UAAM,YAAiB,UAAK,eAAe,GAAG,eAAe;AAC7D,WAAU,cAAW,SAAS,IAAI,YAAY;AAAA,EAChD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,SAAS,sBAA8B;AAC5C,QAAM,YAAY,qBAAqB;AACvC,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,MAAM,yCAAyC,YAAY,WAAW;AAAA,EAClF;AACA,SAAO;AACT;;;AC3DO,IAAM,0BAAmD;AAAA,EAC9D,EAAE,MAAM,gCAAgC;AAAA,EACxC,EAAE,MAAM,mCAAmC;AAAA,EAC3C,EAAE,MAAM,iCAAiC;AAAA,EACzC,EAAE,MAAM,8BAA8B;AAAA,EACtC,EAAE,MAAM,8BAA8B;AAAA,EACtC,EAAE,MAAM,kCAAkC;AAAA,EAC1C,EAAE,MAAM,4CAA4C;AAAA,EACpD,EAAE,MAAM,0BAA0B;AAAA,EAClC,EAAE,MAAM,0BAA0B;AACpC;AAEA,IAAM,8BAA8B,IAAI;AAAA,EACtC,wBAAwB,IAAI,CAAC,UAAU,CAAC,MAAM,MAAM,KAAK,CAAU;AACrE;AAEO,SAAS,8BAAuD;AACrE,SAAO,CAAC,GAAG,uBAAuB;AACpC;AAMO,SAAS,mBAAmB,MAAuB;AACxD,SAAO,4BAA4B,IAAI,IAAI;AAC7C;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SkillLoader
3
- } from "./chunk-3VA6XR25.js";
3
+ } from "./chunk-STGGGVYT.js";
4
4
  import {
5
5
  writeFileAtomic
6
6
  } from "./chunk-TBUCZX4A.js";
@@ -27,7 +27,7 @@ import {
27
27
  runResearchWorkflow,
28
28
  runShoppingWorkflow,
29
29
  toSnippet
30
- } from "./chunk-C6QUKABT.js";
30
+ } from "./chunk-ZE2E7ZGH.js";
31
31
  import {
32
32
  ProviderRuntimeError
33
33
  } from "./chunk-FUSXMW3G.js";
@@ -31811,7 +31811,7 @@ var DAEMON_STATUS_RETRY_OPTIONS = {
31811
31811
  retryDelayMs: 250
31812
31812
  };
31813
31813
  var DAEMON_RESTART_STATUS_TIMEOUT_MS = 5e3;
31814
- var DAEMON_RESTART_POLL_ATTEMPTS = 20;
31814
+ var DAEMON_RESTART_READY_TIMEOUT_MS = 15e3;
31815
31815
  var DAEMON_RESTART_POLL_DELAY_MS = 250;
31816
31816
  var cachedClientState;
31817
31817
  var getClientStateFilePath = () => {
@@ -32172,18 +32172,19 @@ var restartDaemonConnection = async (connection) => {
32172
32172
  child.unref();
32173
32173
  };
32174
32174
  var waitForCurrentDaemonStatus = async (connection) => {
32175
- for (let attempt = 1; attempt <= DAEMON_RESTART_POLL_ATTEMPTS; attempt += 1) {
32175
+ const deadline = Date.now() + DAEMON_RESTART_READY_TIMEOUT_MS;
32176
+ while (true) {
32176
32177
  const status = await fetchDaemonStatus(connection.port, connection.token, {
32177
32178
  timeoutMs: DAEMON_RESTART_STATUS_TIMEOUT_MS
32178
32179
  });
32179
32180
  if (status?.ok && isCurrentDaemonFingerprint(status.fingerprint)) {
32180
32181
  return status;
32181
32182
  }
32182
- if (attempt < DAEMON_RESTART_POLL_ATTEMPTS) {
32183
- await sleep3(DAEMON_RESTART_POLL_DELAY_MS);
32183
+ if (Date.now() >= deadline) {
32184
+ return null;
32184
32185
  }
32186
+ await sleep3(DAEMON_RESTART_POLL_DELAY_MS);
32185
32187
  }
32186
- return null;
32187
32188
  };
32188
32189
  var resolveMetadataConnection = async (metadataConnection, configuredConnection) => {
32189
32190
  const status = await fetchDaemonStatus(
@@ -32294,6 +32295,7 @@ var onboarding_metadata_default = {
32294
32295
  skillTopic: "quick start",
32295
32296
  validatedSkillTopic: "validated capability lanes",
32296
32297
  designSkillName: "opendevbrowser-design-agent",
32298
+ designSkillTopic: "canvas-contract",
32297
32299
  localOnlyToolNames: [
32298
32300
  "opendevbrowser_prompting_guide",
32299
32301
  "opendevbrowser_skill_list",
@@ -32440,7 +32442,7 @@ var buildAnnotateResult = async (payload) => {
32440
32442
  // src/public-surface/generated-manifest.ts
32441
32443
  var PUBLIC_SURFACE_MANIFEST = {
32442
32444
  "schemaVersion": "2026-04-04",
32443
- "generatedAt": "2026-04-17T01:10:55.127Z",
32445
+ "generatedAt": "2026-04-20T04:16:59.279Z",
32444
32446
  "cli": {
32445
32447
  "groups": [
32446
32448
  {
@@ -32635,10 +32637,13 @@ var PUBLIC_SURFACE_MANIFEST = {
32635
32637
  {
32636
32638
  "name": "update",
32637
32639
  "description": "Clear cached plugin and refresh managed skill packs",
32638
- "usage": "npx opendevbrowser update [--global|--local]",
32640
+ "usage": "npx opendevbrowser update [--global|--local] [--skills-global|--skills-local|--no-skills]",
32639
32641
  "flags": [
32640
32642
  "--global",
32641
- "--local"
32643
+ "--local",
32644
+ "--skills-global",
32645
+ "--skills-local",
32646
+ "--no-skills"
32642
32647
  ],
32643
32648
  "groupId": "install_lifecycle",
32644
32649
  "groupTitle": "Install & Lifecycle",
@@ -32647,10 +32652,11 @@ var PUBLIC_SURFACE_MANIFEST = {
32647
32652
  {
32648
32653
  "name": "uninstall",
32649
32654
  "description": "Remove plugin from config and clean managed skill packs",
32650
- "usage": "npx opendevbrowser uninstall [--global|--local] [--no-prompt] [--quiet]",
32655
+ "usage": "npx opendevbrowser uninstall [--global|--local] [--no-skills] [--no-prompt] [--quiet]",
32651
32656
  "flags": [
32652
32657
  "--global",
32653
32658
  "--local",
32659
+ "--no-skills",
32654
32660
  "--no-prompt",
32655
32661
  "--quiet"
32656
32662
  ],
@@ -35013,4 +35019,4 @@ export {
35013
35019
  TOOL_SURFACE_ENTRIES
35014
35020
  };
35015
35021
  /* v8 ignore next -- @preserve */
35016
- //# sourceMappingURL=chunk-LMNFPJRI.js.map
35022
+ //# sourceMappingURL=chunk-OGE5KJ4X.js.map