instar 1.2.56 → 1.2.58
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/skills/autonomous/SKILL.md +11 -2
- package/.claude/skills/autonomous/hooks/autonomous-stop-hook.sh +42 -2
- package/.claude/skills/autonomous/scripts/setup-autonomous.sh +6 -0
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +31 -2
- package/dist/commands/server.js.map +1 -1
- package/dist/core/CompletionEvaluator.d.ts +46 -0
- package/dist/core/CompletionEvaluator.d.ts.map +1 -0
- package/dist/core/CompletionEvaluator.js +86 -0
- package/dist/core/CompletionEvaluator.js.map +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +5 -3
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SessionManager.d.ts +6 -0
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +10 -0
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/frameworkSessionLaunch.d.ts +34 -3
- package/dist/core/frameworkSessionLaunch.d.ts.map +1 -1
- package/dist/core/frameworkSessionLaunch.js +42 -3
- package/dist/core/frameworkSessionLaunch.js.map +1 -1
- package/dist/core/types.d.ts +12 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/server/AgentServer.d.ts +1 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +1 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts +2 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +21 -0
- package/dist/server/routes.js.map +1 -1
- package/dist/threadline/PipeSessionSpawner.d.ts +10 -0
- package/dist/threadline/PipeSessionSpawner.d.ts.map +1 -1
- package/dist/threadline/PipeSessionSpawner.js +6 -0
- package/dist/threadline/PipeSessionSpawner.js.map +1 -1
- package/dist/threadline/ThreadlineBootstrap.d.ts.map +1 -1
- package/dist/threadline/ThreadlineBootstrap.js +5 -16
- package/dist/threadline/ThreadlineBootstrap.js.map +1 -1
- package/dist/threadline/mcpEntry.d.ts +25 -0
- package/dist/threadline/mcpEntry.d.ts.map +1 -0
- package/dist/threadline/mcpEntry.js +38 -0
- package/dist/threadline/mcpEntry.js.map +1 -0
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- package/upgrades/1.2.57.md +64 -0
- package/upgrades/1.2.58.md +77 -0
- package/upgrades/side-effects/codex-multiagent-threadline.md +69 -0
- package/upgrades/side-effects/goal-completion-evaluator.md +69 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CompletionEvaluator — independent "is the autonomous goal met?" judge.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the autonomous stop-hook's self-declared `<promise>` check with an
|
|
5
|
+
* INDEPENDENT judgment: a small/fast model decides whether a verifiable
|
|
6
|
+
* completion CONDITION is met, judging only what the agent has surfaced in the
|
|
7
|
+
* recent transcript (it does not run tools — same contract as the framework
|
|
8
|
+
* `/goal` feature this mirrors). "Not met" returns a reason that the hook feeds
|
|
9
|
+
* back as next-turn guidance.
|
|
10
|
+
*
|
|
11
|
+
* This is the loop's continue/stop authority — a full-context model judgment
|
|
12
|
+
* (condition + transcript), not a brittle low-context filter. Runs on the
|
|
13
|
+
* shared IntelligenceProvider (Claude/Codex subscription or API), `fast` tier,
|
|
14
|
+
* spend-capped upstream by LlmQueue.
|
|
15
|
+
*
|
|
16
|
+
* Spec: docs/specs/goal-completion-evaluator.md
|
|
17
|
+
*/
|
|
18
|
+
import type { IntelligenceProvider } from './types.js';
|
|
19
|
+
export interface CompletionVerdict {
|
|
20
|
+
/** Whether the condition is met (the loop may stop). */
|
|
21
|
+
met: boolean;
|
|
22
|
+
/** One-line reason — fed back as next-turn guidance when not met. */
|
|
23
|
+
reason: string;
|
|
24
|
+
}
|
|
25
|
+
export interface CompletionEvaluatorDeps {
|
|
26
|
+
intelligence: IntelligenceProvider;
|
|
27
|
+
/** Override model tier (default 'fast' — matches /goal's small-fast evaluator). */
|
|
28
|
+
modelTier?: 'fast' | 'balanced' | 'capable';
|
|
29
|
+
}
|
|
30
|
+
export declare class CompletionEvaluator {
|
|
31
|
+
private readonly intelligence;
|
|
32
|
+
private readonly modelTier;
|
|
33
|
+
constructor(deps: CompletionEvaluatorDeps);
|
|
34
|
+
/**
|
|
35
|
+
* Judge whether `condition` is met given the recent transcript text.
|
|
36
|
+
* Robust to model phrasing: looks for an explicit MET/NOT_MET verdict.
|
|
37
|
+
* On any error/ambiguity, returns `met:false` — never falsely "done" (the
|
|
38
|
+
* caller treats "not met" as keep-working, which is the safe direction).
|
|
39
|
+
*/
|
|
40
|
+
evaluate(condition: string, transcriptTail: string): Promise<CompletionVerdict>;
|
|
41
|
+
private buildPrompt;
|
|
42
|
+
/** Parse the model output into a verdict. Conservative: defaults to not-met. */
|
|
43
|
+
private parse;
|
|
44
|
+
get promptVersion(): string;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=CompletionEvaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompletionEvaluator.d.ts","sourceRoot":"","sources":["../../src/core/CompletionEvaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,GAAG,EAAE,OAAO,CAAC;IACb,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,oBAAoB,CAAC;IACnC,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CAC7C;AAID,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;gBAEhD,IAAI,EAAE,uBAAuB;IAKzC;;;;;OAKG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiBrF,OAAO,CAAC,WAAW;IAiBnB,gFAAgF;IAChF,OAAO,CAAC,KAAK;IAcb,IAAI,aAAa,IAAI,MAAM,CAE1B;CACF"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CompletionEvaluator — independent "is the autonomous goal met?" judge.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the autonomous stop-hook's self-declared `<promise>` check with an
|
|
5
|
+
* INDEPENDENT judgment: a small/fast model decides whether a verifiable
|
|
6
|
+
* completion CONDITION is met, judging only what the agent has surfaced in the
|
|
7
|
+
* recent transcript (it does not run tools — same contract as the framework
|
|
8
|
+
* `/goal` feature this mirrors). "Not met" returns a reason that the hook feeds
|
|
9
|
+
* back as next-turn guidance.
|
|
10
|
+
*
|
|
11
|
+
* This is the loop's continue/stop authority — a full-context model judgment
|
|
12
|
+
* (condition + transcript), not a brittle low-context filter. Runs on the
|
|
13
|
+
* shared IntelligenceProvider (Claude/Codex subscription or API), `fast` tier,
|
|
14
|
+
* spend-capped upstream by LlmQueue.
|
|
15
|
+
*
|
|
16
|
+
* Spec: docs/specs/goal-completion-evaluator.md
|
|
17
|
+
*/
|
|
18
|
+
const PROMPT_VERSION = 'completion-eval-v1';
|
|
19
|
+
export class CompletionEvaluator {
|
|
20
|
+
intelligence;
|
|
21
|
+
modelTier;
|
|
22
|
+
constructor(deps) {
|
|
23
|
+
this.intelligence = deps.intelligence;
|
|
24
|
+
this.modelTier = deps.modelTier ?? 'fast';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Judge whether `condition` is met given the recent transcript text.
|
|
28
|
+
* Robust to model phrasing: looks for an explicit MET/NOT_MET verdict.
|
|
29
|
+
* On any error/ambiguity, returns `met:false` — never falsely "done" (the
|
|
30
|
+
* caller treats "not met" as keep-working, which is the safe direction).
|
|
31
|
+
*/
|
|
32
|
+
async evaluate(condition, transcriptTail) {
|
|
33
|
+
const prompt = this.buildPrompt(condition, transcriptTail);
|
|
34
|
+
let raw;
|
|
35
|
+
try {
|
|
36
|
+
raw = await this.intelligence.evaluate(prompt, {
|
|
37
|
+
model: this.modelTier,
|
|
38
|
+
temperature: 0,
|
|
39
|
+
maxTokens: 200,
|
|
40
|
+
timeoutMs: 30_000,
|
|
41
|
+
attribution: { component: 'CompletionEvaluator' },
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
return { met: false, reason: `evaluator error (keep working): ${err instanceof Error ? err.message : String(err)}` };
|
|
46
|
+
}
|
|
47
|
+
return this.parse(raw);
|
|
48
|
+
}
|
|
49
|
+
buildPrompt(condition, transcriptTail) {
|
|
50
|
+
return [
|
|
51
|
+
'You are an INDEPENDENT completion checker for an autonomous coding agent.',
|
|
52
|
+
'Decide whether the agent has MET its completion condition, judging ONLY from',
|
|
53
|
+
'evidence the agent has surfaced in the transcript below. Do NOT assume work',
|
|
54
|
+
'that is not shown. If the condition requires a check (e.g. "tests pass") and',
|
|
55
|
+
'the transcript does not show that check succeeding, it is NOT met.',
|
|
56
|
+
'',
|
|
57
|
+
`COMPLETION CONDITION:\n${condition}`,
|
|
58
|
+
'',
|
|
59
|
+
`RECENT TRANSCRIPT (most recent last):\n${transcriptTail}`,
|
|
60
|
+
'',
|
|
61
|
+
'Respond on the FIRST line with exactly "MET" or "NOT_MET", then on the next',
|
|
62
|
+
'line a one-sentence reason. Nothing else.',
|
|
63
|
+
].join('\n');
|
|
64
|
+
}
|
|
65
|
+
/** Parse the model output into a verdict. Conservative: defaults to not-met. */
|
|
66
|
+
parse(raw) {
|
|
67
|
+
const text = (raw || '').trim();
|
|
68
|
+
if (!text)
|
|
69
|
+
return { met: false, reason: 'empty evaluator response (keep working)' };
|
|
70
|
+
// First non-empty line carries the verdict.
|
|
71
|
+
const lines = text.split('\n').map((l) => l.trim()).filter(Boolean);
|
|
72
|
+
const first = (lines[0] || '').toUpperCase();
|
|
73
|
+
const reason = (lines[1] || lines[0] || '').slice(0, 300);
|
|
74
|
+
// "NOT_MET"/"NOT MET" must be checked before "MET" (substring).
|
|
75
|
+
if (/\bNOT[_ ]?MET\b/.test(first))
|
|
76
|
+
return { met: false, reason: reason || 'condition not yet met' };
|
|
77
|
+
if (/\bMET\b/.test(first))
|
|
78
|
+
return { met: true, reason: reason || 'condition met' };
|
|
79
|
+
// Ambiguous → safe direction (keep working).
|
|
80
|
+
return { met: false, reason: `ambiguous verdict, keeping work going: ${text.slice(0, 120)}` };
|
|
81
|
+
}
|
|
82
|
+
get promptVersion() {
|
|
83
|
+
return PROMPT_VERSION;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=CompletionEvaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompletionEvaluator.js","sourceRoot":"","sources":["../../src/core/CompletionEvaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAiBH,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAE5C,MAAM,OAAO,mBAAmB;IACb,YAAY,CAAuB;IACnC,SAAS,CAAkC;IAE5D,YAAY,IAA6B;QACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,cAAsB;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3D,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC7C,KAAK,EAAE,IAAI,CAAC,SAAS;gBACrB,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,MAAM;gBACjB,WAAW,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE;aAClD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACvH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEO,WAAW,CAAC,SAAiB,EAAE,cAAsB;QAC3D,OAAO;YACL,2EAA2E;YAC3E,8EAA8E;YAC9E,6EAA6E;YAC7E,8EAA8E;YAC9E,oEAAoE;YACpE,EAAE;YACF,0BAA0B,SAAS,EAAE;YACrC,EAAE;YACF,0CAA0C,cAAc,EAAE;YAC1D,EAAE;YACF,6EAA6E;YAC7E,2CAA2C;SAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,gFAAgF;IACxE,KAAK,CAAC,GAAW;QACvB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;QACpF,4CAA4C;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1D,gEAAgE;QAChE,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,uBAAuB,EAAE,CAAC;QACpG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,eAAe,EAAE,CAAC;QACnF,6CAA6C;QAC7C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,0CAA0C,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;IAChG,CAAC;IAED,IAAI,aAAa;QACf,OAAO,cAAc,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAiCH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAIjC,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAiB;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAiC;gBAEvC,MAAM,EAAE,cAAc;IAIlC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAItC;;;;;;OAMG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,CAAC;IAIjC,OAAO,CAAC,aAAa;IAOrB;;;OAGG;IACH,OAAO,IAAI,eAAe;IAuC1B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,0BAA0B;IAsElC,OAAO,CAAC,0BAA0B;IAmDlC,OAAO,CAAC,uBAAuB;IAwE/B,OAAO,CAAC,4CAA4C;IAmEpD,OAAO,CAAC,yBAAyB;IAqGjC;;;;;;;;;;OAUG;IACG,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;YA4BhC,uBAAuB;IAkGrC,OAAO,CAAC,0BAA0B;IAkGlC,OAAO,CAAC,0BAA0B;IAkElC,OAAO,CAAC,oBAAoB;IAqH5B,OAAO,CAAC,8BAA8B;IA2EtC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,4BAA4B;IAwBpC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,mCAAmC;
|
|
1
|
+
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1148,9 +1148,11 @@ export class PostUpdateMigrator {
|
|
|
1148
1148
|
result.errors.push(`${relPath} migration: ${err instanceof Error ? err.message : String(err)}`);
|
|
1149
1149
|
}
|
|
1150
1150
|
};
|
|
1151
|
-
// Marker = the
|
|
1152
|
-
|
|
1153
|
-
|
|
1151
|
+
// Marker = the latest capability signature (bumped each time the bundled hook/
|
|
1152
|
+
// setup gains a feature, so prior installs upgrade): now the independent
|
|
1153
|
+
// completion evaluator (mirrors /goal). Absent from multi-session-only installs.
|
|
1154
|
+
upgrade('.claude/skills/autonomous/hooks/autonomous-stop-hook.sh', 'independent evaluator (mirrors /goal)', 'Autonomous Mode Stop Hook', 'skills/autonomous/hooks/autonomous-stop-hook.sh (topic-keyed + multi-session + completion evaluator)');
|
|
1155
|
+
upgrade('.claude/skills/autonomous/scripts/setup-autonomous.sh', 'completion_condition:', 'autonomous-state.local.md', 'skills/autonomous/scripts/setup-autonomous.sh (per-topic + completion-condition)');
|
|
1154
1156
|
}
|
|
1155
1157
|
/**
|
|
1156
1158
|
* Deploy any missing built-in skills (e.g., guardian job skills added after initial setup).
|