autodev-cli 1.4.205 → 1.4.207
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/out/core/profileCadence.d.ts +57 -0
- package/out/core/profileCadence.js +140 -0
- package/out/core/profileCadence.js.map +1 -0
- package/out/core/settingsLoader.d.ts +8 -3
- package/out/core/settingsLoader.js +1 -1
- package/out/core/settingsLoader.js.map +1 -1
- package/out/messageBuilder.d.ts +32 -0
- package/out/messageBuilder.js +81 -36
- package/out/messageBuilder.js.map +1 -1
- package/out/providers/claude/tui.js +16 -0
- package/out/providers/claude/tui.js.map +1 -1
- package/out/taskLoop.d.ts +5 -1
- package/out/taskLoop.js +44 -10
- package/out/taskLoop.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** Default re-send cadence (turns) when `profileEveryNTasks` is not set. */
|
|
2
|
+
export declare const DEFAULT_PROFILE_EVERY_N = 50;
|
|
3
|
+
/** File that persists the turn counter, under `<root>/.autodev/`. */
|
|
4
|
+
export declare const PROFILE_TURNS_FILE = ".autodev/.profile-turns";
|
|
5
|
+
/** Sentinel meaning "the profile has NEVER been delivered for this workspace". */
|
|
6
|
+
export declare const PROFILE_NEVER = -1;
|
|
7
|
+
export interface ProfileCadenceInput {
|
|
8
|
+
/**
|
|
9
|
+
* Turns since the profile was last injected, persisted across restarts.
|
|
10
|
+
* `PROFILE_NEVER` (-1) means it has never been delivered yet.
|
|
11
|
+
*/
|
|
12
|
+
turnsSinceProfile: number;
|
|
13
|
+
/** `settings.profileEveryNTasks` (default 50). <= 0 disables the periodic refresh. */
|
|
14
|
+
profileInterval: number;
|
|
15
|
+
/**
|
|
16
|
+
* Does the model's context carry over INTO this turn (a persistent / resumed
|
|
17
|
+
* session)? Mirrors the loop's `wantResume` signal. When false the turn is
|
|
18
|
+
* stateless and the profile is sent EVERY turn.
|
|
19
|
+
*/
|
|
20
|
+
contextPersists: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Force a (re)inclusion this turn regardless of the counter — e.g. a fresh
|
|
23
|
+
* session was just started (session reset) so the carried context is gone.
|
|
24
|
+
*/
|
|
25
|
+
forceInclude?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface ProfileCadenceResult {
|
|
28
|
+
/** Whether to inline the full profile in THIS dispatch. */
|
|
29
|
+
includeProfile: boolean;
|
|
30
|
+
/** The new `turnsSinceProfile` value to persist AFTER this turn. */
|
|
31
|
+
turnsSinceProfile: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Pure cadence decision. Given the persisted counter + the context-persistence
|
|
35
|
+
* signal, decide whether to inline the profile this turn and what counter to
|
|
36
|
+
* persist next.
|
|
37
|
+
*
|
|
38
|
+
* Counting mirrors the original in-memory gate: after an inclusion the counter
|
|
39
|
+
* becomes 1, then advances 1,2,…,interval; when it reaches `interval` the profile
|
|
40
|
+
* is re-included and the counter resets — so inclusions are exactly `interval`
|
|
41
|
+
* turns apart.
|
|
42
|
+
*/
|
|
43
|
+
export declare function decideProfileInclusion(input: ProfileCadenceInput): ProfileCadenceResult;
|
|
44
|
+
/**
|
|
45
|
+
* Read the persisted turn counter for `root`. Returns `PROFILE_NEVER` when the
|
|
46
|
+
* file is absent/unreadable (so a brand-new workspace includes the profile on its
|
|
47
|
+
* first persistent turn). Never throws.
|
|
48
|
+
*/
|
|
49
|
+
export declare function loadProfileTurns(root: string): number;
|
|
50
|
+
/** Persist the turn counter for `root`. Best-effort; never throws. */
|
|
51
|
+
export declare function saveProfileTurns(root: string, turnsSinceProfile: number): void;
|
|
52
|
+
/**
|
|
53
|
+
* Force the NEXT persistent turn to re-include the profile (counter → NEVER).
|
|
54
|
+
* Called when a fresh session is about to start (session reset) so the new
|
|
55
|
+
* context gets the pillars. Best-effort; never throws.
|
|
56
|
+
*/
|
|
57
|
+
export declare function resetProfileTurns(root: string): void;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Profile/pillars cadence — decide how OFTEN the heavy AutoDev profile (the
|
|
4
|
+
// `<!-- AUTODEV:section:* -->` pillars assembled into `.autodev/PROGRAM.md` and
|
|
5
|
+
// inlined by writeCombinedFile when `includeProfile` is true) is re-sent into an
|
|
6
|
+
// agent's context.
|
|
7
|
+
//
|
|
8
|
+
// WHY THIS EXISTS
|
|
9
|
+
// The profile is large (tens of KB, dozens of pillars). On a PERSISTENT or
|
|
10
|
+
// RESUMED session (grok-acp, or any provider with resumeSession on) the model
|
|
11
|
+
// carries its context forward across turns, so the pillars stay loaded from the
|
|
12
|
+
// turn they were last injected — re-sending them every turn is pure waste and
|
|
13
|
+
// makes users report "it sends the whole profile on every message". On a
|
|
14
|
+
// STATELESS turn (fresh context each turn, no resume) the agent genuinely needs
|
|
15
|
+
// the protocol every turn, so it must NOT be throttled there.
|
|
16
|
+
//
|
|
17
|
+
// So: throttle ONLY when the context persists this turn; otherwise send every
|
|
18
|
+
// turn. The cadence counter is PERSISTED to `.autodev/.profile-turns` so the
|
|
19
|
+
// every-N cadence survives the agent's real execution model — including a
|
|
20
|
+
// per-turn-SPAWN provider where each turn is a fresh process (an in-memory
|
|
21
|
+
// counter would reset to 1 every spawn and re-dump the profile every turn), and
|
|
22
|
+
// a loop RESTART that resumes the same persistent session (an in-memory counter
|
|
23
|
+
// would reset to turn 1 and re-dump the profile on every restart).
|
|
24
|
+
//
|
|
25
|
+
// This module is intentionally tiny + pure so it can be unit-tested directly.
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
28
|
+
if (k2 === undefined) k2 = k;
|
|
29
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
30
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
31
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
32
|
+
}
|
|
33
|
+
Object.defineProperty(o, k2, desc);
|
|
34
|
+
}) : (function(o, m, k, k2) {
|
|
35
|
+
if (k2 === undefined) k2 = k;
|
|
36
|
+
o[k2] = m[k];
|
|
37
|
+
}));
|
|
38
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
39
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
40
|
+
}) : function(o, v) {
|
|
41
|
+
o["default"] = v;
|
|
42
|
+
});
|
|
43
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
44
|
+
var ownKeys = function(o) {
|
|
45
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
46
|
+
var ar = [];
|
|
47
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
48
|
+
return ar;
|
|
49
|
+
};
|
|
50
|
+
return ownKeys(o);
|
|
51
|
+
};
|
|
52
|
+
return function (mod) {
|
|
53
|
+
if (mod && mod.__esModule) return mod;
|
|
54
|
+
var result = {};
|
|
55
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
56
|
+
__setModuleDefault(result, mod);
|
|
57
|
+
return result;
|
|
58
|
+
};
|
|
59
|
+
})();
|
|
60
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
|
+
exports.PROFILE_NEVER = exports.PROFILE_TURNS_FILE = exports.DEFAULT_PROFILE_EVERY_N = void 0;
|
|
62
|
+
exports.decideProfileInclusion = decideProfileInclusion;
|
|
63
|
+
exports.loadProfileTurns = loadProfileTurns;
|
|
64
|
+
exports.saveProfileTurns = saveProfileTurns;
|
|
65
|
+
exports.resetProfileTurns = resetProfileTurns;
|
|
66
|
+
const fs = __importStar(require("fs"));
|
|
67
|
+
const path = __importStar(require("path"));
|
|
68
|
+
/** Default re-send cadence (turns) when `profileEveryNTasks` is not set. */
|
|
69
|
+
exports.DEFAULT_PROFILE_EVERY_N = 50;
|
|
70
|
+
/** File that persists the turn counter, under `<root>/.autodev/`. */
|
|
71
|
+
exports.PROFILE_TURNS_FILE = '.autodev/.profile-turns';
|
|
72
|
+
/** Sentinel meaning "the profile has NEVER been delivered for this workspace". */
|
|
73
|
+
exports.PROFILE_NEVER = -1;
|
|
74
|
+
/**
|
|
75
|
+
* Pure cadence decision. Given the persisted counter + the context-persistence
|
|
76
|
+
* signal, decide whether to inline the profile this turn and what counter to
|
|
77
|
+
* persist next.
|
|
78
|
+
*
|
|
79
|
+
* Counting mirrors the original in-memory gate: after an inclusion the counter
|
|
80
|
+
* becomes 1, then advances 1,2,…,interval; when it reaches `interval` the profile
|
|
81
|
+
* is re-included and the counter resets — so inclusions are exactly `interval`
|
|
82
|
+
* turns apart.
|
|
83
|
+
*/
|
|
84
|
+
function decideProfileInclusion(input) {
|
|
85
|
+
const { turnsSinceProfile, profileInterval, contextPersists, forceInclude } = input;
|
|
86
|
+
let includeProfile;
|
|
87
|
+
if (forceInclude) {
|
|
88
|
+
// A fresh session was just established — its context does NOT have the pillars.
|
|
89
|
+
includeProfile = true;
|
|
90
|
+
}
|
|
91
|
+
else if (!contextPersists) {
|
|
92
|
+
// Stateless turn: the model gets a fresh context, so it needs the protocol
|
|
93
|
+
// every turn. Never throttle here (that would leave it protocol-less 49/50).
|
|
94
|
+
includeProfile = true;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
// Persistent / resumed: the pillars are still in context from the last
|
|
98
|
+
// injection. Include only when never delivered yet, or every `interval` turns.
|
|
99
|
+
includeProfile = turnsSinceProfile < 0
|
|
100
|
+
|| (profileInterval > 0 && turnsSinceProfile >= profileInterval);
|
|
101
|
+
}
|
|
102
|
+
// Advance / reset the persisted counter. After an inclusion the next turn starts
|
|
103
|
+
// the count at 1; otherwise increment (treating the NEVER sentinel as 0).
|
|
104
|
+
const base = turnsSinceProfile < 0 ? 0 : turnsSinceProfile;
|
|
105
|
+
const next = includeProfile ? 1 : base + 1;
|
|
106
|
+
return { includeProfile, turnsSinceProfile: next };
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Read the persisted turn counter for `root`. Returns `PROFILE_NEVER` when the
|
|
110
|
+
* file is absent/unreadable (so a brand-new workspace includes the profile on its
|
|
111
|
+
* first persistent turn). Never throws.
|
|
112
|
+
*/
|
|
113
|
+
function loadProfileTurns(root) {
|
|
114
|
+
try {
|
|
115
|
+
const raw = fs.readFileSync(path.join(root, exports.PROFILE_TURNS_FILE), 'utf8').trim();
|
|
116
|
+
const n = parseInt(raw, 10);
|
|
117
|
+
return Number.isFinite(n) ? n : exports.PROFILE_NEVER;
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
return exports.PROFILE_NEVER;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/** Persist the turn counter for `root`. Best-effort; never throws. */
|
|
124
|
+
function saveProfileTurns(root, turnsSinceProfile) {
|
|
125
|
+
try {
|
|
126
|
+
const p = path.join(root, exports.PROFILE_TURNS_FILE);
|
|
127
|
+
fs.mkdirSync(path.dirname(p), { recursive: true });
|
|
128
|
+
fs.writeFileSync(p, String(turnsSinceProfile), 'utf8');
|
|
129
|
+
}
|
|
130
|
+
catch { /* best effort — the cadence just falls back to in-memory behaviour */ }
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Force the NEXT persistent turn to re-include the profile (counter → NEVER).
|
|
134
|
+
* Called when a fresh session is about to start (session reset) so the new
|
|
135
|
+
* context gets the pillars. Best-effort; never throws.
|
|
136
|
+
*/
|
|
137
|
+
function resetProfileTurns(root) {
|
|
138
|
+
saveProfileTurns(root, exports.PROFILE_NEVER);
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=profileCadence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profileCadence.js","sourceRoot":"","sources":["../../src/core/profileCadence.ts"],"names":[],"mappings":"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"}
|
|
@@ -242,9 +242,14 @@ export interface AutodevSettings {
|
|
|
242
242
|
*/
|
|
243
243
|
summaryEveryNTasks: number;
|
|
244
244
|
/**
|
|
245
|
-
* Re-send the full agent profile (includeProfile=true) every N
|
|
246
|
-
*
|
|
247
|
-
*
|
|
245
|
+
* Re-send the full agent profile/pillars (includeProfile=true) at most every N
|
|
246
|
+
* turns on a PERSISTENT/RESUMED session, where the profile stays in context from
|
|
247
|
+
* its last injection so re-sending every turn is pure waste. Default 50. The
|
|
248
|
+
* cadence counter is persisted to `.autodev/.profile-turns`, so the every-N
|
|
249
|
+
* schedule survives a loop restart / per-turn spawn (it is NOT re-dumped on every
|
|
250
|
+
* restart). 0 disables the periodic refresh (profile goes out only on the first
|
|
251
|
+
* turn of a fresh session). STATELESS turns (no resume) are never throttled — the
|
|
252
|
+
* profile is sent every turn there because the fresh context needs it.
|
|
248
253
|
*/
|
|
249
254
|
profileEveryNTasks: number;
|
|
250
255
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settingsLoader.js","sourceRoot":"","sources":["../../src/core/settingsLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"settingsLoader.js","sourceRoot":"","sources":["../../src/core/settingsLoader.ts"],"names":[],"mappings":"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"}
|
package/out/messageBuilder.d.ts
CHANGED
|
@@ -89,6 +89,38 @@ export declare function saveAttachment(workspaceRoot: string, filename: string,
|
|
|
89
89
|
* Used for reminder/check-in messages that bypass buildMessage().
|
|
90
90
|
*/
|
|
91
91
|
export declare function writeMessageFile(root: string, content: string): string;
|
|
92
|
+
/**
|
|
93
|
+
* STANDING protocol prose — identical on every turn and task-INDEPENDENT.
|
|
94
|
+
*
|
|
95
|
+
* This is the "NEXT TASK" framing + the generic `### Steps required` explanation
|
|
96
|
+
* + the PRODUCED-DELIVERABLE / loop-runs-continuously hardening + the trailing
|
|
97
|
+
* PROGRAM.md pointer. It carries NO per-task values, so it can be delivered ONCE
|
|
98
|
+
* through a provider's native system prompt (Claude `appendSystemPrompt`) and then
|
|
99
|
+
* re-inlined only on the profile cadence (init + every ~50 turns) instead of on
|
|
100
|
+
* every single turn. The per-turn specifics (which line, the exact marker, the
|
|
101
|
+
* done line, attachments) live in {@link buildTaskCurrentBlock} and still ship
|
|
102
|
+
* every turn.
|
|
103
|
+
*
|
|
104
|
+
* This is the SINGLE SOURCE for the standing protocol text: both the inline
|
|
105
|
+
* every-50 refresh (via buildMessage) and the Claude system prompt (via the
|
|
106
|
+
* claude-tui provider) read it here, so the two can never drift apart.
|
|
107
|
+
*
|
|
108
|
+
* EXTERNAL CONSUMER: the leading `> **NEXT TASK TO BEGIN` prefix is matched by
|
|
109
|
+
* game_spec_gen/.../AutodevHooksDriver.php (outside this repo). Do NOT change
|
|
110
|
+
* that first line without coordinating with that consumer.
|
|
111
|
+
*/
|
|
112
|
+
export declare function buildTaskProtocolBlock(): string;
|
|
113
|
+
/**
|
|
114
|
+
* PER-TURN dynamic block — the current task's concrete specifics. Shipped EVERY
|
|
115
|
+
* turn (never throttled): the `## Current task` header + id/text/todo/line, the
|
|
116
|
+
* exact `taskLine` / `doneLine` markers, any attachments + inlined attachment
|
|
117
|
+
* bodies, PLUS one always-present terse marking line.
|
|
118
|
+
*
|
|
119
|
+
* The marking line keeps the load-bearing TODO-marking contract (`[~]` → `[x]`)
|
|
120
|
+
* in EVERY turn even when the standing protocol block is throttled out — loop
|
|
121
|
+
* completion detection keys on that TODO transition, so it must never disappear.
|
|
122
|
+
*/
|
|
123
|
+
export declare function buildTaskCurrentBlock(task: Task, todoPath: string, root: string): string;
|
|
92
124
|
/**
|
|
93
125
|
* Builds the agent message for a task, writing two separate files:
|
|
94
126
|
* - `.autodev/AGENT_PROFILE.md` — profile instructions (frontmatter stripped)
|
package/out/messageBuilder.js
CHANGED
|
@@ -41,6 +41,8 @@ exports.soulUpdatedReminder = soulUpdatedReminder;
|
|
|
41
41
|
exports.resumedSessionReminder = resumedSessionReminder;
|
|
42
42
|
exports.saveAttachment = saveAttachment;
|
|
43
43
|
exports.writeMessageFile = writeMessageFile;
|
|
44
|
+
exports.buildTaskProtocolBlock = buildTaskProtocolBlock;
|
|
45
|
+
exports.buildTaskCurrentBlock = buildTaskCurrentBlock;
|
|
44
46
|
exports.rebuildProfile = rebuildProfile;
|
|
45
47
|
exports.buildMessage = buildMessage;
|
|
46
48
|
const crypto = __importStar(require("crypto"));
|
|
@@ -411,14 +413,66 @@ function readOrEmpty(filePath) {
|
|
|
411
413
|
return '';
|
|
412
414
|
}
|
|
413
415
|
}
|
|
414
|
-
|
|
416
|
+
/**
|
|
417
|
+
* STANDING protocol prose — identical on every turn and task-INDEPENDENT.
|
|
418
|
+
*
|
|
419
|
+
* This is the "NEXT TASK" framing + the generic `### Steps required` explanation
|
|
420
|
+
* + the PRODUCED-DELIVERABLE / loop-runs-continuously hardening + the trailing
|
|
421
|
+
* PROGRAM.md pointer. It carries NO per-task values, so it can be delivered ONCE
|
|
422
|
+
* through a provider's native system prompt (Claude `appendSystemPrompt`) and then
|
|
423
|
+
* re-inlined only on the profile cadence (init + every ~50 turns) instead of on
|
|
424
|
+
* every single turn. The per-turn specifics (which line, the exact marker, the
|
|
425
|
+
* done line, attachments) live in {@link buildTaskCurrentBlock} and still ship
|
|
426
|
+
* every turn.
|
|
427
|
+
*
|
|
428
|
+
* This is the SINGLE SOURCE for the standing protocol text: both the inline
|
|
429
|
+
* every-50 refresh (via buildMessage) and the Claude system prompt (via the
|
|
430
|
+
* claude-tui provider) read it here, so the two can never drift apart.
|
|
431
|
+
*
|
|
432
|
+
* EXTERNAL CONSUMER: the leading `> **NEXT TASK TO BEGIN` prefix is matched by
|
|
433
|
+
* game_spec_gen/.../AutodevHooksDriver.php (outside this repo). Do NOT change
|
|
434
|
+
* that first line without coordinating with that consumer.
|
|
435
|
+
*/
|
|
436
|
+
function buildTaskProtocolBlock() {
|
|
437
|
+
// Relative file:// URI for the profile — works regardless of absolute workspace location.
|
|
438
|
+
const profileRef = `@file://./${exports.AGENT_PROFILE_FILE}`;
|
|
439
|
+
return `> **NEXT TASK TO BEGIN, DO NOT STOP WORK**
|
|
440
|
+
|
|
441
|
+
> **IMPORTANT:** Even if you have done a similar task before, this is a **new independent task** that requires real work. Do NOT just mark it done — actually complete the task fully.
|
|
442
|
+
|
|
443
|
+
### Steps required
|
|
444
|
+
|
|
445
|
+
1. Open the TODO file and find the task's line — the exact \`- [ ]\` marker is shown above under **Current task**.
|
|
446
|
+
2. Mark it in-progress **before** starting: change \`[ ]\` to \`[~]\`
|
|
447
|
+
3. **Actually do the work** described by the task text above. Follow all protocol instructions from your agent profile.
|
|
448
|
+
3.1 Discover the real task by opening the attachment files related to the todo entry, which are part of the task instructions. The files are listed above and may include important context, data, or subtasks. They are embedded in the message for your convenience, so read them carefully.
|
|
449
|
+
4. Only when a **concrete deliverable actually exists** — a file created or edited, a command run with its result, a verifiable change on disk — mark it complete: change the box to \`[x]\` with today's date (the exact done line is shown above under **Current task**).
|
|
450
|
+
5. Continue to the next \`[ ]\` task in the TODO file — do not stop until all tasks are done.
|
|
451
|
+
|
|
452
|
+
> **A turn ends with a PRODUCED DELIVERABLE, never with an intention.** Do NOT reply that you *will* do X, *plan to* do X, or have *acknowledged* X — in THIS turn, actually produce X (an edit / a new file / a command result) and change the box to \`[x]\`. A turn that only restates the plan, describes what you would do, or says "I will continue" — without a file, an edit, or a command result — is **NOT progress** and does **NOT** count as done. Never write \`[x]\` unless the deliverable is really there; if you cannot finish it this turn, leave it \`[~]\` and produce as much real work as you can.
|
|
453
|
+
|
|
454
|
+
> This loop runs continuously. Each task dispatch is a fresh task. "Standing by", "already done", or "I will do it" is not acceptable — complete the work.
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
458
|
+
**Full protocol and agent instructions:** ${profileRef}`;
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* PER-TURN dynamic block — the current task's concrete specifics. Shipped EVERY
|
|
462
|
+
* turn (never throttled): the `## Current task` header + id/text/todo/line, the
|
|
463
|
+
* exact `taskLine` / `doneLine` markers, any attachments + inlined attachment
|
|
464
|
+
* bodies, PLUS one always-present terse marking line.
|
|
465
|
+
*
|
|
466
|
+
* The marking line keeps the load-bearing TODO-marking contract (`[~]` → `[x]`)
|
|
467
|
+
* in EVERY turn even when the standing protocol block is throttled out — loop
|
|
468
|
+
* completion detection keys on that TODO transition, so it must never disappear.
|
|
469
|
+
*/
|
|
470
|
+
function buildTaskCurrentBlock(task, todoPath, root) {
|
|
415
471
|
const date = new Date().toISOString().slice(0, 10);
|
|
416
472
|
// Full raw task marker line as it appears (or will appear) in TODO.md
|
|
417
473
|
const taskId = task.id ? `[${task.id}] ` : '';
|
|
418
474
|
const taskLine = `- [ ] ${taskId}${task.text}`;
|
|
419
475
|
const doneLine = `- [x] ${date} ${taskId}${task.text}`;
|
|
420
|
-
// Relative file:// URI for the profile — works regardless of absolute workspace location.
|
|
421
|
-
const profileRef = `@file://./${exports.AGENT_PROFILE_FILE}`;
|
|
422
476
|
// Inline attachment files from task.attachments (populated at parse time by todo.ts).
|
|
423
477
|
// Only .md files are inlined as text — binary attachments (images, PDFs, etc.)
|
|
424
478
|
// are listed in the header reference but not embedded.
|
|
@@ -437,41 +491,20 @@ function buildTaskInstruction(task, todoPath, root, noCommit = false) {
|
|
|
437
491
|
}
|
|
438
492
|
}
|
|
439
493
|
const inlinedSection = inlinedFiles.length > 0
|
|
440
|
-
? `\n---\n\n## Message Content (inlined — do not try to open the file)\n\n${inlinedFiles.join('\n\n---\n\n')}\n`
|
|
494
|
+
? `\n\n---\n\n## Message Content (inlined — do not try to open the file)\n\n${inlinedFiles.join('\n\n---\n\n')}\n`
|
|
441
495
|
: '';
|
|
442
496
|
const attachmentRef = task.attachments && task.attachments.length > 0
|
|
443
497
|
? `**Attachments:** ${task.attachments.map(p => `\`${p}\``).join(', ')}\n`
|
|
444
498
|
: '';
|
|
445
|
-
return
|
|
446
|
-
|
|
447
|
-
## Current task
|
|
499
|
+
return `## Current task
|
|
448
500
|
|
|
449
501
|
**Task ID:** \`${taskId.trim() || '(no id)'}\`
|
|
450
502
|
**Task text:** ${task.text}
|
|
451
503
|
**TODO.md:** \`${todoPath}\` line ${task.line}
|
|
452
|
-
${attachmentRef}
|
|
453
|
-
|
|
454
|
-
> **IMPORTANT:** Even if you have done a similar task before, this is a **new independent task** that requires real work. Do NOT just mark it done — actually complete the task fully.
|
|
455
|
-
|
|
456
|
-
### Steps required
|
|
457
|
-
|
|
458
|
-
1. Open \`${todoPath}\` and find line ${task.line}:
|
|
459
|
-
\`${taskLine}\`
|
|
460
|
-
2. Mark it in-progress **before** starting: change \`[ ]\` to \`[~]\`
|
|
461
|
-
3. **Actually do the work** described by the task text above. Follow all protocol instructions from your agent profile.
|
|
462
|
-
3.1 Discover the real task by opening the attachment files related to the todo entry, which are part of the task instructions. The files are listed above and may include important context, data, or subtasks. They are embedded in the message for your convenience, so read them carefully.
|
|
463
|
-
4. Only when a **concrete deliverable actually exists** — a file created or edited, a command run with its result, a verifiable change on disk — mark it complete:
|
|
464
|
-
\`${doneLine}\`
|
|
465
|
-
5. Continue to the next \`[ ]\` task in \`${todoPath}\` — do not stop until all tasks are done.
|
|
466
|
-
|
|
467
|
-
> **A turn ends with a PRODUCED DELIVERABLE, never with an intention.** Do NOT reply that you *will* do X, *plan to* do X, or have *acknowledged* X — in THIS turn, actually produce X (an edit / a new file / a command result) and change the box to \`[x]\`. A turn that only restates the plan, describes what you would do, or says "I will continue" — without a file, an edit, or a command result — is **NOT progress** and does **NOT** count as done. Never write \`[x]\` unless the deliverable is really there; if you cannot finish it this turn, leave it \`[~]\` and produce as much real work as you can.
|
|
468
|
-
|
|
469
|
-
> This loop runs continuously. Each task dispatch is a fresh task. "Standing by", "already done", or "I will do it" is not acceptable — complete the work.
|
|
470
|
-
|
|
471
|
-
---
|
|
504
|
+
${attachmentRef}**Task marker (line ${task.line}):** \`${taskLine}\`
|
|
505
|
+
**Done line (write this only once a real deliverable exists):** \`${doneLine}\`
|
|
472
506
|
|
|
473
|
-
|
|
474
|
-
${inlinedSection}`;
|
|
507
|
+
Mark this task \`[~]\` before starting and \`[x]\` only once a real deliverable exists on disk.${inlinedSection}`;
|
|
475
508
|
}
|
|
476
509
|
/**
|
|
477
510
|
* Builds the agent message for a task, writing two separate files:
|
|
@@ -626,9 +659,6 @@ function buildMessage(task, root, todoDir, includeProfile = true,
|
|
|
626
659
|
*/
|
|
627
660
|
resumedTurn = false) {
|
|
628
661
|
(0, sessionState_1.autodevDir)(root);
|
|
629
|
-
// Read the noCommit flag from the identity section frontmatter (media source).
|
|
630
|
-
const identityFile = path.join(__dirname, '..', 'media', 'profile', '00-identity.md');
|
|
631
|
-
const { meta } = parseFrontmatter(readOrEmpty(identityFile));
|
|
632
662
|
// PROGRAM.md + skill deployment live on the PROFILE BUILD (rebuildProfile — run
|
|
633
663
|
// once at loop start and on explicit Save & Rebuild), NOT on this per-message
|
|
634
664
|
// path. buildMessage no longer rewrites PROGRAM.md, re-deploys skills, or
|
|
@@ -651,9 +681,24 @@ resumedTurn = false) {
|
|
|
651
681
|
// not.) Creating it here (before soulUpdatedReminder) means the .soul-seen marker
|
|
652
682
|
// records the skeleton's mtime silently on turn 1.
|
|
653
683
|
(0, connect_1.ensureSoulSkeleton)(root);
|
|
654
|
-
// Build the task trigger message
|
|
684
|
+
// Build the task trigger message in two parts:
|
|
685
|
+
// - protocolBlock: STANDING prose (NEXT-TASK framing + Steps-required + the
|
|
686
|
+
// deliverable/loop hardening + PROGRAM.md pointer). Task-independent, so it
|
|
687
|
+
// rides the profile cadence (init + every ~50 turns) exactly like the heavy
|
|
688
|
+
// PROGRAM.md body already does. Also delivered once via Claude's native
|
|
689
|
+
// system prompt (claude-tui) from this SAME function.
|
|
690
|
+
// - currentBlock: PER-TURN specifics (## Current task + exact markers +
|
|
691
|
+
// attachments + the always-present `[~]`/`[x]` marking line). Ships EVERY
|
|
692
|
+
// turn so the TODO-marking contract that drives completion detection never
|
|
693
|
+
// drops out, even on a throttled turn.
|
|
655
694
|
const todoPath = path.join(todoDir, 'TODO.md');
|
|
656
|
-
const
|
|
695
|
+
const protocolBlock = buildTaskProtocolBlock();
|
|
696
|
+
const currentBlock = buildTaskCurrentBlock(task, todoPath, root);
|
|
697
|
+
// Gate ONLY the standing protocol block on the includeProfile cadence; the
|
|
698
|
+
// current block is always present. When included, the protocol goes FIRST
|
|
699
|
+
// (NEXT-TASK framing), then the current task — matching the historical ordering
|
|
700
|
+
// where the framing preceded the task specifics.
|
|
701
|
+
const taskParts = includeProfile ? [protocolBlock, currentBlock] : [currentBlock];
|
|
657
702
|
// System reminders that must precede the task text. The dispatcher feeds the
|
|
658
703
|
// model from the messageFile (via writeCombinedFile), NOT from the returned
|
|
659
704
|
// `prompt` string, so these MUST be written into the messageFile — otherwise
|
|
@@ -691,14 +736,14 @@ resumedTurn = false) {
|
|
|
691
736
|
}
|
|
692
737
|
}
|
|
693
738
|
// Reminders FIRST, then the task text, written to the file the model reads.
|
|
694
|
-
const messageBody = [...reminders,
|
|
739
|
+
const messageBody = [...reminders, ...taskParts].join('\n\n---\n\n');
|
|
695
740
|
const messageFile = writeMessageFile(root, messageBody);
|
|
696
741
|
// The combined `prompt` string mirrors the messageFile ordering for the
|
|
697
742
|
// (currently unused) UI-provider path. The profile body is NOT inlined here —
|
|
698
743
|
// it lives in PROGRAM.md on disk and is appended by writeCombinedFile at
|
|
699
744
|
// dispatch (profile build owns PROGRAM.md; this path owns only the reminders +
|
|
700
745
|
// task text).
|
|
701
|
-
const parts = [...reminders,
|
|
746
|
+
const parts = [...reminders, ...taskParts];
|
|
702
747
|
return { prompt: parts.join('\n\n---\n\n'), messageFile };
|
|
703
748
|
}
|
|
704
749
|
//# sourceMappingURL=messageBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageBuilder.js","sourceRoot":"","sources":["../src/messageBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messageBuilder.js","sourceRoot":"","sources":["../src/messageBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,7 @@ exports.runClaudeTuiClear = runClaudeTuiClear;
|
|
|
58
58
|
exports.detectTuiRateLimit = detectTuiRateLimit;
|
|
59
59
|
const fs = __importStar(require("fs"));
|
|
60
60
|
const rateLimit_1 = require("../../rateLimit");
|
|
61
|
+
const messageBuilder_1 = require("../../messageBuilder");
|
|
61
62
|
// ---------------------------------------------------------------------------
|
|
62
63
|
// Per-workspace persistent client instances.
|
|
63
64
|
// ---------------------------------------------------------------------------
|
|
@@ -193,6 +194,20 @@ async function getOrCreateClient(root, resumeSessionId, log, model) {
|
|
|
193
194
|
return existing;
|
|
194
195
|
}
|
|
195
196
|
const lib = _getLib();
|
|
197
|
+
// Deliver the STANDING protocol ONCE via Claude's native system prompt, set at
|
|
198
|
+
// session init. The same text is sourced from buildTaskProtocolBlock() — the
|
|
199
|
+
// single source the inline every-50 refresh reads — so the system prompt and
|
|
200
|
+
// the periodic inline re-send can never diverge. Best-effort: if assembling the
|
|
201
|
+
// text throws, fall back to no append (the inline cadence still delivers it).
|
|
202
|
+
// If the client's init type does not accept the field it is simply ignored —
|
|
203
|
+
// the extra key on the Record<string, unknown> config is inert, never a crash.
|
|
204
|
+
let appendSystemPrompt;
|
|
205
|
+
try {
|
|
206
|
+
appendSystemPrompt = (0, messageBuilder_1.buildTaskProtocolBlock)();
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
appendSystemPrompt = undefined;
|
|
210
|
+
}
|
|
196
211
|
const client = await lib.ClaudeClient.init({
|
|
197
212
|
cwd: root,
|
|
198
213
|
dangerouslySkipPermissions: true,
|
|
@@ -204,6 +219,7 @@ async function getOrCreateClient(root, resumeSessionId, log, model) {
|
|
|
204
219
|
// process.env before this runs. Pass it through explicitly so it survives
|
|
205
220
|
// regardless of whether the client merges or replaces the child env.
|
|
206
221
|
env: { CI: 'true', ...(process.env['MCP_TIMEOUT'] ? { MCP_TIMEOUT: process.env['MCP_TIMEOUT'] } : {}) },
|
|
222
|
+
...(appendSystemPrompt ? { appendSystemPrompt } : {}),
|
|
207
223
|
...(model ? { model: model.replace(/-1m$/i, '') } : {}),
|
|
208
224
|
});
|
|
209
225
|
_clients.set(root, client);
|