specweave 3.0.10 → 3.0.12
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/.claude-plugin/marketplace.json +2 -2
- package/bin/specweave.js +21 -12
- package/dist/src/cli/commands/auto-handoff.d.ts +36 -11
- package/dist/src/cli/commands/auto-handoff.d.ts.map +1 -1
- package/dist/src/cli/commands/auto-handoff.js +104 -34
- package/dist/src/cli/commands/auto-handoff.js.map +1 -1
- package/dist/src/cli/commands/pickup.d.ts +16 -1
- package/dist/src/cli/commands/pickup.d.ts.map +1 -1
- package/dist/src/cli/commands/pickup.js +91 -12
- package/dist/src/cli/commands/pickup.js.map +1 -1
- package/dist/src/core/hooks/handlers/session-start.d.ts.map +1 -1
- package/dist/src/core/hooks/handlers/session-start.js +19 -2
- package/dist/src/core/hooks/handlers/session-start.js.map +1 -1
- package/dist/src/core/session/handoff-list.d.ts +76 -0
- package/dist/src/core/session/handoff-list.d.ts.map +1 -0
- package/dist/src/core/session/handoff-list.js +273 -0
- package/dist/src/core/session/handoff-list.js.map +1 -0
- package/dist/src/core/session/handoff-remote.d.ts +6 -1
- package/dist/src/core/session/handoff-remote.d.ts.map +1 -1
- package/dist/src/core/session/handoff-remote.js +16 -0
- package/dist/src/core/session/handoff-remote.js.map +1 -1
- package/dist/src/core/session/session-checkpoint.d.ts +38 -0
- package/dist/src/core/session/session-checkpoint.d.ts.map +1 -1
- package/dist/src/core/session/session-checkpoint.js +67 -4
- package/dist/src/core/session/session-checkpoint.js.map +1 -1
- package/dist/src/core/session/usage-guard.d.ts +79 -19
- package/dist/src/core/session/usage-guard.d.ts.map +1 -1
- package/dist/src/core/session/usage-guard.js +143 -32
- package/dist/src/core/session/usage-guard.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/skills/handoff/SKILL.md +23 -9
- package/src/templates/AGENTS.md.template +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.12",
|
|
4
4
|
"description": "Portable intent, specifications, task evidence, and handoffs across AI coding tools.",
|
|
5
5
|
"owner": {
|
|
6
6
|
"name": "Anton Abyzov",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"description": "SpecWeave unified plugin — increment lifecycle (plan, work the ledger, verify, review, complete), cross-tool handoff, GitHub/Jira/ADO sync",
|
|
13
13
|
"source": "./plugins/specweave",
|
|
14
14
|
"category": "development",
|
|
15
|
-
"version": "3.0.
|
|
15
|
+
"version": "3.0.12",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "Anton Abyzov",
|
|
18
18
|
"email": "anton.abyzov@gmail.com"
|
package/bin/specweave.js
CHANGED
|
@@ -183,7 +183,7 @@ program
|
|
|
183
183
|
// Handoff command - Assemble a portable cross-tool work-handoff doc + diff
|
|
184
184
|
program
|
|
185
185
|
.command('handoff [incrementId]')
|
|
186
|
-
.description('Hand off your work: release your claims, record why, and push it so `specweave pickup` continues it in any tool or account')
|
|
186
|
+
.description('Hand off your work: release your claims, record why, and push it so `specweave pickup` continues it in any tool or account. `specweave handoff list` shows the pending handoffs')
|
|
187
187
|
.option('--all', 'Write .specweave/handoffs/<date>-INDEX.md and index.json: every active increment and every nested repo with local-only work (writes nothing else)')
|
|
188
188
|
.option('--dry-run', 'With --all: print the index instead of writing it')
|
|
189
189
|
.option('--reason <reason>', 'Why you are handing off (e.g. "out of tokens")')
|
|
@@ -199,6 +199,11 @@ program
|
|
|
199
199
|
.option('--no-push', 'Keep the handoff local (by default the branch and a snapshot of your edits are pushed so `specweave pickup` finds them anywhere)')
|
|
200
200
|
.option('--keep-claims', 'Keep your task claims instead of releasing them for the next agent')
|
|
201
201
|
.action(async (incrementId, options) => {
|
|
202
|
+
if (incrementId === 'list') {
|
|
203
|
+
const { handoffListCommand } = await import('../dist/src/cli/commands/pickup.js');
|
|
204
|
+
process.exitCode = await handoffListCommand({ json: options.json });
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
202
207
|
const { handoffCommand } = await import('../dist/src/cli/commands/handoff.js');
|
|
203
208
|
await handoffCommand({
|
|
204
209
|
incrementId,
|
|
@@ -220,14 +225,16 @@ program
|
|
|
220
225
|
|
|
221
226
|
// Pickup command - everything a fresh session needs, in one read
|
|
222
227
|
program
|
|
223
|
-
.command('pickup [
|
|
224
|
-
.description('Pick up handed-off work (from any tool, machine or account) and print the next task with its acceptance criteria')
|
|
228
|
+
.command('pickup [target...]')
|
|
229
|
+
.description('Pick up handed-off work (from any tool, machine or account) and print the next task with its acceptance criteria. Name one handoff by its id (`specweave handoff list`), increment or title words; with none named, the newest')
|
|
225
230
|
.option('--no-apply', 'Only show the waiting handoff; do not apply it to this checkout')
|
|
226
231
|
.option('--all', 'Print the newest handoff index (from `handoff --all`), actionable increments first; changes nothing')
|
|
232
|
+
.option('--list', 'Print the pending handoffs with their ids, newest first; changes nothing')
|
|
227
233
|
.option('--json', 'Output as JSON')
|
|
228
|
-
.action(async (
|
|
234
|
+
.action(async (target, options) => {
|
|
229
235
|
const { pickupCommand } = await import('../dist/src/cli/commands/pickup.js');
|
|
230
|
-
|
|
236
|
+
const incrementId = Array.isArray(target) && target.length ? target.join(' ') : undefined;
|
|
237
|
+
process.exitCode = await pickupCommand({ incrementId, json: options.json, apply: options.apply, all: options.all, list: options.list });
|
|
231
238
|
});
|
|
232
239
|
|
|
233
240
|
// Report command - HTML timeline of an increment's ledger (handoff evidence)
|
|
@@ -249,16 +256,18 @@ program
|
|
|
249
256
|
process.exitCode = await noteCommand(text, { incrementId });
|
|
250
257
|
});
|
|
251
258
|
|
|
252
|
-
// Auto-handoff -
|
|
259
|
+
// Auto-handoff - suggest or make a handoff near the plan's usage limit, with local checkpoints (Claude Code, Codex, Grok Build)
|
|
253
260
|
program
|
|
254
261
|
.command('auto-handoff [action]')
|
|
255
|
-
.description('on | off | status:
|
|
256
|
-
.option('--
|
|
257
|
-
.option('--
|
|
258
|
-
.option('--
|
|
262
|
+
.description('on | off | status: near the usage limit, suggest a handoff (default) or hand off by itself, and save local checkpoints')
|
|
263
|
+
.option('--mode <mode>', 'suggest (default): tell you once at the threshold and keep working; enforce: hand off and stop; checkpoint: only save local checkpoints')
|
|
264
|
+
.option('--at <percent>', 'Threshold in percent of any usage window (default 95)', (v) => Number(v))
|
|
265
|
+
.option('--wait-under <minutes>', 'Do nothing at the threshold when the limit resets sooner than this (default 30; 0 turns it off)', (v) => Number(v))
|
|
266
|
+
.option('--checkpoint-only', 'Same as --mode checkpoint')
|
|
267
|
+
.option('--handoff', 'Same as --mode enforce')
|
|
259
268
|
.action(async (action, options) => {
|
|
260
269
|
const { autoHandoffCommand } = await import('../dist/src/cli/commands/auto-handoff.js');
|
|
261
|
-
process.exitCode = await autoHandoffCommand(action, { at: options.at, checkpointOnly: options.checkpointOnly === true, handoff: options.handoff === true });
|
|
270
|
+
process.exitCode = await autoHandoffCommand(action, { at: options.at, mode: options.mode, waitUnder: options.waitUnder, checkpointOnly: options.checkpointOnly === true, handoff: options.handoff === true });
|
|
262
271
|
});
|
|
263
272
|
|
|
264
273
|
program
|
|
@@ -272,7 +281,7 @@ program
|
|
|
272
281
|
|
|
273
282
|
program
|
|
274
283
|
.command('usage-guard')
|
|
275
|
-
.description('Stop hook: save a local checkpoint; at the auto-handoff threshold,
|
|
284
|
+
.description('Stop hook: save a local checkpoint; at the auto-handoff threshold, suggest or ask for a handoff once')
|
|
276
285
|
.option('--limit-hit', 'StopFailure hook: the turn hit the rate limit, so hand off now (or only save, in checkpoint-only mode)')
|
|
277
286
|
.action(async (options) => {
|
|
278
287
|
const { usageGuardCommand } = await import('../dist/src/cli/commands/auto-handoff.js');
|
|
@@ -1,23 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLI Commands: auto-handoff, statusline, usage-guard
|
|
3
3
|
*
|
|
4
|
-
* specweave auto-handoff [on|off|status] [--at
|
|
4
|
+
* specweave auto-handoff [on|off|status] [--mode suggest|enforce|checkpoint] [--at 95] [--wait-under 30]
|
|
5
5
|
* specweave statusline [--wrap "<your status line command>"] (Claude Code status line)
|
|
6
6
|
* specweave usage-guard (Stop hook, Claude Code and Codex)
|
|
7
7
|
* specweave usage-guard --limit-hit (StopFailure hook, Claude Code and Grok Build)
|
|
8
8
|
*
|
|
9
9
|
* `auto-handoff on` wires the tools once, in the user's own settings. Every
|
|
10
|
-
* hook saves a local checkpoint.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* the limit
|
|
16
|
-
*
|
|
17
|
-
*
|
|
10
|
+
* hook saves a local checkpoint. When any window reaches the threshold, the
|
|
11
|
+
* Stop hook acts once per usage window: in the default `suggest` mode the
|
|
12
|
+
* session tells the user a handoff is available and keeps working; in
|
|
13
|
+
* `enforce` mode it runs `specweave handoff` and stops. Neither happens when
|
|
14
|
+
* every full window resets within `--wait-under` minutes. A turn that fails on
|
|
15
|
+
* the rate limit hands off from the StopFailure hook itself in both modes: an
|
|
16
|
+
* increment handoff, or, for a session in a worktree or nested repository or
|
|
17
|
+
* with several increments active, a marked checkpoint of its own checkout that
|
|
18
|
+
* `specweave handoff list` shows and `specweave pickup <id>` takes.
|
|
19
|
+
* `checkpoint` mode keeps only the checkpoints, for plans where credits or a
|
|
20
|
+
* proxy keep working past the limit. Inside SpecWeave Studio the hooks only
|
|
21
|
+
* save the checkpoint: Studio switches provider between turns. The Stop hook
|
|
22
|
+
* also stays quiet outside a SpecWeave project and for a Codex plan whose
|
|
23
|
+
* credits will last.
|
|
18
24
|
*
|
|
19
25
|
* @module cli/commands/auto-handoff
|
|
20
26
|
*/
|
|
27
|
+
import { type AutoHandoffSettings } from '../../core/session/usage-guard.js';
|
|
21
28
|
/** Claude Code status line: record usage, then print a line (or the wrapped command's). */
|
|
22
29
|
export declare function statuslineCommand(opts?: {
|
|
23
30
|
wrap?: string;
|
|
@@ -36,6 +43,18 @@ export declare function usageGuardCommand(opts?: {
|
|
|
36
43
|
input?: string;
|
|
37
44
|
env?: NodeJS.ProcessEnv;
|
|
38
45
|
}): Promise<number>;
|
|
46
|
+
/**
|
|
47
|
+
* A session that hit the limit hands off through its own checkpoint when an
|
|
48
|
+
* increment handoff would describe someone else's work: it ran in a worktree
|
|
49
|
+
* or nested repository inside the project, or several increments are active
|
|
50
|
+
* and nothing says which one is its.
|
|
51
|
+
*/
|
|
52
|
+
export declare function needsSessionHandoff(root: string, input: {
|
|
53
|
+
session_id?: string;
|
|
54
|
+
sessionId?: string;
|
|
55
|
+
cwd?: string;
|
|
56
|
+
workspaceRoot?: string;
|
|
57
|
+
}): boolean;
|
|
39
58
|
interface HookEntry {
|
|
40
59
|
type?: string;
|
|
41
60
|
command?: string;
|
|
@@ -57,12 +76,18 @@ type Settings = Record<string, unknown> & {
|
|
|
57
76
|
export declare function grokHook(): Settings;
|
|
58
77
|
export interface AutoHandoffOptions {
|
|
59
78
|
at?: number;
|
|
60
|
-
/**
|
|
79
|
+
/** `suggest`, `enforce` or `checkpoint`. */
|
|
80
|
+
mode?: string;
|
|
81
|
+
/** Minutes; when every full window resets sooner, nothing is suggested or enforced. 0 turns it off. */
|
|
82
|
+
waitUnder?: number;
|
|
83
|
+
/** Same as `--mode checkpoint`. */
|
|
61
84
|
checkpointOnly?: boolean;
|
|
62
|
-
/**
|
|
85
|
+
/** Same as `--mode enforce` (the only mode before 3.0.11). */
|
|
63
86
|
handoff?: boolean;
|
|
64
87
|
home?: string;
|
|
65
88
|
}
|
|
89
|
+
/** What `on` says about the mode it set. */
|
|
90
|
+
export declare function modeSummary(settings: AutoHandoffSettings): string;
|
|
66
91
|
export declare function autoHandoffCommand(action?: string, opts?: AutoHandoffOptions): Promise<number>;
|
|
67
92
|
/**
|
|
68
93
|
* Codex runs a user hook only after the user trusts it, and records that in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-handoff.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/auto-handoff.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"auto-handoff.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/auto-handoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,OAAO,EAE6D,KAAK,mBAAmB,EAC3F,MAAM,mCAAmC,CAAC;AA0B3C,2FAA2F;AAC3F,wBAAsB,iBAAiB,CAAC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBpG;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BlJ;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAcnJ;AAED,UAAU,SAAS;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE;AACvG,UAAU,SAAS;IAAG,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;CAAE;AAC7D,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAAC,UAAU,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AA0CpI,0EAA0E;AAC1E,wBAAgB,QAAQ,IAAI,QAAQ,CASnC;AAMD,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,4CAA4C;AAC5C,wBAAgB,WAAW,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CAMjE;AAED,wBAAsB,kBAAkB,CAAC,MAAM,SAAW,EAAE,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2E1G;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAe,GAAG,OAAO,CAsB7D;AAcD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,SAAe,EAAE,GAAG,SAAa,GAAG,MAAM,EAAE,CAmEjF"}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLI Commands: auto-handoff, statusline, usage-guard
|
|
3
3
|
*
|
|
4
|
-
* specweave auto-handoff [on|off|status] [--at
|
|
4
|
+
* specweave auto-handoff [on|off|status] [--mode suggest|enforce|checkpoint] [--at 95] [--wait-under 30]
|
|
5
5
|
* specweave statusline [--wrap "<your status line command>"] (Claude Code status line)
|
|
6
6
|
* specweave usage-guard (Stop hook, Claude Code and Codex)
|
|
7
7
|
* specweave usage-guard --limit-hit (StopFailure hook, Claude Code and Grok Build)
|
|
8
8
|
*
|
|
9
9
|
* `auto-handoff on` wires the tools once, in the user's own settings. Every
|
|
10
|
-
* hook saves a local checkpoint.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* the limit
|
|
16
|
-
*
|
|
17
|
-
*
|
|
10
|
+
* hook saves a local checkpoint. When any window reaches the threshold, the
|
|
11
|
+
* Stop hook acts once per usage window: in the default `suggest` mode the
|
|
12
|
+
* session tells the user a handoff is available and keeps working; in
|
|
13
|
+
* `enforce` mode it runs `specweave handoff` and stops. Neither happens when
|
|
14
|
+
* every full window resets within `--wait-under` minutes. A turn that fails on
|
|
15
|
+
* the rate limit hands off from the StopFailure hook itself in both modes: an
|
|
16
|
+
* increment handoff, or, for a session in a worktree or nested repository or
|
|
17
|
+
* with several increments active, a marked checkpoint of its own checkout that
|
|
18
|
+
* `specweave handoff list` shows and `specweave pickup <id>` takes.
|
|
19
|
+
* `checkpoint` mode keeps only the checkpoints, for plans where credits or a
|
|
20
|
+
* proxy keep working past the limit. Inside SpecWeave Studio the hooks only
|
|
21
|
+
* save the checkpoint: Studio switches provider between turns. The Stop hook
|
|
22
|
+
* also stays quiet outside a SpecWeave project and for a Codex plan whose
|
|
23
|
+
* credits will last.
|
|
18
24
|
*
|
|
19
25
|
* @module cli/commands/auto-handoff
|
|
20
26
|
*/
|
|
@@ -22,9 +28,10 @@ import * as fs from 'fs';
|
|
|
22
28
|
import * as os from 'os';
|
|
23
29
|
import * as path from 'path';
|
|
24
30
|
import { spawnSync } from 'child_process';
|
|
25
|
-
import { DEFAULT_THRESHOLD, readSettings, writeSettings, recordClaudeUsage, usageGuard, usageSummary, fullest, limitHitTarget, handsOff, studioThreadId, codexCreditsLast, CREDIT_MINUTES_LOW, CREDIT_BURN_WINDOW_MS, latestClaudeReading, latestCodexReading, claudeCachedReading, desktopUsageReading, } from '../../core/session/usage-guard.js';
|
|
26
|
-
import { queueSessionCheckpoint } from '../../core/session/session-checkpoint.js';
|
|
27
|
-
import { detectTool } from '../../core/tasks/ledger.js';
|
|
31
|
+
import { DEFAULT_THRESHOLD, DEFAULT_WAIT_UNDER_MINUTES, AUTO_HANDOFF_MODES, readSettings, writeSettings, recordClaudeUsage, usageGuard, usageSummary, fullest, limitHitTarget, handsOff, enforces, usageDecision, minutesPhrase, studioThreadId, codexCreditsLast, CREDIT_MINUTES_LOW, CREDIT_BURN_WINDOW_MS, latestClaudeReading, latestCodexReading, claudeCachedReading, desktopUsageReading, } from '../../core/session/usage-guard.js';
|
|
32
|
+
import { queueSessionCheckpoint, markSessionHandoff, clearSessionHandoff, checkpointIdentity } from '../../core/session/session-checkpoint.js';
|
|
33
|
+
import { detectTool, getAgentId } from '../../core/tasks/ledger.js';
|
|
34
|
+
import { resolveIncrement, IncrementResolutionError } from '../../core/tasks/resolve-increment.js';
|
|
28
35
|
import { findProjectRoot } from '../../utils/find-project-root.js';
|
|
29
36
|
const GUARD_COMMAND = 'specweave usage-guard';
|
|
30
37
|
const LIMIT_HIT_COMMAND = `${GUARD_COMMAND} --limit-hit`;
|
|
@@ -58,11 +65,12 @@ export async function statuslineCommand(opts = {}) {
|
|
|
58
65
|
}
|
|
59
66
|
const cwd = input.workspace?.current_dir ?? input.cwd ?? process.cwd();
|
|
60
67
|
const model = input.model?.display_name;
|
|
61
|
-
const settings = readSettings(opts.home);
|
|
62
|
-
const top = fullest(windows);
|
|
63
68
|
// Same rule as the Stop hook: outside a project nothing is handed off, so nothing is announced.
|
|
64
|
-
const
|
|
65
|
-
|
|
69
|
+
const decision = findProjectRoot(cwd) ? usageDecision(readSettings(opts.home), windows) : { kind: 'none' };
|
|
70
|
+
const note = decision.kind === 'enforce' ? 'hand off'
|
|
71
|
+
: decision.kind === 'suggest' ? 'handoff available'
|
|
72
|
+
: decision.kind === 'wait' && decision.resetMinutes !== undefined ? `resets in ${minutesPhrase(decision.resetMinutes)}` : '';
|
|
73
|
+
process.stdout.write([path.basename(cwd), model, windows.length ? usageSummary(windows) : '', note]
|
|
66
74
|
.filter(Boolean).join(' · ') + '\n');
|
|
67
75
|
return 0;
|
|
68
76
|
}
|
|
@@ -80,15 +88,25 @@ export async function usageGuardCommand(opts = {}) {
|
|
|
80
88
|
if (opts.limitHit) {
|
|
81
89
|
const root = limitHitTarget(input, { home: opts.home, env: opts.env });
|
|
82
90
|
if (root) {
|
|
83
|
-
const { handoffCommand } = await import('./handoff.js');
|
|
84
91
|
const tool = detectTool();
|
|
85
|
-
|
|
92
|
+
const reason = tool === 'cli' ? 'usage limit reached' : `usage limit reached in ${tool}`;
|
|
93
|
+
if (needsSessionHandoff(root, input)) {
|
|
94
|
+
// One project, several sessions: hand off this session's own checkout
|
|
95
|
+
// instead of an increment it may not be working on.
|
|
96
|
+
markSessionHandoff(input, { by: getAgentId(), reason }, { home: opts.home });
|
|
97
|
+
queueSessionCheckpoint(input, { home: opts.home, force: true, reason });
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
const { handoffCommand } = await import('./handoff.js');
|
|
101
|
+
await handoffCommand({ cwd: root, reason });
|
|
102
|
+
}
|
|
86
103
|
}
|
|
87
104
|
else if (readSettings(opts.home) && input.error === 'rate_limit') {
|
|
88
105
|
queueSessionCheckpoint(input, { home: opts.home });
|
|
89
106
|
}
|
|
90
107
|
}
|
|
91
108
|
else if (readSettings(opts.home)) {
|
|
109
|
+
clearSessionHandoff(input, { home: opts.home });
|
|
92
110
|
queueSessionCheckpoint(input, { home: opts.home });
|
|
93
111
|
result = usageGuard(input, { home: opts.home, env: opts.env });
|
|
94
112
|
}
|
|
@@ -98,6 +116,33 @@ export async function usageGuardCommand(opts = {}) {
|
|
|
98
116
|
process.stdout.write(JSON.stringify(opts.limitHit ? {} : result) + '\n');
|
|
99
117
|
return 0;
|
|
100
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* A session that hit the limit hands off through its own checkpoint when an
|
|
121
|
+
* increment handoff would describe someone else's work: it ran in a worktree
|
|
122
|
+
* or nested repository inside the project, or several increments are active
|
|
123
|
+
* and nothing says which one is its.
|
|
124
|
+
*/
|
|
125
|
+
export function needsSessionHandoff(root, input) {
|
|
126
|
+
const identity = checkpointIdentity(input);
|
|
127
|
+
if (!identity)
|
|
128
|
+
return false;
|
|
129
|
+
let project = root;
|
|
130
|
+
try {
|
|
131
|
+
project = fs.realpathSync(root);
|
|
132
|
+
}
|
|
133
|
+
catch { /* keep as given */ }
|
|
134
|
+
// Its own checkout (a worktree or nested repository), not just a subfolder.
|
|
135
|
+
const rel = path.relative(project, identity.cwd);
|
|
136
|
+
if (rel && !rel.startsWith('..') && !path.isAbsolute(rel) && fs.existsSync(path.join(identity.cwd, '.git')))
|
|
137
|
+
return true;
|
|
138
|
+
try {
|
|
139
|
+
resolveIncrement(root);
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
catch (e) {
|
|
143
|
+
return e instanceof IncrementResolutionError && e.candidates.length > 1;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
101
146
|
function readJson(file) {
|
|
102
147
|
if (!fs.existsSync(file))
|
|
103
148
|
return {};
|
|
@@ -151,6 +196,16 @@ export function grokHook() {
|
|
|
151
196
|
function shellQuote(s) {
|
|
152
197
|
return `'${s.replace(/'/g, `'\\''`)}'`;
|
|
153
198
|
}
|
|
199
|
+
/** What `on` says about the mode it set. */
|
|
200
|
+
export function modeSummary(settings) {
|
|
201
|
+
const wait = settings.waitUnder ?? DEFAULT_WAIT_UNDER_MINUTES;
|
|
202
|
+
const waitRule = wait > 0 ? ` Nothing is said when every full window resets within ${wait} min: waiting is cheaper than moving the work.` : '';
|
|
203
|
+
if (settings.mode === 'checkpoint')
|
|
204
|
+
return 'Auto-handoff is on in checkpoint-only mode: local checkpoints refresh after turns, at most once every five minutes, and usage never stops work. Run `specweave auto-handoff on --mode suggest` (or `enforce`) to act at the threshold again.';
|
|
205
|
+
if (enforces(settings))
|
|
206
|
+
return `Auto-handoff is on at ${settings.at}% in enforce mode: the first time a session reaches ${settings.at}% of any usage window, it runs \`specweave handoff\` and stops, and tells you to say "pick up" in another tool or account.${waitRule} Local checkpoints are saved after turns in between.`;
|
|
207
|
+
return `Auto-handoff is on at ${settings.at}% in suggest mode: the first time a session reaches ${settings.at}% of any usage window, it tells you once that you can say "hand off", and keeps working. A turn that hits the limit still hands off by itself.${waitRule} Run \`specweave auto-handoff on --mode enforce\` to stop at the threshold instead.`;
|
|
208
|
+
}
|
|
154
209
|
export async function autoHandoffCommand(action = 'status', opts = {}) {
|
|
155
210
|
const home = opts.home ?? os.homedir();
|
|
156
211
|
const claudeFile = path.join(home, '.claude', 'settings.json');
|
|
@@ -158,17 +213,27 @@ export async function autoHandoffCommand(action = 'status', opts = {}) {
|
|
|
158
213
|
const grokFile = path.join(home, '.grok', 'hooks', GROK_HOOK_FILE);
|
|
159
214
|
const say = (line) => process.stdout.write(line + '\n');
|
|
160
215
|
if (action === 'on') {
|
|
161
|
-
const
|
|
216
|
+
const previous = readSettings(home);
|
|
217
|
+
const at = opts.at ?? previous?.at ?? DEFAULT_THRESHOLD;
|
|
162
218
|
if (!(at > 0 && at <= 100)) {
|
|
163
219
|
process.stderr.write('--at takes a percentage from 1 to 100\n');
|
|
164
220
|
return 2;
|
|
165
221
|
}
|
|
166
|
-
|
|
167
|
-
|
|
222
|
+
const waitUnder = opts.waitUnder ?? previous?.waitUnder ?? DEFAULT_WAIT_UNDER_MINUTES;
|
|
223
|
+
if (!(Number.isFinite(waitUnder) && waitUnder >= 0)) {
|
|
224
|
+
process.stderr.write('--wait-under takes minutes, 0 or more\n');
|
|
168
225
|
return 2;
|
|
169
226
|
}
|
|
170
|
-
|
|
171
|
-
|
|
227
|
+
if (opts.mode !== undefined && !AUTO_HANDOFF_MODES.includes(opts.mode)) {
|
|
228
|
+
process.stderr.write(`--mode takes one of ${AUTO_HANDOFF_MODES.join(', ')}\n`);
|
|
229
|
+
return 2;
|
|
230
|
+
}
|
|
231
|
+
const asked = new Set([opts.mode, opts.checkpointOnly ? 'checkpoint' : undefined, opts.handoff ? 'enforce' : undefined].filter(Boolean));
|
|
232
|
+
if (asked.size > 1) {
|
|
233
|
+
process.stderr.write('Choose one mode: --mode, --checkpoint-only or --handoff\n');
|
|
234
|
+
return 2;
|
|
235
|
+
}
|
|
236
|
+
const mode = [...asked][0] ?? previous?.mode ?? 'suggest';
|
|
172
237
|
const claude = readJson(claudeFile);
|
|
173
238
|
let previousStatusLine = previous?.previousStatusLine;
|
|
174
239
|
if (!claude) {
|
|
@@ -197,12 +262,11 @@ export async function autoHandoffCommand(action = 'status', opts = {}) {
|
|
|
197
262
|
}
|
|
198
263
|
if (fs.existsSync(path.join(home, '.grok'))) {
|
|
199
264
|
writeJson(grokFile, grokHook());
|
|
200
|
-
say(`Grok Build: StopFailure hook added in ${grokFile}; ${mode
|
|
265
|
+
say(`Grok Build: StopFailure hook added in ${grokFile}; ${mode !== 'checkpoint' ? 'it hands off right after a turn hits the rate limit, since Grok shows no usage percentage' : 'it saves a local checkpoint after a rate-limit failure'}`);
|
|
201
266
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
: 'Auto-handoff is on in checkpoint-only mode: local checkpoints refresh after turns, at most once every five minutes, and usage never stops work. Run `specweave auto-handoff on --handoff` to hand off at the threshold again.');
|
|
267
|
+
const settings = { at, mode, waitUnder, since: new Date().toISOString(), ...(previousStatusLine ? { previousStatusLine } : {}) };
|
|
268
|
+
writeSettings(settings, home);
|
|
269
|
+
say(modeSummary(settings));
|
|
206
270
|
return 0;
|
|
207
271
|
}
|
|
208
272
|
if (action === 'off') {
|
|
@@ -289,9 +353,14 @@ export function autoHandoffStatus(home = os.homedir(), now = Date.now()) {
|
|
|
289
353
|
const settings = readSettings(home);
|
|
290
354
|
if (!settings)
|
|
291
355
|
return ['Auto-handoff is off. Turn it on with `specweave auto-handoff on`.'];
|
|
292
|
-
const
|
|
293
|
-
|
|
294
|
-
|
|
356
|
+
const wait = settings.waitUnder ?? DEFAULT_WAIT_UNDER_MINUTES;
|
|
357
|
+
const waitRule = wait > 0 ? `; nothing when every full window resets within ${wait} min` : '';
|
|
358
|
+
const since = `since ${settings.since ?? 'unknown'}`;
|
|
359
|
+
const lines = [settings.mode === 'checkpoint'
|
|
360
|
+
? `Auto-handoff is on in checkpoint-only mode (${since}): local background checkpoints every five minutes after turns; usage never stops work.`
|
|
361
|
+
: enforces(settings)
|
|
362
|
+
? `Auto-handoff is on at ${settings.at}% in enforce mode (${since}): a session hands off and stops once per usage window at the threshold${waitRule}, and saves local checkpoints in between.`
|
|
363
|
+
: `Auto-handoff is on at ${settings.at}% in suggest mode (${since}): a session tells you once per usage window at the threshold that you can say "hand off", and keeps working${waitRule}. A turn that hits the limit hands off by itself.`];
|
|
295
364
|
let broken = false;
|
|
296
365
|
const claude = readJson(path.join(home, '.claude', 'settings.json'));
|
|
297
366
|
if (claude) {
|
|
@@ -328,9 +397,10 @@ export function autoHandoffStatus(home = os.homedir(), now = Date.now()) {
|
|
|
328
397
|
const top = fullest(codexReading.windows, now);
|
|
329
398
|
// Same two conditions as the Stop hook: a window at the threshold, and credits about to run out.
|
|
330
399
|
const due = !!top && top.percent >= settings.at && !codexCreditsLast({ windows: codexReading.windows, credits: true, creditMinutesLeft: left });
|
|
400
|
+
const asked = enforces(settings) ? 'asked to hand off' : 'told a handoff is available';
|
|
331
401
|
lines.push(due
|
|
332
|
-
? ` This Codex plan's credits are running out: about ${Math.max(1, Math.round(left ?? 0))} min left at the current rate, so a session in a project is asked
|
|
333
|
-
: ` This Codex plan has credits, which keep it working past the limit. A session in a project at ${settings.at}% or more is asked
|
|
402
|
+
? ` This Codex plan's credits are running out: about ${Math.max(1, Math.round(left ?? 0))} min left at the current rate, so a session in a project is ${asked} at its next stop.`
|
|
403
|
+
: ` This Codex plan has credits, which keep it working past the limit. A session in a project at ${settings.at}% or more is ${asked} only when its log shows under ${CREDIT_MINUTES_LOW} minutes of credits left at the rate they are being spent${left !== undefined ? ` (about ${span(Math.round(left))} now)` : ''}; checkpoints are saved either way.`);
|
|
334
404
|
}
|
|
335
405
|
if (ok && !trusted)
|
|
336
406
|
lines.push(' Codex skips a hook until you trust it: open `codex` in a terminal and approve the hook when it asks. It asks again whenever the hook changes, for example after `auto-handoff on` with a new SpecWeave version.');
|
|
@@ -342,7 +412,7 @@ export function autoHandoffStatus(home = os.homedir(), now = Date.now()) {
|
|
|
342
412
|
}
|
|
343
413
|
lines.push(`Local checkpoints: ${path.join(home, '.specweave', 'checkpoints')} (per worktree and session; current.json points to the latest complete save).`);
|
|
344
414
|
lines.push(handsOff(settings)
|
|
345
|
-
? 'Checkpoints never push or release claims;
|
|
415
|
+
? 'Checkpoints never push or release claims; a handoff does, so the next tool can `specweave pickup`.'
|
|
346
416
|
: 'To transfer work to another tool or machine, run `specweave handoff` explicitly. Automatic checkpoints never push or release claims.');
|
|
347
417
|
if (studioThreadId())
|
|
348
418
|
lines.push('Running inside SpecWeave Studio: hooks only save checkpoints here, and Studio switches provider between turns.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-handoff.js","sourceRoot":"","sources":["../../../../src/cli/commands/auto-handoff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auto-handoff.js","sourceRoot":"","sources":["../../../../src/cli/commands/auto-handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CLI Commands: pickup, note
|
|
3
3
|
*
|
|
4
|
-
* specweave pickup [
|
|
4
|
+
* specweave pickup [id | increment | title words] [--json]
|
|
5
5
|
* specweave pickup --all [--json]
|
|
6
|
+
* specweave pickup --list [--json] (same as `specweave handoff list`)
|
|
6
7
|
* specweave note "<text>" [incrementId]
|
|
7
8
|
*
|
|
8
9
|
* `pickup` is the one read a fresh session needs, in any tool on any account.
|
|
10
|
+
* When several handoffs are pending (several sessions handed off in one
|
|
11
|
+
* project), it takes the one named, or the newest, and lists the others.
|
|
9
12
|
* `note` leaves a message on an increment for whoever works on it next (another
|
|
10
13
|
* thread, another tool); `pickup` shows the latest notes.
|
|
11
14
|
*
|
|
@@ -13,16 +16,28 @@
|
|
|
13
16
|
*/
|
|
14
17
|
import { type PickupApplyResult } from '../../core/session/handoff-remote.js';
|
|
15
18
|
export interface PickupCommandOptions {
|
|
19
|
+
/** What to pick up: a pending handoff's id, an increment, or words from its title. */
|
|
16
20
|
incrementId?: string;
|
|
17
21
|
json?: boolean;
|
|
18
22
|
/** `--no-apply`: only show the handoff, leave the checkout as it is. */
|
|
19
23
|
apply?: boolean;
|
|
20
24
|
/** `--all`: print the newest handoff index, actionable rows first. Read-only. */
|
|
21
25
|
all?: boolean;
|
|
26
|
+
/** `--list`: print the pending handoffs and take none. */
|
|
27
|
+
list?: boolean;
|
|
22
28
|
cwd?: string;
|
|
23
29
|
agent?: string;
|
|
30
|
+
/** Home directory holding `.specweave/checkpoints` (tests). */
|
|
31
|
+
home?: string;
|
|
24
32
|
}
|
|
25
33
|
export declare function pickupCommand(opts?: PickupCommandOptions): Promise<number>;
|
|
34
|
+
export interface HandoffListCommandOptions {
|
|
35
|
+
cwd?: string;
|
|
36
|
+
json?: boolean;
|
|
37
|
+
home?: string;
|
|
38
|
+
}
|
|
39
|
+
/** `specweave handoff list` (and `pickup --list`): pending handoffs, newest first. Changes nothing. */
|
|
40
|
+
export declare function handoffListCommand(opts?: HandoffListCommandOptions): Promise<number>;
|
|
26
41
|
/**
|
|
27
42
|
* Ledger evidence that the work changed hands: a `pickup` event and the new
|
|
28
43
|
* session, once per handoff. Recorded whenever the increment's last handoff
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pickup.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pickup.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pickup.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/pickup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAQ5F,MAAM,WAAW,oBAAoB;IACnC,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iFAAiF;IACjF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,0DAA0D;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuFpF;AAaD,MAAM,WAAW,yBAAyB;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,uGAAuG;AACvG,wBAAsB,kBAAkB,CAAC,IAAI,GAAE,yBAA8B,GAAG,OAAO,CAAC,MAAM,CAAC,CAK9F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAgBrH;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAe9F;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,0FAA0F;AAC1F,wBAAsB,aAAa,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpF"}
|