agent-afk 5.333.0 → 5.335.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/dist/agent/daemon/handoff-store.d.ts +1 -1
- package/dist/agent/daemon/lease-store.d.ts +1 -0
- package/dist/agent/daemon.read-body.d.ts +2 -0
- package/dist/agent/memory/index.d.ts +2 -1
- package/dist/agent/session/model-slots.d.ts +4 -4
- package/dist/agent/session/model-slots.hints.d.ts +1 -1
- package/dist/agent/session/model-slots.output-override.d.ts +1 -0
- package/dist/agent/session/preamble-strip.d.ts +1 -0
- package/dist/agent/session-control/index.d.ts +1 -1
- package/dist/agent/session-control/preferences.d.ts +1 -0
- package/dist/agent/session-ledger-project.d.ts +3 -0
- package/dist/agent/session-ledger-segments.d.ts +39 -0
- package/dist/agent/session-ledger.d.ts +2 -0
- package/dist/cli/_lib/stream-renderer-contexts.d.ts +2 -0
- package/dist/cli/_lib/stream-renderer-lifecycle.d.ts +2 -0
- package/dist/cli/_lib/stream-renderer-options.d.ts +2 -0
- package/dist/cli/_lib/stream-renderer-process.d.ts +2 -0
- package/dist/cli/_lib/stream-renderer-source.d.ts +1 -0
- package/dist/cli/_lib/stream-renderer-subagent.d.ts +2 -0
- package/dist/cli/_lib/stream-renderer.d.ts +1 -0
- package/dist/cli/commands/interactive/shared.d.ts +1 -0
- package/dist/cli/commands/interactive/tool-lane.d.ts +4 -0
- package/dist/cli/commands/interactive/tool-lane.flush.d.ts +1 -0
- package/dist/cli/commands/interactive/tool-lane.queries.d.ts +1 -0
- package/dist/cli/config/types.d.ts +1 -0
- package/dist/cli/input/file-picker-predicate.d.ts +1 -0
- package/dist/cli/input/trigger.d.ts +1 -0
- package/dist/cli/session-store.d.ts +2 -0
- package/dist/cli/slash/commands/afk-md/targets.d.ts +1 -1
- package/dist/cli/slash/types.d.ts +2 -0
- package/dist/cli.mjs +476 -476
- package/dist/config/env.d.ts +49 -28
- package/dist/config/env.model-tiers.d.ts +19 -28
- package/dist/config/env.model-tiers.suggest.d.ts +31 -0
- package/dist/index.mjs +374 -374
- package/dist/insights/html.d.ts +1 -1
- package/dist/insights/html.helpers.d.ts +3 -0
- package/dist/telegram.mjs +395 -395
- package/dist/utils/git.d.ts +1 -0
- package/dist/web-server/elicitation-web.d.ts +1 -0
- package/dist/web-server/live-broker.d.ts +28 -0
- package/dist/web-server/model-catalog-groups.d.ts +19 -0
- package/dist/web-server/routes.commands.d.ts +1 -0
- package/dist/web-server/routes.commands.watchdog.d.ts +8 -0
- package/dist/web-server/routes.d.ts +1 -1
- package/dist/web-server/routes.models.d.ts +1 -1
- package/dist/web-server/routes.rewind.d.ts +3 -0
- package/dist/web-server/server.live.d.ts +10 -0
- package/dist/web-server/server.schedules.d.ts +2 -0
- package/dist/web-server/session-name-head.d.ts +6 -0
- package/dist/web-server/session-owner.autosave.d.ts +6 -1
- package/dist/web-server/session-owner.d.ts +5 -0
- package/dist/web-server/session-owner.mcp-warm.d.ts +6 -0
- package/dist/web-server/session-owner.projection.d.ts +16 -1
- package/dist/web-server/session-owner.wiring.d.ts +1 -0
- package/dist/web-server/session-source.d.ts +1 -0
- package/dist/web-server/shared/command-wire.d.ts +1 -0
- package/dist/web-server/shared/ledger-adapter.d.ts +7 -0
- package/dist/web-server/shared/live-wire.d.ts +24 -0
- package/dist/web-server/stream-route.d.ts +2 -1
- package/dist/web-ui-assets/assets/{angular-html-G2cKI8s3.js → angular-html-yx0ARBV3.js} +1 -1
- package/dist/web-ui-assets/assets/{angular-ts-Dbg6n4y8.js → angular-ts-DbFIkaOk.js} +1 -1
- package/dist/web-ui-assets/assets/{apl-D64VMgkV.js → apl-CD3Z8FMh.js} +1 -1
- package/dist/web-ui-assets/assets/{astro-Cl3AHcKf.js → astro-_a1Mawx8.js} +1 -1
- package/dist/web-ui-assets/assets/{blade-BaqLOt4E.js → blade-BpqE2nqD.js} +1 -1
- package/dist/web-ui-assets/assets/{c-CdaCEkA3.js → c-BPK0oKQW.js} +1 -1
- package/dist/web-ui-assets/assets/{chapel-jSWw1lD8.js → chapel-Bdq2RXcm.js} +1 -1
- package/dist/web-ui-assets/assets/{cobol-B3FAur3H.js → cobol-Dm910cGp.js} +1 -1
- package/dist/web-ui-assets/assets/{coffee-C_YNnHKr.js → coffee-D0vVlahm.js} +1 -1
- package/dist/web-ui-assets/assets/{cpp-k2DmhdJn.js → cpp-L5jZfNPu.js} +1 -1
- package/dist/web-ui-assets/assets/{crystal-D0ZAEmEr.js → crystal-j6TmYh5b.js} +1 -1
- package/dist/web-ui-assets/assets/{css-D7ctuinT.js → css-jMy9cwl8.js} +1 -1
- package/dist/web-ui-assets/assets/dist-tY8VZg98.js +153 -0
- package/dist/web-ui-assets/assets/{edge-BT_sLNqb.js → edge-Dj8o1mwq.js} +1 -1
- package/dist/web-ui-assets/assets/{elixir-BY-WcCQZ.js → elixir-BP3db5sG.js} +1 -1
- package/dist/web-ui-assets/assets/{elm-Bh9xmoSq.js → elm-BhK1MGZm.js} +1 -1
- package/dist/web-ui-assets/assets/{erb-D0HA_2hb.js → erb-DCs8M-ji.js} +1 -1
- package/dist/web-ui-assets/assets/{git-rebase-phN5MgDL.js → git-rebase-B7V_76Wb.js} +1 -1
- package/dist/web-ui-assets/assets/{glimmer-js-p7ASjwLN.js → glimmer-js-L962E3Ig.js} +1 -1
- package/dist/web-ui-assets/assets/{glimmer-ts-Dnn2i1-n.js → glimmer-ts-DMEUTFCF.js} +1 -1
- package/dist/web-ui-assets/assets/{glsl-kr7Sct5s.js → glsl-D7xM7bV0.js} +1 -1
- package/dist/web-ui-assets/assets/{graphql-GY0lkyG6.js → graphql-DNHZHaBi.js} +1 -1
- package/dist/web-ui-assets/assets/{hack-CSnhnTh1.js → hack-DjNXRCZb.js} +1 -1
- package/dist/web-ui-assets/assets/{haml-COJeGn3e.js → haml-DHPU_GTS.js} +1 -1
- package/dist/web-ui-assets/assets/{handlebars-DcGpplin.js → handlebars-CuDHPgaM.js} +1 -1
- package/dist/web-ui-assets/assets/{html-C_-nF5jA.js → html-DRVHoA1v.js} +1 -1
- package/dist/web-ui-assets/assets/{html-derivative-65GvQF5H.js → html-derivative-CLaG6N9I.js} +1 -1
- package/dist/web-ui-assets/assets/{http-CR-Y2vaj.js → http-DtmIjGvn.js} +1 -1
- package/dist/web-ui-assets/assets/{hurl-CT655Xcj.js → hurl-ohOUf-q6.js} +1 -1
- package/dist/web-ui-assets/assets/index-C6Xq_kK1.css +2 -0
- package/dist/web-ui-assets/assets/index-CyKNpQEH.js +94 -0
- package/dist/web-ui-assets/assets/{java-BfXOkHiS.js → java-D6tUjozH.js} +1 -1
- package/dist/web-ui-assets/assets/{javascript-bUx3f4E6.js → javascript-BczpLPbL.js} +1 -1
- package/dist/web-ui-assets/assets/{jinja-CeQJOvgo.js → jinja-CJc-aNgE.js} +1 -1
- package/dist/web-ui-assets/assets/{jison-CDdJF1T3.js → jison-C8TO-j1d.js} +1 -1
- package/dist/web-ui-assets/assets/{json-CNUeAnq3.js → json-qk5ZgNN2.js} +1 -1
- package/dist/web-ui-assets/assets/{jsx-jBPPj-2P.js → jsx-D9_7dCIy.js} +1 -1
- package/dist/web-ui-assets/assets/{julia-Ffo4oiNj.js → julia-Cs6e3o3f.js} +1 -1
- package/dist/web-ui-assets/assets/{just-WoqMhLPN.js → just-CsQqEC-Y.js} +1 -1
- package/dist/web-ui-assets/assets/{latex-DvTPJWnQ.js → latex-CxhRTd_v.js} +1 -1
- package/dist/web-ui-assets/assets/{liquid-BENhv3uZ.js → liquid-DC7vMnn1.js} +1 -1
- package/dist/web-ui-assets/assets/{lua-BuWrCSeh.js → lua-BLG60kKD.js} +1 -1
- package/dist/web-ui-assets/assets/{marko-C57EDP9e.js → marko-BAQaEaSE.js} +1 -1
- package/dist/web-ui-assets/assets/{mdc-DTwJqrEn.js → mdc-BR9-pBt-.js} +1 -1
- package/dist/web-ui-assets/assets/{nginx-btcrmW_3.js → nginx-D7r_KRDk.js} +1 -1
- package/dist/web-ui-assets/assets/{nim-0qpAss6M.js → nim-BM_9isyN.js} +1 -1
- package/dist/web-ui-assets/assets/{org-ChOz5H9b.js → org-DyBPQPnx.js} +1 -1
- package/dist/web-ui-assets/assets/{perl-DkGTCu5B.js → perl-BurvpJIf.js} +1 -1
- package/dist/web-ui-assets/assets/{php-BXq74HRi.js → php-NIIyTcOe.js} +1 -1
- package/dist/web-ui-assets/assets/{pug-VBly3Hrp.js → pug-ChWmTCw3.js} +1 -1
- package/dist/web-ui-assets/assets/{qml-By9BHV0E.js → qml-C4_tPV2a.js} +1 -1
- package/dist/web-ui-assets/assets/{r-wD-EKGhX.js → r-B3YNzF2C.js} +1 -1
- package/dist/web-ui-assets/assets/{razor-C7ua423D.js → razor-C1Y1xIpO.js} +1 -1
- package/dist/web-ui-assets/assets/{regexp-CGw_3plU.js → regexp-BNtP4mWg.js} +1 -1
- package/dist/web-ui-assets/assets/{rst-DYI5KAID.js → rst-CKxT7FdB.js} +1 -1
- package/dist/web-ui-assets/assets/{ruby-RXd2KUyd.js → ruby-Bro1R1oy.js} +1 -1
- package/dist/web-ui-assets/assets/{sas-BI_hDd-V.js → sas-DO8zMqBK.js} +1 -1
- package/dist/web-ui-assets/assets/{scss-BE93nrLY.js → scss-D-rLZprn.js} +1 -1
- package/dist/web-ui-assets/assets/{shellscript-Dm8eyzbm.js → shellscript-1hHXsJy9.js} +1 -1
- package/dist/web-ui-assets/assets/{shellsession-Dl0JKALg.js → shellsession-CT_DBlAY.js} +1 -1
- package/dist/web-ui-assets/assets/{soy-CKNrhHpK.js → soy-doWs1mXa.js} +1 -1
- package/dist/web-ui-assets/assets/{sql-CZNswWPI.js → sql-plJTsAQH.js} +1 -1
- package/dist/web-ui-assets/assets/{stata-DjmrbOUz.js → stata-B284Mk_I.js} +1 -1
- package/dist/web-ui-assets/assets/{surrealql-DqqZx4Ju.js → surrealql-CFyzkNbT.js} +1 -1
- package/dist/web-ui-assets/assets/{svelte-Chj9K27Z.js → svelte-Bw98z8h2.js} +1 -1
- package/dist/web-ui-assets/assets/{templ-BTLqJqYd.js → templ-DDvpKOEP.js} +1 -1
- package/dist/web-ui-assets/assets/{tex-CglhV978.js → tex-BY4qkrJH.js} +1 -1
- package/dist/web-ui-assets/assets/{ts-tags-79bKA5Ly.js → ts-tags-D33UpUyJ.js} +1 -1
- package/dist/web-ui-assets/assets/{tsx-CXyhTYi7.js → tsx-C58vom55.js} +1 -1
- package/dist/web-ui-assets/assets/{twig-BrJR9DgZ.js → twig-CEejFdE2.js} +1 -1
- package/dist/web-ui-assets/assets/{typescript-BR4aBNWU.js → typescript-DiH5Dvqw.js} +1 -1
- package/dist/web-ui-assets/assets/{typst-CAGgcUBq.js → typst-DR7AC2lC.js} +1 -1
- package/dist/web-ui-assets/assets/{vue-B5T6PehN.js → vue-DOJhe2Gn.js} +1 -1
- package/dist/web-ui-assets/assets/{vue-html-CE1dGrtN.js → vue-html-FL5rtnCl.js} +1 -1
- package/dist/web-ui-assets/assets/{vue-vine-Cc40SVDS.js → vue-vine-BpRsuFph.js} +1 -1
- package/dist/web-ui-assets/assets/{xml-CAOCSYKi.js → xml-CY2oPwco.js} +1 -1
- package/dist/web-ui-assets/assets/{xsl-fa6Mwxua.js → xsl-DWbbchMc.js} +1 -1
- package/dist/web-ui-assets/assets/{yaml-CyELmWi2.js → yaml-v3gSCIuY.js} +1 -1
- package/dist/web-ui-assets/index.html +2 -2
- package/package.json +1 -1
- package/dist/web-ui-assets/assets/dist-C2cBizxO.js +0 -13
- package/dist/web-ui-assets/assets/index-eYIUud5F.js +0 -88
- package/dist/web-ui-assets/assets/index-hjXgYuFP.css +0 -2
|
@@ -3,7 +3,6 @@ export interface HandoffRoute {
|
|
|
3
3
|
chatId: number;
|
|
4
4
|
threadId?: number;
|
|
5
5
|
}
|
|
6
|
-
export declare const HANDOFF_STORE_NO_RECORD_PREFIX: "handoff-store: no record found";
|
|
7
6
|
export interface UpdateHandoffResult {
|
|
8
7
|
won: boolean;
|
|
9
8
|
}
|
|
@@ -37,5 +36,6 @@ export interface UpdateHandoffAnswerOpts {
|
|
|
37
36
|
handoffsDir?: string;
|
|
38
37
|
responderIdentity?: string;
|
|
39
38
|
}
|
|
39
|
+
export declare const HANDOFF_STORE_NO_RECORD_PREFIX: "handoff-store: no record found";
|
|
40
40
|
export declare function updateHandoffAnswer(taskId: string, answer: unknown, source: string, opts?: UpdateHandoffAnswerOpts): Promise<UpdateHandoffResult>;
|
|
41
41
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type QueuedTask } from './queue-store.js';
|
|
2
2
|
import { type TaskRecord, type TaskState } from './task-lifecycle.js';
|
|
3
|
+
export declare function atomicWriteJson(dest: string, data: unknown): void;
|
|
3
4
|
export declare function leaseTask(task: QueuedTask, srcPath: string, leaseTtlMs?: number, queueDir?: string): TaskRecord;
|
|
4
5
|
export declare function renewLease(taskId: string, leaseTtlMs?: number, queueDir?: string): void;
|
|
5
6
|
export declare function setLeaseState(taskId: string, state: TaskState, queueDir?: string, expectedState?: TaskState): boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { MemoryStore
|
|
1
|
+
export { MemoryStore } from './memory-store.js';
|
|
2
|
+
export { estimateTokens } from './estimate-tokens.js';
|
|
2
3
|
export { loadHotMemory, injectHotMemory } from './memory-loader.js';
|
|
3
4
|
export { injectGoalPrompt } from '../goals/inject.js';
|
|
4
5
|
export { createMemorySessionEndHook, createChildMemoryHotBlockHook } from './memory-hooks.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type SlotName = 'local' | 'small' | 'medium' | 'large';
|
|
1
|
+
export type SlotName = 'local' | 'small' | 'medium' | 'large' | 'subagent';
|
|
2
2
|
export declare const SLOT_NAMES: readonly SlotName[];
|
|
3
3
|
export type SlotProvider = 'anthropic' | 'openai' | 'chatgpt-oauth' | 'xai' | 'xai-oauth';
|
|
4
4
|
export interface ModelSlotBinding {
|
|
@@ -25,7 +25,8 @@ export declare const GPT_TERRA_ID = "gpt-5.6-terra";
|
|
|
25
25
|
export declare const DEFAULT_SLOT_BINDINGS: ModelSlots;
|
|
26
26
|
export declare const AUTO_SENTINEL = "auto";
|
|
27
27
|
export declare const DIRECT_MODEL_ALIASES: Readonly<Record<string, string>>;
|
|
28
|
-
export { OPENAI_MODEL_HINTS
|
|
28
|
+
export { OPENAI_MODEL_HINTS } from './model-slots.hints.js';
|
|
29
|
+
export declare const MODEL_ALIASES_HINT: readonly string[];
|
|
29
30
|
export declare function setSlotBindings(bindings: ModelSlots | undefined): void;
|
|
30
31
|
export declare function resetSlotBindings(): void;
|
|
31
32
|
export declare function computeSlotBindings(fileOverrides?: Partial<Record<SlotName, ModelSlotBinding>>): ModelSlots;
|
|
@@ -37,6 +38,5 @@ export declare function unconfiguredSlotError(input: string | undefined, binding
|
|
|
37
38
|
export declare function parseModelsConfig(raw: unknown): Partial<Record<SlotName, ModelSlotBinding>>;
|
|
38
39
|
export { coerceSlotBindingInput } from './model-slots.coerce.js';
|
|
39
40
|
export declare const MAX_CONTEXT_WINDOW_OVERRIDE = 10000000;
|
|
40
|
-
export
|
|
41
|
-
export { maxOutputTokensOverrideFor } from './model-slots.output-override.js';
|
|
41
|
+
export { maxOutputTokensOverrideFor, contextWindowOverrideFor } from './model-slots.output-override.js';
|
|
42
42
|
export declare function _resetJsonStringSlotWarnings(): void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const OPENAI_MODEL_HINTS: readonly string[];
|
|
2
|
-
export declare
|
|
2
|
+
export declare function getModelAliasesHint(): readonly string[];
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import type { ModelSlots } from './model-slots.js';
|
|
2
2
|
export declare function maxOutputTokensOverrideFor(concreteId: string, bindings?: ModelSlots): number | undefined;
|
|
3
|
+
export declare function contextWindowOverrideFor(concreteId: string, bindings?: ModelSlots): number | undefined;
|
|
@@ -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, 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, } from './preferences.js';
|
|
5
5
|
export { readSubscriptionUsage, readContextUsage, readLocalTokenUsage, readTokenUsage, readMcpStatus, readMcpOauthPending, type ContextUsage, type LocalTokenUsage, type TokenUsage, } from './reads.js';
|
|
@@ -13,6 +13,7 @@ export type SetSessionNameResult = {
|
|
|
13
13
|
saveError?: unknown;
|
|
14
14
|
};
|
|
15
15
|
export declare function setSessionName(stats: SessionStats, raw: string, options?: SessionNameOptions): SetSessionNameResult;
|
|
16
|
+
export declare function sessionDisplayName(raw: string): string;
|
|
16
17
|
export declare const THINKING_MODES: readonly ThinkingUiMode[];
|
|
17
18
|
export declare function getSessionThinking(stats: Pick<SessionStats, 'thinkingUi'>): ThinkingUiMode;
|
|
18
19
|
export declare function setSessionThinking(stats: Pick<SessionStats, 'thinkingUi'>, value: string): {
|
|
@@ -18,9 +18,11 @@ export type LedgerPayload = {
|
|
|
18
18
|
} | {
|
|
19
19
|
kind: 'assistant';
|
|
20
20
|
text: string;
|
|
21
|
+
seg?: number;
|
|
21
22
|
} | {
|
|
22
23
|
kind: 'thinking';
|
|
23
24
|
text: string;
|
|
25
|
+
seg?: number;
|
|
24
26
|
} | {
|
|
25
27
|
kind: 'tool';
|
|
26
28
|
toolName: string;
|
|
@@ -103,6 +105,7 @@ export type LedgerPayload = {
|
|
|
103
105
|
reason?: string;
|
|
104
106
|
};
|
|
105
107
|
export declare const MAX_TEXT_LEN = 8000;
|
|
108
|
+
export declare const MAX_ASSISTANT_TEXT_LEN = 256000;
|
|
106
109
|
export declare const MAX_TOOL_INPUT_LEN = 400;
|
|
107
110
|
export declare function clip(text: string, max: number): string;
|
|
108
111
|
export declare function projectOutputEvent(event: OutputEvent): LedgerPayload | null;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { OutputEvent } from './types/session-types.js';
|
|
2
|
+
import { type LedgerPayload } from './session-ledger-project.js';
|
|
3
|
+
export type SegmentPart = 'text' | 'thinking';
|
|
4
|
+
export type SegmentStep = {
|
|
5
|
+
op: 'delta';
|
|
6
|
+
seg: number;
|
|
7
|
+
part: SegmentPart;
|
|
8
|
+
offset: number;
|
|
9
|
+
text: string;
|
|
10
|
+
} | {
|
|
11
|
+
op: 'reset';
|
|
12
|
+
seg: number;
|
|
13
|
+
part: SegmentPart;
|
|
14
|
+
} | {
|
|
15
|
+
op: 'seal';
|
|
16
|
+
seg: number;
|
|
17
|
+
part: SegmentPart;
|
|
18
|
+
} | {
|
|
19
|
+
op: 'record';
|
|
20
|
+
payload: LedgerPayload;
|
|
21
|
+
};
|
|
22
|
+
export declare function isSegmentEvent(event: OutputEvent): boolean;
|
|
23
|
+
export declare class SegmentTracker {
|
|
24
|
+
private next;
|
|
25
|
+
private text;
|
|
26
|
+
private thinking;
|
|
27
|
+
private lastSealedText;
|
|
28
|
+
beginTurn(): SegmentStep[];
|
|
29
|
+
openSegments(): {
|
|
30
|
+
seg: number;
|
|
31
|
+
part: SegmentPart;
|
|
32
|
+
text: string;
|
|
33
|
+
}[];
|
|
34
|
+
observe(event: OutputEvent): SegmentStep[];
|
|
35
|
+
flush(): SegmentStep[];
|
|
36
|
+
private append;
|
|
37
|
+
private message;
|
|
38
|
+
private seal;
|
|
39
|
+
}
|
|
@@ -12,10 +12,12 @@ export declare class SessionLedgerWriter {
|
|
|
12
12
|
private pendingLines;
|
|
13
13
|
private readyPromise;
|
|
14
14
|
private readyResolve;
|
|
15
|
+
private readonly segments;
|
|
15
16
|
constructor(sessionId: string);
|
|
16
17
|
get active(): boolean;
|
|
17
18
|
record(payload: import('./session-ledger-project.js').LedgerPayload): void;
|
|
18
19
|
recordEvent(event: OutputEvent): void;
|
|
20
|
+
private writeSteps;
|
|
19
21
|
recordUser(text: string, input?: string): void;
|
|
20
22
|
private _openStream;
|
|
21
23
|
private _writeLine;
|
|
@@ -12,6 +12,7 @@ import type { CommitCoordinator } from './commit-coordinator.js';
|
|
|
12
12
|
import type { SourceState } from './stream-renderer-source.js';
|
|
13
13
|
import type { ChildActivityTracker } from './child-activity-select.js';
|
|
14
14
|
import type { ThoughtSummaryHold } from './thought-summary-hold.js';
|
|
15
|
+
import type { CompletionWriter } from '../commands/interactive/shared.js';
|
|
15
16
|
export declare function makeOrchestratorCtx(args: {
|
|
16
17
|
out: Writer;
|
|
17
18
|
isTTY: boolean;
|
|
@@ -39,6 +40,7 @@ export declare function makeSubagentCtx(args: {
|
|
|
39
40
|
streamingMarkdown: Map<string, StreamingMarkdownRenderer>;
|
|
40
41
|
thinkingMode: 'off' | 'summary' | 'live' | 'digest';
|
|
41
42
|
orchestratorCtx: OrchestratorCtx;
|
|
43
|
+
completionWriter?: CompletionWriter;
|
|
42
44
|
}): SubagentCtx;
|
|
43
45
|
export declare function resolveParentSyntheticId(args: {
|
|
44
46
|
parentId: string | undefined;
|
|
@@ -9,6 +9,8 @@ import type { StreamingMarkdownRenderer } from '../markdown-stream.js';
|
|
|
9
9
|
import type { Writer } from '../slash/types.js';
|
|
10
10
|
import type { ProgressEvent } from '../../agent/types.js';
|
|
11
11
|
import { type TtfbTickCtx } from './stream-renderer-ttfb.js';
|
|
12
|
+
export declare const WAITING_LABEL_PREFIX = " \u00B7 waiting ";
|
|
13
|
+
export declare const AWAITING_LABEL_PREFIX = " \u00B7 awaiting ";
|
|
12
14
|
export interface LifecycleContext extends TtfbTickCtx {
|
|
13
15
|
compositor: TerminalCompositor | null;
|
|
14
16
|
overlayComposer: OverlayComposer | null;
|
|
@@ -3,9 +3,11 @@ import type { IHistoryRing } from '../input/types.js';
|
|
|
3
3
|
import type { AutocompleteState } from '../input/autocomplete-state.js';
|
|
4
4
|
import type { TerminalCompositor } from '../terminal-compositor.js';
|
|
5
5
|
import type { PreviewDiffRef } from '../../agent/tools/hooks/edit-preview-hook.js';
|
|
6
|
+
import type { CompletionWriter } from '../commands/interactive/shared.js';
|
|
6
7
|
export interface StreamRendererOptions {
|
|
7
8
|
skillIdentity?: import('./skill-identity-format.js').SkillIdentity;
|
|
8
9
|
out: Writer;
|
|
10
|
+
completionWriter?: CompletionWriter;
|
|
9
11
|
thinkingMode?: 'off' | 'summary' | 'live' | 'digest';
|
|
10
12
|
onCancel?: () => void;
|
|
11
13
|
onBackground?: () => void;
|
|
@@ -10,6 +10,7 @@ import type { CommitCoordinator } from './commit-coordinator.js';
|
|
|
10
10
|
import type { ChildActivityTracker } from './child-activity-select.js';
|
|
11
11
|
import type { InFlightToolTracker } from '../input/work-derived-verb.js';
|
|
12
12
|
import type { OrchestratorCtx } from './stream-renderer-orchestrator.js';
|
|
13
|
+
import type { CompletionWriter } from '../commands/interactive/shared.js';
|
|
13
14
|
import type { LoopStage, StageSignals } from '../commands/interactive/loop-stage.js';
|
|
14
15
|
import { type SourceState } from './stream-renderer-source.js';
|
|
15
16
|
export interface ProcessCtx {
|
|
@@ -34,5 +35,6 @@ export interface ProcessCtx {
|
|
|
34
35
|
activeSkillName: string | undefined;
|
|
35
36
|
onStageChange: ((stage: LoopStage, signals?: StageSignals) => void) | undefined;
|
|
36
37
|
buildOrchestratorCtx: () => OrchestratorCtx;
|
|
38
|
+
completionWriter?: CompletionWriter;
|
|
37
39
|
}
|
|
38
40
|
export declare function processEvent(ctx: ProcessCtx, event: OutputEvent, meta?: SubagentProgressMeta): void;
|
|
@@ -3,6 +3,7 @@ import type { SourceState } from './stream-renderer-source.js';
|
|
|
3
3
|
import type { TerminalCompositor } from '../terminal-compositor.js';
|
|
4
4
|
import type { ToolLane } from '../commands/interactive/tool-lane.js';
|
|
5
5
|
import type { Writer } from '../slash/types.js';
|
|
6
|
+
import type { CompletionWriter } from '../commands/interactive/shared.js';
|
|
6
7
|
import type { CardSpec } from '../render.js';
|
|
7
8
|
import { StreamingMarkdownRenderer } from '../markdown-stream.js';
|
|
8
9
|
import type { OrchestratorCtx } from './stream-renderer-orchestrator.js';
|
|
@@ -12,6 +13,7 @@ export interface SubagentCtx {
|
|
|
12
13
|
compositor: TerminalCompositor | null;
|
|
13
14
|
toolLane: ToolLane;
|
|
14
15
|
out: Writer;
|
|
16
|
+
completionWriter?: CompletionWriter;
|
|
15
17
|
streamingMarkdown: Map<string, StreamingMarkdownRenderer>;
|
|
16
18
|
thinkingMode: 'off' | 'summary' | 'live' | 'digest';
|
|
17
19
|
orchestratorCtx?: OrchestratorCtx;
|
|
@@ -45,6 +45,7 @@ export declare class StreamRenderer {
|
|
|
45
45
|
private ttfbDone;
|
|
46
46
|
private lastTtfbAnnotation;
|
|
47
47
|
private readonly addPreviewDiffRef;
|
|
48
|
+
private completionWriter;
|
|
48
49
|
readonly sink: (event: OutputEvent, meta?: SubagentProgressMeta) => void;
|
|
49
50
|
constructor(opts: StreamRendererOptions);
|
|
50
51
|
arm(): Promise<void>;
|
|
@@ -108,6 +108,7 @@ export interface CompletionWriter {
|
|
|
108
108
|
fn: (line: string) => void;
|
|
109
109
|
idleFn: (line: string) => void;
|
|
110
110
|
suppressSubagentCompletion?: boolean;
|
|
111
|
+
renderedSubagentIds?: Set<string>;
|
|
111
112
|
}
|
|
112
113
|
export interface TurnHandles {
|
|
113
114
|
setInFlight(v: boolean): void;
|
|
@@ -11,6 +11,7 @@ export declare class ToolLane {
|
|
|
11
11
|
private entries;
|
|
12
12
|
private order;
|
|
13
13
|
private agentIdStack;
|
|
14
|
+
private absorbedIds;
|
|
14
15
|
private lastElapsedSecond;
|
|
15
16
|
private activeTools;
|
|
16
17
|
flash: ToolLaneFlash | null;
|
|
@@ -20,6 +21,8 @@ export declare class ToolLane {
|
|
|
20
21
|
compactScrollback: boolean;
|
|
21
22
|
addStart(toolUseId: string, toolName: string, toolInput: string): void;
|
|
22
23
|
addStartWithAgentContext(toolUseId: string, toolName: string, toolInput: string, agentContext: string | undefined, maxWidth?: number): void;
|
|
24
|
+
annotateIfPresent(toolUseId: string, toolName: string, toolInput: string): boolean;
|
|
25
|
+
countLiveChildAgents(parentId: string): number;
|
|
23
26
|
mergeAgentLabel(parentToolUseId: string, label: string, maxWidth?: number): boolean;
|
|
24
27
|
setSkillIdentity(toolUseId: string, identity: SkillIdentity): void;
|
|
25
28
|
setAgentContext(toolUseId: string, agentContext: string | undefined): void;
|
|
@@ -42,5 +45,6 @@ export declare class ToolLane {
|
|
|
42
45
|
flushSource(parentId: string, homeDir?: string): string[];
|
|
43
46
|
flushCompletedRoots(homeDir?: string): string[];
|
|
44
47
|
flush(homeDir?: string): string[];
|
|
48
|
+
isAbsorbed(id: string): boolean;
|
|
45
49
|
}
|
|
46
50
|
export { formatToolLine, formatToolResultLine };
|
|
@@ -4,6 +4,7 @@ export interface ToolLaneFlushHost {
|
|
|
4
4
|
order: string[];
|
|
5
5
|
agentIdStack: string[];
|
|
6
6
|
readonly compactScrollback: boolean;
|
|
7
|
+
absorbedIds: Set<string>;
|
|
7
8
|
}
|
|
8
9
|
export declare function flushSource(host: ToolLaneFlushHost, parentId: string, homeDir?: string): string[];
|
|
9
10
|
export declare function flushCompletedRoots(host: ToolLaneFlushHost, homeDir?: string): string[];
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import type { Entry } from './tool-lane-render.js';
|
|
2
2
|
export declare function trailingCompletedRootToolName(entries: ReadonlyMap<string, Entry>, order: readonly string[]): string | undefined;
|
|
3
|
+
export declare function liveChildAgentCount(entries: ReadonlyMap<string, Entry>, parentId: string): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function shouldFilePickerSubmit(candidate: string | undefined): boolean;
|
|
@@ -6,6 +6,7 @@ export declare function buildSlashUniverse(): CommandEntry[];
|
|
|
6
6
|
export interface FileDirent {
|
|
7
7
|
name: string;
|
|
8
8
|
isDirectory(): boolean;
|
|
9
|
+
isSymbolicLink?(): boolean;
|
|
9
10
|
}
|
|
10
11
|
export declare const FILE_SCAN_TTL_MS = 2000;
|
|
11
12
|
export declare function invalidateFileScanCache(): void;
|
|
@@ -5,6 +5,8 @@ import { type SessionBinding, type SessionHandle } from '../agent/session/sessio
|
|
|
5
5
|
export interface StoredSession {
|
|
6
6
|
sessionId?: string;
|
|
7
7
|
name?: string;
|
|
8
|
+
nameExplicit?: boolean;
|
|
9
|
+
displayName?: string;
|
|
8
10
|
source?: 'cli' | 'telegram' | 'daemon' | 'web';
|
|
9
11
|
telegramChatId?: number;
|
|
10
12
|
model: AgentModelInput;
|
|
@@ -9,7 +9,7 @@ export interface AfkMdTarget {
|
|
|
9
9
|
blank: boolean;
|
|
10
10
|
duplicate: boolean;
|
|
11
11
|
}
|
|
12
|
-
export
|
|
12
|
+
export { OVERLAY_TOKEN_WARN_THRESHOLD as OVERLAY_TOKEN_WARN_THRESHOLD } from '../../../config/afk-md-tier.js';
|
|
13
13
|
export declare function resolveTargets(cwd?: string): AfkMdTarget[];
|
|
14
14
|
export declare function targetFor(scope: AfkMdScope, cwd?: string): AfkMdTarget;
|
|
15
15
|
export declare function contributes(t: AfkMdTarget): boolean;
|