agent-afk 5.291.0 → 5.292.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.
Files changed (130) hide show
  1. package/dist/agent/provider.d.ts +3 -0
  2. package/dist/agent/providers/anthropic-direct/usage-limit.error.d.ts +5 -0
  3. package/dist/agent/providers/openai-compatible/loop.d.ts +4 -1
  4. package/dist/agent/providers/openai-compatible/query/chatgpt-usage-limit.d.ts +8 -0
  5. package/dist/agent/providers/openai-compatible/responses-translate.d.ts +2 -0
  6. package/dist/agent/providers/shared/usage-limit-error.d.ts +4 -0
  7. package/dist/agent/tools/skill-executor/fork-dispatch.d.ts +2 -1
  8. package/dist/agent/tools/skill-executor/fork-identity.d.ts +3 -0
  9. package/dist/agent/types/session-types.d.ts +4 -0
  10. package/dist/agent/types/skill-identity.d.ts +5 -0
  11. package/dist/agent/usage/usage-formatter.d.ts +4 -0
  12. package/dist/agent/usage/usage-limit-info.d.ts +3 -0
  13. package/dist/cli/_lib/skill-identity-format.d.ts +11 -0
  14. package/dist/cli/_lib/skill-identity-state.d.ts +11 -0
  15. package/dist/cli/_lib/stream-renderer-contexts.d.ts +1 -0
  16. package/dist/cli/_lib/stream-renderer-lifecycle.d.ts +2 -0
  17. package/dist/cli/_lib/stream-renderer-options.d.ts +1 -0
  18. package/dist/cli/_lib/stream-renderer-orchestrator.d.ts +2 -0
  19. package/dist/cli/_lib/stream-renderer.d.ts +1 -0
  20. package/dist/cli/commands/interactive/peer-arrival-format.d.ts +3 -0
  21. package/dist/cli/commands/interactive/tool-lane.d.ts +2 -0
  22. package/dist/cli/commands/interactive/tool-lane.labels.d.ts +2 -0
  23. package/dist/cli/commands/interactive/turn-handler.paused.d.ts +1 -0
  24. package/dist/cli/errors/classifier.d.ts +1 -1
  25. package/dist/cli/render/usage-limit-box.d.ts +3 -0
  26. package/dist/cli/slash/_lib/create-skill-renderer.d.ts +1 -0
  27. package/dist/cli.mjs +327 -326
  28. package/dist/improve/schemas.d.ts +2 -2
  29. package/dist/index.mjs +144 -144
  30. package/dist/telegram/error-utils.d.ts +3 -1
  31. package/dist/telegram/streaming.handlers.d.ts +3 -0
  32. package/dist/telegram/streaming.paused-copy.d.ts +10 -0
  33. package/dist/telegram.mjs +166 -166
  34. package/dist/utils/errors.d.ts +15 -0
  35. package/dist/web-ui-assets/assets/{ada-bCR0ucgS.js → ada-BIOnG6TC.js} +1 -1
  36. package/dist/web-ui-assets/assets/{ahk-CsyLZFj1.js → ahk-BrbAagtO.js} +1 -1
  37. package/dist/web-ui-assets/assets/{angular-html-DA-rfuFy.js → angular-html-D_SYSyRt.js} +1 -1
  38. package/dist/web-ui-assets/assets/{angular-ts-BrjP3tb8.js → angular-ts-DGq0tZX5.js} +1 -1
  39. package/dist/web-ui-assets/assets/{apl-CORt7UWP.js → apl-ChzvTHjC.js} +1 -1
  40. package/dist/web-ui-assets/assets/{astro-HNnZUWAn.js → astro-DTjqU0_L.js} +1 -1
  41. package/dist/web-ui-assets/assets/beancount-BgSHGh8x.js +1 -0
  42. package/dist/web-ui-assets/assets/{blade-2xfisSek.js → blade-k33SngOZ.js} +1 -1
  43. package/dist/web-ui-assets/assets/{cobol-nBiQ_Alo.js → cobol-BBKr1ja6.js} +1 -1
  44. package/dist/web-ui-assets/assets/coq-BqXF5kFF.js +1 -0
  45. package/dist/web-ui-assets/assets/{crystal-DGywbUpC.js → crystal-LUwhHfY5.js} +1 -1
  46. package/dist/web-ui-assets/assets/csharp-B_TYUkTI.js +1 -0
  47. package/dist/web-ui-assets/assets/css-Z72CF80r.js +1 -0
  48. package/dist/web-ui-assets/assets/dart-CtKP3W-j.js +1 -0
  49. package/dist/web-ui-assets/assets/dotenv-De0Btta0.js +1 -0
  50. package/dist/web-ui-assets/assets/{edge-FbVlp4U3.js → edge-CJaD-t2L.js} +1 -1
  51. package/dist/web-ui-assets/assets/{elixir-CkH2-t6x.js → elixir-DkJLSxtU.js} +1 -1
  52. package/dist/web-ui-assets/assets/emacs-lisp-DaIrSCgJ.js +1 -0
  53. package/dist/web-ui-assets/assets/{erb-DXfck5VN.js → erb-CSMaCouu.js} +1 -1
  54. package/dist/web-ui-assets/assets/{glimmer-js-ByusRIyA.js → glimmer-js-Drrc9bTt.js} +1 -1
  55. package/dist/web-ui-assets/assets/{glimmer-ts-BfAWNZQY.js → glimmer-ts-zeybXsvi.js} +1 -1
  56. package/dist/web-ui-assets/assets/gn-8iBmfbXw.js +1 -0
  57. package/dist/web-ui-assets/assets/{hack-BWmVpMyf.js → hack-Ck6-gGSS.js} +1 -1
  58. package/dist/web-ui-assets/assets/{haml-D5jkg6IW.js → haml-GN_XdMnF.js} +1 -1
  59. package/dist/web-ui-assets/assets/handlebars-DPT5vKgj.js +1 -0
  60. package/dist/web-ui-assets/assets/{html-pp8916En.js → html-BlS82ilI.js} +1 -1
  61. package/dist/web-ui-assets/assets/{html-derivative-DlHx6ybY.js → html-derivative-DZhk3IEZ.js} +1 -1
  62. package/dist/web-ui-assets/assets/{index-gg5vv6YH.js → index-CcN04Dl-.js} +1 -1
  63. package/dist/web-ui-assets/assets/{index-BtgJsRFJ.js → index-HrybHVLc.js} +16 -16
  64. package/dist/web-ui-assets/assets/{jinja-f2NsQr07.js → jinja-DFQZVq3b.js} +1 -1
  65. package/dist/web-ui-assets/assets/{julia-5Bft2YPA.js → julia-Cu79e8SL.js} +1 -1
  66. package/dist/web-ui-assets/assets/{just-Cwhn7H3k.js → just-CMxyWJJc.js} +1 -1
  67. package/dist/web-ui-assets/assets/latex-DJVikpzR.js +1 -0
  68. package/dist/web-ui-assets/assets/{liquid-C0sCDyMI.js → liquid-B-duXHXw.js} +1 -1
  69. package/dist/web-ui-assets/assets/luau-nOZpfvQi.js +1 -0
  70. package/dist/web-ui-assets/assets/marko-BYgDmDgU.js +1 -0
  71. package/dist/web-ui-assets/assets/{mdc-D1_yUvq7.js → mdc-DF4WjDMn.js} +1 -1
  72. package/dist/web-ui-assets/assets/monokai-CR4piiQ-.js +1 -0
  73. package/dist/web-ui-assets/assets/moonbit-Bag4Rp_g.js +1 -0
  74. package/dist/web-ui-assets/assets/nextflow-BCxp2Aob.js +1 -0
  75. package/dist/web-ui-assets/assets/{nextflow-groovy-vE_lwT2v.js → nextflow-groovy-CedDknKX.js} +1 -1
  76. package/dist/web-ui-assets/assets/{nim-BIad80T-.js → nim-nV83PyhX.js} +1 -1
  77. package/dist/web-ui-assets/assets/nushell-BXD5iret.js +1 -0
  78. package/dist/web-ui-assets/assets/one-dark-pro-CxGP3dtY.js +1 -0
  79. package/dist/web-ui-assets/assets/{org-DM6o9KBp.js → org-6a7ccXN_.js} +1 -1
  80. package/dist/web-ui-assets/assets/{perl-B9cMNwum.js → perl-5klg-GXX.js} +1 -1
  81. package/dist/web-ui-assets/assets/php-DoruYMF0.js +1 -0
  82. package/dist/web-ui-assets/assets/{powershell-BmBUJMz7.js → powershell-Dd0kTxKP.js} +1 -1
  83. package/dist/web-ui-assets/assets/{pug-DKIMFp6K.js → pug-BtYPkAgq.js} +1 -1
  84. package/dist/web-ui-assets/assets/{razor-BjBPvh-w.js → razor-CyjPwjZj.js} +1 -1
  85. package/dist/web-ui-assets/assets/red-DMbB5_pp.js +1 -0
  86. package/dist/web-ui-assets/assets/{rst-bs7f0vWN.js → rst-CVOjT0e7.js} +1 -1
  87. package/dist/web-ui-assets/assets/{ruby-C0TQ7zu5.js → ruby-C8rp0wew.js} +1 -1
  88. package/dist/web-ui-assets/assets/rust-DPvrY3IQ.js +1 -0
  89. package/dist/web-ui-assets/assets/{sas-DEy46yEz.js → sas-BGn39htG.js} +1 -1
  90. package/dist/web-ui-assets/assets/{scss-D5BDwBP9.js → scss-Cw6XMfVs.js} +1 -1
  91. package/dist/web-ui-assets/assets/solarized-dark-UcubFVte.js +1 -0
  92. package/dist/web-ui-assets/assets/solarized-light-DCG28T6R.js +1 -0
  93. package/dist/web-ui-assets/assets/{soy-8wufbnw4.js → soy-zscZBeg6.js} +1 -1
  94. package/dist/web-ui-assets/assets/sql-DkvoVjww.js +1 -0
  95. package/dist/web-ui-assets/assets/{stata-DI20mbqo.js → stata-DACIj5bg.js} +1 -1
  96. package/dist/web-ui-assets/assets/{svelte-Cy7k_4gC.js → svelte-D84K1R2Q.js} +1 -1
  97. package/dist/web-ui-assets/assets/{templ-DhtptRzy.js → templ-Vpw5XpSW.js} +1 -1
  98. package/dist/web-ui-assets/assets/{ts-tags-D351s5mN.js → ts-tags-Ls60c9xG.js} +1 -1
  99. package/dist/web-ui-assets/assets/twig-D9-LOF2p.js +1 -0
  100. package/dist/web-ui-assets/assets/typespec-ClX509-Q.js +1 -0
  101. package/dist/web-ui-assets/assets/{typst-BUadGCkm.js → typst-DamkJZ1Q.js} +1 -1
  102. package/dist/web-ui-assets/assets/{vue-BqiEGhQt.js → vue-DSqPwMUe.js} +1 -1
  103. package/dist/web-ui-assets/assets/{vue-vine-BoDAl6tE.js → vue-vine-C0RcJ6UU.js} +1 -1
  104. package/dist/web-ui-assets/index.html +1 -1
  105. package/package.json +5 -5
  106. package/dist/web-ui-assets/assets/beancount-k_qm7-4y.js +0 -1
  107. package/dist/web-ui-assets/assets/coq-C7JzOVbR.js +0 -1
  108. package/dist/web-ui-assets/assets/csharp-DSvCPggb.js +0 -1
  109. package/dist/web-ui-assets/assets/css-CLj8gQPS.js +0 -1
  110. package/dist/web-ui-assets/assets/dart-bE4Kk8sk.js +0 -1
  111. package/dist/web-ui-assets/assets/dotenv-Da5cRb03.js +0 -1
  112. package/dist/web-ui-assets/assets/emacs-lisp-C_m_b--Z.js +0 -1
  113. package/dist/web-ui-assets/assets/gn-n2N0HUVH.js +0 -1
  114. package/dist/web-ui-assets/assets/handlebars-BpdQsYii.js +0 -1
  115. package/dist/web-ui-assets/assets/latex-D5pSuvFb.js +0 -1
  116. package/dist/web-ui-assets/assets/luau-BnpPk5vE.js +0 -1
  117. package/dist/web-ui-assets/assets/marko-DjSrsDqO.js +0 -1
  118. package/dist/web-ui-assets/assets/monokai-BRVnQi9A.js +0 -1
  119. package/dist/web-ui-assets/assets/moonbit-CHtswR0a.js +0 -1
  120. package/dist/web-ui-assets/assets/nextflow-C-mBbutL.js +0 -1
  121. package/dist/web-ui-assets/assets/nushell-D3jzshHO.js +0 -1
  122. package/dist/web-ui-assets/assets/one-dark-pro-DVMEJ2y_.js +0 -1
  123. package/dist/web-ui-assets/assets/php-Csjmro_R.js +0 -1
  124. package/dist/web-ui-assets/assets/red-hvxz__6c.js +0 -1
  125. package/dist/web-ui-assets/assets/rust-B1yitclQ.js +0 -1
  126. package/dist/web-ui-assets/assets/solarized-dark-CpvCGNkr.js +0 -1
  127. package/dist/web-ui-assets/assets/solarized-light-Dlz6yCKv.js +0 -1
  128. package/dist/web-ui-assets/assets/sql-CRqJ_cUM.js +0 -1
  129. package/dist/web-ui-assets/assets/twig-27uCiNez.js +0 -1
  130. package/dist/web-ui-assets/assets/typespec-CAFt9gP4.js +0 -1
@@ -1,6 +1,7 @@
1
1
  import type { ContentBlockParam } from '@anthropic-ai/sdk/resources';
2
2
  import type { AgentConfig } from './types/config-types.js';
3
3
  import type { ToolFailureClass } from './trace/types.js';
4
+ import type { UsageLimitProvider } from '../utils/errors.js';
4
5
  export interface ProviderSessionInfo {
5
6
  sessionId: string;
6
7
  model?: string;
@@ -143,6 +144,8 @@ export type ProviderEvent = {
143
144
  accountId?: string;
144
145
  autoResume?: boolean;
145
146
  waitDeadline?: Date;
147
+ provider?: UsageLimitProvider;
148
+ plan?: string;
146
149
  } | {
147
150
  type: 'resumed';
148
151
  hotSwapped: boolean;
@@ -0,0 +1,5 @@
1
+ import type { ProviderEvent } from '../../provider.js';
2
+ import type { UsageLimitInfo } from '../../../utils/errors.js';
3
+ export declare function anthropicSubscriptionLimit(resetsAt?: Date): UsageLimitInfo;
4
+ export declare function anthropicLimitErrorEvent(event: ProviderEvent, resetsAt?: Date): ProviderEvent;
5
+ export declare function anthropicCreditErrorEvent(event: ProviderEvent): ProviderEvent;
@@ -11,7 +11,10 @@ export interface OpenAIFunctionTool {
11
11
  };
12
12
  }
13
13
  export declare function toolDefsToOpenAIFunctions(defs: readonly AnthropicToolDef[]): OpenAIFunctionTool[];
14
- export declare function accumulatedToolCallsToToolCalls(calls: readonly AccumulatedToolCall[], signal: AbortSignal): {
14
+ export declare function toolsRequiringArgs(defs: readonly AnthropicToolDef[]): Set<string>;
15
+ export declare function requiredArgToolsOf(dispatcher: unknown): Set<string> | undefined;
16
+ export declare function noArgumentsReceivedMessage(name: string): string;
17
+ export declare function accumulatedToolCallsToToolCalls(calls: readonly AccumulatedToolCall[], signal: AbortSignal, requiredArgTools?: ReadonlySet<string>): {
15
18
  calls: ToolCall[];
16
19
  parseErrors: Map<string, string>;
17
20
  };
@@ -0,0 +1,8 @@
1
+ export declare const CHATGPT_USAGE_LIMIT_TYPE = "usage_limit_reached";
2
+ export interface ChatGptUsageLimitInfo {
3
+ resetsAt?: Date;
4
+ plan?: string;
5
+ windowMinutes?: number;
6
+ }
7
+ export declare function classifyChatGptUsageLimit(err: unknown, now?: number): ChatGptUsageLimitInfo | null;
8
+ export declare function isChatGptUsageLimitError(err: unknown): boolean;
@@ -5,6 +5,8 @@ export interface ResponsesStreamEvent {
5
5
  delta?: string;
6
6
  output_index?: number;
7
7
  item_id?: string;
8
+ arguments?: string;
9
+ name?: string;
8
10
  item?: {
9
11
  type?: string;
10
12
  id?: string;
@@ -0,0 +1,4 @@
1
+ import type { ProviderEvent } from '../../provider.js';
2
+ import { UsageLimitError, type UsageLimitInfo } from '../../../utils/errors.js';
3
+ export declare function toUsageLimitError(cause: unknown, info: UsageLimitInfo, now?: number): UsageLimitError;
4
+ export declare function usageLimitErrorEvent(event: ProviderEvent, info: UsageLimitInfo): ProviderEvent;
@@ -5,11 +5,12 @@ import { type JournalParentHolder } from './fork-child-config.js';
5
5
  import type { SkillExecutorInternals } from './types.js';
6
6
  export declare function executeForkedRegistrySkill(internals: SkillExecutorInternals, skill: {
7
7
  name: string;
8
+ description?: string;
8
9
  context?: 'inline' | 'fork' | 'load';
9
10
  model?: string;
10
11
  readOnly?: boolean;
11
12
  }, args: string | undefined, call: ToolCall): Promise<ToolResult>;
12
- export declare function executePluginSkill(internals: SkillExecutorInternals, skillName: string, body: string, pluginPath: string, args: string | undefined, call: ToolCall, readOnly?: boolean, allowedTools?: string[], model?: string): Promise<ToolResult>;
13
+ export declare function executePluginSkill(internals: SkillExecutorInternals, skillName: string, body: string, pluginPath: string, args: string | undefined, call: ToolCall, readOnly?: boolean, allowedTools?: string[], model?: string, description?: string): Promise<ToolResult>;
13
14
  export declare function runForkedSkillToResult(internals: SkillExecutorInternals, params: {
14
15
  manager: SubagentManager;
15
16
  childManager: SubagentManager | undefined;
@@ -0,0 +1,3 @@
1
+ import type { SubagentProgressSink } from '../../types/session-types.js';
2
+ import type { SkillIdentity } from '../../types/skill-identity.js';
3
+ export declare function withSkillIdentity(sink: SubagentProgressSink | undefined, callId: string, identity: SkillIdentity): SubagentProgressSink | undefined;
@@ -7,6 +7,7 @@ import type { ProviderCommandInfo, ProviderCompactResult, ProviderContextUsage,
7
7
  import type { HookRegistry } from '../hooks.js';
8
8
  import type { MessageJournal } from '../journal/types.js';
9
9
  import type { ZodType } from 'zod';
10
+ import type { UsageLimitProvider } from '../../utils/errors.js';
10
11
  export type SessionState = 'idle' | 'processing' | 'streaming' | 'compacting' | 'closed';
11
12
  export interface SessionIdentity {
12
13
  sessionId?: string;
@@ -85,6 +86,8 @@ export type OutputEvent = {
85
86
  accountId?: string;
86
87
  autoResume?: boolean;
87
88
  waitDeadline?: Date;
89
+ provider?: UsageLimitProvider;
90
+ plan?: string;
88
91
  } | {
89
92
  type: 'resumed';
90
93
  hotSwapped: boolean;
@@ -123,6 +126,7 @@ export interface ProgressEvent {
123
126
  durationMs: number;
124
127
  }
125
128
  export interface SubagentProgressMeta {
129
+ skillIdentity?: import('./skill-identity.js').SkillIdentity;
126
130
  subagentId: string;
127
131
  parentId?: string;
128
132
  agentType?: string;
@@ -0,0 +1,5 @@
1
+ export interface SkillIdentity {
2
+ name: string;
3
+ purpose?: string;
4
+ arguments?: string;
5
+ }
@@ -1,5 +1,6 @@
1
1
  import { type UsageRecord } from './usage-record.js';
2
2
  import { type BindingWindow } from './usage-budget.js';
3
+ import type { UsageLimitInfo, UsageLimitProvider } from '../../utils/errors.js';
3
4
  export interface UsageWindowSummary {
4
5
  readonly utilization: number;
5
6
  readonly utilizationPct: number;
@@ -43,6 +44,9 @@ export declare function unknownProviderSummary(provider: string, account: string
43
44
  export declare function errorProviderSummary(provider: string, account: string, detail: string): ProviderUsageSummary;
44
45
  export declare function compactUsageEntries(records: readonly UsageRecord[], now?: number): CompactUsageEntry[];
45
46
  export declare function describeBindingWindow(provider: string, binding: BindingWindow, now?: number): string;
47
+ export declare function usageLimitProviderName(provider: UsageLimitProvider | undefined): string;
48
+ export declare function describeResetTime(resetsAt: Date, now?: number): string;
49
+ export declare function describeUsageLimit(info: UsageLimitInfo, now?: number): string;
46
50
  export interface UsageRow {
47
51
  readonly label: string;
48
52
  readonly value: string;
@@ -0,0 +1,3 @@
1
+ import { type UsageLimitInfo } from '../../utils/errors.js';
2
+ export declare function usageLimitInfoOf(err: unknown, now?: number): UsageLimitInfo | null;
3
+ export declare function normalizeUsageLimitError(err: unknown, now?: number): unknown;
@@ -0,0 +1,11 @@
1
+ import type { SkillIdentity } from '../../agent/types/skill-identity.js';
2
+ export type { SkillIdentity } from '../../agent/types/skill-identity.js';
3
+ export declare const SKILL_IDENTITY_BUDGETS: {
4
+ readonly name: 32;
5
+ readonly purpose: 96;
6
+ readonly arguments: 96;
7
+ readonly total: 240;
8
+ };
9
+ export declare function sanitizeSkillIdentity(input: SkillIdentity): SkillIdentity;
10
+ export declare function formatSkillIdentity(input: SkillIdentity, width: number, activity?: string): string;
11
+ export declare function skillIdentityBanner(identity: SkillIdentity | undefined, lines: string[], width: number): string;
@@ -0,0 +1,11 @@
1
+ import { type SkillIdentity } from './skill-identity-format.js';
2
+ import type { CommitCoordinator } from './commit-coordinator.js';
3
+ import type { TerminalCompositor } from '../terminal-compositor.js';
4
+ import type { Writer } from '../slash/types.js';
5
+ export declare class SkillIdentityState {
6
+ current: SkillIdentity | undefined;
7
+ private introduced;
8
+ constructor(identity?: SkillIdentity);
9
+ introduce(coordinator: CommitCoordinator, compositor: TerminalCompositor | null, out: Writer): Promise<void>;
10
+ clear(): void;
11
+ }
@@ -26,6 +26,7 @@ export declare function makeOrchestratorCtx(args: {
26
26
  coordinator: CommitCoordinator;
27
27
  stageTracker?: StageTrackerState;
28
28
  activeSkillName?: string;
29
+ skillIdentity?: import('./skill-identity-format.js').SkillIdentity;
29
30
  lastProgressByTask: Map<string, ProgressEvent>;
30
31
  sources?: ReadonlyMap<string, SourceState>;
31
32
  childActivity?: ChildActivityTracker;
@@ -9,6 +9,7 @@ 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
+ import { type SkillIdentity } from './skill-identity-format.js';
12
13
  export interface LifecycleContext extends TtfbTickCtx {
13
14
  compositor: TerminalCompositor | null;
14
15
  overlayComposer: OverlayComposer | null;
@@ -28,6 +29,7 @@ export interface LifecycleContext extends TtfbTickCtx {
28
29
  export declare function registerOverlaySlots(overlayComposer: OverlayComposer, ctx: Readonly<Pick<LifecycleContext, 'stageTracker' | 'thinkingMode' | 'thinkingLane' | 'streamingMarkdownRef' | 'toolLane' | 'lastProgressByTask'>> & {
29
30
  sources?: ReadonlyMap<string, SourceState>;
30
31
  childActivity?: ChildActivityTracker;
32
+ getSkillIdentity?: () => SkillIdentity | undefined;
31
33
  getInterrupting: () => boolean;
32
34
  getSoftStopping: () => boolean;
33
35
  }): void;
@@ -4,6 +4,7 @@ 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
6
  export interface StreamRendererOptions {
7
+ skillIdentity?: import('./skill-identity-format.js').SkillIdentity;
7
8
  out: Writer;
8
9
  thinkingMode?: 'off' | 'summary' | 'live' | 'digest';
9
10
  verbose?: boolean;
@@ -11,7 +11,9 @@ import type { OverlayComposer } from './overlay-composer.js';
11
11
  import type { ThoughtSummaryHold } from './thought-summary-hold.js';
12
12
  import { type StageTrackerState } from '../commands/interactive/loop-stage.js';
13
13
  export { emitPanel, finalizeOrchestrator, emitMarkdown, emitErrorBox, flushToolLaneToScrollback, } from './stream-renderer-orchestrator-emit.js';
14
+ import { type SkillIdentity } from './skill-identity-format.js';
14
15
  export interface OrchestratorCtx {
16
+ skillIdentity?: SkillIdentity;
15
17
  out: Writer;
16
18
  isTTY: boolean;
17
19
  compositor: TerminalCompositor | null;
@@ -5,6 +5,7 @@ export type { StreamRendererOptions } from './stream-renderer-options.js';
5
5
  import type { StreamRendererOptions } from './stream-renderer-options.js';
6
6
  export declare class StreamRenderer {
7
7
  private readonly out;
8
+ private readonly skillIdentity;
8
9
  private readonly thinkingMode;
9
10
  private readonly isTTY;
10
11
  private readonly captureMode;
@@ -0,0 +1,3 @@
1
+ import type { PeerEnvelope } from '../../../agent/peer/envelope.js';
2
+ export declare function safePeerSender(from: PeerEnvelope['from']): string;
3
+ export declare function formatPeerArrival(e: Pick<PeerEnvelope, 'from' | 'body'>, width: number): string;
@@ -1,3 +1,4 @@
1
+ import { type SkillIdentity } from '../../_lib/skill-identity-format.js';
1
2
  import type { ToolResultChunk } from '../../../agent/types/message-types.js';
2
3
  import { formatToolLine, formatToolResultLine } from './tool-lane-format.js';
3
4
  import type { DiffPayload } from '../../../utils/diff.js';
@@ -20,6 +21,7 @@ export declare class ToolLane {
20
21
  addStart(toolUseId: string, toolName: string, toolInput: string): void;
21
22
  addStartWithAgentContext(toolUseId: string, toolName: string, toolInput: string, agentContext: string | undefined, maxWidth?: number): void;
22
23
  mergeAgentLabel(parentToolUseId: string, label: string, maxWidth?: number): boolean;
24
+ setSkillIdentity(toolUseId: string, identity: SkillIdentity): void;
23
25
  setAgentContext(toolUseId: string, agentContext: string | undefined): void;
24
26
  setAgentResultSummary(toolUseId: string, summary: string): void;
25
27
  propagateChildFailure(failedId: string): void;
@@ -0,0 +1,2 @@
1
+ import type { Entry } from './tool-lane-render.js';
2
+ export declare function mergeAgentLabel(entries: ReadonlyMap<string, Entry>, parentToolUseId: string, label: string, maxWidth?: number): boolean;
@@ -2,6 +2,7 @@ import type { OutputEvent } from '../../../agent/types.js';
2
2
  import type { AgentSession } from '../../../agent/session.js';
3
3
  import type { CompletionWriter } from './shared.js';
4
4
  import type { TerminalCompositor } from '../../terminal-compositor.js';
5
+ export declare function pausedPickerHeader(event: PausedEvent, resetsAtStr: string | null): string[];
5
6
  export type PausedEvent = Extract<OutputEvent, {
6
7
  type: 'paused';
7
8
  }>;
@@ -1,4 +1,4 @@
1
- type ErrorKind = 'auth' | 'rate_limit' | 'overloaded' | 'budget_exceeded' | 'unsupported_config' | 'hook_blocked' | 'timeout' | 'network' | 'not_git_repo' | 'unknown';
1
+ type ErrorKind = 'auth' | 'rate_limit' | 'usage_limit' | 'overloaded' | 'budget_exceeded' | 'unsupported_config' | 'hook_blocked' | 'timeout' | 'network' | 'not_git_repo' | 'unknown';
2
2
  export interface ClassifiedError {
3
3
  kind: ErrorKind;
4
4
  userMessage: string;
@@ -1,7 +1,10 @@
1
+ import type { UsageLimitProvider } from '../../utils/errors.js';
1
2
  export declare function usageLimitBox(opts: {
2
3
  resetsAt?: Date;
3
4
  reason: 'usage-limit' | 'credit-exhausted';
4
5
  accountId?: string;
5
6
  hotSwapped?: boolean;
6
7
  autoResume?: boolean;
8
+ provider?: UsageLimitProvider;
9
+ plan?: string;
7
10
  }): string;
@@ -2,6 +2,7 @@ import { StreamRenderer } from '../../_lib/stream-renderer.js';
2
2
  import type { SlashContext, Writer } from '../types.js';
3
3
  export interface SkillRendererOpts {
4
4
  skillName: string;
5
+ skillIdentity?: import('../../_lib/skill-identity-format.js').SkillIdentity;
5
6
  verbose?: boolean;
6
7
  out?: Writer;
7
8
  onCancel?: () => void;