@wirecat/cli-template 0.16.0 → 0.17.0

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 (102) hide show
  1. package/.github/workflows/ci.yml +18 -0
  2. package/.github/workflows/release-pr.yml +37 -0
  3. package/CHANGELOG.md +14 -0
  4. package/bin/release +10 -3
  5. package/biome.json +6 -0
  6. package/contracts/plan.json +2 -1
  7. package/dist/bin/clidev.js +2 -2
  8. package/dist/bundle/{all-profiles-FS7AEOE7.js → all-profiles-CCT2XPJL.js} +7 -7
  9. package/dist/bundle/{anthropic-5RN7BGDI.js → anthropic-QLLP7EE4.js} +4 -4
  10. package/dist/bundle/{app-server-WGTKZQKJ.js → app-server-ELI5TGL7.js} +36 -36
  11. package/dist/bundle/{bun-ILPS6AYA.js → bun-C7JS2V7G.js} +2 -2
  12. package/dist/bundle/{bun-sqlite-WK2IGBGD.js → bun-sqlite-OM72TCYT.js} +3 -3
  13. package/dist/bundle/{chunk-ADFSSIV4.js → chunk-2Y5NBD7U.js} +4 -4
  14. package/dist/bundle/{chunk-7EUX7AZV.js → chunk-33JGD2CR.js} +3 -3
  15. package/dist/bundle/{chunk-JFXWLQ2L.js → chunk-3VVIEZRY.js} +2 -2
  16. package/dist/bundle/{chunk-CGFQT3LQ.js → chunk-6PHTRAZA.js} +1 -1
  17. package/dist/bundle/{chunk-VS5LGSTM.js → chunk-6VCFDEHT.js} +1 -1
  18. package/dist/bundle/{chunk-NENYWEXF.js → chunk-7OQF5ZMN.js} +1 -1
  19. package/dist/bundle/{chunk-6WOJIAYA.js → chunk-AKUMR7PE.js} +2 -2
  20. package/dist/bundle/{chunk-BPMKAZSS.js → chunk-ASO23RNM.js} +152 -79
  21. package/dist/bundle/{chunk-VOTEB3AN.js → chunk-AUVPTFUS.js} +1 -1
  22. package/dist/bundle/{chunk-JJZCPBH3.js → chunk-BOCIYBBO.js} +53 -44
  23. package/dist/bundle/{chunk-QGOOPPEW.js → chunk-BXZRTMXA.js} +5 -5
  24. package/dist/bundle/{chunk-SKBRW5U3.js → chunk-DVLM23HB.js} +2 -2
  25. package/dist/bundle/{chunk-YIVY2WI3.js → chunk-E4KQOKQ5.js} +1 -1
  26. package/dist/bundle/{chunk-ZSY4WAGI.js → chunk-EQDVQN4E.js} +299 -258
  27. package/dist/bundle/{chunk-RFJKNFVF.js → chunk-FF3AGTHY.js} +6 -6
  28. package/dist/bundle/{chunk-TXHCL75B.js → chunk-GG5PXNMH.js} +25 -22
  29. package/dist/bundle/{chunk-DEHBTFIC.js → chunk-GUCMIUNB.js} +2 -2
  30. package/dist/bundle/{chunk-RYOAQCVJ.js → chunk-HVAEHUSZ.js} +2 -2
  31. package/dist/bundle/{chunk-CTBHQRX6.js → chunk-ITPFCKCL.js} +13 -13
  32. package/dist/bundle/{chunk-Z5NL6YNU.js → chunk-J2RUBXCI.js} +6 -6
  33. package/dist/bundle/{chunk-7Z4HR6GO.js → chunk-KRXN3FV3.js} +1 -1
  34. package/dist/bundle/{chunk-OF56L2JU.js → chunk-LFLN6PVS.js} +4 -4
  35. package/dist/bundle/{chunk-YNROUY3R.js → chunk-LN53L2V5.js} +11 -11
  36. package/dist/bundle/{chunk-WDWP5N6M.js → chunk-MLSN3UP4.js} +26 -26
  37. package/dist/bundle/{chunk-3MDNAYQA.js → chunk-O6PBO4BU.js} +1 -1
  38. package/dist/bundle/{chunk-5KAYQKBK.js → chunk-QJS4WWYK.js} +63 -63
  39. package/dist/bundle/{chunk-EA3TMI4A.js → chunk-QLBS6OC2.js} +2362 -1225
  40. package/dist/bundle/{chunk-5HHIPDNW.js → chunk-QVPTZDRA.js} +2 -2
  41. package/dist/bundle/{chunk-OGTRPW2K.js → chunk-R5CPFSPI.js} +7 -7
  42. package/dist/bundle/{chunk-2MWNE4L3.js → chunk-R5IY4O25.js} +4 -4
  43. package/dist/bundle/{chunk-C3GNOEJP.js → chunk-RGKXMVOZ.js} +3 -3
  44. package/dist/bundle/{chunk-G45R7M42.js → chunk-RT46AWIH.js} +1 -1
  45. package/dist/bundle/{chunk-MEXT6XDP.js → chunk-RUHNHEAF.js} +3 -3
  46. package/dist/bundle/{chunk-ORV4EGNC.js → chunk-S465TCR3.js} +8 -8
  47. package/dist/bundle/{chunk-WM5AMTRY.js → chunk-SQKP6V4S.js} +27 -13
  48. package/dist/bundle/{chunk-VPCXYY46.js → chunk-SQOXYNKF.js} +1 -1
  49. package/dist/bundle/{chunk-NVPWZF67.js → chunk-URPKIONS.js} +8 -8
  50. package/dist/bundle/{chunk-HTYLT6ME.js → chunk-UW4PJZVJ.js} +282 -170
  51. package/dist/bundle/{chunk-ENDBOYQR.js → chunk-WKUJCPSP.js} +89 -45
  52. package/dist/bundle/{chunk-FMO6F5Q2.js → chunk-WQBBSVZM.js} +2 -2
  53. package/dist/bundle/{chunk-LRHX62ZF.js → chunk-WRLOK7XC.js} +3 -3
  54. package/dist/bundle/{chunk-MBBOINK4.js → chunk-X44ZT64I.js} +3 -3
  55. package/dist/bundle/{chunk-ATHZEV2Z.js → chunk-XKL5FRH3.js} +3 -3
  56. package/dist/bundle/{chunk-ETJXPB6A.js → chunk-XS56LIQ7.js} +4 -4
  57. package/dist/bundle/{chunk-3WDYHOAF.js → chunk-YIH3PYWJ.js} +1 -1
  58. package/dist/bundle/{chunk-EILS4BTQ.js → chunk-ZRNBKTPP.js} +26 -26
  59. package/dist/bundle/clidev.js +3 -3
  60. package/dist/bundle/{command-contract-ZDU73EPH.js → command-contract-RV5ZOEAT.js} +11 -11
  61. package/dist/bundle/{decode-QMLOGZ6R.js → decode-V7HNHZBC.js} +3 -3
  62. package/dist/bundle/{echarts-DRDGGHJT.js → echarts-Y42YP2OL.js} +2 -2
  63. package/dist/bundle/{embed-PIR2LJR2.js → embed-JSQZL7JF.js} +4 -4
  64. package/dist/bundle/{embedder-6KBRPAEQ.js → embedder-7BHRCXWL.js} +7 -7
  65. package/dist/bundle/{first-run-JO3CMY3Z.js → first-run-BJ36KGST.js} +8 -8
  66. package/dist/bundle/first-screen-5YHQVNY4.js +26 -0
  67. package/dist/bundle/{instructions-EOQOXY6V.js → instructions-UWERND54.js} +1 -1
  68. package/dist/bundle/{mcp-7HBLFGCW.js → mcp-P4FSBSRS.js} +2 -2
  69. package/dist/bundle/{node-52WF2326.js → node-PZDNPKN7.js} +2 -2
  70. package/dist/bundle/{node-sqlite-LIK6OYNF.js → node-sqlite-4F5NLRNT.js} +4 -4
  71. package/dist/bundle/{oauth-7FVF7HQQ.js → oauth-VDXNA3DK.js} +5 -5
  72. package/dist/bundle/{open-CRZDEATN.js → open-EUJRQQNS.js} +3 -3
  73. package/dist/bundle/{openai-WAJ6WREQ.js → openai-EIBV2K72.js} +12 -12
  74. package/dist/bundle/{process-YIQPKLZI.js → process-XD5ZIFIL.js} +1 -1
  75. package/dist/bundle/{program-ZFFFPBRS.js → program-TJTVMIOX.js} +866 -495
  76. package/dist/bundle/{prompt-QQIVHO3M.js → prompt-LYUZNHDK.js} +3 -3
  77. package/dist/bundle/{recognize-4KLBZDEC.js → recognize-LQMHLOD5.js} +2 -2
  78. package/dist/bundle/{remote-BABMZTHA.js → remote-34HUWSZI.js} +5 -5
  79. package/dist/bundle/{rerank-P3IQQJIL.js → rerank-ONBASQ5Z.js} +5 -5
  80. package/dist/bundle/{serve-25SSAKRZ.js → serve-UJ7FDYAM.js} +7 -7
  81. package/dist/bundle/{server-P4XUYY5A.js → server-GNT76BXM.js} +28 -28
  82. package/dist/bundle/server-J4YIXKMI.js +52 -0
  83. package/dist/bundle/{state-QCQALQBJ.js → state-IW5OO6IZ.js} +4 -4
  84. package/dist/bundle/{store-ZECPRGGH.js → store-55UB27H2.js} +12 -10
  85. package/dist/bundle/store-maintenance-command-BLDKUZ3L.js +42 -0
  86. package/dist/commands/session.js +1 -1
  87. package/dist/commands/session.js.map +1 -1
  88. package/dist/program.d.ts.map +1 -1
  89. package/dist/program.js +1 -0
  90. package/dist/program.js.map +1 -1
  91. package/dist/version.d.ts +1 -1
  92. package/dist/version.js +1 -1
  93. package/docs/dev/skills/release/SKILL.md +9 -3
  94. package/docs/dev/skills/release/fresh-audit.md +1 -1
  95. package/kit/dist/new.js +1 -0
  96. package/package.json +4 -4
  97. package/src/commands/session.ts +1 -1
  98. package/src/program.ts +1 -0
  99. package/src/version.ts +1 -1
  100. package/dist/bundle/first-screen-3T5IXTFL.js +0 -26
  101. package/dist/bundle/server-G4GCDMYI.js +0 -52
  102. package/dist/bundle/store-maintenance-command-ECUO5G6L.js +0 -42
@@ -74,6 +74,24 @@ jobs:
74
74
  - run: pnpm install --frozen-lockfile --ignore-scripts
75
75
  - run: pnpm kit:e2e
76
76
 
77
+ # main's ruleset, the monthly minute and a parity group: the setup steps `new` prints, checked (cli-base new-cli.md).
78
+ repo-setup:
79
+ runs-on: ubuntu-latest
80
+ timeout-minutes: 5
81
+ steps:
82
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
83
+ with:
84
+ persist-credentials: false
85
+ - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
86
+ - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
87
+ with:
88
+ node-version: 24
89
+ cache: pnpm
90
+ - run: pnpm install --frozen-lockfile --ignore-scripts
91
+ - env:
92
+ GH_TOKEN: ${{ github.token }}
93
+ run: pnpm exec cli-dev repo-check --cli clidev
94
+
77
95
  version:
78
96
  if: github.event_name == 'pull_request'
79
97
  runs-on: ubuntu-latest
@@ -0,0 +1,37 @@
1
+ name: Release pull request
2
+
3
+ # A pull request that changes the version says what was checked before it (WC-REL-17). `edited` reruns it when only
4
+ # the description changes.
5
+ on:
6
+ pull_request:
7
+ types: [opened, edited, synchronize, reopened]
8
+
9
+ concurrency:
10
+ group: release-pr-${{ github.event.pull_request.number }}
11
+ cancel-in-progress: true
12
+
13
+ permissions:
14
+ contents: read
15
+
16
+ jobs:
17
+ conformance:
18
+ runs-on: ubuntu-latest
19
+ timeout-minutes: 5
20
+ steps:
21
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
22
+ with:
23
+ fetch-depth: 0
24
+ persist-credentials: false
25
+ - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
26
+ - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
27
+ with:
28
+ node-version: 24
29
+ cache: pnpm
30
+ - run: pnpm install --frozen-lockfile --ignore-scripts
31
+ - name: Conformance section of a release
32
+ env:
33
+ BODY: ${{ github.event.pull_request.body }}
34
+ BASE_SHA: ${{ github.event.pull_request.base.sha }}
35
+ run: |
36
+ printf '%s\n' "$BODY" > pr-body.md
37
+ pnpm exec cli-dev release-pr --base "$BASE_SHA" --body pr-body.md
package/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@ Notable changes to `@wirecat/cli-template`. One section per version, newest firs
5
5
 
6
6
  <!-- cspell:words clawhub gcal katex openclaw smol whatsapp -->
7
7
 
8
+ ## 0.17.0 — 07.11.2026
9
+
10
+ ### Added
11
+
12
+ - **CI fails a CLI made from the template on mistakes no check caught before.** `contracts/plan.json`
13
+ has a `deny` block (cli-testing 0.6.0): in an empty home, each command that reaches the service gets `deny` in the
14
+ profile and must exit 5 before any request, on the command line and over `mcp serve`. Biome refuses a
15
+ `resolveSettings` call outside `baseContext` (cli-base's `no-own-settings` plugin). `release-pr.yml` fails a pull
16
+ request that changes the version without a `## Conformance` section, and `bin/release` refuses a version with no
17
+ passed live check in `docs/dev/live-checks.txt` (`cli-dev live record`), or whose code changed since. The
18
+ `repo-setup` job in `ci.yml` checks main's ruleset, a monthly cron minute no other repository holds, and the CLI in
19
+ a parity group: the three setup steps `new` prints. The skeleton moves to cli-core 0.595.0 and cli-base 0.80.3
20
+ (from 0.584.0 and 0.77.1) for them.
21
+
8
22
  ## 0.16.0 — 06.11.2026
9
23
 
10
24
  ### Added
package/bin/release CHANGED
@@ -52,6 +52,9 @@ git fetch -q origin
52
52
  pnpm install --frozen-lockfile
53
53
  package=$(node -p 'require("./package.json").name')
54
54
  version=$(node -p 'require("./package.json").version')
55
+ # The code released is the code a person checked against the real service (WC-REL-17). template.json is the
56
+ # template's own file, never copied: the template has no service.
57
+ [ -f template.json ] || pnpm exec cli-dev live check --version "$version"
55
58
  # A 404 for a package npm has never seen is "not published", like any other failure of `npm view`.
56
59
  published() {
57
60
  npm view "$package@$version" version --prefer-online >/dev/null 2>&1
@@ -76,10 +79,10 @@ land() {
76
79
  pr=$(gh pr create --base main --head "$branch" --title "$title" --body "$body")
77
80
  # Checks register a few seconds after the pull request; --watch with none exits at once.
78
81
  for _ in $(seq 30); do
79
- [ "$(gh pr checks "$pr" --json name --jq length 2>/dev/null || echo 0)" -gt 0 ] && break
82
+ [ "$(gh pr checks "$pr" --required --json name --jq length 2>/dev/null || echo 0)" -gt 0 ] && break
80
83
  sleep 2
81
84
  done
82
- gh pr checks "$pr" --watch --fail-fast >/dev/null ||
85
+ gh pr checks "$pr" --watch --required --fail-fast >/dev/null ||
83
86
  { echo "checks failed on $pr — nothing is published" >&2; exit 1; }
84
87
  git fetch -q origin
85
88
  [ "$(git rev-parse HEAD)" = "$(git rev-parse origin/main)" ] ||
@@ -125,7 +128,11 @@ if [ "$next" != "$version" ]; then
125
128
  const today = new Date().toLocaleDateString("en-GB").replaceAll("/", ".")
126
129
  if (taken) swap("CHANGELOG.md", "\n## Unreleased\n", `\n## ${n} — ${today}\n`)
127
130
  else swap("CHANGELOG.md", `\n## ${o} — `, `\n## ${n} — `)' "$version" "$next" "$taken"
128
- body="bin/release: $why. Only the number changes: package.json, src/version.ts, the CHANGELOG heading."
131
+ body="bin/release: $why. Only the number changes: package.json, src/version.ts, the CHANGELOG heading.
132
+
133
+ ## Conformance
134
+
135
+ The release pull request of $version recorded the checks; this one changes only its number."
129
136
  land "release/$next" "chore(release): $next" "$body"
130
137
  rerun_if_changed "$@"
131
138
  version=$next
package/biome.json CHANGED
@@ -3,6 +3,12 @@
3
3
  "includes": ["**", "!**/node_modules", "!**/dist", "!.worktrees", "!pnpm-lock.yaml", "!config/wirecat"]
4
4
  },
5
5
  "extends": ["./config/wirecat/biome.base.json"],
6
+ "plugins": [
7
+ {
8
+ "path": "./node_modules/@wirecat/cli-base/config/lint/no-own-settings.grit",
9
+ "includes": ["src/**", "!**/*.test.ts", "!src/testing/**"]
10
+ }
11
+ ],
6
12
  "overrides": [
7
13
  {
8
14
  "includes": ["src/**", "!**/*.test.ts"],
@@ -46,5 +46,6 @@
46
46
  "mcp": {
47
47
  "args": ["personal", "mcp", "serve"],
48
48
  "snapshot": "mcp-tools.json"
49
- }
49
+ },
50
+ "deny": { "profile": "personal" }
50
51
  }
@@ -9,7 +9,7 @@ if (
9
9
  (words[0] === "--version" || words[0] === "-V") &&
10
10
  !Object.keys(process.env).some((key) => key.endsWith("_TEST_ARGV_LOG"))
11
11
  ) {
12
- process.stdout.write("0.16.0\n")
12
+ process.stdout.write("0.17.0\n")
13
13
  } else {
14
14
  // Before the bundle compiles: the bundle's own call comes after its chunks.
15
15
  module.enableCompileCache()
@@ -28,7 +28,7 @@ if (
28
28
  : next(specifier, context),
29
29
  })
30
30
  }
31
- const chunks = ["../bundle/all-profiles-FS7AEOE7.js","../bundle/anthropic-5RN7BGDI.js","../bundle/app-server-WGTKZQKJ.js","../bundle/bun-ILPS6AYA.js","../bundle/bun-sqlite-WK2IGBGD.js","../bundle/decode-QMLOGZ6R.js","../bundle/dist-ESHIQU4M.js","../bundle/echarts-DRDGGHJT.js","../bundle/embed-PIR2LJR2.js","../bundle/embedder-6KBRPAEQ.js","../bundle/first-screen-3T5IXTFL.js","../bundle/instructions-EOQOXY6V.js","../bundle/mcp-7HBLFGCW.js","../bundle/node-52WF2326.js","../bundle/node-P4E63KXA.js","../bundle/node-TLZSIHIJ.js","../bundle/node-sqlite-LIK6OYNF.js","../bundle/oauth-7FVF7HQQ.js","../bundle/open-CRZDEATN.js","../bundle/openai-WAJ6WREQ.js","../bundle/process-YIQPKLZI.js","../bundle/program-ZFFFPBRS.js","../bundle/prompt-QQIVHO3M.js","../bundle/recognize-4KLBZDEC.js","../bundle/remote-BABMZTHA.js","../bundle/rerank-P3IQQJIL.js","../bundle/serve-25SSAKRZ.js","../bundle/server-G4GCDMYI.js","../bundle/server-P4XUYY5A.js","../bundle/state-QCQALQBJ.js","../bundle/store-ZECPRGGH.js","../bundle/store-maintenance-command-ECUO5G6L.js"]
31
+ const chunks = ["../bundle/all-profiles-CCT2XPJL.js","../bundle/anthropic-QLLP7EE4.js","../bundle/app-server-ELI5TGL7.js","../bundle/bun-C7JS2V7G.js","../bundle/bun-sqlite-OM72TCYT.js","../bundle/decode-V7HNHZBC.js","../bundle/dist-ESHIQU4M.js","../bundle/echarts-Y42YP2OL.js","../bundle/embed-JSQZL7JF.js","../bundle/embedder-7BHRCXWL.js","../bundle/first-screen-5YHQVNY4.js","../bundle/instructions-UWERND54.js","../bundle/mcp-P4FSBSRS.js","../bundle/node-P4E63KXA.js","../bundle/node-PZDNPKN7.js","../bundle/node-TLZSIHIJ.js","../bundle/node-sqlite-4F5NLRNT.js","../bundle/oauth-VDXNA3DK.js","../bundle/open-EUJRQQNS.js","../bundle/openai-EIBV2K72.js","../bundle/process-XD5ZIFIL.js","../bundle/program-TJTVMIOX.js","../bundle/prompt-LYUZNHDK.js","../bundle/recognize-LQMHLOD5.js","../bundle/remote-34HUWSZI.js","../bundle/rerank-ONBASQ5Z.js","../bundle/serve-UJ7FDYAM.js","../bundle/server-GNT76BXM.js","../bundle/server-J4YIXKMI.js","../bundle/state-IW5OO6IZ.js","../bundle/store-55UB27H2.js","../bundle/store-maintenance-command-BLDKUZ3L.js"]
32
32
  if (((words) => words
33
33
  .filter((word) => !word.startsWith("-"))
34
34
  .slice(0, 2)
@@ -2,26 +2,26 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  answeredWire
5
- } from "./chunk-VS5LGSTM.js";
5
+ } from "./chunk-6VCFDEHT.js";
6
6
  import {
7
7
  CALLER_META_KEY,
8
8
  PROXY_CLIENT_NAME,
9
9
  StdioServerTransport,
10
10
  callerOf,
11
11
  serveStdio
12
- } from "./chunk-JFXWLQ2L.js";
12
+ } from "./chunk-3VVIEZRY.js";
13
13
  import {
14
14
  McpServer
15
15
  } from "./chunk-5D4AEUVA.js";
16
- import "./chunk-ORV4EGNC.js";
17
- import "./chunk-3WDYHOAF.js";
18
- import "./chunk-WDWP5N6M.js";
16
+ import "./chunk-S465TCR3.js";
17
+ import "./chunk-YIH3PYWJ.js";
18
+ import "./chunk-MLSN3UP4.js";
19
19
  import "./chunk-Y5E2WNWB.js";
20
20
  import {
21
21
  __name
22
22
  } from "./chunk-ZVVMGPBJ.js";
23
23
 
24
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/mcp/all-profiles.js
24
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/mcp/all-profiles.js
25
25
  import { spawn } from "node:child_process";
26
26
  import { randomUUID } from "node:crypto";
27
27
  var PROTOCOL = "2025-06-18";
@@ -255,7 +255,7 @@ var serveAllProfilesOverStdio = /* @__PURE__ */ __name(async (options, io = {})
255
255
  }, "serveAllProfilesOverStdio");
256
256
  var serveAllProfilesOverHttp = /* @__PURE__ */ __name(async (options, http) => {
257
257
  const { build, close } = allProfilesServer(options);
258
- const { serveOverHttp } = await import("./serve-25SSAKRZ.js");
258
+ const { serveOverHttp } = await import("./serve-UJ7FDYAM.js");
259
259
  const listening = await serveOverHttp(build, {
260
260
  ...http,
261
261
  appName: options.command,
@@ -2,11 +2,11 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  checkedOptions
5
- } from "./chunk-RYOAQCVJ.js";
5
+ } from "./chunk-HVAEHUSZ.js";
6
6
  import {
7
7
  messagesFor,
8
8
  systemFor
9
- } from "./chunk-FMO6F5Q2.js";
9
+ } from "./chunk-WQBBSVZM.js";
10
10
  import {
11
11
  Anthropic
12
12
  } from "./chunk-ADLS6FVG.js";
@@ -15,13 +15,13 @@ import {
15
15
  optional,
16
16
  strictObject,
17
17
  string
18
- } from "./chunk-WDWP5N6M.js";
18
+ } from "./chunk-MLSN3UP4.js";
19
19
  import "./chunk-Y5E2WNWB.js";
20
20
  import {
21
21
  __name
22
22
  } from "./chunk-ZVVMGPBJ.js";
23
23
 
24
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/models/anthropic.js
24
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/models/anthropic.js
25
25
  var options = strictObject({
26
26
  stop_sequences: optional(array(string()))
27
27
  });
@@ -3,47 +3,47 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  PER_RUN,
5
5
  envelope
6
- } from "./chunk-EILS4BTQ.js";
6
+ } from "./chunk-ZRNBKTPP.js";
7
7
  import {
8
8
  mcpUrlOf
9
- } from "./chunk-TXHCL75B.js";
9
+ } from "./chunk-GG5PXNMH.js";
10
10
  import {
11
11
  answeredWire
12
- } from "./chunk-VS5LGSTM.js";
12
+ } from "./chunk-6VCFDEHT.js";
13
13
  import {
14
14
  answered,
15
15
  failed,
16
16
  registerCommands,
17
17
  runCommandForAgent,
18
18
  toolsFromCommands
19
- } from "./chunk-BPMKAZSS.js";
19
+ } from "./chunk-ASO23RNM.js";
20
20
  import {
21
21
  agentJson,
22
22
  skillResource
23
- } from "./chunk-WM5AMTRY.js";
23
+ } from "./chunk-SQKP6V4S.js";
24
24
  import {
25
25
  StdioServerTransport,
26
26
  serveStdio
27
- } from "./chunk-JFXWLQ2L.js";
28
- import "./chunk-JJZCPBH3.js";
29
- import "./chunk-ZSY4WAGI.js";
30
- import "./chunk-CTBHQRX6.js";
31
- import "./chunk-5HHIPDNW.js";
32
- import "./chunk-2MWNE4L3.js";
33
- import "./chunk-7Z4HR6GO.js";
27
+ } from "./chunk-3VVIEZRY.js";
28
+ import "./chunk-BOCIYBBO.js";
29
+ import "./chunk-EQDVQN4E.js";
30
+ import "./chunk-ITPFCKCL.js";
31
+ import "./chunk-QVPTZDRA.js";
32
+ import "./chunk-R5IY4O25.js";
33
+ import "./chunk-KRXN3FV3.js";
34
34
  import {
35
35
  appInstructions
36
- } from "./chunk-G45R7M42.js";
36
+ } from "./chunk-RT46AWIH.js";
37
37
  import {
38
38
  McpServer
39
39
  } from "./chunk-5D4AEUVA.js";
40
40
  import {
41
41
  mcpHttpMarker
42
- } from "./chunk-ETJXPB6A.js";
43
- import "./chunk-C3GNOEJP.js";
44
- import "./chunk-MBBOINK4.js";
45
- import "./chunk-FMO6F5Q2.js";
46
- import "./chunk-MEXT6XDP.js";
42
+ } from "./chunk-XS56LIQ7.js";
43
+ import "./chunk-RGKXMVOZ.js";
44
+ import "./chunk-X44ZT64I.js";
45
+ import "./chunk-WQBBSVZM.js";
46
+ import "./chunk-RUHNHEAF.js";
47
47
  import {
48
48
  DEFAULT_OUTPUT_BYTES,
49
49
  changesAuthorityAt,
@@ -53,31 +53,31 @@ import {
53
53
  readOnlyLockOf,
54
54
  readsOverMcpAt,
55
55
  rootOf2 as rootOf
56
- } from "./chunk-HTYLT6ME.js";
57
- import "./chunk-ORV4EGNC.js";
58
- import "./chunk-ATHZEV2Z.js";
59
- import "./chunk-VOTEB3AN.js";
60
- import "./chunk-EA3TMI4A.js";
61
- import "./chunk-NVPWZF67.js";
62
- import "./chunk-5KAYQKBK.js";
63
- import "./chunk-3WDYHOAF.js";
64
- import "./chunk-QGOOPPEW.js";
65
- import "./chunk-RFJKNFVF.js";
66
- import "./chunk-3MDNAYQA.js";
67
- import "./chunk-CGFQT3LQ.js";
68
- import "./chunk-Z5NL6YNU.js";
69
- import "./chunk-OF56L2JU.js";
70
- import "./chunk-6WOJIAYA.js";
56
+ } from "./chunk-UW4PJZVJ.js";
57
+ import "./chunk-S465TCR3.js";
58
+ import "./chunk-XKL5FRH3.js";
59
+ import "./chunk-AUVPTFUS.js";
60
+ import "./chunk-QLBS6OC2.js";
61
+ import "./chunk-URPKIONS.js";
62
+ import "./chunk-QJS4WWYK.js";
63
+ import "./chunk-YIH3PYWJ.js";
64
+ import "./chunk-BXZRTMXA.js";
65
+ import "./chunk-FF3AGTHY.js";
66
+ import "./chunk-O6PBO4BU.js";
67
+ import "./chunk-6PHTRAZA.js";
68
+ import "./chunk-J2RUBXCI.js";
69
+ import "./chunk-LFLN6PVS.js";
70
+ import "./chunk-AKUMR7PE.js";
71
71
  import {
72
72
  CliError,
73
73
  mcpErrorResult
74
- } from "./chunk-WDWP5N6M.js";
74
+ } from "./chunk-MLSN3UP4.js";
75
75
  import "./chunk-Y5E2WNWB.js";
76
76
  import {
77
77
  __name
78
78
  } from "./chunk-ZVVMGPBJ.js";
79
79
 
80
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/mcp/app-server.js
80
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/mcp/app-server.js
81
81
  var EXCLUDED = [["mcp"]];
82
82
  var createAppServer = /* @__PURE__ */ __name((command, context, options) => {
83
83
  const { app } = options;
@@ -192,7 +192,7 @@ var serveAppOverStdio = /* @__PURE__ */ __name(async (command, context, options)
192
192
  var serveAppOverHttp = /* @__PURE__ */ __name(async (command, context, options, http) => {
193
193
  const { app } = options;
194
194
  const { build } = createAppServer(command, context, options);
195
- const { serveOverHttp } = await import("./serve-25SSAKRZ.js");
195
+ const { serveOverHttp } = await import("./serve-UJ7FDYAM.js");
196
196
  const listening = await serveOverHttp(build, {
197
197
  ...http,
198
198
  appName: app.command,
@@ -18,12 +18,12 @@ import {
18
18
  jitCompatCheck,
19
19
  refineSqliteCodecs,
20
20
  sql
21
- } from "./chunk-CGFQT3LQ.js";
21
+ } from "./chunk-6PHTRAZA.js";
22
22
  import {
23
23
  __name
24
24
  } from "./chunk-ZVVMGPBJ.js";
25
25
 
26
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/store/sqlite/drizzle/bun.js
26
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/store/sqlite/drizzle/bun.js
27
27
  import { Database } from "bun:sqlite";
28
28
  var bunSQLiteCodecs = refineSqliteCodecs({
29
29
  "integer:boolean": { normalize: booleanFromInteger },
@@ -3,8 +3,8 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  loadVectorExtension,
5
5
  vectorExtension
6
- } from "./chunk-DEHBTFIC.js";
7
- import "./chunk-WDWP5N6M.js";
6
+ } from "./chunk-GUCMIUNB.js";
7
+ import "./chunk-MLSN3UP4.js";
8
8
  import {
9
9
  importFrom
10
10
  } from "./chunk-Y5E2WNWB.js";
@@ -12,7 +12,7 @@ import {
12
12
  __name
13
13
  } from "./chunk-ZVVMGPBJ.js";
14
14
 
15
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/store/drivers/bun-sqlite.js
15
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/store/drivers/bun-sqlite.js
16
16
  var customised = false;
17
17
  var ownLibrary = /* @__PURE__ */ __name(async () => {
18
18
  try {
@@ -2,7 +2,7 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  CliError
5
- } from "./chunk-WDWP5N6M.js";
5
+ } from "./chunk-MLSN3UP4.js";
6
6
  import {
7
7
  importFrom
8
8
  } from "./chunk-Y5E2WNWB.js";
@@ -10,10 +10,10 @@ import {
10
10
  __name
11
11
  } from "./chunk-ZVVMGPBJ.js";
12
12
 
13
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/speech/recognize.js
13
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/speech/recognize.js
14
14
  import { createRequire } from "node:module";
15
15
 
16
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/speech/ogg-limit.js
16
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/speech/ogg-limit.js
17
17
  var invalid = /* @__PURE__ */ __name(() => new CliError("validation_error", "local transcription needs a complete mono or stereo Ogg Opus recording"), "invalid");
18
18
  var checkOggDuration = /* @__PURE__ */ __name((bytes) => {
19
19
  const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
@@ -70,7 +70,7 @@ var checkOggDuration = /* @__PURE__ */ __name((bytes) => {
70
70
  throw invalid();
71
71
  }, "checkOggDuration");
72
72
 
73
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/speech/recognize.js
73
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/speech/recognize.js
74
74
  var SAMPLE_RATE = 16e3;
75
75
  var LEAD = SAMPLE_RATE / 2;
76
76
  var toModelRate = /* @__PURE__ */ __name((samples, rate) => {
@@ -3,12 +3,12 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  CliError,
5
5
  isCliError
6
- } from "./chunk-WDWP5N6M.js";
6
+ } from "./chunk-MLSN3UP4.js";
7
7
  import {
8
8
  __name
9
9
  } from "./chunk-ZVVMGPBJ.js";
10
10
 
11
- // node_modules/.pnpm/@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/http/body.js
11
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/http/body.js
12
12
  var interrupted = /* @__PURE__ */ __name((signal) => isCliError(signal.reason) ? signal.reason : new CliError(signal.reason instanceof Error && signal.reason.name === "TimeoutError" ? "timeout" : "cancelled", "HTTP response read was interrupted"), "interrupted");
13
13
  var checked = /* @__PURE__ */ __name((signal) => {
14
14
  if (signal?.aborted)
@@ -93,7 +93,7 @@ var readJsonResponse = /* @__PURE__ */ __name(async (response, options) => {
93
93
  }
94
94
  }, "readJsonResponse");
95
95
 
96
- // node_modules/.pnpm/@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/http/index.js
96
+ // node_modules/.pnpm/@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/http/index.js
97
97
  var parseRetryAfter = /* @__PURE__ */ __name((header, now) => {
98
98
  if (!header)
99
99
  return void 0;
@@ -29,7 +29,7 @@ import {
29
29
  agentOf,
30
30
  clientHash,
31
31
  currentCaller
32
- } from "./chunk-ORV4EGNC.js";
32
+ } from "./chunk-S465TCR3.js";
33
33
  import {
34
34
  __name
35
35
  } from "./chunk-ZVVMGPBJ.js";
@@ -541,7 +541,7 @@ function toError(value) {
541
541
  }
542
542
  __name(toError, "toError");
543
543
 
544
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/mcp/caller.js
544
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/mcp/caller.js
545
545
  var callingAgent = /* @__PURE__ */ __name((fallback, caller = currentCaller()) => {
546
546
  const client = caller?.agent?.client?.name;
547
547
  if (client && client !== "unknown")
@@ -4,7 +4,7 @@ import {
4
4
  __name
5
5
  } from "./chunk-ZVVMGPBJ.js";
6
6
 
7
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/store/sqlite/drizzle/shared-55XJMTPA.js
7
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/store/sqlite/drizzle/shared-55XJMTPA.js
8
8
  var entityKind = /* @__PURE__ */ Symbol.for("drizzle:entityKind");
9
9
  var kindsByConstructor = /* @__PURE__ */ new WeakMap();
10
10
  function collectKinds(ctor) {
@@ -4,7 +4,7 @@ import {
4
4
  __name
5
5
  } from "./chunk-ZVVMGPBJ.js";
6
6
 
7
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/mcp/stdio-wire.js
7
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/mcp/stdio-wire.js
8
8
  import { PassThrough, Writable } from "node:stream";
9
9
  var lineReader = /* @__PURE__ */ __name((onMessage) => {
10
10
  let rest = "";
@@ -4,7 +4,7 @@ import {
4
4
  __name
5
5
  } from "./chunk-ZVVMGPBJ.js";
6
6
 
7
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/http/listen.js
7
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/http/listen.js
8
8
  import { createServer } from "node:http";
9
9
  import { Readable } from "node:stream";
10
10
  var MAX_BODY = 4 * 1024 * 1024;
@@ -2,12 +2,12 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  resolvePaths
5
- } from "./chunk-WDWP5N6M.js";
5
+ } from "./chunk-MLSN3UP4.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-ZVVMGPBJ.js";
9
9
 
10
- // node_modules/.pnpm/@wirecat+cli-core@0.584.0_@wirecat+cli-base@0.77.1_commander@15.0.0_esbuild@0.28.2_type_ab8c0b68b8b4768d5b87d6e249ef10da/node_modules/@wirecat/cli-core/dist/store/path.js
10
+ // node_modules/.pnpm/@wirecat+cli-core@0.595.0_@wirecat+cli-base@0.80.3_commander@15.0.0_esbuild@0.28.2_type_2c96d170c489856a39cafd5889a9e4ba/node_modules/@wirecat/cli-core/dist/store/path.js
11
11
  import { userInfo } from "node:os";
12
12
  import { isAbsolute, join, relative, resolve } from "node:path";
13
13
  var wirecatDirectory = /* @__PURE__ */ __name((env = process.env, platform) => resolvePaths({ appName: "WireCat", prefix: "WIRECAT", env, ...platform ? { platform } : {} }).state, "wirecatDirectory");