agent-afk 5.336.0 → 5.338.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/agent/background-registry.mark-terminal.d.ts +1 -1
- package/dist/agent/background-registry.types.d.ts +1 -1
- package/dist/agent/providers/anthropic-direct/query-options.d.ts +1 -0
- package/dist/agent/providers/anthropic-direct/query-runtime.d.ts +1 -0
- package/dist/agent/providers/anthropic-direct/query-turn-driver.d.ts +1 -0
- package/dist/agent/providers/anthropic-direct/request-types.d.ts +1 -0
- package/dist/agent/providers/openai-compatible/query/turn-driver.d.ts +1 -0
- package/dist/agent/providers/shared/tool-grant.d.ts +1 -0
- package/dist/agent/session/model-slots.d.ts +2 -0
- package/dist/agent/session/session-meta.d.ts +13 -0
- package/dist/agent/session/slot-credentials.d.ts +1 -0
- package/dist/agent/session-control/index.d.ts +1 -1
- package/dist/agent/session-control/preferences.d.ts +7 -0
- package/dist/agent/trace/receipt.d.ts +5 -1
- package/dist/agent/trace/receipt.journal.d.ts +10 -0
- package/dist/agent/trace/types.session-phase.d.ts +1 -1
- package/dist/agent/types/config-types.d.ts +1 -0
- package/dist/agent/usage/usage-awareness-toggle.d.ts +3 -0
- package/dist/bundled-plugins/awa-bundled/skills/ground-state/SKILL.md +6 -6
- package/dist/cli/commands/interactive/mascot-bar.d.ts +1 -0
- package/dist/cli/commands/interactive/shared.d.ts +1 -0
- package/dist/cli/commands/interactive/startup-dashboard.d.ts +6 -0
- package/dist/cli/commands/interactive/startup-recall.d.ts +9 -0
- package/dist/cli/commands/interactive.register-helpers.d.ts +1 -0
- package/dist/cli/config/types.d.ts +2 -0
- package/dist/cli/render/status-line-format.d.ts +1 -0
- package/dist/cli/session-store.d.ts +1 -0
- package/dist/cli/slash/commands/usage-awareness.d.ts +2 -0
- package/dist/cli/slash/types.d.ts +1 -0
- package/dist/cli.mjs +501 -499
- package/dist/config/endpoint-semaphore.d.ts +9 -0
- package/dist/config/env.d.ts +35 -0
- package/dist/config/env.debug.d.ts +7 -0
- package/dist/config/env.model-slot-concurrency.d.ts +29 -0
- package/dist/improve/propose/template-engine.templates-density.d.ts +2 -0
- package/dist/index.mjs +392 -388
- package/dist/paths.journal.d.ts +1 -0
- package/dist/telegram.mjs +404 -404
- package/dist/web-ui-assets/assets/{angular-html-CGby4rdN.js → angular-html-CGhXdqey.js} +1 -1
- package/dist/web-ui-assets/assets/{angular-ts-CWecJxeS.js → angular-ts-CvXSYqzW.js} +1 -1
- package/dist/web-ui-assets/assets/{apl-CQJLvokg.js → apl-CHd928O5.js} +1 -1
- package/dist/web-ui-assets/assets/{astro-D6P7etYm.js → astro-BoLrHJmk.js} +1 -1
- package/dist/web-ui-assets/assets/{blade-B_syPIo5.js → blade-DY1IktSs.js} +1 -1
- package/dist/web-ui-assets/assets/{c-DJnZ7D_v.js → c-DxAZbdBx.js} +1 -1
- package/dist/web-ui-assets/assets/{chapel-CwJiH1oz.js → chapel-DYsDnfcl.js} +1 -1
- package/dist/web-ui-assets/assets/{cobol-DhDMPXHb.js → cobol-DWGkS6M4.js} +1 -1
- package/dist/web-ui-assets/assets/{coffee-pjMGiauK.js → coffee-DlkYkLNu.js} +1 -1
- package/dist/web-ui-assets/assets/{cpp-DOvBr8ik.js → cpp-EPEhiLov.js} +1 -1
- package/dist/web-ui-assets/assets/{crystal-BoEUmsxb.js → crystal-BEErPI0z.js} +1 -1
- package/dist/web-ui-assets/assets/{css-B0rzsnnS.js → css-B0GwOWpN.js} +1 -1
- package/dist/web-ui-assets/assets/{dist-BqRGew0s.js → dist-ETE6tN-C.js} +4 -4
- package/dist/web-ui-assets/assets/{edge-CUnkNqS-.js → edge-DSYFnYrA.js} +1 -1
- package/dist/web-ui-assets/assets/{elixir-C86qk8wq.js → elixir-YnBo-E2b.js} +1 -1
- package/dist/web-ui-assets/assets/{elm-D5Kj35b8.js → elm-BTbb8S23.js} +1 -1
- package/dist/web-ui-assets/assets/{erb-CzdX9WmJ.js → erb-CmjdbA27.js} +1 -1
- package/dist/web-ui-assets/assets/{git-rebase-BDh-Em6U.js → git-rebase-CGODI_wc.js} +1 -1
- package/dist/web-ui-assets/assets/{glimmer-js-DYSGQ13V.js → glimmer-js-CH0RFAMi.js} +1 -1
- package/dist/web-ui-assets/assets/{glimmer-ts-BNcakseI.js → glimmer-ts-C-QtJVYf.js} +1 -1
- package/dist/web-ui-assets/assets/{glsl-CCikFpzO.js → glsl-B4-SloMd.js} +1 -1
- package/dist/web-ui-assets/assets/{graphql--BnF_OCZ.js → graphql-DgGBaJER.js} +1 -1
- package/dist/web-ui-assets/assets/{hack-BFlZESOv.js → hack-CiownsYp.js} +1 -1
- package/dist/web-ui-assets/assets/{haml-Crrd40xD.js → haml-M26UGD_a.js} +1 -1
- package/dist/web-ui-assets/assets/{handlebars-CNmaX2Gn.js → handlebars-gqoiXao1.js} +1 -1
- package/dist/web-ui-assets/assets/{html-DOqbnBCU.js → html-DbYXE9Fl.js} +1 -1
- package/dist/web-ui-assets/assets/{html-derivative-CETo96ct.js → html-derivative-P6gcNKB0.js} +1 -1
- package/dist/web-ui-assets/assets/{http-DhOdqLhY.js → http-DnPL1Yqt.js} +1 -1
- package/dist/web-ui-assets/assets/{hurl-DCnWwPvH.js → hurl-DcpACPE-.js} +1 -1
- package/dist/web-ui-assets/assets/{index-BFlteB-V.js → index-J4Gmj9de.js} +10 -10
- package/dist/web-ui-assets/assets/{java-CnsooHft.js → java-8dkCcwWP.js} +1 -1
- package/dist/web-ui-assets/assets/{javascript-CI17tW_X.js → javascript-CjgqT0hZ.js} +1 -1
- package/dist/web-ui-assets/assets/{jinja-DzZt4dze.js → jinja-5n1p1jzI.js} +1 -1
- package/dist/web-ui-assets/assets/{jison-C_wtEGZd.js → jison-BirvaJHT.js} +1 -1
- package/dist/web-ui-assets/assets/{json-YF-Ww_JQ.js → json-DmipamAZ.js} +1 -1
- package/dist/web-ui-assets/assets/{jsx-CHWO1Eyj.js → jsx-w134sGXK.js} +1 -1
- package/dist/web-ui-assets/assets/{julia-DwAew3DL.js → julia-CP0_Sn17.js} +1 -1
- package/dist/web-ui-assets/assets/{just-CZoA6aZT.js → just-C2Hxq1M-.js} +1 -1
- package/dist/web-ui-assets/assets/{latex-DX2xQe1n.js → latex-C2pnLSMg.js} +1 -1
- package/dist/web-ui-assets/assets/{liquid-AfUcFT26.js → liquid-A9v-zdj1.js} +1 -1
- package/dist/web-ui-assets/assets/{lua-C2cHMM8Z.js → lua-BUYvMhIp.js} +1 -1
- package/dist/web-ui-assets/assets/{marko-DntcaETU.js → marko-DIaJyZ2t.js} +1 -1
- package/dist/web-ui-assets/assets/{mdc-CKuI14uF.js → mdc-DnSkIciD.js} +1 -1
- package/dist/web-ui-assets/assets/{nginx-BUZc8xEQ.js → nginx-BxbUPYEw.js} +1 -1
- package/dist/web-ui-assets/assets/{nim-BDiC38_I.js → nim-Dxaqe1Bn.js} +1 -1
- package/dist/web-ui-assets/assets/{org-CWIZIDsu.js → org-Bi4gmD-8.js} +1 -1
- package/dist/web-ui-assets/assets/{perl-CqfKDEuA.js → perl-DrrYP5ph.js} +1 -1
- package/dist/web-ui-assets/assets/{php-C9t9xzO6.js → php-DqWFNwEA.js} +1 -1
- package/dist/web-ui-assets/assets/{pug-BXdJu9Xj.js → pug-CeN90-9K.js} +1 -1
- package/dist/web-ui-assets/assets/{qml-CXLc9Ley.js → qml-CKa9kb6a.js} +1 -1
- package/dist/web-ui-assets/assets/{r-DvmOp3Qj.js → r-CfEfxRBn.js} +1 -1
- package/dist/web-ui-assets/assets/{razor-CehoHds_.js → razor-BJe66PT7.js} +1 -1
- package/dist/web-ui-assets/assets/{regexp-2Jz6kFIo.js → regexp-C3vAdVA_.js} +1 -1
- package/dist/web-ui-assets/assets/{rst-li0c-OgO.js → rst-hFT2ijNs.js} +1 -1
- package/dist/web-ui-assets/assets/{ruby-DgjL05GQ.js → ruby-C3iLnR5f.js} +1 -1
- package/dist/web-ui-assets/assets/{sas-D3iTM-e_.js → sas-I2KZLci2.js} +1 -1
- package/dist/web-ui-assets/assets/{scss-BdXhMSvs.js → scss-Bfvb3Jj7.js} +1 -1
- package/dist/web-ui-assets/assets/{shellscript-DZXSq2Sa.js → shellscript-zBQss7DO.js} +1 -1
- package/dist/web-ui-assets/assets/{shellsession-afdkG2Th.js → shellsession-DKWG3ja3.js} +1 -1
- package/dist/web-ui-assets/assets/{soy-DAH22tJm.js → soy-6kJwd0PX.js} +1 -1
- package/dist/web-ui-assets/assets/{sql-ChChe5fx.js → sql-ZKBtdTrV.js} +1 -1
- package/dist/web-ui-assets/assets/{stata-K9GgWIOl.js → stata-D1HN1GWw.js} +1 -1
- package/dist/web-ui-assets/assets/{surrealql-DSnomrcE.js → surrealql-B89pu-_8.js} +1 -1
- package/dist/web-ui-assets/assets/{svelte-CvOMu-RJ.js → svelte-DdjVDQDX.js} +1 -1
- package/dist/web-ui-assets/assets/{templ-CZIzP5bt.js → templ-CB3fWEmc.js} +1 -1
- package/dist/web-ui-assets/assets/{tex-DQPFp2kX.js → tex-DSK5fycz.js} +1 -1
- package/dist/web-ui-assets/assets/{ts-tags-DNZa03FK.js → ts-tags-CgD9RStv.js} +1 -1
- package/dist/web-ui-assets/assets/{tsx-Bhiv3C2c.js → tsx-Csypjqle.js} +1 -1
- package/dist/web-ui-assets/assets/{twig-DM6grruK.js → twig-PQ2ijmIy.js} +1 -1
- package/dist/web-ui-assets/assets/{typescript-BEKhIfXq.js → typescript-B4KejusE.js} +1 -1
- package/dist/web-ui-assets/assets/{typst-1k2A85Zx.js → typst-DA48RLSp.js} +1 -1
- package/dist/web-ui-assets/assets/{vue-Dm3l12e_.js → vue-C6y4X9p-.js} +1 -1
- package/dist/web-ui-assets/assets/{vue-html-DXMXrdEc.js → vue-html-1Vzn6gNz.js} +1 -1
- package/dist/web-ui-assets/assets/{vue-vine-B28qLIyO.js → vue-vine-DRny2ZQS.js} +1 -1
- package/dist/web-ui-assets/assets/{xml-BhP5fEtT.js → xml-k_Mgt1sq.js} +1 -1
- package/dist/web-ui-assets/assets/{xsl-OsxZZhWC.js → xsl-BvSmCHX2.js} +1 -1
- package/dist/web-ui-assets/assets/{yaml-BtFncb8y.js → yaml-BmZoDLOb.js} +1 -1
- package/dist/web-ui-assets/index.html +1 -1
- package/package.json +5 -4
|
@@ -9,7 +9,7 @@ export interface MarkTerminalJob {
|
|
|
9
9
|
startedAt: number;
|
|
10
10
|
endedAt?: number;
|
|
11
11
|
result?: SubagentResult;
|
|
12
|
-
provenance: 'user' | 'model';
|
|
12
|
+
provenance: 'user' | 'model' | 'user-backgrounded';
|
|
13
13
|
parentSessionId?: string;
|
|
14
14
|
cancelSource?: 'explicit' | 'cascade';
|
|
15
15
|
modelCancelReason?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SubagentResult } from './subagent.js';
|
|
2
2
|
export type BackgroundJobStatus = 'running' | 'completed' | 'failed' | 'cancelled';
|
|
3
|
-
export type BackgroundJobProvenance = 'model' | 'user';
|
|
3
|
+
export type BackgroundJobProvenance = 'model' | 'user' | 'user-backgrounded';
|
|
4
4
|
export interface BackgroundJob {
|
|
5
5
|
readonly jobId: string;
|
|
6
6
|
readonly provenance: BackgroundJobProvenance;
|
|
@@ -34,6 +34,7 @@ export interface AnthropicDirectQueryOptions {
|
|
|
34
34
|
rawEffort?: import('../../types/sdk-types.js').EffortLevel;
|
|
35
35
|
temperature?: number;
|
|
36
36
|
baseUrl?: string;
|
|
37
|
+
endpointConcurrency?: number;
|
|
37
38
|
maxToolUseIterations?: number;
|
|
38
39
|
softDeadlineMs?: number;
|
|
39
40
|
traceWriter?: import('../../trace/index.js').TraceSink;
|
|
@@ -18,6 +18,7 @@ export declare class AnthropicDirectQuery implements ProviderQuery {
|
|
|
18
18
|
private readonly launchModel;
|
|
19
19
|
private readonly temperature?;
|
|
20
20
|
private readonly baseUrl?;
|
|
21
|
+
private readonly endpointConcurrency?;
|
|
21
22
|
private readonly maxToolUseIterations?;
|
|
22
23
|
private readonly softDeadlineMs?;
|
|
23
24
|
private readonly traceWriter?;
|
|
@@ -18,6 +18,7 @@ export interface TurnDriverContext {
|
|
|
18
18
|
readonly temperature: number | undefined;
|
|
19
19
|
readonly thinkingBlockBinding: import('./types.js').RunTurnInput['thinkingBlockBinding'] | undefined;
|
|
20
20
|
readonly baseUrl: string | undefined;
|
|
21
|
+
readonly endpointConcurrency: number | undefined;
|
|
21
22
|
readonly maxToolUseIterations: number | undefined;
|
|
22
23
|
readonly softDeadlineMs: number | undefined;
|
|
23
24
|
readonly traceWriter: import('../../trace/index.js').TraceSink | undefined;
|
|
@@ -7,6 +7,7 @@ import type { OpenAIMessage } from '../messages.js';
|
|
|
7
7
|
import type { OpenAIJournalWiring } from './journal-wiring.js';
|
|
8
8
|
import type { AgentConfig } from '../../../types/config-types.js';
|
|
9
9
|
import type { OpenAIAuthResolution } from '../auth.js';
|
|
10
|
+
export declare const INCOMPLETE_MARKER = "Context capacity exhausted. Partial tool outputs are journaled; resume from saved work.";
|
|
10
11
|
export interface TurnDriverContext extends IterationContext, FinishTurnContext {
|
|
11
12
|
readonly abort: AbortCoordinator;
|
|
12
13
|
readonly toolDispatcher: ToolDispatcher | undefined;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { type ToolPermissionConfig } from '../../tools/permissions.js';
|
|
2
2
|
export declare function providerGrantsTool(toolName: string, permissions: ToolPermissionConfig | undefined, hasWorkspaceStore: boolean): boolean;
|
|
3
3
|
export declare function grantsWorkspacePrompt(grantsTool: (toolName: string) => boolean): boolean;
|
|
4
|
+
export declare function grantsToolStrict(grantsTool: ((toolName: string) => boolean) | undefined, toolName: string): boolean;
|
|
@@ -9,6 +9,7 @@ export interface ModelSlotBinding {
|
|
|
9
9
|
apiKey?: string;
|
|
10
10
|
contextWindow?: number;
|
|
11
11
|
maxOutputTokens?: number;
|
|
12
|
+
maxConcurrency?: number;
|
|
12
13
|
}
|
|
13
14
|
export type ModelSlots = Record<SlotName, ModelSlotBinding>;
|
|
14
15
|
export declare const CLAUDE_HAIKU_ID = "claude-haiku-5-5";
|
|
@@ -29,6 +30,7 @@ export { OPENAI_MODEL_HINTS } from './model-slots.hints.js';
|
|
|
29
30
|
export declare const MODEL_ALIASES_HINT: readonly string[];
|
|
30
31
|
export declare function setSlotBindings(bindings: ModelSlots | undefined): void;
|
|
31
32
|
export declare function resetSlotBindings(): void;
|
|
33
|
+
export declare const MAX_SLOT_CONCURRENCY = 32;
|
|
32
34
|
export declare function computeSlotBindings(fileOverrides?: Partial<Record<SlotName, ModelSlotBinding>>): ModelSlots;
|
|
33
35
|
export declare function getSlotBindings(override?: ModelSlots): ModelSlots;
|
|
34
36
|
export declare function slotForInput(input: string, bindings?: ModelSlots): SlotName | undefined;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface SessionMeta {
|
|
2
|
+
v: 1;
|
|
3
|
+
sessionId: string;
|
|
4
|
+
model: string;
|
|
5
|
+
cwd?: string;
|
|
6
|
+
traceLabel?: string | null;
|
|
7
|
+
surface?: string;
|
|
8
|
+
provider?: string;
|
|
9
|
+
startedAt?: number;
|
|
10
|
+
afkVersion?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function writeSessionMeta(meta: SessionMeta): Promise<void>;
|
|
13
|
+
export declare function readSessionMeta(sessionId: string): SessionMeta | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { clearConversation } from './clear.js';
|
|
2
2
|
export { compactConversation, type CompactConversationResult, type CompactProgress } from './compact.js';
|
|
3
3
|
export { setSessionModel, type SetSessionModelResult } from './model.js';
|
|
4
|
-
export { setSessionName, sessionDisplayName, type SetSessionNameResult, type SessionNameOptions, THINKING_MODES, getSessionThinking, setSessionThinking, readSessionFast, setSessionFast, } from './preferences.js';
|
|
4
|
+
export { setSessionName, sessionDisplayName, type SetSessionNameResult, type SessionNameOptions, THINKING_MODES, getSessionThinking, setSessionThinking, readSessionFast, setSessionFast, getUsageAwareness, setUsageAwarenessPreference, } from './preferences.js';
|
|
5
5
|
export { readSubscriptionUsage, readContextUsage, readLocalTokenUsage, readTokenUsage, readMcpStatus, readMcpOauthPending, type ContextUsage, type LocalTokenUsage, type TokenUsage, } from './reads.js';
|
|
@@ -22,6 +22,13 @@ export declare function setSessionThinking(stats: Pick<SessionStats, 'thinkingUi
|
|
|
22
22
|
} | {
|
|
23
23
|
ok: false;
|
|
24
24
|
};
|
|
25
|
+
export declare function getUsageAwareness(stats: Pick<SessionStats, 'usageAwareness'>): boolean;
|
|
26
|
+
export declare function setUsageAwarenessPreference(stats: Pick<SessionStats, 'usageAwareness'>, value: string): {
|
|
27
|
+
ok: true;
|
|
28
|
+
enabled: boolean;
|
|
29
|
+
} | {
|
|
30
|
+
ok: false;
|
|
31
|
+
};
|
|
25
32
|
export declare function readSessionFast(controller: FastModeController, context: FastModeContext): FastModeStatus;
|
|
26
33
|
export declare function setSessionFast(controller: FastModeController, value: string): {
|
|
27
34
|
ok: true;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { renderReceiptMarkdown } from './receipt.render.js';
|
|
2
2
|
import type { HookHandler } from '../hooks.js';
|
|
3
3
|
import { type CostTokens, type SessionCostSource } from './cost.js';
|
|
4
|
+
import { type JournalSummary } from './receipt.journal.js';
|
|
4
5
|
import { type ClosureReason, type ToolFailureClass, type TraceEvent, type TraceEventKind } from './types.js';
|
|
5
6
|
export { renderReceiptMarkdown };
|
|
6
|
-
export
|
|
7
|
+
export { extractJournalSummary, type JournalSummary } from './receipt.journal.js';
|
|
8
|
+
export declare const RECEIPT_SCHEMA_VERSION: 2;
|
|
7
9
|
export interface ReceiptToolFailure {
|
|
8
10
|
toolUseId: string;
|
|
9
11
|
name: string;
|
|
@@ -66,6 +68,7 @@ export interface RunReceipt {
|
|
|
66
68
|
humanReviewRequired: boolean;
|
|
67
69
|
humanReviewReasons: string[];
|
|
68
70
|
limitations: string[];
|
|
71
|
+
journalSummary?: JournalSummary;
|
|
69
72
|
}
|
|
70
73
|
export interface ReceiptMeta {
|
|
71
74
|
tracePath: string;
|
|
@@ -73,6 +76,7 @@ export interface ReceiptMeta {
|
|
|
73
76
|
sessionId?: string;
|
|
74
77
|
endReason?: string;
|
|
75
78
|
now?: Date;
|
|
79
|
+
journalSummary?: JournalSummary;
|
|
76
80
|
}
|
|
77
81
|
export declare function parseTraceJsonl(raw: string): TraceEvent[];
|
|
78
82
|
export declare function receiptPathsFor(tracePath: string): {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { JournalMessage } from '../journal/types.js';
|
|
2
|
+
export interface JournalSummary {
|
|
3
|
+
firstUserMessage?: string;
|
|
4
|
+
lastAssistantMessage?: string;
|
|
5
|
+
toolNames: string[];
|
|
6
|
+
toolUseCount: number;
|
|
7
|
+
messageCount: number;
|
|
8
|
+
textRedacted?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function extractJournalSummary(messages: JournalMessage[] | null, textDisabled: boolean): JournalSummary | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type SessionPhaseName = 'bootstrap_start' | 'bootstrap_done' | 'session_init_start' | 'session_init_done' | 'mcp_connect_start' | 'mcp_connect_done' | 'mcp_server_start' | 'mcp_server_done' | 'loop_start' | 'loop_end' | 'model_ttfb' | 'context_pressure_wind_down' | 'catalog_model_upgrade' | 'interrupt_halt' | 'rate_limit' | 'ttfb_timeout' | 'usage_limit_pause' | 'usage_limit_resume' | 'credential_swap' | 'overload_pause' | 'overload_resume' | 'idle_watchdog_fired' | 'pause_extension_granted' | 'suspected_loop' | 'compaction_disabled' | 'boot_warning' | 'workspace_subscribed' | 'workspace_delivery' | 'gate_shape' | 'session_id_assigned' | 'many_image_degraded' | 'stream_accepted_after_drop' | 'connection_retry' | 'connection_retry_exhausted' | 'connection_failure' | 'connection_recovered' | 'connection_budget_exhausted' | 'usage_notice' | 'tool_degraded' | 'strategy_nudge_fired' | 'stop_inject_dropped' | 'stop_hook_continuation' | 'stop_hook_cap_reached' | 'orphan_repair' | 'thinking_block_dropped' | 'background_process_started' | 'background_process_settled' | 'compose_recovery_decision' | 'compose_leaf_tools_stripped' | 'hook_block_repeat_tripped' | 'billing_settled' | 'subagent_model_fallback' | 'round_cap_notice_dropped' | 'continuation_settle_degraded';
|
|
1
|
+
export type SessionPhaseName = 'bootstrap_start' | 'bootstrap_done' | 'session_init_start' | 'session_init_done' | 'mcp_connect_start' | 'mcp_connect_done' | 'mcp_server_start' | 'mcp_server_done' | 'loop_start' | 'loop_end' | 'model_ttfb' | 'context_pressure_wind_down' | 'catalog_model_upgrade' | 'interrupt_halt' | 'rate_limit' | 'ttfb_timeout' | 'usage_limit_pause' | 'usage_limit_resume' | 'credential_swap' | 'overload_pause' | 'overload_resume' | 'idle_watchdog_fired' | 'pause_extension_granted' | 'suspected_loop' | 'compaction_disabled' | 'boot_warning' | 'workspace_subscribed' | 'workspace_delivery' | 'gate_shape' | 'session_id_assigned' | 'many_image_degraded' | 'stream_accepted_after_drop' | 'connection_retry' | 'connection_retry_exhausted' | 'connection_failure' | 'connection_recovered' | 'connection_budget_exhausted' | 'usage_notice' | 'tool_degraded' | 'strategy_nudge_fired' | 'stop_inject_dropped' | 'stop_hook_continuation' | 'stop_hook_cap_reached' | 'orphan_repair' | 'thinking_block_dropped' | 'background_process_started' | 'background_process_settled' | 'compose_recovery_decision' | 'compose_leaf_tools_stripped' | 'hook_block_repeat_tripped' | 'endpoint_semaphore_wait' | 'billing_settled' | 'subagent_model_fallback' | 'round_cap_notice_dropped' | 'continuation_settle_degraded';
|
|
2
2
|
export interface SessionPhasePayload {
|
|
3
3
|
phase: SessionPhaseName;
|
|
4
4
|
durationMs?: number;
|
|
@@ -22,13 +22,13 @@ Run the four surveys below **directly using your own tools**. Do NOT dispatch an
|
|
|
22
22
|
|
|
23
23
|
### State survey *(bash)*
|
|
24
24
|
|
|
25
|
-
Issue these commands (combine into one or two bash calls):
|
|
26
|
-
- `git
|
|
25
|
+
Issue these commands (combine into one or two bash calls; when running under `git_read` instead of `bash`, adapt accordingly — `git_read` uses an argv allowlist, so use only the long-form flags shown here):
|
|
26
|
+
- `git rev-parse --abbrev-ref HEAD` — current branch
|
|
27
27
|
- `git rev-parse HEAD` — HEAD SHA
|
|
28
28
|
- `git status -s` — uncommitted changes
|
|
29
|
-
- `git log --oneline -5` — recent commit history
|
|
30
|
-
- `git stash list` — stash state
|
|
31
|
-
- `git rev-list --
|
|
29
|
+
- `git log --oneline --max-count=5` — recent commit history
|
|
30
|
+
- `git stash list` — stash state (via `git_read`: subcommand `stash` with no arguments; the tool forces `list`)
|
|
31
|
+
- `git rev-list --count HEAD..@{upstream}` + `git rev-list --count @{upstream}..HEAD` — upstream divergence (ahead / behind)
|
|
32
32
|
|
|
33
33
|
Adapt what you surface to the domain:
|
|
34
34
|
|
|
@@ -110,7 +110,7 @@ After the snapshot is assembled, construct the **Brief Anchor** — a path-verif
|
|
|
110
110
|
|
|
111
111
|
**Construction procedure:**
|
|
112
112
|
|
|
113
|
-
1. From your state survey output, extract the verified `cwd` (absolute path from `pwd`), `branch` (from `git
|
|
113
|
+
1. From your state survey output, extract the verified `cwd` (absolute path from `pwd`), `branch` (from `git rev-parse --abbrev-ref HEAD`), and `HEAD` SHA (from `git rev-parse HEAD`).
|
|
114
114
|
2. From your infrastructure survey output, extract the 2–4 canonical file paths most relevant to the task. For each, run `stat <path>` — include the path only if `stat` exits 0. Paths that fail `stat` are omitted; if zero paths survive, set the list to `(none verified)`.
|
|
115
115
|
3. Assemble the preamble block:
|
|
116
116
|
|
|
@@ -156,6 +156,7 @@ export declare const REPL_SPINNER_OPTIONS: {
|
|
|
156
156
|
};
|
|
157
157
|
export declare function contextRatio(stats: SessionStats, sampler?: ContextSampler): number;
|
|
158
158
|
export declare function formatStatusFields(stats: SessionStats, sampler?: ContextSampler, gitSampler?: GitStatusSampler, maxTurns?: number, backgroundRegistry?: BackgroundAgentRegistry, maxBudgetUsd?: number): {
|
|
159
|
+
usageAwarenessOff?: boolean | undefined;
|
|
159
160
|
activeAgentCount?: number | undefined;
|
|
160
161
|
maxBudgetUsd?: number | undefined;
|
|
161
162
|
budgetUsd?: number | undefined;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function formatTimeAgo(isoString: string, now?: Date): string;
|
|
2
|
+
export interface StartupRecallOpts {
|
|
3
|
+
cwd: string;
|
|
4
|
+
isResume: boolean;
|
|
5
|
+
isTTY: boolean;
|
|
6
|
+
isFirstRun: boolean;
|
|
7
|
+
currentSessionId?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function renderStartupRecall(opts: StartupRecallOpts): string | undefined;
|
|
@@ -48,6 +48,7 @@ export interface StartupBannerParams {
|
|
|
48
48
|
};
|
|
49
49
|
worktreeCwd: string | undefined;
|
|
50
50
|
bootPruneNotice: string | undefined;
|
|
51
|
+
bootPruneRemovedCount?: number;
|
|
51
52
|
}
|
|
52
53
|
export declare function printStartupBanner(params: StartupBannerParams): Promise<void>;
|
|
53
54
|
export interface ResumeValidationResult {
|
|
@@ -11,6 +11,7 @@ export interface AutoRoutingConfig {
|
|
|
11
11
|
export interface CliConfig {
|
|
12
12
|
tools?: {
|
|
13
13
|
disabled?: string[];
|
|
14
|
+
usageAwareness?: boolean;
|
|
14
15
|
};
|
|
15
16
|
apiKey?: string;
|
|
16
17
|
baseUrl?: string;
|
|
@@ -84,6 +85,7 @@ export interface ConfigFileSchema {
|
|
|
84
85
|
tools?: {
|
|
85
86
|
disabled?: string[];
|
|
86
87
|
disabledBySlot?: Partial<Record<string, string[]>>;
|
|
88
|
+
usageAwareness?: boolean;
|
|
87
89
|
};
|
|
88
90
|
model?: string;
|
|
89
91
|
models?: {
|