squad-kit 0.12.1 → 0.12.2
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.
- package/CHANGELOG.md +36 -0
- package/dist/cli.js +17 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,42 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.12.2] — 2026-08-25
|
|
11
|
+
|
|
12
|
+
### Bug fixes
|
|
13
|
+
|
|
14
|
+
- **The planner never read any project files, then hung.** On the Agent SDK runtime a run reported
|
|
15
|
+
`reads 0/N`, the scout exhausted its turns without reaching `respond_with_scout_result`, the draft
|
|
16
|
+
produced a plan with no repo context, and the session then stalled indefinitely — the plan file was
|
|
17
|
+
written but the CLI and the console both kept spinning. Reported as
|
|
18
|
+
[#8](https://github.com/AzmSquad/Squad-Kit/issues/8). Two causes, both fixed:
|
|
19
|
+
|
|
20
|
+
1. **Every tool call is gated on a permission decision**, and the runtime supplied no handler. The
|
|
21
|
+
model emitted `tool_use` for `read_file` / `grep` / `list_dir` and nothing ever executed them.
|
|
22
|
+
The runtime now grants its own `mcp__squad-kit-*` tools and denies everything else, so a tool
|
|
23
|
+
the planner did not register can never run during planning.
|
|
24
|
+
2. **A claude.ai login carries the account's connectors into the session** as extra MCP servers
|
|
25
|
+
(Google Drive and friends), crowding the tool namespace the planner depends on — measured at 12
|
|
26
|
+
tools where the planner registers a handful. Planning now runs with `strictMcpConfig`, so it
|
|
27
|
+
sees only the tools squad-kit registers.
|
|
28
|
+
|
|
29
|
+
Verified on a real subscription run: `reads 0/25` and an indefinite hang before, `scout ✓` with
|
|
30
|
+
`reads 8/8` and a clean exit after.
|
|
31
|
+
|
|
32
|
+
**Scope.** Cause 2 needs a Claude subscription login and so only affects 0.12.x. Cause 1 is
|
|
33
|
+
auth-independent and dates to the Agent SDK runtime landing in **0.10.0**, so API-key users on
|
|
34
|
+
`planner.runtime.anthropic: agent-sdk` (the default for Anthropic) were most likely getting
|
|
35
|
+
context-free plans too. That inference follows from the mechanism; it has not been reproduced
|
|
36
|
+
against an API-key run.
|
|
37
|
+
|
|
38
|
+
### Internal
|
|
39
|
+
|
|
40
|
+
- Pinned `packageManager` to `pnpm@9.15.9` and removed the duplicate pin from the CI workflow.
|
|
41
|
+
Corepack had been resolving pnpm 11 locally, which re-added a `packageManager` field on every
|
|
42
|
+
invocation, generated a stray `pnpm-workspace.yaml`, and failed `pnpm install` on unapproved
|
|
43
|
+
esbuild build scripts — breaking `pnpm build`, `pnpm test`, and `npm publish` (whose
|
|
44
|
+
`prepublishOnly` runs all three). The lockfile has always been `lockfileVersion 9.0`.
|
|
45
|
+
|
|
10
46
|
## [0.12.1] — 2026-08-24
|
|
11
47
|
|
|
12
48
|
### Bug fixes
|
package/dist/cli.js
CHANGED
|
@@ -7214,6 +7214,13 @@ async function readSdkAccountInfo(q) {
|
|
|
7214
7214
|
if (timer) clearTimeout(timer);
|
|
7215
7215
|
}
|
|
7216
7216
|
}
|
|
7217
|
+
var SQUAD_MCP_TOOL_PREFIX = "mcp__squad-kit-";
|
|
7218
|
+
function allowOnlySquadKitTools() {
|
|
7219
|
+
return async (toolName, input5) => toolName.startsWith(SQUAD_MCP_TOOL_PREFIX) ? { behavior: "allow", updatedInput: input5 } : {
|
|
7220
|
+
behavior: "deny",
|
|
7221
|
+
message: `The squad-kit planner may only call its own tools; refusing ${toolName}.`
|
|
7222
|
+
};
|
|
7223
|
+
}
|
|
7217
7224
|
var AgentSdkRuntime = class {
|
|
7218
7225
|
constructor(modelId, auth2) {
|
|
7219
7226
|
this.modelId = modelId;
|
|
@@ -7313,6 +7320,11 @@ var AgentSdkRuntime = class {
|
|
|
7313
7320
|
includePartialMessages: true,
|
|
7314
7321
|
persistSession: false,
|
|
7315
7322
|
settingSources: [],
|
|
7323
|
+
// A claude.ai login carries the user's connectors (Drive, etc.) into the session: they show up
|
|
7324
|
+
// as extra MCP servers and crowd the tool namespace the planner depends on. Planning must see
|
|
7325
|
+
// only the tools squad-kit registers.
|
|
7326
|
+
strictMcpConfig: true,
|
|
7327
|
+
canUseTool: allowOnlySquadKitTools(),
|
|
7316
7328
|
abortController: ac,
|
|
7317
7329
|
env: buildSdkEnv(this.auth),
|
|
7318
7330
|
thinking,
|
|
@@ -7442,6 +7454,11 @@ var AgentSdkRuntime = class {
|
|
|
7442
7454
|
includePartialMessages: true,
|
|
7443
7455
|
persistSession: false,
|
|
7444
7456
|
settingSources: [],
|
|
7457
|
+
// A claude.ai login carries the user's connectors (Drive, etc.) into the session: they show up
|
|
7458
|
+
// as extra MCP servers and crowd the tool namespace the planner depends on. Planning must see
|
|
7459
|
+
// only the tools squad-kit registers.
|
|
7460
|
+
strictMcpConfig: true,
|
|
7461
|
+
canUseTool: allowOnlySquadKitTools(),
|
|
7445
7462
|
env: buildSdkEnv(this.auth),
|
|
7446
7463
|
thinking,
|
|
7447
7464
|
effort
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "squad-kit",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.2",
|
|
4
4
|
"author": "Momen Yasser <momenysr@gmail.com>",
|
|
5
5
|
"description": "Plan once, execute cheap. A token-efficient, 3-step SDD workflow CLI (stories → plans → implementation).",
|
|
6
6
|
"keywords": [
|
|
@@ -87,5 +87,5 @@
|
|
|
87
87
|
"bugs": {
|
|
88
88
|
"url": "https://github.com/AzmSquad/squad-kit/issues"
|
|
89
89
|
},
|
|
90
|
-
"packageManager": "pnpm@
|
|
90
|
+
"packageManager": "pnpm@9.15.9"
|
|
91
91
|
}
|