pi2dsh 0.13.2 → 0.14.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 (106) hide show
  1. package/README.md +24 -19
  2. package/README.zh.md +20 -15
  3. package/dist/{analyzer-CJFwQlSG.mjs → analyzer-DPZ8LzSt.mjs} +2 -2
  4. package/dist/{analyzer-CJFwQlSG.mjs.map → analyzer-DPZ8LzSt.mjs.map} +1 -1
  5. package/dist/anthropic-messages-CaYTgvLF.mjs +6436 -0
  6. package/dist/anthropic-messages-CaYTgvLF.mjs.map +1 -0
  7. package/dist/azure-openai-responses-HKWkzl2m.mjs +208 -0
  8. package/dist/azure-openai-responses-HKWkzl2m.mjs.map +1 -0
  9. package/dist/cli.mjs +3 -2
  10. package/dist/cli.mjs.map +1 -1
  11. package/dist/compat/pi-ai.d.mts +3 -2636
  12. package/dist/compat/pi-ai.mjs +3 -2
  13. package/dist/compat/pi-coding-agent.d.mts +2 -2
  14. package/dist/compat/pi-coding-agent.mjs +2 -2
  15. package/dist/{mcp-config-_idn-pzI.mjs → compatibility-CP2tpyhg.mjs} +20 -185
  16. package/dist/compatibility-CP2tpyhg.mjs.map +1 -0
  17. package/dist/completionchunk-Dhk56lZl.mjs +5212 -0
  18. package/dist/completionchunk-Dhk56lZl.mjs.map +1 -0
  19. package/dist/{credentials-oauth-Txs6oew8.mjs → credentials-oauth-Didpkkjx.mjs} +3 -3
  20. package/dist/{credentials-oauth-Txs6oew8.mjs.map → credentials-oauth-Didpkkjx.mjs.map} +1 -1
  21. package/dist/credentials-oauth.mjs +1 -1
  22. package/dist/deferred-tools-BD4g5QUx.mjs +32 -0
  23. package/dist/deferred-tools-BD4g5QUx.mjs.map +1 -0
  24. package/dist/diagnostics-BqYkodgB.mjs +35 -0
  25. package/dist/diagnostics-BqYkodgB.mjs.map +1 -0
  26. package/dist/dist-QBBA-dL_.mjs +1246 -0
  27. package/dist/dist-QBBA-dL_.mjs.map +1 -0
  28. package/dist/error-body-DKA3lknR.mjs +104 -0
  29. package/dist/error-body-DKA3lknR.mjs.map +1 -0
  30. package/dist/event-stream-QxN1yvIF.mjs +64 -0
  31. package/dist/event-stream-QxN1yvIF.mjs.map +1 -0
  32. package/dist/from-BCscBQ9P.mjs +3856 -0
  33. package/dist/from-BCscBQ9P.mjs.map +1 -0
  34. package/dist/github-copilot-headers-CZo2QHrt.mjs +25 -0
  35. package/dist/github-copilot-headers-CZo2QHrt.mjs.map +1 -0
  36. package/dist/google-generative-ai-2gCFYp-t.mjs +356 -0
  37. package/dist/google-generative-ai-2gCFYp-t.mjs.map +1 -0
  38. package/dist/google-shared-75IdVyrx.mjs +29041 -0
  39. package/dist/google-shared-75IdVyrx.mjs.map +1 -0
  40. package/dist/google-vertex-Bhyo4z2i.mjs +400 -0
  41. package/dist/google-vertex-Bhyo4z2i.mjs.map +1 -0
  42. package/dist/hash-Dbggamac.mjs +19 -0
  43. package/dist/hash-Dbggamac.mjs.map +1 -0
  44. package/dist/headers-CPzZhJQn.mjs +17 -0
  45. package/dist/headers-CPzZhJQn.mjs.map +1 -0
  46. package/dist/host.d.mts +14 -2
  47. package/dist/host.d.mts.map +1 -1
  48. package/dist/host.mjs +44 -5
  49. package/dist/host.mjs.map +1 -1
  50. package/dist/index.d.mts +35 -3
  51. package/dist/index.d.mts.map +1 -1
  52. package/dist/index.mjs +128 -22
  53. package/dist/index.mjs.map +1 -1
  54. package/dist/json-parse-CZ0U0sj_.mjs +384 -0
  55. package/dist/json-parse-CZ0U0sj_.mjs.map +1 -0
  56. package/dist/mcp-config-jmzbgdHa.mjs +181 -0
  57. package/dist/mcp-config-jmzbgdHa.mjs.map +1 -0
  58. package/dist/mistral-conversations-DJyeTo8C.mjs +36921 -0
  59. package/dist/mistral-conversations-DJyeTo8C.mjs.map +1 -0
  60. package/dist/multipart-parser-SRcGkVuX.mjs +301 -0
  61. package/dist/multipart-parser-SRcGkVuX.mjs.map +1 -0
  62. package/dist/{pi-ai-D7PqVeWs.mjs → openai-DkzRh5_G.mjs} +78 -5063
  63. package/dist/openai-DkzRh5_G.mjs.map +1 -0
  64. package/dist/openai-codex-responses-DedxQjNG.mjs +1220 -0
  65. package/dist/openai-codex-responses-DedxQjNG.mjs.map +1 -0
  66. package/dist/openai-completions-DrjrWRdX.mjs +945 -0
  67. package/dist/openai-completions-DrjrWRdX.mjs.map +1 -0
  68. package/dist/openai-prompt-cache-BDWtZRKh.mjs +11 -0
  69. package/dist/openai-prompt-cache-BDWtZRKh.mjs.map +1 -0
  70. package/dist/openai-responses-BRdGpBX6.mjs +251 -0
  71. package/dist/openai-responses-BRdGpBX6.mjs.map +1 -0
  72. package/dist/openai-responses-shared-BmnSvdKL.mjs +570 -0
  73. package/dist/openai-responses-shared-BmnSvdKL.mjs.map +1 -0
  74. package/dist/otel-CBhmS-NR.mjs +24935 -0
  75. package/dist/otel-CBhmS-NR.mjs.map +1 -0
  76. package/dist/pi-ai-DpqiLdPA.mjs +3244 -0
  77. package/dist/pi-ai-DpqiLdPA.mjs.map +1 -0
  78. package/dist/pi-ai-ZU5MelXy.d.mts +2678 -0
  79. package/dist/pi-ai-ZU5MelXy.d.mts.map +1 -0
  80. package/dist/{pi-coding-agent-B0PT23gE.d.mts → pi-coding-agent-69yY0ke-.d.mts} +4 -2
  81. package/dist/{pi-coding-agent-B0PT23gE.d.mts.map → pi-coding-agent-69yY0ke-.d.mts.map} +1 -1
  82. package/dist/{pi-coding-agent-BVZu0dHG.mjs → pi-coding-agent-DK8hbJP5.mjs} +0 -0
  83. package/dist/{pi-coding-agent-BVZu0dHG.mjs.map → pi-coding-agent-DK8hbJP5.mjs.map} +1 -1
  84. package/dist/pi-messages-D61G2tgs.mjs +307 -0
  85. package/dist/pi-messages-D61G2tgs.mjs.map +1 -0
  86. package/dist/provider-env-C72pF4vP.mjs +40 -0
  87. package/dist/provider-env-C72pF4vP.mjs.map +1 -0
  88. package/dist/provider-retry-Cw6YJ4cr.mjs +80 -0
  89. package/dist/provider-retry-Cw6YJ4cr.mjs.map +1 -0
  90. package/dist/rolldown-runtime-CTfmNlz1.mjs +44 -0
  91. package/dist/{runtime-DEjs_Qlf.mjs → runtime-Bb9Bfk4M.mjs} +715 -130
  92. package/dist/runtime-Bb9Bfk4M.mjs.map +1 -0
  93. package/dist/runtime.d.mts +149 -26
  94. package/dist/runtime.d.mts.map +1 -1
  95. package/dist/runtime.mjs +1 -1
  96. package/dist/simple-options-B_GO8FDE.mjs +456 -0
  97. package/dist/simple-options-B_GO8FDE.mjs.map +1 -0
  98. package/dist/src-DlTagfW5.mjs +1186 -0
  99. package/dist/src-DlTagfW5.mjs.map +1 -0
  100. package/dist/{types-7IWJPPvS.d.mts → types-B9VBF8le.d.mts} +2 -9
  101. package/dist/{types-7IWJPPvS.d.mts.map → types-B9VBF8le.d.mts.map} +1 -1
  102. package/package.json +9 -7
  103. package/dist/compat/pi-ai.d.mts.map +0 -1
  104. package/dist/mcp-config-_idn-pzI.mjs.map +0 -1
  105. package/dist/pi-ai-D7PqVeWs.mjs.map +0 -1
  106. package/dist/runtime-DEjs_Qlf.mjs.map +0 -1
@@ -1,6 +1,7 @@
1
1
 
2
- import { N as Theme, p as ExtensionRunner } from "./pi-coding-agent-B0PT23gE.mjs";
3
- import { a as GeneratedRuntimeManifest } from "./types-7IWJPPvS.mjs";
2
+ import { at as AssistantMessageEventStream, d as __createPiAiRuntimeRegistry } from "./pi-ai-ZU5MelXy.mjs";
3
+ import { N as Theme, p as ExtensionRunner } from "./pi-coding-agent-69yY0ke-.mjs";
4
+ import { i as GeneratedRuntimeManifest } from "./types-B9VBF8le.mjs";
4
5
  import { EventEmitter } from "node:events";
5
6
  import { AsyncLocalStorage } from "node:async_hooks";
6
7
  import { ContentBlock } from "@deepseek-ai/dsh-llm";
@@ -64,12 +65,12 @@ declare class CapabilityLedger {
64
65
  }
65
66
  //#endregion
66
67
  //#region src/session-bridge.d.ts
67
- type UnknownRecord$4 = Record<string, unknown>;
68
+ type UnknownRecord$5 = Record<string, unknown>;
68
69
  interface DshSessionLike {
69
70
  id: string;
70
- events: readonly UnknownRecord$4[] | (() => readonly UnknownRecord$4[]);
71
+ events: readonly UnknownRecord$5[] | (() => readonly UnknownRecord$5[]);
71
72
  append?(type: string, data: unknown, opts?: unknown): unknown;
72
- header?: UnknownRecord$4;
73
+ header?: UnknownRecord$5;
73
74
  }
74
75
  interface PiProjectedEntry {
75
76
  type: string;
@@ -119,12 +120,12 @@ declare class PiSessionBridge {
119
120
  visibleSeqs(session: DshSessionLike): Set<number> | undefined;
120
121
  projectEntries(session: DshSessionLike): PiProjectedEntry[];
121
122
  /** The exact 14-method surface Pi exposes as ctx.sessionManager. */
122
- readonlySessionManager(session: DshSessionLike, cwd: string): UnknownRecord$4;
123
+ readonlySessionManager(session: DshSessionLike, cwd: string): UnknownRecord$5;
123
124
  }
124
125
  //#endregion
125
126
  //#region src/subagent-bridge.d.ts
126
- type UnknownRecord$3 = Record<string, unknown>;
127
- type PiSessionEventHandler = (event: UnknownRecord$3) => void;
127
+ type UnknownRecord$4 = Record<string, unknown>;
128
+ type PiSessionEventHandler = (event: UnknownRecord$4) => void;
128
129
  interface SubagentHost {
129
130
  cordis: Context;
130
131
  cwd(): string;
@@ -132,8 +133,8 @@ interface SubagentHost {
132
133
  /** The delegating parent's delegation depth (DSH's recursion budget); 0 for a top-level parent. */
133
134
  parentDelegationDepth(): number;
134
135
  piContentToDsh(content: unknown): Promise<ContentBlock[]>;
135
- deliver(agent: UnknownRecord$3, message: unknown, mode: 'inject' | 'steer' | 'followup'): void;
136
- messageFromSessionEvent(event: UnknownRecord$3): Promise<UnknownRecord$3 | undefined>;
136
+ deliver(agent: UnknownRecord$4, message: unknown, mode: 'inject' | 'steer' | 'followup'): void;
137
+ messageFromSessionEvent(event: UnknownRecord$4): Promise<UnknownRecord$4 | undefined>;
137
138
  messageSource: string;
138
139
  /** The Pi package that asked for the child, used to label it in DSH's catalog. */
139
140
  packageName?: string;
@@ -151,36 +152,36 @@ interface PiSubagentFacade {
151
152
  };
152
153
  }, signal: AbortSignal | undefined) => Promise<BeforeToolCallDecision | undefined> | BeforeToolCallDecision | undefined;
153
154
  /** Pi's AgentState — the same object `session.state` returns. */
154
- state?: UnknownRecord$3;
155
+ state?: UnknownRecord$4;
155
156
  }
156
157
  declare class PiBridgedAgentSession {
157
158
  #private;
158
159
  readonly agent: PiSubagentFacade;
159
- readonly messages: UnknownRecord$3[];
160
+ readonly messages: UnknownRecord$4[];
160
161
  constructor(host: SubagentHost, handle: {
161
- agent: UnknownRecord$3;
162
+ agent: UnknownRecord$4;
162
163
  dispose(): Promise<void>;
163
164
  }, tools: unknown[]);
164
165
  /** Pi's AgentState projection, shared by `session.state` and `session.agent.state`. */
165
- get state(): UnknownRecord$3;
166
+ get state(): UnknownRecord$4;
166
167
  /**
167
168
  * Whether one transcript entry is carried context rather than part of the
168
169
  * exchange in this child session.
169
170
  * @param message - an entry of {@link messages}.
170
171
  * @returns true for a seeded transcript entry or a host runtime snapshot.
171
172
  */
172
- isCarriedContext(message: UnknownRecord$3): boolean;
173
+ isCarriedContext(message: UnknownRecord$4): boolean;
173
174
  subscribe(handler: PiSessionEventHandler): () => void;
174
175
  prompt(text: string): Promise<void>;
175
176
  steer(text: string): void;
176
177
  abort(): void;
177
178
  setSessionName(name: string): void;
178
179
  getSessionName(): string;
179
- getSessionStats(): UnknownRecord$3;
180
+ getSessionStats(): UnknownRecord$4;
180
181
  getAllTools(): unknown[];
181
182
  getActiveToolNames(): string[];
182
183
  setActiveToolsByName(names: string[]): void;
183
- bindExtensions(_bindings?: UnknownRecord$3): Promise<void>;
184
+ bindExtensions(_bindings?: UnknownRecord$4): Promise<void>;
184
185
  dispose(): Promise<void>;
185
186
  }
186
187
  //#endregion
@@ -399,25 +400,25 @@ declare class InMemoryCredentialStore {
399
400
  }
400
401
  //#endregion
401
402
  //#region src/oauth-bridge.d.ts
402
- type UnknownRecord$2 = Record<string, unknown>;
403
+ type UnknownRecord$3 = Record<string, unknown>;
403
404
  declare class FileCredentialStore extends InMemoryCredentialStore {
404
405
  #private;
405
406
  constructor(path: string);
406
407
  get path(): string;
407
- modify(providerId: string, fn: (current: unknown) => unknown, options?: UnknownRecord$2): Promise<unknown>;
408
- delete(providerId: string, options?: UnknownRecord$2): Promise<void>;
408
+ modify(providerId: string, fn: (current: unknown) => unknown, options?: UnknownRecord$3): Promise<unknown>;
409
+ delete(providerId: string, options?: UnknownRecord$3): Promise<void>;
409
410
  }
410
411
  //#endregion
411
412
  //#region src/model-bridge.d.ts
412
- type UnknownRecord$1 = Record<string, unknown>;
413
+ type UnknownRecord$2 = Record<string, unknown>;
413
414
  interface DshLlmLike {
414
415
  listProviders(): Array<{
415
416
  id: string;
416
417
  name: string;
417
418
  }>;
418
- listModels(provider: string): Promise<UnknownRecord$1[]>;
419
- resolveModelInfo(provider: string, model: string, signal?: AbortSignal): Promise<UnknownRecord$1>;
420
- stream(options: UnknownRecord$1): AsyncIterable<UnknownRecord$1>;
419
+ listModels(provider: string): Promise<UnknownRecord$2[]>;
420
+ resolveModelInfo(provider: string, model: string, signal?: AbortSignal): Promise<UnknownRecord$2>;
421
+ stream(options: UnknownRecord$2): AsyncIterable<UnknownRecord$2>;
421
422
  }
422
423
  /** A DSH catalog entry in Pi's Model shape. */
423
424
  interface PiModelShape {
@@ -446,6 +447,16 @@ declare class ModelCatalog {
446
447
  /** Exact-route metadata (context window, reasoning efforts), cached per route. */
447
448
  resolve(provider: string, modelId: string): Promise<PiModelShape | undefined>;
448
449
  }
450
+ interface PiStreamRequest {
451
+ model: UnknownRecord$2;
452
+ context: UnknownRecord$2;
453
+ options?: UnknownRecord$2 | undefined;
454
+ }
455
+ /**
456
+ * Run one hand-built pi-ai model call on DSH's native llm service, translating
457
+ * the chunk stream into Pi's AssistantMessageEventStream vocabulary.
458
+ */
459
+ declare function streamViaDshLlm(llm: DshLlmLike, request: PiStreamRequest): AssistantMessageEventStream;
449
460
  //#endregion
450
461
  //#region src/provider-adapter.d.ts
451
462
  /**
@@ -464,6 +475,63 @@ interface PiRouteHandle {
464
475
  reannounce?(): void;
465
476
  }
466
477
  //#endregion
478
+ //#region src/tui-surfaces.d.ts
479
+ type UnknownRecord$1 = Record<string, unknown>;
480
+ interface PiCustomComponent {
481
+ render(width: number): string[];
482
+ invalidate?(): void;
483
+ handleInput?(data: string): void;
484
+ dispose?(): void;
485
+ }
486
+ interface PiTuiDriver {
487
+ requestRender(): void;
488
+ }
489
+ interface PiCustomOptions {
490
+ overlay?: boolean;
491
+ overlayOptions?: UnknownRecord$1 | (() => UnknownRecord$1);
492
+ }
493
+ type PiCustomFactory<T> = (tui: PiTuiDriver, theme: unknown, keybindings: unknown, done: (result: T) => void) => PiCustomComponent | Promise<PiCustomComponent>;
494
+ interface TuiSurfaceContext {
495
+ get(name: string, required?: boolean): unknown;
496
+ effect?(callback: () => (() => void)): unknown;
497
+ inject?(services: string[], callback: (ctx: TuiSurfaceContext) => void): unknown;
498
+ logger?: {
499
+ warn(message: string): void;
500
+ };
501
+ }
502
+ /**
503
+ * One package-scoped Pi custom-surface host backed by one dsh-TUI scene.
504
+ * The MCP adapter is a consumer, not a special case: every component using
505
+ * the public Pi component protocol follows the same path.
506
+ */
507
+ declare class TuiSurfaceAdapter {
508
+ private readonly packageName;
509
+ private readonly instanceKey?;
510
+ readonly sceneId: string;
511
+ private readonly scenes;
512
+ private readonly status;
513
+ private readonly statusDisposers;
514
+ private readonly listeners;
515
+ private readonly unregisterScene;
516
+ private revision;
517
+ private active;
518
+ private disposed;
519
+ constructor(ctx: TuiSurfaceContext, packageName: string, instanceKey?: string | undefined);
520
+ get available(): boolean;
521
+ subscribe(listener: () => void): () => void;
522
+ snapshot(): number;
523
+ setStatus(key: string, text: unknown): void;
524
+ custom<T>(factory: PiCustomFactory<T>, theme: unknown, keybindings: unknown, options?: PiCustomOptions): Promise<T | undefined>;
525
+ render(width: number): string[];
526
+ handleInput(data: string): void;
527
+ dispose(): void;
528
+ private invalidate;
529
+ private finish;
530
+ private finishFor;
531
+ private failFor;
532
+ private scene;
533
+ }
534
+ //#endregion
467
535
  //#region src/runtime.d.ts
468
536
  type UnknownRecord = Record<string, unknown>;
469
537
  type PiHandler = (event: UnknownRecord, context: UnknownRecord) => unknown | Promise<unknown>;
@@ -472,6 +540,20 @@ interface RuntimeOptions {
472
540
  rootUrl: URL;
473
541
  manifest: GeneratedRuntimeManifest;
474
542
  config?: UnknownRecord;
543
+ /** Exact Agent owner supplied by the pre-publication setup host. */
544
+ ownerAgent?: UnknownRecord;
545
+ /**
546
+ * Host-anchor mount: the once-per-host instance that carries a package's
547
+ * HOST-level contributions — provider routes, OAuth accounts, `/login`
548
+ * availability, credential recovery, companion routes, skills — so they
549
+ * exist from engine apply with zero live Agents and survive Agent churn
550
+ * (SharedHostState keeps them single-instance and refcounted alongside the
551
+ * per-Agent instances). The anchor serves no Agent: it never bridges
552
+ * session lifecycles and its agent-facing surfaces (DSH tools, commands,
553
+ * prompt sections) are not projected — those belong to the per-Agent
554
+ * instances that own real sessions.
555
+ */
556
+ hostAnchor?: boolean;
475
557
  }
476
558
  interface PiTool {
477
559
  name: string;
@@ -494,6 +576,10 @@ interface PiCommand {
494
576
  }
495
577
  interface RuntimeState {
496
578
  packageName: string;
579
+ /** Exact DSH Agent that owns this runtime; absent only for legacy root mounts. */
580
+ ownerAgent: UnknownRecord | undefined;
581
+ /** Host-anchor mount: host-level contributions only, serves no Agent (see RuntimeOptions.hostAnchor). */
582
+ hostAnchor: boolean;
497
583
  handlers: Map<string, PiHandler[]>;
498
584
  tools: Map<string, PiTool>;
499
585
  runner: ExtensionRunner;
@@ -502,14 +588,38 @@ interface RuntimeState {
502
588
  pendingActiveTools?: string[];
503
589
  commands: Map<string, PiCommand>;
504
590
  commandDisposers: Map<string, () => void>;
591
+ /** DSH command name -> Pi command that currently owns that public name. */
592
+ dshCommandOwners: Map<string, string>;
505
593
  flags: Map<string, boolean | string | undefined>;
506
594
  notifications: string[];
507
595
  activeAgents: Set<UnknownRecord>;
596
+ /** Latest non-child Agent whose Pi session owns this package instance. */
597
+ hostAgent: UnknownRecord | undefined;
598
+ /** Agents whose linear Pi session_shutdown has already been projected. */
599
+ piShutdownAgents: WeakSet<object>;
508
600
  disposedAgents: WeakSet<object>;
601
+ /** Durable sessions that have already received Pi's session_start event. */
602
+ startedSessions: Set<string>;
603
+ /** In-flight session_start handlers, so an immediate command can await initialization. */
604
+ sessionStartTasks: Map<string, Promise<void>>;
605
+ /** Fallback dedupe for command agents whose composition has no durable session. */
606
+ startedSessionlessAgents: WeakSet<object>;
607
+ /** In-flight session_start handlers for agents without a durable session id. */
608
+ sessionlessStartTasks: WeakMap<object, Promise<void>>;
609
+ /** Extension entries are async imports; lifecycle events wait until handlers exist. */
610
+ extensionsReady: boolean;
611
+ /** Agent starts observed while extension entries are still loading. */
612
+ pendingSessionStarts: Map<UnknownRecord, string>;
509
613
  currentSystemPrompt: string;
510
614
  messageSource: string;
511
615
  eventBus: EventEmitter;
512
616
  agentScope: AsyncLocalStorage<UnknownRecord | undefined>;
617
+ /** Per-Agent bridge used by Pi's designated-model calls. */
618
+ llmBridge: PiAiLlmBridge | undefined;
619
+ /** Per-Agent copy of Pi's compat and API-provider registries. */
620
+ piAiRegistry: ReturnType<typeof __createPiAiRuntimeRegistry>;
621
+ /** Per-Agent factory used by Pi's createAgentSession(). */
622
+ subagentSessionFactory: SubagentSessionFactory | undefined;
513
623
  bridge: PiSessionBridge;
514
624
  theme: Theme;
515
625
  shortcuts: Map<string, UnknownRecord>;
@@ -560,9 +670,16 @@ interface RuntimeState {
560
670
  modelCatalog?: ModelCatalog;
561
671
  companionRoutes: Map<string, string>;
562
672
  providerRouteDisposers: Map<string, PiRouteHandle>;
673
+ /** Host-shared provider routes this Agent runtime owns one reference to. */
674
+ ownedProviderRoutes: Set<string>;
563
675
  publishedOAuthKeys: Map<string, string>;
564
676
  shared: SharedHostState;
677
+ tuiSurfaces: TuiSurfaceAdapter | undefined;
565
678
  }
679
+ type PiAiLlmBridge = (model: UnknownRecord, context: UnknownRecord, options: UnknownRecord | undefined) => ReturnType<typeof streamViaDshLlm>;
680
+ type SubagentSessionFactory = (options: Record<string, unknown>) => Promise<{
681
+ session: unknown;
682
+ }>;
566
683
  declare function textBlocks(content: unknown): Array<{
567
684
  type: 'text';
568
685
  text: string;
@@ -604,16 +721,22 @@ declare function dshToPiContent(ctx: Context, content: readonly ContentBlock[]):
604
721
  interface SharedHostState {
605
722
  companionRoutes: Map<string, string>;
606
723
  providerRouteDisposers: Map<string, PiRouteHandle>;
724
+ /** Coalesced dynamic-catalog refreshes, shared by startup and first use. */
725
+ providerModelDiscoveries: Map<string, Promise<number | undefined>>;
726
+ /** Agent-runtime owners for each host-global provider route. */
727
+ providerRouteOwners: Map<string, Set<RuntimeState>>;
728
+ /** Per-session Pi runtimes, in package mount order, for provider waterfalls. */
729
+ runtimeStatesBySession: Map<string, Set<RuntimeState>>;
607
730
  publishedOAuthKeys: Map<string, string>;
608
731
  providers: Map<string, UnknownRecord>;
609
732
  modelCatalog?: ModelCatalog;
610
733
  catalogSubscribed?: boolean;
611
- loginRegistered?: boolean;
734
+ loginRegistered?: WeakSet<object>;
612
735
  oauthRefreshHooked?: boolean;
613
736
  companionSweepSubscribed?: boolean;
614
737
  oauthStore?: FileCredentialStore;
615
738
  capabilityLedger?: CapabilityLedger;
616
- packageRemounts?: Map<string, () => Promise<void>>;
739
+ packageRemounts?: WeakMap<object, Map<string, () => Promise<void>>>;
617
740
  browserSurfaces?: BrowserSurfaces;
618
741
  browserSurfacesRouted?: boolean;
619
742
  activeLogin?: ActiveLogin | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.mts","names":[],"sources":["../src/capability.ts","../src/session-bridge.ts","../src/subagent-bridge.ts","../src/browser-surfaces.ts","../src/compat/vendor/pi-ai-credential-store.ts","../src/oauth-bridge.ts","../src/model-bridge.ts","../src/provider-adapter.ts","../src/runtime.ts"],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.mts","names":[],"sources":["../src/capability.ts","../src/session-bridge.ts","../src/subagent-bridge.ts","../src/browser-surfaces.ts","../src/compat/vendor/pi-ai-credential-store.ts","../src/oauth-bridge.ts","../src/model-bridge.ts","../src/provider-adapter.ts","../src/tui-surfaces.ts","../src/runtime.ts"],"mappings":"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"}
package/dist/runtime.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
 
2
- import { i as runtimeInternals, n as normalizeToolSchema, r as registerVisionCompanions, t as applyPiPackage } from "./runtime-DEjs_Qlf.mjs";
2
+ import { i as runtimeInternals, n as normalizeToolSchema, r as registerVisionCompanions, t as applyPiPackage } from "./runtime-Bb9Bfk4M.mjs";
3
3
  export { applyPiPackage, normalizeToolSchema, registerVisionCompanions, runtimeInternals };