@pellux/goodvibes-sdk 0.36.0 → 0.37.1
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/dist/contracts/artifacts/operator-contract.json +1 -1
- package/dist/platform/core/compaction-sections.d.ts +8 -0
- package/dist/platform/core/compaction-sections.d.ts.map +1 -1
- package/dist/platform/core/compaction-sections.js +71 -2
- package/dist/platform/core/context-compaction.d.ts +13 -0
- package/dist/platform/core/context-compaction.d.ts.map +1 -1
- package/dist/platform/core/context-compaction.js +24 -2
- package/dist/platform/core/orchestrator-context-runtime.d.ts.map +1 -1
- package/dist/platform/core/orchestrator-context-runtime.js +1 -2
- package/dist/platform/core/orchestrator-tool-runtime.d.ts.map +1 -1
- package/dist/platform/core/orchestrator-tool-runtime.js +30 -2
- package/dist/platform/permissions/manager.d.ts.map +1 -1
- package/dist/platform/permissions/manager.js +3 -2
- package/dist/platform/permissions/prompt.d.ts +8 -1
- package/dist/platform/permissions/prompt.d.ts.map +1 -1
- package/dist/platform/permissions/types.d.ts +6 -0
- package/dist/platform/permissions/types.d.ts.map +1 -1
- package/dist/platform/runtime/services.d.ts +2 -0
- package/dist/platform/runtime/services.d.ts.map +1 -1
- package/dist/platform/runtime/services.js +15 -0
- package/dist/platform/tools/index.d.ts +1 -0
- package/dist/platform/tools/index.d.ts.map +1 -1
- package/dist/platform/version.js +1 -1
- package/dist/platform/workspace/checkpoint/index.d.ts +9 -0
- package/dist/platform/workspace/checkpoint/index.d.ts.map +1 -0
- package/dist/platform/workspace/checkpoint/index.js +7 -0
- package/dist/platform/workspace/checkpoint/manager.d.ts +214 -0
- package/dist/platform/workspace/checkpoint/manager.d.ts.map +1 -0
- package/dist/platform/workspace/checkpoint/manager.js +543 -0
- package/dist/platform/workspace/checkpoint/side-git.d.ts +130 -0
- package/dist/platform/workspace/checkpoint/side-git.d.ts.map +1 -0
- package/dist/platform/workspace/checkpoint/side-git.js +264 -0
- package/dist/platform/workspace/checkpoint/types.d.ts +96 -0
- package/dist/platform/workspace/checkpoint/types.d.ts.map +1 -0
- package/dist/platform/workspace/checkpoint/types.js +20 -0
- package/dist/platform/workspace/index.d.ts +1 -0
- package/dist/platform/workspace/index.d.ts.map +1 -1
- package/dist/platform/workspace/index.js +1 -0
- package/package.json +9 -9
|
@@ -37,6 +37,14 @@ export declare function buildCurrentTask(planTitle: string | null, lastUserMessa
|
|
|
37
37
|
* Returns null if no agents are running.
|
|
38
38
|
*/
|
|
39
39
|
export declare function buildRunningAgents(agents: AgentRecord[], chains: WrfcChain[]): CompactionSection | null;
|
|
40
|
+
/**
|
|
41
|
+
* buildCompletedAgentWork — list standalone (non-WRFC) agents that finished
|
|
42
|
+
* (completed or failed) this session, with a best-effort files-touched summary.
|
|
43
|
+
* Agents that belong to a WRFC chain are excluded — they are already
|
|
44
|
+
* summarized per-chain by buildAgentActivityTable, and listing them again
|
|
45
|
+
* here would double-report the same work.
|
|
46
|
+
*/
|
|
47
|
+
export declare function buildCompletedAgentWork(agents: AgentRecord[], chains: WrfcChain[]): CompactionSection | null;
|
|
40
48
|
/**
|
|
41
49
|
* gatherRecentConversation — collect user/assistant messages backward from most
|
|
42
50
|
* recent, stopping when adding the next message would exceed maxTokens.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-sections.d.ts","sourceRoot":"","sources":["../../../src/platform/core/compaction-sections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAoB,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"compaction-sections.d.ts","sourceRoot":"","sources":["../../../src/platform/core/compaction-sections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAoB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIhG,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,MAAM,CAMnE;AA6BD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,CAStD;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,EAAE,GACxB,iBAAiB,GAAG,IAAI,CAQ1B;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,iBAAiB,GAAG,IAAI,CAM1B;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,EAAE,SAAS,EAAE,GAClB,iBAAiB,GAAG,IAAI,CAmB1B;AAMD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,WAAW,EAAE,EACrB,MAAM,EAAE,SAAS,EAAE,GAClB,iBAAiB,GAAG,IAAI,CAsB1B;AA4BD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,eAAe,EAAE,EAC3B,SAAS,SAAO,GACf,eAAe,EAAE,CAsBnB;AAqCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,CAgB9E;AAMD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,gBAAgB,EAAE,eAAe,EAAE,GAClC,MAAM,CAkBR;AAMD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EAAE,EACnB,WAAW,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAAC,eAAe,EAAE,SAAS,EAAE,CAAA;CAAE,CAgDrE;AAmCD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,CA2B7E;AAMD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,eAAe,EAAE,GAC1B,MAAM,CAgBR;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,aAAa,GAAG,IAAI,GACzB,iBAAiB,GAAG,IAAI,CAuC1B;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,cAAc,EAAE,MAAM,EAAE,EACxB,eAAe,EAAE,MAAM,GACtB,iBAAiB,GAAG,IAAI,CAgB1B"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { isActiveAgent } from '../tools/agent/predicates.js';
|
|
13
13
|
import { estimateTokens, IMAGE_TOKEN_ESTIMATE } from './compaction-types.js';
|
|
14
|
+
import { parseCompletionReport } from '../agents/completion-report.js';
|
|
14
15
|
/** Extract plain text from a ProviderMessage content field. */
|
|
15
16
|
export function extractText(content) {
|
|
16
17
|
if (typeof content === 'string')
|
|
@@ -108,6 +109,60 @@ export function buildRunningAgents(agents, chains) {
|
|
|
108
109
|
return makeSection('running-agents', '## Currently Running', lines.join('\n'));
|
|
109
110
|
}
|
|
110
111
|
// ---------------------------------------------------------------------------
|
|
112
|
+
// Completed agent work
|
|
113
|
+
// ---------------------------------------------------------------------------
|
|
114
|
+
/**
|
|
115
|
+
* buildCompletedAgentWork — list standalone (non-WRFC) agents that finished
|
|
116
|
+
* (completed or failed) this session, with a best-effort files-touched summary.
|
|
117
|
+
* Agents that belong to a WRFC chain are excluded — they are already
|
|
118
|
+
* summarized per-chain by buildAgentActivityTable, and listing them again
|
|
119
|
+
* here would double-report the same work.
|
|
120
|
+
*/
|
|
121
|
+
export function buildCompletedAgentWork(agents, chains) {
|
|
122
|
+
const chainAgentIds = new Set();
|
|
123
|
+
for (const chain of chains) {
|
|
124
|
+
for (const id of chain.allAgentIds)
|
|
125
|
+
chainAgentIds.add(id);
|
|
126
|
+
}
|
|
127
|
+
const finished = agents.filter((a) => (a.status === 'completed' || a.status === 'failed') &&
|
|
128
|
+
!a.wrfcId &&
|
|
129
|
+
!chainAgentIds.has(a.id));
|
|
130
|
+
if (finished.length === 0)
|
|
131
|
+
return null;
|
|
132
|
+
const lines = finished.map((a) => {
|
|
133
|
+
const task = a.task.slice(0, 80).replace(/\n/g, ' ');
|
|
134
|
+
const outcome = a.status === 'completed' ? 'DONE' : 'FAILED';
|
|
135
|
+
const toolNote = `${a.toolCallCount} tool call${a.toolCallCount === 1 ? '' : 's'}`;
|
|
136
|
+
const files = describeAgentFiles(a);
|
|
137
|
+
return `- [${outcome}] ${a.id} | ${task} | ${toolNote}${files ? ` | ${files}` : ''}`;
|
|
138
|
+
});
|
|
139
|
+
return makeSection('completed-agent-work', '## Completed Agent Work', lines.join('\n'));
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Best-effort files-touched summary for a plain (non-WRFC) agent, parsed
|
|
143
|
+
* opportunistically from its raw output. Returns null if no structured
|
|
144
|
+
* completion report was found or it reported no file paths — this is a
|
|
145
|
+
* best-effort signal, not a guarantee (plain agents are not required to
|
|
146
|
+
* emit a completion report the way WRFC engineers are).
|
|
147
|
+
*/
|
|
148
|
+
function describeAgentFiles(agent) {
|
|
149
|
+
if (!agent.fullOutput)
|
|
150
|
+
return null;
|
|
151
|
+
const report = parseCompletionReport(agent.fullOutput);
|
|
152
|
+
if (!report || report.archetype !== 'engineer')
|
|
153
|
+
return null;
|
|
154
|
+
const engineerReport = report;
|
|
155
|
+
const paths = [
|
|
156
|
+
...engineerReport.filesCreated,
|
|
157
|
+
...engineerReport.filesModified,
|
|
158
|
+
...engineerReport.filesDeleted,
|
|
159
|
+
];
|
|
160
|
+
if (paths.length === 0)
|
|
161
|
+
return null;
|
|
162
|
+
const shown = paths.slice(0, 5).join(', ');
|
|
163
|
+
return `files: ${shown}${paths.length > 5 ? ` (+${paths.length - 5} more)` : ''}`;
|
|
164
|
+
}
|
|
165
|
+
// ---------------------------------------------------------------------------
|
|
111
166
|
// Recent conversation gather
|
|
112
167
|
// ---------------------------------------------------------------------------
|
|
113
168
|
/**
|
|
@@ -233,7 +288,7 @@ export function buildAgentActivityTable(chains, tokenBudget) {
|
|
|
233
288
|
// Sort most recent first
|
|
234
289
|
const sorted = [...chains].sort((a, b) => b.createdAt - a.createdAt);
|
|
235
290
|
const header = '## Agent Activity';
|
|
236
|
-
const tableHeader = '| Chain | Task | Scores | Result |\n
|
|
291
|
+
const tableHeader = '| Chain | Task | Scores | Result | Files |\n|-------|------|--------|--------|-------|';
|
|
237
292
|
const rows = [];
|
|
238
293
|
const included = [];
|
|
239
294
|
const remaining = [];
|
|
@@ -244,7 +299,8 @@ export function buildAgentActivityTable(chains, tokenBudget) {
|
|
|
244
299
|
? chain.reviewScores.map((s) => s.toFixed(1)).join(' → ')
|
|
245
300
|
: '—';
|
|
246
301
|
const result = terminalResult(chain.state);
|
|
247
|
-
const
|
|
302
|
+
const files = describeChainFiles(chain);
|
|
303
|
+
const row = `| ${chain.id.slice(0, 12)} | ${task} | ${scores} | ${result} | ${files} |`;
|
|
248
304
|
const rowTokens = estimateTokens(row + '\n');
|
|
249
305
|
if (tokensSoFar + rowTokens > tokenBudget) {
|
|
250
306
|
remaining.push(chain);
|
|
@@ -264,6 +320,19 @@ export function buildAgentActivityTable(chains, tokenBudget) {
|
|
|
264
320
|
const section = makeSection('agent-activity', header, content);
|
|
265
321
|
return { section, remainingChains: remaining };
|
|
266
322
|
}
|
|
323
|
+
/**
|
|
324
|
+
* Compact "N files" summary for a chain's touched-paths ledger, or '—' when
|
|
325
|
+
* absent/empty. Degrades gracefully for legacy chains persisted before
|
|
326
|
+
* `touchedPaths` existed (undefined) — this is a cosmetic display gap, not
|
|
327
|
+
* a correctness concern; see `WrfcController.collectChainTouchedPaths()` for
|
|
328
|
+
* the fuller fallback-from-reports reconstruction used by auto-commit.
|
|
329
|
+
*/
|
|
330
|
+
function describeChainFiles(chain) {
|
|
331
|
+
const paths = chain.touchedPaths ?? [];
|
|
332
|
+
if (paths.length === 0)
|
|
333
|
+
return '—';
|
|
334
|
+
return `${paths.length} file${paths.length === 1 ? '' : 's'}`;
|
|
335
|
+
}
|
|
267
336
|
/** Map WRFC chain state to display result. */
|
|
268
337
|
function terminalResult(state) {
|
|
269
338
|
switch (state) {
|
|
@@ -99,6 +99,19 @@ export declare function shouldAutoCompact(opts: AutoCompactOptions): boolean;
|
|
|
99
99
|
* @returns Truncated message array with a summary pair prepended
|
|
100
100
|
*/
|
|
101
101
|
export declare function compactSmallWindow(messages: ProviderMessage[], keepRecent?: number): ProviderMessage[];
|
|
102
|
+
/**
|
|
103
|
+
* resolveLineageOriginalTask — decide what text (if any) to show as
|
|
104
|
+
* "Original task" in the session-lineage section.
|
|
105
|
+
*
|
|
106
|
+
* The lastUserMsg fallback is only valid for the very first compaction of a
|
|
107
|
+
* session (compactionCount === 0): a genuine edge case where originalTask was
|
|
108
|
+
* never recorded upstream. Past that point, falling back to the current
|
|
109
|
+
* last-user-message would silently mislabel the CURRENT task as "Original
|
|
110
|
+
* task" once real lineage exists — so the fallback is gated to
|
|
111
|
+
* compactionCount === 0 only. See the matching `validateCompaction` warning
|
|
112
|
+
* for compactionCount > 0 with a missing originalTask.
|
|
113
|
+
*/
|
|
114
|
+
export declare function resolveLineageOriginalTask(originalTask: string | undefined, lastUserMsg: string | null, compactionCount: number): string | undefined;
|
|
102
115
|
/**
|
|
103
116
|
* compactMessages — structured compaction entry point.
|
|
104
117
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-compaction.d.ts","sourceRoot":"","sources":["../../../src/platform/core/context-compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,2BAA2B,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"context-compaction.d.ts","sourceRoot":"","sources":["../../../src/platform/core/context-compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,2BAA2B,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,uBAAuB,CAAC;AAqB/B,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAElG,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,YAAY,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAC/C;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,QAAQ,CAAC;AACvD,eAAO,MAAM,sCAAsC,KAAK,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAQ7C,wBAAgB,mBAAmB,IAAI,SAAS,eAAe,EAAE,CAEhE;AAED,wBAAgB,sBAAsB,IAAI,eAAe,GAAG,IAAI,CAI/D;AAMD,0EAA0E;AAC1E,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,CAgB9E;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAYvD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,GAAG,mBAAmB,CA2CpF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAEnE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EAAE,EAC3B,UAAU,SAAK,GACd,eAAe,EAAE,CAanB;AAuGD;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,eAAe,EAAE,MAAM,GACtB,MAAM,GAAG,SAAS,CAEpB;AAsBD;;GAEG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAE3B;AA8OD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAOlC"}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
import { logger } from '../utils/logger.js';
|
|
26
26
|
import { DEFAULT_COMPACTION_CONFIG, IMAGE_TOKEN_ESTIMATE, estimateTokens } from './compaction-types.js';
|
|
27
27
|
import { summarizeError } from '../utils/error-display.js';
|
|
28
|
-
import { buildHandoffHeader, buildSessionMemories, buildCurrentTask, buildRunningAgents, gatherRecentConversation, buildConversationFilterPrompt, buildToolResultsPrompt, buildAgentActivityTable, buildOlderAgentSummaryPrompt, buildResolvedProblemsPrompt, buildPlanProgress, buildSessionLineage, extractText, } from './compaction-sections.js';
|
|
28
|
+
import { buildHandoffHeader, buildSessionMemories, buildCurrentTask, buildRunningAgents, buildCompletedAgentWork, gatherRecentConversation, buildConversationFilterPrompt, buildToolResultsPrompt, buildAgentActivityTable, buildOlderAgentSummaryPrompt, buildResolvedProblemsPrompt, buildPlanProgress, buildSessionLineage, extractText, } from './compaction-sections.js';
|
|
29
29
|
import { isActiveAgent } from '../tools/agent/predicates.js';
|
|
30
30
|
// ---------------------------------------------------------------------------
|
|
31
31
|
// Compaction trigger constants
|
|
@@ -243,11 +243,29 @@ function validateCompaction(sections, ctx, totalTokens, config) {
|
|
|
243
243
|
if (ctx.sessionMemories.length > 0 && !sectionIds.has('session-memories')) {
|
|
244
244
|
warnings.push('WARNING: session memories exist but session-memories section is missing');
|
|
245
245
|
}
|
|
246
|
+
if (ctx.compactionCount > 0 && !ctx.originalTask) {
|
|
247
|
+
warnings.push('WARNING: compactionCount > 0 but originalTask is missing — lineage may be broken upstream');
|
|
248
|
+
}
|
|
246
249
|
if (totalTokens > config.totalCeiling) {
|
|
247
250
|
warnings.push(`WARNING: total tokens (${totalTokens}) exceeds ceiling (${config.totalCeiling})`);
|
|
248
251
|
}
|
|
249
252
|
return warnings;
|
|
250
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* resolveLineageOriginalTask — decide what text (if any) to show as
|
|
256
|
+
* "Original task" in the session-lineage section.
|
|
257
|
+
*
|
|
258
|
+
* The lastUserMsg fallback is only valid for the very first compaction of a
|
|
259
|
+
* session (compactionCount === 0): a genuine edge case where originalTask was
|
|
260
|
+
* never recorded upstream. Past that point, falling back to the current
|
|
261
|
+
* last-user-message would silently mislabel the CURRENT task as "Original
|
|
262
|
+
* task" once real lineage exists — so the fallback is gated to
|
|
263
|
+
* compactionCount === 0 only. See the matching `validateCompaction` warning
|
|
264
|
+
* for compactionCount > 0 with a missing originalTask.
|
|
265
|
+
*/
|
|
266
|
+
export function resolveLineageOriginalTask(originalTask, lastUserMsg, compactionCount) {
|
|
267
|
+
return originalTask ?? (compactionCount === 0 ? lastUserMsg ?? undefined : undefined);
|
|
268
|
+
}
|
|
251
269
|
// ---------------------------------------------------------------------------
|
|
252
270
|
// Assemble compacted output
|
|
253
271
|
// ---------------------------------------------------------------------------
|
|
@@ -318,6 +336,10 @@ async function runCompaction(ctx, registry) {
|
|
|
318
336
|
const runningSection = buildRunningAgents(ctx.agents, ctx.wrfcChains);
|
|
319
337
|
if (runningSection)
|
|
320
338
|
sections.push(runningSection);
|
|
339
|
+
// Completed agent work (rule-based) — standalone agents not covered by a WRFC chain
|
|
340
|
+
const completedSection = buildCompletedAgentWork(ctx.agents, ctx.wrfcChains);
|
|
341
|
+
if (completedSection)
|
|
342
|
+
sections.push(completedSection);
|
|
321
343
|
// Agent activity table (rule-based, needed before LLM calls to determine remaining)
|
|
322
344
|
const { section: activitySection, remainingChains } = buildAgentActivityTable(ctx.wrfcChains, config.agentActivityBudget);
|
|
323
345
|
if (activitySection)
|
|
@@ -410,7 +432,7 @@ async function runCompaction(ctx, registry) {
|
|
|
410
432
|
if (planSection)
|
|
411
433
|
sections.push(planSection);
|
|
412
434
|
// Session lineage (rule-based, append-only)
|
|
413
|
-
const lineageSection = buildSessionLineage(ctx.originalTask
|
|
435
|
+
const lineageSection = buildSessionLineage(resolveLineageOriginalTask(ctx.originalTask, lastUserMsg, ctx.compactionCount), ctx.lineageEntries, ctx.compactionCount);
|
|
414
436
|
if (lineageSection)
|
|
415
437
|
sections.push(lineageSection);
|
|
416
438
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-context-runtime.d.ts","sourceRoot":"","sources":["../../../src/platform/core/orchestrator-context-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator-context-runtime.d.ts","sourceRoot":"","sources":["../../../src/platform/core/orchestrator-context-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { logger } from '../utils/logger.js';
|
|
2
2
|
import { estimateConversationTokens, COMPACTION_BUFFER_TOKENS, SMALL_WINDOW_THRESHOLD, compactSmallWindow, getAutoCompactDecision } from './context-compaction.js';
|
|
3
|
-
import { isActiveAgent } from '../tools/agent/predicates.js';
|
|
4
3
|
import { emitOpsContextWarning } from '../runtime/emitters/index.js';
|
|
5
4
|
import { summarizeError } from '../utils/error-display.js';
|
|
6
5
|
function normalizeCatalogTier(tier) {
|
|
@@ -42,7 +41,7 @@ function buildAutoCompactionContext(deps, params) {
|
|
|
42
41
|
messages: params.messages,
|
|
43
42
|
sessionMemories: deps.sessionMemoryStore?.list() ?? [],
|
|
44
43
|
lineageEntries: deps.sessionLineageTracker.getEntries(),
|
|
45
|
-
agents: deps.agentManager.list()
|
|
44
|
+
agents: deps.agentManager.list(),
|
|
46
45
|
wrfcChains: deps.wrfcController.listChains(),
|
|
47
46
|
activePlan: deps.planManager?.getActive(deps.sessionId) ?? null,
|
|
48
47
|
compactionCount: deps.sessionLineageTracker.getCompactionCount(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-tool-runtime.d.ts","sourceRoot":"","sources":["../../../src/platform/core/orchestrator-tool-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAiB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAclE,OAAO,EAAmD,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEtH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAKjE,KAAK,kBAAkB,GAAG;IACxB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7C,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator-tool-runtime.d.ts","sourceRoot":"","sources":["../../../src/platform/core/orchestrator-tool-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAiB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAclE,OAAO,EAAmD,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEtH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAKjE,KAAK,kBAAkB,GAAG;IACxB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7C,CAAC;AAqCF,KAAK,qBAAqB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,8BAA8B,EAAE,cAAc,CAAC;AAEvG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,qBAAqB,CAAC;CACvC,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,QAAQ,EAAE,GAChB,OAAO,CAAC,UAAU,EAAE,CAAC,CA+NvB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE;QAAE,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;QAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IAC/G,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,cAAc,EAAE,qBAAqB,CAAC;IACtC,uBAAuB,EAAE,MAAM,OAAO,CAAC;IACvC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,QAAQ,EAAE,CAAC;IAC7B,mBAAmB,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;CAClD,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,kBAAkB,EACxB,eAAe,EAAE,UAAU,EAAE,EAC7B,MAAM,EAAE,oBAAoB,GAC3B,IAAI,CA8DN;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE;IAAE,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,EAC7D,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,QAAQ,EAAE,EACjB,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,EAClD,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,EACzC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAC3D,UAAU,GAAE,eAAe,GAAG,IAAW,EACzC,cAAc,GAAE,OAAO,8BAA8B,EAAE,cAAc,GAAG,IAAW,EACnF,WAAW,GAAE,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,GAAG,IAAW,GAClE,MAAM,EAAE,CA4GV"}
|
|
@@ -5,6 +5,33 @@ import { logger } from '../utils/logger.js';
|
|
|
5
5
|
import { evaluateOrchestrationSpawn } from '../runtime/orchestration/spawn-policy.js';
|
|
6
6
|
import { summarizeError } from '../utils/error-display.js';
|
|
7
7
|
import { isActiveAgent } from '../tools/agent/predicates.js';
|
|
8
|
+
/**
|
|
9
|
+
* Prefers `checkDetailed()` (carries `modifiedArgs` for per-hunk edit
|
|
10
|
+
* approval) but falls back to the boolean-only `check()` for any caller
|
|
11
|
+
* that injects a duck-typed permission manager stub without it (e.g. test
|
|
12
|
+
* doubles built before `checkDetailed` existed). Mirrors the same
|
|
13
|
+
* defensive duck-typing already used by the phased tool executor's
|
|
14
|
+
* permission phase.
|
|
15
|
+
*/
|
|
16
|
+
async function resolvePermissionCheck(permissionManager, toolName, args) {
|
|
17
|
+
const manager = permissionManager;
|
|
18
|
+
if (typeof manager.checkDetailed === 'function') {
|
|
19
|
+
return manager.checkDetailed(toolName, args);
|
|
20
|
+
}
|
|
21
|
+
const approved = await manager.check(toolName, args);
|
|
22
|
+
return {
|
|
23
|
+
approved,
|
|
24
|
+
persisted: false,
|
|
25
|
+
sourceLayer: approved ? 'config_policy' : 'user_prompt',
|
|
26
|
+
reasonCode: approved ? 'config_allow' : 'user_denied',
|
|
27
|
+
analysis: {
|
|
28
|
+
classification: 'generic',
|
|
29
|
+
riskLevel: 'medium',
|
|
30
|
+
summary: `Permission ${approved ? 'approved' : 'denied'} for ${toolName}`,
|
|
31
|
+
reasons: [],
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
}
|
|
8
35
|
export async function executeToolCalls(deps, turnId, calls) {
|
|
9
36
|
const results = [];
|
|
10
37
|
for (const call of calls) {
|
|
@@ -16,7 +43,8 @@ export async function executeToolCalls(deps, turnId, calls) {
|
|
|
16
43
|
args: call.arguments,
|
|
17
44
|
});
|
|
18
45
|
}
|
|
19
|
-
const
|
|
46
|
+
const checkResult = await resolvePermissionCheck(deps.permissionManager, call.name, call.arguments);
|
|
47
|
+
const approved = checkResult.approved;
|
|
20
48
|
if (deps.runtimeBus) {
|
|
21
49
|
emitToolPermissioned(deps.runtimeBus, deps.emitterContext(turnId), {
|
|
22
50
|
callId: call.id,
|
|
@@ -95,7 +123,7 @@ export async function executeToolCalls(deps, turnId, calls) {
|
|
|
95
123
|
}
|
|
96
124
|
let result;
|
|
97
125
|
try {
|
|
98
|
-
result = await deps.toolRegistry.execute(call.id, call.name, call.arguments);
|
|
126
|
+
result = await deps.toolRegistry.execute(call.id, call.name, checkResult.modifiedArgs ?? call.arguments);
|
|
99
127
|
}
|
|
100
128
|
catch (err) {
|
|
101
129
|
const message = err instanceof ToolError
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/platform/permissions/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAGnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EAGtB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,KAAK,wBAAwB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAErE,MAAM,WAAW,sBAAsB;IACrC,oBAAoB,IAAI,OAAO,CAAC;IAChC,WAAW,IAAI,wBAAwB,CAAC;IACxC,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,qBAAqB,CAAC,GAC3E,sBAAsB,CAMxB;AA6CD;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsC;IACrE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmG;IACtI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+C;gBAG1E,iBAAiB,EAAE,wBAAwB,YAAqD,EAChG,YAAY,EAAE,sBAAsB,EACpC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,yBAAyB,GAAG,0BAA0B,GAAG,aAAa,CAAC,EACpH,cAAc,GAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,IAAW,EAC1D,YAAY,GAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,IAAW;IASnE;;;OAGG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/platform/permissions/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAGnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EAGtB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,KAAK,wBAAwB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAErE,MAAM,WAAW,sBAAsB;IACrC,oBAAoB,IAAI,OAAO,CAAC;IAChC,WAAW,IAAI,wBAAwB,CAAC;IACxC,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,qBAAqB,CAAC,GAC3E,sBAAsB,CAMxB;AA6CD;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsC;IACrE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmG;IACtI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+C;gBAG1E,iBAAiB,EAAE,wBAAwB,YAAqD,EAChG,YAAY,EAAE,sBAAsB,EACpC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,yBAAyB,GAAG,0BAA0B,GAAG,aAAa,CAAC,EACpH,cAAc,GAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,IAAW,EAC1D,YAAY,GAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,IAAW;IASnE;;;OAGG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAqGpG,4FAA4F;IAC5F,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,kBAAkB;IAOrF;;;OAGG;IACH,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,MAAM;IAkBd,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,oBAAoB;IAiC5B,OAAO,CAAC,aAAa;YA0BP,QAAQ;CA4BvB"}
|
|
@@ -168,7 +168,7 @@ export class PermissionManager {
|
|
|
168
168
|
if (decision.remember) {
|
|
169
169
|
this.sessionApprovals.set(key, decision.approved);
|
|
170
170
|
}
|
|
171
|
-
return this.emitAndReturn(callId, toolName, category, this.result(decision.approved, Boolean(decision.remember), 'user_prompt', decision.approved ? 'user_approved' : 'user_denied', analysis));
|
|
171
|
+
return this.emitAndReturn(callId, toolName, category, this.result(decision.approved, Boolean(decision.remember), 'user_prompt', decision.approved ? 'user_approved' : 'user_denied', analysis, decision.modifiedArgs));
|
|
172
172
|
}
|
|
173
173
|
/** Returns the permission category for a tool name. Unknown tools default to 'delegate'. */
|
|
174
174
|
getCategory(toolName, args = {}) {
|
|
@@ -191,13 +191,14 @@ export class PermissionManager {
|
|
|
191
191
|
// Generic key: tool name only ("always allow this tool").
|
|
192
192
|
return toolName;
|
|
193
193
|
}
|
|
194
|
-
result(approved, persisted, sourceLayer, reasonCode, analysis) {
|
|
194
|
+
result(approved, persisted, sourceLayer, reasonCode, analysis, modifiedArgs) {
|
|
195
195
|
return {
|
|
196
196
|
approved,
|
|
197
197
|
persisted,
|
|
198
198
|
sourceLayer,
|
|
199
199
|
reasonCode,
|
|
200
200
|
analysis,
|
|
201
|
+
modifiedArgs,
|
|
201
202
|
};
|
|
202
203
|
}
|
|
203
204
|
evaluateRuntimePolicy(toolName, args, mode) {
|
|
@@ -10,9 +10,16 @@ export interface PermissionPromptRequest {
|
|
|
10
10
|
export interface PermissionPromptDecision {
|
|
11
11
|
approved: boolean;
|
|
12
12
|
remember?: boolean | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* When present, replaces the tool call's original arguments for execution
|
|
15
|
+
* (e.g. a per-hunk-filtered `edits` array for the `edit` tool). Never
|
|
16
|
+
* populated by non-prompt approval paths (auto-approve, policy, session
|
|
17
|
+
* cache) — only the user-prompt path can set this.
|
|
18
|
+
*/
|
|
19
|
+
modifiedArgs?: Record<string, unknown> | undefined;
|
|
13
20
|
}
|
|
14
21
|
export type PermissionRequestHandler = (request: PermissionPromptRequest) => Promise<PermissionPromptDecision>;
|
|
15
22
|
export interface PermissionRequest extends PermissionPromptRequest {
|
|
16
|
-
resolve: (approved: boolean, remember?: boolean) => void;
|
|
23
|
+
resolve: (approved: boolean, remember?: boolean, modifiedArgs?: Record<string, unknown>) => void;
|
|
17
24
|
}
|
|
18
25
|
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/platform/permissions/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,yBAAyB,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/platform/permissions/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,yBAAyB,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACpD;AAED,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,uBAAuB,KAC7B,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAEvC,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAClG"}
|
|
@@ -24,5 +24,11 @@ export interface PermissionCheckResult {
|
|
|
24
24
|
readonly sourceLayer: PermissionDecisionSource;
|
|
25
25
|
readonly reasonCode: PermissionDecisionReasonCode;
|
|
26
26
|
readonly analysis: PermissionRequestAnalysis;
|
|
27
|
+
/**
|
|
28
|
+
* When present, replaces the tool call's original arguments for execution
|
|
29
|
+
* (e.g. a per-hunk-filtered `edits` array for the `edit` tool). Only ever
|
|
30
|
+
* populated via the user-prompt approval path (`sourceLayer: 'user_prompt'`).
|
|
31
|
+
*/
|
|
32
|
+
readonly modifiedArgs?: Record<string, unknown> | undefined;
|
|
27
33
|
}
|
|
28
34
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/platform/permissions/types.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3E,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEzE,MAAM,MAAM,wBAAwB,GAChC,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,aAAa,CAAC;AAElB,MAAM,MAAM,4BAA4B,GACpC,cAAc,GACd,aAAa,GACb,sBAAsB,GACtB,qBAAqB,GACrB,kBAAkB,GAClB,gBAAgB,GAChB,aAAa,GACb,sBAAsB,GACtB,qBAAqB,GACrB,eAAe,GACf,aAAa,CAAC;AAElB,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAC3F,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;AACtH,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAEhG,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/platform/permissions/types.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3E,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEzE,MAAM,MAAM,wBAAwB,GAChC,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,aAAa,CAAC;AAElB,MAAM,MAAM,4BAA4B,GACpC,cAAc,GACd,aAAa,GACb,sBAAsB,GACtB,qBAAqB,GACrB,kBAAkB,GAClB,gBAAgB,GAChB,aAAa,GACb,sBAAsB,GACtB,qBAAqB,GACrB,eAAe,GACf,aAAa,CAAC;AAElB,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAC3F,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC;AACtH,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAEhG,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC7D"}
|
|
@@ -19,6 +19,7 @@ import { ArchetypeLoader } from '../agents/archetypes.js';
|
|
|
19
19
|
import { ProcessManager } from '../tools/shared/process-manager.js';
|
|
20
20
|
import { ModeManager } from '../state/mode-manager.js';
|
|
21
21
|
import { FileUndoManager } from '../state/file-undo.js';
|
|
22
|
+
import { WorkspaceCheckpointManager } from '../workspace/checkpoint/index.js';
|
|
22
23
|
import { MemoryRegistry } from '../state/memory-registry.js';
|
|
23
24
|
import { MemoryStore } from '../state/memory-store.js';
|
|
24
25
|
import type { RuntimeEventBus } from './events/index.js';
|
|
@@ -159,6 +160,7 @@ export interface RuntimeServices {
|
|
|
159
160
|
readonly processManager: ProcessManager;
|
|
160
161
|
readonly modeManager: ModeManager;
|
|
161
162
|
readonly fileUndoManager: FileUndoManager;
|
|
163
|
+
readonly workspaceCheckpointManager: WorkspaceCheckpointManager;
|
|
162
164
|
readonly integrationHelpers: IntegrationHelperService;
|
|
163
165
|
/**
|
|
164
166
|
* Re-root all path-bound services to a new working directory.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/platform/runtime/services.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/platform/runtime/services.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { join } from 'node:path';
|
|
2
2
|
import { logger } from '../utils/logger.js';
|
|
3
|
+
import { summarizeError } from '../utils/error-display.js';
|
|
3
4
|
import { ConfigManager } from '../config/manager.js';
|
|
4
5
|
import { SecretsManager } from '../config/secrets.js';
|
|
5
6
|
import { ServiceRegistry } from '../config/service-registry.js';
|
|
@@ -23,6 +24,7 @@ import { ArchetypeLoader } from '../agents/archetypes.js';
|
|
|
23
24
|
import { ProcessManager } from '../tools/shared/process-manager.js';
|
|
24
25
|
import { ModeManager } from '../state/mode-manager.js';
|
|
25
26
|
import { FileUndoManager } from '../state/file-undo.js';
|
|
27
|
+
import { WorkspaceCheckpointManager } from '../workspace/checkpoint/index.js';
|
|
26
28
|
import { MemoryRegistry } from '../state/memory-registry.js';
|
|
27
29
|
import { MemoryStore } from '../state/memory-store.js';
|
|
28
30
|
import { createDomainDispatch } from './store/index.js';
|
|
@@ -374,6 +376,17 @@ export function createRuntimeServices(options) {
|
|
|
374
376
|
const processManager = new ProcessManager();
|
|
375
377
|
const modeManager = new ModeManager({ featureFlags });
|
|
376
378
|
const fileUndoManager = new FileUndoManager();
|
|
379
|
+
const workspaceCheckpointManager = new WorkspaceCheckpointManager({
|
|
380
|
+
workspaceRoot: workingDirectory,
|
|
381
|
+
runtimeBus: options.runtimeBus,
|
|
382
|
+
});
|
|
383
|
+
// Eagerly initialize so automatic turn/agent-run snapshot subscriptions are
|
|
384
|
+
// wired up immediately rather than only on first explicit use — otherwise
|
|
385
|
+
// the very first TURN_COMPLETED/AGENT_COMPLETED could arrive before any
|
|
386
|
+
// caller has touched the manager.
|
|
387
|
+
void workspaceCheckpointManager.init().catch((err) => {
|
|
388
|
+
logger.warn('WorkspaceCheckpointManager.init failed', { error: summarizeError(err) });
|
|
389
|
+
});
|
|
377
390
|
const integrationHelpers = new IntegrationHelperService({
|
|
378
391
|
workingDirectory,
|
|
379
392
|
homeDirectory,
|
|
@@ -505,6 +518,7 @@ export function createRuntimeServices(options) {
|
|
|
505
518
|
processManager,
|
|
506
519
|
modeManager,
|
|
507
520
|
fileUndoManager,
|
|
521
|
+
workspaceCheckpointManager,
|
|
508
522
|
integrationHelpers,
|
|
509
523
|
async rerootStores(newWorkingDir) {
|
|
510
524
|
// Step 1: Re-root MemoryStore — close existing SQLite/vector handles, reopen at new path.
|
|
@@ -531,6 +545,7 @@ export function createRuntimeServices(options) {
|
|
|
531
545
|
'overflowHandler (baseDir fixed at init)',
|
|
532
546
|
'replayEngine (workingDirectory fixed at init)',
|
|
533
547
|
'planManager (workingDirectory fixed at init)',
|
|
548
|
+
'workspaceCheckpointManager (side git GIT_DIR fixed at init)',
|
|
534
549
|
];
|
|
535
550
|
for (const name of cannotReroot) {
|
|
536
551
|
logger.warn('[rerootStores] subsystem requires restart to reroot', { subsystem: name, newWorkingDir });
|
|
@@ -42,6 +42,7 @@ export { ReadTool } from './read/index.js';
|
|
|
42
42
|
export { createWriteTool } from './write/index.js';
|
|
43
43
|
export { createEditTool } from './edit/index.js';
|
|
44
44
|
export type { EditToolOptions } from './edit/index.js';
|
|
45
|
+
export type { EditItem, EditInput } from './edit/types.js';
|
|
45
46
|
export { createFindTool } from './find/index.js';
|
|
46
47
|
export { createExecTool } from './exec/index.js';
|
|
47
48
|
export { formatDenialResponse, guardExecCommand } from './exec/ast-guard.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/tools/index.ts"],"names":[],"mappings":"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"}
|
package/dist/platform/version.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
let version = '0.
|
|
3
|
+
let version = '0.37.1';
|
|
4
4
|
try {
|
|
5
5
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', '..', 'package.json'), 'utf-8'));
|
|
6
6
|
version = pkg.version ?? version;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* checkpoint/index.ts
|
|
3
|
+
*
|
|
4
|
+
* Public barrel for the workspace checkpoint engine.
|
|
5
|
+
*/
|
|
6
|
+
export { WorkspaceCheckpointManager, type CreateCheckpointOptions, type RestoreOptions, type ListCheckpointsFilter, type WorkspaceCheckpointManagerOptions, } from './manager.js';
|
|
7
|
+
export type { WorkspaceCheckpoint, CheckpointKind, CheckpointDiff, RestoreResult, } from './types.js';
|
|
8
|
+
export { SideGitRunner, CHECKPOINT_REF_PREFIX, EMPTY_TREE_HASH } from './side-git.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platform/workspace/checkpoint/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,iCAAiC,GACvC,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
|