@qduc/term2 0.31.1 → 0.32.0
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/README.md +52 -370
- package/dist/agent.d.ts +2 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +11 -1
- package/dist/agent.js.map +1 -1
- package/dist/app.d.ts +3 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +44 -4
- package/dist/app.js.map +1 -1
- package/dist/build-info.json +2 -2
- package/dist/cli.js +13 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/goal-command.d.ts.map +1 -1
- package/dist/commands/goal-command.js +9 -8
- package/dist/commands/goal-command.js.map +1 -1
- package/dist/commands/retry-failed-turn-command.d.ts.map +1 -1
- package/dist/commands/retry-failed-turn-command.js +3 -4
- package/dist/commands/retry-failed-turn-command.js.map +1 -1
- package/dist/components/InputBox.js +4 -6
- package/dist/components/InputBox.js.map +1 -1
- package/dist/components/layout/BottomArea.d.ts.map +1 -1
- package/dist/components/layout/BottomArea.js +13 -11
- package/dist/components/layout/BottomArea.js.map +1 -1
- package/dist/components/message/MessageList.d.ts +3 -1
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +5 -2
- package/dist/components/message/MessageList.js.map +1 -1
- package/dist/components/message/SessionBoundary.d.ts +11 -0
- package/dist/components/message/SessionBoundary.d.ts.map +1 -0
- package/dist/components/message/SessionBoundary.js +22 -0
- package/dist/components/message/SessionBoundary.js.map +1 -0
- package/dist/contracts/provider-input.d.ts +10 -0
- package/dist/contracts/provider-input.d.ts.map +1 -1
- package/dist/contracts/provider-input.js.map +1 -1
- package/dist/contracts/run-termination.d.ts +3 -1
- package/dist/contracts/run-termination.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.js +1 -0
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/lib/agent-chat-service.d.ts +6 -0
- package/dist/lib/agent-chat-service.d.ts.map +1 -1
- package/dist/lib/agent-chat-service.js +27 -3
- package/dist/lib/agent-chat-service.js.map +1 -1
- package/dist/lib/agent-client.d.ts +6 -0
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +80 -22
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +2 -0
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +5 -0
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +15 -4
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/non-interactive.d.ts +5 -0
- package/dist/non-interactive.d.ts.map +1 -1
- package/dist/non-interactive.js +63 -6
- package/dist/non-interactive.js.map +1 -1
- package/dist/prompts/durable-goal-context.d.ts.map +1 -1
- package/dist/prompts/durable-goal-context.js +12 -2
- package/dist/prompts/durable-goal-context.js.map +1 -1
- package/dist/prompts/durable-goal-context.test.ts +11 -0
- package/dist/prompts/durable-goal-context.ts +13 -2
- package/dist/providers/ai-sdk-openrouter.provider.js +3 -2
- package/dist/providers/ai-sdk-openrouter.provider.js.map +1 -1
- package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
- package/dist/providers/ai-sdk-streamed-model.js +12 -2
- package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
- package/dist/providers/codex-responses-model.d.ts.map +1 -1
- package/dist/providers/codex-responses-model.js +35 -16
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/openai-chat-completions-model.d.ts.map +1 -1
- package/dist/providers/openai-chat-completions-model.js +11 -3
- package/dist/providers/openai-chat-completions-model.js.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts +34 -1
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.js +174 -33
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
- package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -1
- package/dist/services/agent-runtime/context-compaction/index.js +65 -16
- package/dist/services/agent-runtime/context-compaction/index.js.map +1 -1
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +7 -1
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -1
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +115 -20
- package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -1
- package/dist/services/agent-runtime/model-context-policy.d.ts +21 -0
- package/dist/services/agent-runtime/model-context-policy.d.ts.map +1 -0
- package/dist/services/agent-runtime/model-context-policy.js +46 -0
- package/dist/services/agent-runtime/model-context-policy.js.map +1 -0
- package/dist/services/agent-runtime/request-input-limit.d.ts +31 -0
- package/dist/services/agent-runtime/request-input-limit.d.ts.map +1 -0
- package/dist/services/agent-runtime/request-input-limit.js +86 -0
- package/dist/services/agent-runtime/request-input-limit.js.map +1 -0
- package/dist/services/agent-runtime/run-budget.d.ts +3 -5
- package/dist/services/agent-runtime/run-budget.d.ts.map +1 -1
- package/dist/services/agent-runtime/run-budget.js.map +1 -1
- package/dist/services/agent-runtime/tool-call-execution.d.ts +24 -2
- package/dist/services/agent-runtime/tool-call-execution.d.ts.map +1 -1
- package/dist/services/agent-runtime/tool-call-execution.js +36 -6
- package/dist/services/agent-runtime/tool-call-execution.js.map +1 -1
- package/dist/services/agent-runtime/tool-invocation-context.d.ts +24 -12
- package/dist/services/agent-runtime/tool-invocation-context.d.ts.map +1 -1
- package/dist/services/agent-runtime/tool-invocation-context.js +38 -27
- package/dist/services/agent-runtime/tool-invocation-context.js.map +1 -1
- package/dist/services/approval/approval-replay.d.ts +15 -24
- package/dist/services/approval/approval-replay.d.ts.map +1 -1
- package/dist/services/approval/approval-replay.js +12 -30
- package/dist/services/approval/approval-replay.js.map +1 -1
- package/dist/services/approval/non-interactive-approval-policy.d.ts.map +1 -1
- package/dist/services/approval/non-interactive-approval-policy.js +11 -0
- package/dist/services/approval/non-interactive-approval-policy.js.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
- package/dist/services/approval/tool-approval-batch-coordinator.js +0 -5
- package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
- package/dist/services/conversation/conversation-checkpoint-provenance.d.ts.map +1 -1
- package/dist/services/conversation/conversation-checkpoint-provenance.js +10 -2
- package/dist/services/conversation/conversation-checkpoint-provenance.js.map +1 -1
- package/dist/services/conversation/conversation-events.d.ts +2 -0
- package/dist/services/conversation/conversation-events.d.ts.map +1 -1
- package/dist/services/conversation/conversation-events.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +14 -2
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
- package/dist/services/conversation/conversation-replay.js +78 -3
- package/dist/services/conversation/conversation-replay.js.map +1 -1
- package/dist/services/conversation/conversation-service.d.ts +2 -2
- package/dist/services/conversation/conversation-service.d.ts.map +1 -1
- package/dist/services/conversation/conversation-service.js +5 -1
- package/dist/services/conversation/conversation-service.js.map +1 -1
- package/dist/services/conversation/conversation-state-projector.d.ts +1 -0
- package/dist/services/conversation/conversation-state-projector.d.ts.map +1 -1
- package/dist/services/conversation/conversation-state-projector.js +5 -1
- package/dist/services/conversation/conversation-state-projector.js.map +1 -1
- package/dist/services/conversation/durable-goal-stop-check.d.ts +141 -0
- package/dist/services/conversation/durable-goal-stop-check.d.ts.map +1 -0
- package/dist/services/conversation/durable-goal-stop-check.js +351 -0
- package/dist/services/conversation/durable-goal-stop-check.js.map +1 -0
- package/dist/services/conversation/durable-goal.d.ts +16 -1
- package/dist/services/conversation/durable-goal.d.ts.map +1 -1
- package/dist/services/conversation/durable-goal.js +8 -0
- package/dist/services/conversation/durable-goal.js.map +1 -1
- package/dist/services/conversation/local-checkpoint-projection.d.ts.map +1 -1
- package/dist/services/conversation/local-checkpoint-projection.js +12 -1
- package/dist/services/conversation/local-checkpoint-projection.js.map +1 -1
- package/dist/services/conversation/session-browser.d.ts +2 -0
- package/dist/services/conversation/session-browser.d.ts.map +1 -1
- package/dist/services/conversation/session-browser.js +23 -8
- package/dist/services/conversation/session-browser.js.map +1 -1
- package/dist/services/conversation/session-index/session-index-worker-client.d.ts +3 -0
- package/dist/services/conversation/session-index/session-index-worker-client.d.ts.map +1 -1
- package/dist/services/conversation/session-index/session-index-worker-client.js +6 -1
- package/dist/services/conversation/session-index/session-index-worker-client.js.map +1 -1
- package/dist/services/conversation/session-index/session-index-worker.d.ts +16 -1
- package/dist/services/conversation/session-index/session-index-worker.d.ts.map +1 -1
- package/dist/services/conversation/session-index/session-index-worker.js +16 -0
- package/dist/services/conversation/session-index/session-index-worker.js.map +1 -1
- package/dist/services/conversation-agent-client.d.ts +1 -0
- package/dist/services/conversation-agent-client.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-events.d.ts +7 -0
- package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
- package/dist/services/logging/conversation-log-events.js.map +1 -1
- package/dist/services/retry/retry-classifier.d.ts.map +1 -1
- package/dist/services/retry/retry-classifier.js +2 -1
- package/dist/services/retry/retry-classifier.js.map +1 -1
- package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
- package/dist/services/retry/retry-error-classification.js +1 -0
- package/dist/services/retry/retry-error-classification.js.map +1 -1
- package/dist/services/service-interfaces.d.ts +2 -0
- package/dist/services/service-interfaces.d.ts.map +1 -1
- package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
- package/dist/services/session/initial-turn-recovery-handler.js +6 -0
- package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +7 -5
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/session-manager.d.ts +2 -0
- package/dist/services/session/session-manager.d.ts.map +1 -1
- package/dist/services/session/session-manager.js +10 -0
- package/dist/services/session/session-manager.js.map +1 -1
- package/dist/services/session/session-tool-tracker.d.ts +1 -0
- package/dist/services/session/session-tool-tracker.d.ts.map +1 -1
- package/dist/services/session/session-tool-tracker.js +8 -0
- package/dist/services/session/session-tool-tracker.js.map +1 -1
- package/dist/services/session/terminal-result-collector.d.ts.map +1 -1
- package/dist/services/session/terminal-result-collector.js +3 -0
- package/dist/services/session/terminal-result-collector.js.map +1 -1
- package/dist/services/session/turn-workflow.d.ts.map +1 -1
- package/dist/services/session/turn-workflow.js +3 -0
- package/dist/services/session/turn-workflow.js.map +1 -1
- package/dist/services/settings/settings-env.d.ts.map +1 -1
- package/dist/services/settings/settings-env.js +6 -0
- package/dist/services/settings/settings-env.js.map +1 -1
- package/dist/services/settings/settings-persistence.d.ts +2 -1
- package/dist/services/settings/settings-persistence.d.ts.map +1 -1
- package/dist/services/settings/settings-persistence.js +1 -1
- package/dist/services/settings/settings-persistence.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +7 -1
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +17 -6
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-service.d.ts +3 -0
- package/dist/services/settings/settings-service.d.ts.map +1 -1
- package/dist/services/settings/settings-service.js +74 -31
- package/dist/services/settings/settings-service.js.map +1 -1
- package/dist/services/settings/settings-sources.d.ts +1 -0
- package/dist/services/settings/settings-sources.d.ts.map +1 -1
- package/dist/services/settings/settings-sources.js +1 -0
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/settings/settings-ui-metadata.js +1 -1
- package/dist/services/settings/settings-ui-metadata.js.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js +1 -0
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
- package/dist/services/subagents/execution-runner.d.ts.map +1 -1
- package/dist/services/subagents/execution-runner.js +16 -3
- package/dist/services/subagents/execution-runner.js.map +1 -1
- package/dist/services/subagents/nested-runner.d.ts.map +1 -1
- package/dist/services/subagents/nested-runner.js +3 -2
- package/dist/services/subagents/nested-runner.js.map +1 -1
- package/dist/services/tool-execution-ledger.d.ts +22 -0
- package/dist/services/tool-execution-ledger.d.ts.map +1 -1
- package/dist/services/tool-execution-ledger.js +40 -3
- package/dist/services/tool-execution-ledger.js.map +1 -1
- package/dist/services/workflow-evolution/cli.d.ts +2 -0
- package/dist/services/workflow-evolution/cli.d.ts.map +1 -0
- package/dist/services/workflow-evolution/cli.js +26 -0
- package/dist/services/workflow-evolution/cli.js.map +1 -0
- package/dist/services/workflow-evolution/demo.d.ts +18 -0
- package/dist/services/workflow-evolution/demo.d.ts.map +1 -0
- package/dist/services/workflow-evolution/demo.js +177 -0
- package/dist/services/workflow-evolution/demo.js.map +1 -0
- package/dist/services/workflow-evolution/experiment.d.ts +304 -0
- package/dist/services/workflow-evolution/experiment.d.ts.map +1 -0
- package/dist/services/workflow-evolution/experiment.js +251 -0
- package/dist/services/workflow-evolution/experiment.js.map +1 -0
- package/dist/services/workflow-evolution/ledger.d.ts +5 -0
- package/dist/services/workflow-evolution/ledger.d.ts.map +1 -0
- package/dist/services/workflow-evolution/ledger.js +57 -0
- package/dist/services/workflow-evolution/ledger.js.map +1 -0
- package/dist/skins/rail/status.d.ts.map +1 -1
- package/dist/skins/rail/status.js +21 -11
- package/dist/skins/rail/status.js.map +1 -1
- package/dist/tools/agent/goal-check.d.ts +23 -0
- package/dist/tools/agent/goal-check.d.ts.map +1 -0
- package/dist/tools/agent/goal-check.js +79 -0
- package/dist/tools/agent/goal-check.js.map +1 -0
- package/dist/tools/system/run-code/run-code-runtime.d.ts.map +1 -1
- package/dist/tools/system/run-code/run-code-runtime.js +3 -1
- package/dist/tools/system/run-code/run-code-runtime.js.map +1 -1
- package/dist/tools/tool-names.d.ts +1 -0
- package/dist/tools/tool-names.d.ts.map +1 -1
- package/dist/tools/tool-names.js +1 -0
- package/dist/tools/tool-names.js.map +1 -1
- package/dist/tools/types.d.ts +21 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +7 -0
- package/dist/tools/types.js.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
- package/dist/utils/conversation/conversation-event-handler.js +4 -0
- package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
- package/dist/utils/output/text-snippet.js +25 -33
- package/dist/utils/output/text-snippet.js.map +1 -1
- package/dist/utils/value-suggestions.d.ts.map +1 -1
- package/dist/utils/value-suggestions.js +1 -0
- package/dist/utils/value-suggestions.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { TOOL_NAME_GOAL_CHECK } from '../../tools/tool-names.js';
|
|
3
|
+
import { MAX_GOAL_FIELD_LENGTH } from './durable-goal.js';
|
|
4
|
+
/**
|
|
5
|
+
* Active-goal stop check.
|
|
6
|
+
*
|
|
7
|
+
* While the session's durable goal is `active`, a root turn may not end
|
|
8
|
+
* normally until the working model reports, through `goal_check`, whether the
|
|
9
|
+
* goal is achieved, blocked, still not achieved, or deferred because the
|
|
10
|
+
* latest user message asked for something else. This module owns the report
|
|
11
|
+
* contract and the stop decision; `ApplicationRunLoop` only asks it at its
|
|
12
|
+
* normal-stop seam, and the turn continues through the loop's existing
|
|
13
|
+
* request boundary when the decision is `continue`.
|
|
14
|
+
*
|
|
15
|
+
* Authority: a recorded, valid `achieved` check that ends the turn closes the
|
|
16
|
+
* goal. `createGoalStopPolicy` hands the achieved goal to the session surface,
|
|
17
|
+
* which persists it through the same `goal_changed` path as `/goal achieved`
|
|
18
|
+
* (marked `source: 'goal_check'`). Nothing else the model reports changes
|
|
19
|
+
* status: blocked, deferred, and not_achieved leave the goal active, and so does
|
|
20
|
+
* any check that was denied, failed, unrecorded, or superseded by later work.
|
|
21
|
+
* The user still sets, replaces, abandons, and reopens goals.
|
|
22
|
+
*/
|
|
23
|
+
export const GOAL_CHECK_STATUSES = ['achieved', 'blocked', 'not_achieved', 'deferred'];
|
|
24
|
+
export const goalCheckParameters = z.object({
|
|
25
|
+
status: z
|
|
26
|
+
.enum(GOAL_CHECK_STATUSES)
|
|
27
|
+
.describe('achieved: the outcome holds now, verified against concrete evidence; this marks the goal achieved. blocked: progress needs user input or a capability you do not have. ' +
|
|
28
|
+
'not_achieved: more work is needed and you can do it. deferred: the latest user message asked for ' +
|
|
29
|
+
'something else, asked you to pause, or superseded the goal.'),
|
|
30
|
+
evidence: z
|
|
31
|
+
.string()
|
|
32
|
+
.trim()
|
|
33
|
+
.min(1)
|
|
34
|
+
.max(MAX_GOAL_FIELD_LENGTH)
|
|
35
|
+
.describe('achieved: concrete evidence that the outcome holds (commands run, results, files). blocked: the concrete ' +
|
|
36
|
+
'blocker and exactly what is needed from the user. not_achieved: what remains and your next step. ' +
|
|
37
|
+
'deferred: which newer user request or pause took priority.'),
|
|
38
|
+
criteriaEvidence: z
|
|
39
|
+
.string()
|
|
40
|
+
.trim()
|
|
41
|
+
.max(MAX_GOAL_FIELD_LENGTH)
|
|
42
|
+
.optional()
|
|
43
|
+
.describe('Required for achieved when the goal has success criteria: evidence for each criterion.'),
|
|
44
|
+
});
|
|
45
|
+
/** One validation path for the tool's execution and the stop decision. */
|
|
46
|
+
export function validateGoalCheck(raw, goal) {
|
|
47
|
+
if (goal?.status !== 'active')
|
|
48
|
+
return { ok: false, problem: 'there is no active durable goal to check' };
|
|
49
|
+
const parsed = goalCheckParameters.safeParse(raw);
|
|
50
|
+
if (!parsed.success) {
|
|
51
|
+
const issue = parsed.error.issues[0];
|
|
52
|
+
const field = issue?.path.join('.') || 'input';
|
|
53
|
+
return { ok: false, problem: `${field}: ${issue?.message ?? 'invalid'}` };
|
|
54
|
+
}
|
|
55
|
+
const check = parsed.data;
|
|
56
|
+
if (check.status === 'achieved' && goal.successCriteria && !check.criteriaEvidence) {
|
|
57
|
+
return {
|
|
58
|
+
ok: false,
|
|
59
|
+
problem: 'criteriaEvidence is required for achieved because the goal has success criteria',
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return { ok: true, check };
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Consecutive stop-check reminders allowed without intervening work.
|
|
66
|
+
*
|
|
67
|
+
* One reminder covers a model that simply forgot the check; the second covers
|
|
68
|
+
* one malformed or premature retry. A third consecutive idle stop is evidence
|
|
69
|
+
* the check/continuation exchange itself is looping, so control returns to the
|
|
70
|
+
* user visibly. Real work (any other tool call) resets this count, which is why
|
|
71
|
+
* it is paired with {@link MAX_GOAL_STOP_REMINDERS_PER_TURN}.
|
|
72
|
+
*/
|
|
73
|
+
export const MAX_GOAL_STOP_REMINDERS_WITHOUT_WORK = 2;
|
|
74
|
+
/**
|
|
75
|
+
* Total stop-check reminders per user instruction, whatever work happens in
|
|
76
|
+
* between. Nothing resets it except a new user message.
|
|
77
|
+
*
|
|
78
|
+
* The guard must bound its own continuations: the run budget can be set to
|
|
79
|
+
* `warn` or `disabled`, and the root run's `maxTurns` is superseded by the run
|
|
80
|
+
* budget, so neither may be relied on to stop harness-forced work. Six is three
|
|
81
|
+
* resumed work segments with the idle allowance of two each: the model may try
|
|
82
|
+
* to stop early, be sent back, do more work, and still have room for one
|
|
83
|
+
* malformed retry, three times over. A seventh attempted stop without a valid
|
|
84
|
+
* check is no longer "forgot the check" evidence; it is the harness overriding
|
|
85
|
+
* the model's own judgment that the turn is over, so control returns to the user.
|
|
86
|
+
*/
|
|
87
|
+
export const MAX_GOAL_STOP_REMINDERS_PER_TURN = 6;
|
|
88
|
+
/**
|
|
89
|
+
* Every successful `goal_check` result starts with this text. Only a check
|
|
90
|
+
* whose recorded result carries it counts: a denied, rejected, or failed call
|
|
91
|
+
* leaves the tool's own result text absent.
|
|
92
|
+
*/
|
|
93
|
+
export const GOAL_CHECK_RECORDED_PREFIX = 'Self-check recorded:';
|
|
94
|
+
/**
|
|
95
|
+
* The recorded result names the goal the check judged, read from the session
|
|
96
|
+
* at execution time. The goal can change while a turn runs (`/goal set` from
|
|
97
|
+
* the prompt or the control socket mid-turn adds no history), so the stop seam
|
|
98
|
+
* counts a check only for the goal it was made against: identity is the goal
|
|
99
|
+
* id, which only a new goal mints (status changes keep id, outcome, and
|
|
100
|
+
* criteria).
|
|
101
|
+
*/
|
|
102
|
+
export function formatRecordedGoalCheck(goalId, text) {
|
|
103
|
+
return `${GOAL_CHECK_RECORDED_PREFIX} [goal ${goalId}] ${text}`;
|
|
104
|
+
}
|
|
105
|
+
const RECORDED_GOAL_ID = /^\[goal ([^\]\s]+)\]/;
|
|
106
|
+
/** Marks the harness reminder so the decision can count it in the turn history. */
|
|
107
|
+
export const GOAL_STOP_REMINDER_PREFIX = 'Durable goal stop check';
|
|
108
|
+
/** The run loop admits harness reminders with this prefix (see `#queuePendingSystemNotice`). */
|
|
109
|
+
const MODE_NOTICE_PREFIX = '[Mode Notice] ';
|
|
110
|
+
export const GOAL_CHECK_UNRESOLVED_CAUSE = 'goal_check_unresolved';
|
|
111
|
+
export const GOAL_CHECK_UNRESOLVED_NOTICE = 'Goal stop check unresolved: the turn ended without a valid goal self-check after repeated reminders. ' +
|
|
112
|
+
'The durable goal is still active and control is back with you.';
|
|
113
|
+
const TOOL_ITEM_TYPES = new Set([
|
|
114
|
+
'function_call',
|
|
115
|
+
'custom_tool_call',
|
|
116
|
+
'function_call_result',
|
|
117
|
+
'function_call_output',
|
|
118
|
+
'custom_tool_call_output',
|
|
119
|
+
]);
|
|
120
|
+
const TOOL_CALL_TYPES = new Set(['function_call', 'custom_tool_call']);
|
|
121
|
+
const messageText = (item) => {
|
|
122
|
+
if (typeof item.content === 'string')
|
|
123
|
+
return item.content;
|
|
124
|
+
if (!Array.isArray(item.content))
|
|
125
|
+
return '';
|
|
126
|
+
return item.content
|
|
127
|
+
.map((part) => (part && typeof part === 'object' && typeof part.text === 'string' ? part.text : ''))
|
|
128
|
+
.join('');
|
|
129
|
+
};
|
|
130
|
+
const isUserMessage = (item) => (item.type === 'message' || item.type === undefined) && item.role === 'user';
|
|
131
|
+
const isGoalStopReminder = (item) => isUserMessage(item) && messageText(item).startsWith(`${MODE_NOTICE_PREFIX}${GOAL_STOP_REMINDER_PREFIX}`);
|
|
132
|
+
/** Harness notices are not user instructions; anything else from the user starts the window. */
|
|
133
|
+
const isUserInstruction = (item) => isUserMessage(item) && !messageText(item).startsWith(MODE_NOTICE_PREFIX);
|
|
134
|
+
const callIdOf = (item) => item.callId ?? item.call_id;
|
|
135
|
+
const outputText = (output) => {
|
|
136
|
+
if (typeof output === 'string')
|
|
137
|
+
return output;
|
|
138
|
+
if (!Array.isArray(output))
|
|
139
|
+
return '';
|
|
140
|
+
return output
|
|
141
|
+
.map((part) => (part && typeof part === 'object' && typeof part.text === 'string' ? part.text : ''))
|
|
142
|
+
.join('');
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* The goal id the call's own result was recorded for, when that result is the
|
|
146
|
+
* tool's success text; `undefined` when the call was not recorded. A recorded
|
|
147
|
+
* result without a goal id (written before results named their goal) yields
|
|
148
|
+
* `''`, which matches no goal.
|
|
149
|
+
*
|
|
150
|
+
* Call ids are not unique: providers that omit them get `call_${index}`, so the
|
|
151
|
+
* first call of every response is `call_0`. A call's result is therefore the
|
|
152
|
+
* first matching result after the call's own position, never an earlier one,
|
|
153
|
+
* and the search stays inside the current turn's window.
|
|
154
|
+
*/
|
|
155
|
+
const recordedGoalCheckGoalId = (window, callPosition) => {
|
|
156
|
+
const call = window[callPosition];
|
|
157
|
+
const callId = call ? callIdOf(call) : undefined;
|
|
158
|
+
if (callId === undefined)
|
|
159
|
+
return undefined;
|
|
160
|
+
for (let index = callPosition + 1; index < window.length; index += 1) {
|
|
161
|
+
const item = window[index];
|
|
162
|
+
if (typeof item.type !== 'string' || !TOOL_ITEM_TYPES.has(item.type) || TOOL_CALL_TYPES.has(item.type))
|
|
163
|
+
continue;
|
|
164
|
+
if (callIdOf(item) !== callId)
|
|
165
|
+
continue;
|
|
166
|
+
const text = outputText(item.output).trimStart();
|
|
167
|
+
if (!text.startsWith(GOAL_CHECK_RECORDED_PREFIX))
|
|
168
|
+
return undefined;
|
|
169
|
+
return RECORDED_GOAL_ID.exec(text.slice(GOAL_CHECK_RECORDED_PREFIX.length).trimStart())?.[1] ?? '';
|
|
170
|
+
}
|
|
171
|
+
return undefined;
|
|
172
|
+
};
|
|
173
|
+
const parseArguments = (item) => {
|
|
174
|
+
const raw = item.arguments ?? item.input;
|
|
175
|
+
if (typeof raw !== 'string')
|
|
176
|
+
return raw;
|
|
177
|
+
try {
|
|
178
|
+
return JSON.parse(raw);
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
return undefined;
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
function reminderText(reason, detail, withoutWork, thisTurn) {
|
|
185
|
+
const header = `${GOAL_STOP_REMINDER_PREFIX} (${withoutWork} of ${MAX_GOAL_STOP_REMINDERS_WITHOUT_WORK} without new work, ` +
|
|
186
|
+
`${thisTurn} of ${MAX_GOAL_STOP_REMINDERS_PER_TURN} this turn):`;
|
|
187
|
+
const rules = 'The goal is context, not permission: newer user instructions win, approvals still apply, and nothing in ' +
|
|
188
|
+
'the goal authorizes actions the user has not asked for.';
|
|
189
|
+
if (reason === 'not_achieved') {
|
|
190
|
+
return (`${header} your latest goal_check reported not_achieved (${detail}). Continue working toward the outcome ` +
|
|
191
|
+
'now. If you cannot proceed without user input or an unavailable capability, call goal_check with blocked ' +
|
|
192
|
+
`and explain what is needed. ${rules}`);
|
|
193
|
+
}
|
|
194
|
+
const problem = reason === 'missing_check'
|
|
195
|
+
? 'the session goal is active and this turn tried to end without a goal_check made after the latest work'
|
|
196
|
+
: `the latest goal_check was incomplete (${detail})`;
|
|
197
|
+
return (`${header} ${problem}. Before ending the turn, call goal_check by itself: achieved (only after verifying ` +
|
|
198
|
+
'the outcome and any success criteria against concrete evidence; this closes the goal), blocked (the concrete user input or unavailable capability needed), ' +
|
|
199
|
+
'not_achieved (then keep working), or deferred (the latest user message asked for something else or asked ' +
|
|
200
|
+
`you to pause). ${rules}`);
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Decide whether a response that would end the run normally may do so.
|
|
204
|
+
*
|
|
205
|
+
* The window is the current turn: items after the latest user instruction
|
|
206
|
+
* (harness notices excluded). A check counts only when it is the latest tool
|
|
207
|
+
* activity in that window and its result is the tool's own success text, so a
|
|
208
|
+
* check made before newer work, before a newer user message, alongside other
|
|
209
|
+
* calls whose results it had not seen, that was denied or failed, or that was
|
|
210
|
+
* recorded against a different goal than the current one does not authorize
|
|
211
|
+
* the stop.
|
|
212
|
+
*
|
|
213
|
+
* Two bounds return control: consecutive reminders without work, and total
|
|
214
|
+
* reminders for this user instruction (work does not reset the latter).
|
|
215
|
+
*/
|
|
216
|
+
export function decideGoalStop(goal, history) {
|
|
217
|
+
if (goal?.status !== 'active')
|
|
218
|
+
return { action: 'stop', reason: 'no_active_goal' };
|
|
219
|
+
let latestToolItem;
|
|
220
|
+
let latestToolIndex = -1;
|
|
221
|
+
let remindersWithoutWork = 0;
|
|
222
|
+
let remindersThisTurn = 0;
|
|
223
|
+
let sawWork = false;
|
|
224
|
+
let windowStart = 0;
|
|
225
|
+
for (let index = history.length - 1; index >= 0; index -= 1) {
|
|
226
|
+
const item = history[index];
|
|
227
|
+
if (isGoalStopReminder(item)) {
|
|
228
|
+
remindersThisTurn += 1;
|
|
229
|
+
if (!sawWork)
|
|
230
|
+
remindersWithoutWork += 1;
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
233
|
+
if (isUserInstruction(item)) {
|
|
234
|
+
windowStart = index + 1;
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
if (typeof item.type !== 'string' || !TOOL_ITEM_TYPES.has(item.type))
|
|
238
|
+
continue;
|
|
239
|
+
const isGoalCheck = item.name === TOOL_NAME_GOAL_CHECK;
|
|
240
|
+
if (!latestToolItem && (!isGoalCheck || TOOL_CALL_TYPES.has(item.type))) {
|
|
241
|
+
latestToolItem = item;
|
|
242
|
+
latestToolIndex = index;
|
|
243
|
+
}
|
|
244
|
+
if (!isGoalCheck)
|
|
245
|
+
sawWork = true;
|
|
246
|
+
}
|
|
247
|
+
let reason = 'missing_check';
|
|
248
|
+
let detail = '';
|
|
249
|
+
if (latestToolItem?.name === TOOL_NAME_GOAL_CHECK) {
|
|
250
|
+
const validation = validateGoalCheck(parseArguments(latestToolItem), goal);
|
|
251
|
+
const window = history.slice(windowStart);
|
|
252
|
+
const recordedFor = validation.ok ? recordedGoalCheckGoalId(window, latestToolIndex - windowStart) : undefined;
|
|
253
|
+
if (validation.ok && recordedFor === undefined) {
|
|
254
|
+
reason = 'incomplete_check';
|
|
255
|
+
detail = 'it was not recorded: the call was denied, rejected, or failed';
|
|
256
|
+
}
|
|
257
|
+
else if (validation.ok && recordedFor !== goal.id) {
|
|
258
|
+
reason = 'incomplete_check';
|
|
259
|
+
detail = 'it was made for a different goal: the session goal changed since, so check the current goal';
|
|
260
|
+
}
|
|
261
|
+
else if (validation.ok) {
|
|
262
|
+
if (validation.check.status !== 'not_achieved')
|
|
263
|
+
return { action: 'stop', reason: validation.check.status };
|
|
264
|
+
reason = 'not_achieved';
|
|
265
|
+
detail = validation.check.evidence.slice(0, 200);
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
reason = 'incomplete_check';
|
|
269
|
+
detail = validation.problem;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
const limitReached = remindersWithoutWork >= MAX_GOAL_STOP_REMINDERS_WITHOUT_WORK
|
|
273
|
+
? 'without_work'
|
|
274
|
+
: remindersThisTurn >= MAX_GOAL_STOP_REMINDERS_PER_TURN
|
|
275
|
+
? 'per_turn'
|
|
276
|
+
: undefined;
|
|
277
|
+
if (limitReached) {
|
|
278
|
+
return {
|
|
279
|
+
action: 'stop',
|
|
280
|
+
reason: 'unresolved',
|
|
281
|
+
terminalCause: GOAL_CHECK_UNRESOLVED_CAUSE,
|
|
282
|
+
limitReached,
|
|
283
|
+
remindersWithoutWork,
|
|
284
|
+
remindersThisTurn,
|
|
285
|
+
lastProblem: reason,
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
return {
|
|
289
|
+
action: 'continue',
|
|
290
|
+
reason,
|
|
291
|
+
reminder: reminderText(reason, detail, remindersWithoutWork + 1, remindersThisTurn + 1),
|
|
292
|
+
remindersWithoutWork,
|
|
293
|
+
remindersThisTurn,
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Adapt `decideGoalStop` to the run loop's normal-stop seam.
|
|
298
|
+
*
|
|
299
|
+
* Inert unless the agent can actually call `goal_check`: a profile or client
|
|
300
|
+
* without the tool must never be asked for a check it cannot make.
|
|
301
|
+
*
|
|
302
|
+
* The achieved write lives here, not in the tool's execution: only at the stop
|
|
303
|
+
* seam is the check known to be the turn's final tool activity with its own
|
|
304
|
+
* recorded result, so a check followed by more work, made alongside unseen
|
|
305
|
+
* results, or denied/failed never closes the goal. The seam runs once per run
|
|
306
|
+
* end and the write flips the goal out of `active`, so any later evaluation
|
|
307
|
+
* (another turn, an approval resume) sees no active goal and cannot write again.
|
|
308
|
+
* Only root clients get this policy, and `run_code` cannot call `goal_check`.
|
|
309
|
+
* The check must name the goal read here (`formatRecordedGoalCheck`): a check
|
|
310
|
+
* recorded for a goal that was replaced mid-turn never closes its successor.
|
|
311
|
+
*/
|
|
312
|
+
export function createGoalStopPolicy(getGoal, onGoalAchieved) {
|
|
313
|
+
return (history, agent) => {
|
|
314
|
+
if (!agent.tools.some((tool) => tool.name === TOOL_NAME_GOAL_CHECK))
|
|
315
|
+
return { action: 'stop' };
|
|
316
|
+
const goal = getGoal();
|
|
317
|
+
const decision = decideGoalStop(goal, history);
|
|
318
|
+
if (decision.reason === 'no_active_goal')
|
|
319
|
+
return { action: 'stop' };
|
|
320
|
+
let goalMarkedAchieved;
|
|
321
|
+
if (decision.reason === 'achieved' && goal?.status === 'active' && onGoalAchieved) {
|
|
322
|
+
try {
|
|
323
|
+
onGoalAchieved({ ...goal, status: 'achieved' });
|
|
324
|
+
goalMarkedAchieved = true;
|
|
325
|
+
}
|
|
326
|
+
catch {
|
|
327
|
+
// The surface reports its own persistence failure; the turn still stops.
|
|
328
|
+
goalMarkedAchieved = false;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
const diagnostics = {
|
|
332
|
+
guard: 'goal_stop_check',
|
|
333
|
+
guardClass: 'runaway',
|
|
334
|
+
reason: decision.reason,
|
|
335
|
+
limit: MAX_GOAL_STOP_REMINDERS_WITHOUT_WORK,
|
|
336
|
+
turnLimit: MAX_GOAL_STOP_REMINDERS_PER_TURN,
|
|
337
|
+
...('remindersWithoutWork' in decision ? { remindersWithoutWork: decision.remindersWithoutWork } : {}),
|
|
338
|
+
...('remindersThisTurn' in decision ? { remindersThisTurn: decision.remindersThisTurn } : {}),
|
|
339
|
+
...('limitReached' in decision ? { limitReached: decision.limitReached } : {}),
|
|
340
|
+
...('lastProblem' in decision ? { lastProblem: decision.lastProblem } : {}),
|
|
341
|
+
...(goalMarkedAchieved !== undefined ? { goalMarkedAchieved } : {}),
|
|
342
|
+
};
|
|
343
|
+
if (decision.action === 'continue')
|
|
344
|
+
return { action: 'continue', reminder: decision.reminder, diagnostics };
|
|
345
|
+
if (decision.reason === 'unresolved') {
|
|
346
|
+
return { action: 'stop', terminalCause: decision.terminalCause, diagnostics };
|
|
347
|
+
}
|
|
348
|
+
return { action: 'stop', diagnostics };
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
//# sourceMappingURL=durable-goal-stop-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"durable-goal-stop-check.js","sourceRoot":"","sources":["../../../source/services/conversation/durable-goal-stop-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
import type { DurableGoal, GoalStatus } from '../logging/conversation-log-events.js';
|
|
1
|
+
import type { DurableGoal, GoalChangedEvent, GoalStatus } from '../logging/conversation-log-events.js';
|
|
2
2
|
export declare const MAX_GOAL_FIELD_LENGTH = 2000;
|
|
3
3
|
export declare function createDurableGoal(outcome: string, successCriteria?: string, status?: GoalStatus): DurableGoal;
|
|
4
|
+
/** The `/goal` status line, shared by every surface that reports a goal. */
|
|
5
|
+
export declare function formatGoalStatus(goal: DurableGoal): string;
|
|
6
|
+
/** How the TUI and non-interactive mode announce a goal closed by the model's self-check. */
|
|
7
|
+
export declare function formatGoalClosedByCheck(goal: DurableGoal): string;
|
|
8
|
+
/** Who wrote a goal change; see `GoalChangedEvent.source`. */
|
|
9
|
+
export type GoalChangeSource = NonNullable<GoalChangedEvent['source']>;
|
|
10
|
+
/**
|
|
11
|
+
* Where a root client hands over a goal that a recorded achieved `goal_check`
|
|
12
|
+
* closed. The active surface (the TUI or non-interactive mode) installs the
|
|
13
|
+
* handler and persists the goal through its own goal-write path, the same one
|
|
14
|
+
* `/goal achieved` or the launch goal uses. With no handler nothing is written.
|
|
15
|
+
*/
|
|
16
|
+
export interface GoalAchievedSlot {
|
|
17
|
+
handler?: (goal: DurableGoal) => void;
|
|
18
|
+
}
|
|
4
19
|
//# sourceMappingURL=durable-goal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-goal.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/durable-goal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"durable-goal.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/durable-goal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEvG,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,GAAE,UAAqB,GAC5B,WAAW,CAgBb;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAI1D;AAED,6FAA6F;AAC7F,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAEjE;AAED,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACvC"}
|
|
@@ -18,4 +18,12 @@ export function createDurableGoal(outcome, successCriteria, status = 'active') {
|
|
|
18
18
|
status,
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
+
/** The `/goal` status line, shared by every surface that reports a goal. */
|
|
22
|
+
export function formatGoalStatus(goal) {
|
|
23
|
+
return `Goal (${goal.status}): ${goal.outcome}${goal.successCriteria ? `\nSuccess criteria: ${goal.successCriteria}` : ''}`;
|
|
24
|
+
}
|
|
25
|
+
/** How the TUI and non-interactive mode announce a goal closed by the model's self-check. */
|
|
26
|
+
export function formatGoalClosedByCheck(goal) {
|
|
27
|
+
return `${formatGoalStatus(goal)}\nMarked achieved by the model's goal_check. Use /goal set to start a new goal.`;
|
|
28
|
+
}
|
|
21
29
|
//# sourceMappingURL=durable-goal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-goal.js","sourceRoot":"","sources":["../../../source/services/conversation/durable-goal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,eAAwB,EACxB,MAAM,GAAe,QAAQ;IAE7B,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,kBAAkB,GAAG,eAAe,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,CAAC,iBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC3E,IAAI,iBAAiB,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,gCAAgC,qBAAqB,cAAc,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,iCAAiC,qBAAqB,cAAc,CAAC,CAAC;IACxF,CAAC;IACD,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,OAAO,EAAE,iBAAiB;QAC1B,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM;KACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"durable-goal.js","sourceRoot":"","sources":["../../../source/services/conversation/durable-goal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,eAAwB,EACxB,MAAM,GAAe,QAAQ;IAE7B,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,kBAAkB,GAAG,eAAe,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,CAAC,iBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC3E,IAAI,iBAAiB,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,gCAAgC,qBAAqB,cAAc,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,iCAAiC,qBAAqB,cAAc,CAAC,CAAC;IACxF,CAAC;IACD,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,OAAO,EAAE,iBAAiB;QAC1B,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM;KACP,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,IAAiB;IAChD,OAAO,SAAS,IAAI,CAAC,MAAM,MAAM,IAAI,CAAC,OAAO,GAC3C,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EACzE,EAAE,CAAC;AACL,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,uBAAuB,CAAC,IAAiB;IACvD,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,iFAAiF,CAAC;AACpH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-checkpoint-projection.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/local-checkpoint-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAG3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"local-checkpoint-projection.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/local-checkpoint-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAG3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAOtE,KAAK,gBAAgB,GACjB;IAAE,MAAM,EAAE,eAAe,GAAG,SAAS,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAAC,2BAA2B,EAAE,OAAO,CAAA;CAAE,CAAC;AAO9F;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,SAAS,EAAE,SAAS,oBAAoB,EAAE,EAC1C,eAAe,EAAE,SAAS,iBAAiB,EAAE,GAC5C,gBAAgB,CAqOlB"}
|
|
@@ -3,6 +3,7 @@ import { isTruncatedLogEvent } from '../logging/conversation-log-events.js';
|
|
|
3
3
|
import { projectModelRequestHistory } from './conversation-state-projector.js';
|
|
4
4
|
import { repairConversationHistory } from './conversation-history-repair.js';
|
|
5
5
|
import { synthesizeHistoryFromAssistantTurn } from './conversation-turn-items.js';
|
|
6
|
+
import { projectConversationMessage } from './conversation-message-projection.js';
|
|
6
7
|
import { createCheckpointSourceDigest } from './conversation-checkpoint-provenance.js';
|
|
7
8
|
const refKey = (ref) => JSON.stringify([ref.logId, ref.eventId]);
|
|
8
9
|
const envelopeKey = (envelope) => envelope.logId && envelope.eventId ? refKey({ logId: envelope.logId, eventId: envelope.eventId }) : null;
|
|
@@ -161,7 +162,17 @@ export function deriveLocalCheckpointRequestHistory(envelopes, replayedHistory)
|
|
|
161
162
|
const coveredAssistants = [...covered].filter((key) => byRef.get(key)?.event.type === 'assistant_turn').length;
|
|
162
163
|
if (coveredUsers === 0 || coveredAssistants < coveredUsers)
|
|
163
164
|
return { status: 'refused' };
|
|
164
|
-
const
|
|
165
|
+
const protectedUsers = checkpoint.item.contextSummary?.protectedUsers;
|
|
166
|
+
if (protectedUsers) {
|
|
167
|
+
const sourceUsers = coldPrefixEnvelopes.flatMap((envelope) => !isTruncatedLogEvent(envelope.event) && envelope.event.type === 'user_message'
|
|
168
|
+
? [envelope.event.message.text ?? '']
|
|
169
|
+
: []);
|
|
170
|
+
const retainedUsers = protectedUsers.map((item) => projectConversationMessage(item));
|
|
171
|
+
if (retainedUsers.length !== sourceUsers.length ||
|
|
172
|
+
retainedUsers.some((message, index) => message?.role !== 'user' || message.isSynthetic || message.text !== sourceUsers[index]))
|
|
173
|
+
return { status: 'refused' };
|
|
174
|
+
}
|
|
175
|
+
const history = [clone(checkpoint.item), ...clone(protectedUsers ?? [])];
|
|
165
176
|
let hasPostCheckpointSnapshot = false;
|
|
166
177
|
const correlatedFinalizedTurns = [...journalTurnIds]
|
|
167
178
|
.map((turnId) => finalizedTurnForJournal(turnId))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-checkpoint-projection.js","sourceRoot":"","sources":["../../../source/services/conversation/local-checkpoint-projection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-checkpoint-projection.js","sourceRoot":"","sources":["../../../source/services/conversation/local-checkpoint-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,8 @@ export type SessionReadInput = {
|
|
|
45
45
|
export interface SessionBrowserOptions {
|
|
46
46
|
backend?: 'canonical' | 'indexed';
|
|
47
47
|
indexService?: SessionIndexService;
|
|
48
|
+
/** Separate opaque handles for the canonical fallback worker. */
|
|
49
|
+
cursorPrefix?: 'c' | 'f';
|
|
48
50
|
}
|
|
49
51
|
export declare class SessionBrowser {
|
|
50
52
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-browser.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/session-browser.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"session-browser.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/session-browser.ts"],"names":[],"mappings":"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"}
|