@hachej/boring-agent 0.1.103 → 0.1.104

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.
@@ -6,6 +6,7 @@
6
6
  --font-sans: var(--font-sans);
7
7
  --font-mono: var(--font-mono);
8
8
  --color-amber-300: oklch(87.9% 0.169 91.605);
9
+ --color-amber-400: oklch(82.8% 0.189 84.429);
9
10
  --color-amber-500: oklch(76.9% 0.188 70.08);
10
11
  --color-amber-600: oklch(66.6% 0.179 58.318);
11
12
  --color-emerald-500: oklch(69.6% 0.17 162.48);
@@ -2343,6 +2344,9 @@
2343
2344
  .dark\:text-amber-300:is([data-theme="dark"], [data-theme="dark"] *) {
2344
2345
  color: var(--color-amber-300);
2345
2346
  }
2347
+ .dark\:text-amber-400:is([data-theme="dark"], [data-theme="dark"] *) {
2348
+ color: var(--color-amber-400);
2349
+ }
2346
2350
  .dark\:text-zinc-100:is([data-theme="dark"], [data-theme="dark"] *) {
2347
2351
  color: var(--color-zinc-100);
2348
2352
  }
@@ -1,4 +1,4 @@
1
- import { n as SessionCtx, c as PiChatEvent, S as SessionStore } from './piChatEvent-g1nIBh44.js';
1
+ import { n as SessionCtx, c as PiChatEvent, S as SessionStore } from './piChatEvent-iNSXiFQq.js';
2
2
  import { AgentSessionEvent, PromptOptions } from '@mariozechner/pi-coding-agent';
3
3
 
4
4
  interface TelemetrySink {
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { A as AgentDefinitionErrorCode, o as AgentDeploymentErrorCode } from './piChatEvent-g1nIBh44.js';
2
+ import { A as AgentDefinitionErrorCode, o as AgentDeploymentErrorCode } from './piChatEvent-iNSXiFQq.js';
3
3
  import { b as Workspace } from './sandbox-BMhut3kh.js';
4
4
 
5
5
  interface SandboxHandleRecord {
@@ -226,6 +226,7 @@ interface PiChatSnapshot {
226
226
  seq: number;
227
227
  status: PiChatStatus;
228
228
  activeTurnId?: string;
229
+ currentModel?: ChatModelSelection;
229
230
  messages: BoringChatMessage[];
230
231
  queue: {
231
232
  followUps: QueuedUserMessage[];
@@ -274,6 +275,10 @@ type PiChatEvent = {
274
275
  type: 'agent-start';
275
276
  seq: number;
276
277
  turnId: string;
278
+ } | {
279
+ type: 'model-changed';
280
+ seq: number;
281
+ currentModel: NonNullable<PiChatSnapshot['currentModel']>;
277
282
  } | {
278
283
  type: 'agent-end';
279
284
  seq: number;
@@ -1,4 +1,4 @@
1
- import { a as SessionListOptions, b as SessionSummary, C as ChatModelSelection, P as PiChatSnapshot, c as PiChatEvent, d as PromptPayload, e as PromptReceipt, F as FollowUpPayload, f as FollowUpReceipt, Q as QueueClearPayload, g as QueueClearReceipt, I as InterruptPayload, h as CommandReceipt, i as StopPayload, j as StopReceipt } from './piChatEvent-g1nIBh44.js';
1
+ import { a as SessionListOptions, b as SessionSummary, C as ChatModelSelection, P as PiChatSnapshot, c as PiChatEvent, d as PromptPayload, e as PromptReceipt, F as FollowUpPayload, f as FollowUpReceipt, Q as QueueClearPayload, g as QueueClearReceipt, I as InterruptPayload, h as CommandReceipt, i as StopPayload, j as StopReceipt } from './piChatEvent-iNSXiFQq.js';
2
2
 
3
3
  interface PiSessionRequestContext {
4
4
  workspaceId?: string;
@@ -1,11 +1,11 @@
1
- import { A as AgentGateway, a as AuthorizedAgentScope, b as AgentSessionRef, c as AgentSessionActivity } from '../../../errors-szpcDUFQ.js';
2
- import { A as AgentGatewayEffect } from '../../../types-BnjMLAd5.js';
3
- import '../../../piChatEvent-g1nIBh44.js';
1
+ import { A as AgentGateway, a as AuthorizedAgentScope, b as AgentSessionRef, c as AgentSessionActivity } from '../../../errors-DH7C01Pm.js';
2
+ import { A as AgentGatewayEffect } from '../../../types-B1xDlBSo.js';
3
+ import '../../../piChatEvent-iNSXiFQq.js';
4
4
  import 'zod';
5
5
  import 'fastify';
6
- import '../../../harness-erpL2SER.js';
6
+ import '../../../harness-Dcd08yKr.js';
7
7
  import '@mariozechner/pi-coding-agent';
8
- import '../../../file-search-BXdSm-Yq.js';
8
+ import '../../../file-search-qcD5zItr.js';
9
9
  import '../../../sandbox-BMhut3kh.js';
10
10
  import '@hachej/boring-bash/agent';
11
11
  import '@hachej/boring-sandbox/providers/node-workspace';
@@ -5,7 +5,7 @@ import {
5
5
  AGENT_GATEWAY_ERROR_CODES,
6
6
  AgentGatewayError,
7
7
  AgentGatewayErrorCode
8
- } from "../../../chunk-7QM22DU7.js";
8
+ } from "../../../chunk-6DRHERVK.js";
9
9
  import "../../../chunk-YGRQ4Q5P.js";
10
10
  import "../../../chunk-K25PK5EC.js";
11
11
 
@@ -1,21 +1,22 @@
1
- import { P as ProvisionWorkspaceRuntimeOptions, W as WorkspaceProvisioningResult, a as PiPackageSource, R as RuntimeModeAdapter, b as RuntimeModeId, B as BuiltinRuntimeModeId, c as AgentRuntimeHostOperations, d as RuntimeBashStrategy, e as RuntimeFilesystemStrategy, M as ModeContext, f as WorkspaceProvisioningAdapter, g as AgentInstructionFileRef, C as ConfiguredAgentHostAgentSpec, h as AgentHostAgentSpec, i as RuntimeBundle, j as PiHarnessOptions, k as AgentMeteringSink, l as RuntimeFilesystemBinding, m as CreatedAgentHost, n as MeteringErrorLogger, o as ReadyStatusTracker, p as CreateAgentHostOptions, q as CompiledAgentHostAgentSpec, r as AgentRequestLedger, s as AgentEffectAdmission, t as AuthorizedEnvironmentIntent, u as AgentHostEnvironmentScope, v as ResolvedAgentRuntimeScope, w as AgentRequestKey, x as AgentRequestLedgerPrepareResult, y as AgentRequestFailure, z as AgentRequestLedgerRecord, D as AgentFleetCompiler, E as AgentRequestTarget, F as RuntimeFilesystemAccessDecision } from '../types-BnjMLAd5.js';
2
- export { A as AgentGatewayEffect, G as AgentHostDescription, H as AgentHostDirectProjectionOptions, I as AgentHostDispatcherRunInput, J as AgentHostEnvironmentLease, K as AgentHostHandle, L as LegacyDefaultAgentHostSpec, N as MeteringReleaseInput, O as MeteringReleaseReason, Q as MeteringReservationResult, S as MeteringReserveInput, T as MeteringRunKind, U as MeteringRunScope, V as MeteringRunStatus, X as MeteringSettleInput, Y as MeteringUsage, Z as MeteringUsageInput, _ as PI_PACKAGE_RESOURCE_FILTERS, $ as PiExtensionFactory, a0 as PluginSkillSource, a1 as ResolvedEnvironmentScope, a2 as RuntimeFilesystemBindingOperations, a3 as RuntimeNodePackageSpec, a4 as RuntimeProvisioningContribution, a5 as RuntimePythonSpec, a6 as RuntimeTemplateContribution, a7 as WorkspaceProvisioningExecResult, a8 as compactPiPackages, a9 as mergePiPackageSources, aa as normalizeMeteringUsage, ab as piPackageSourceKey } from '../types-BnjMLAd5.js';
1
+ import { P as ProvisionWorkspaceRuntimeOptions, W as WorkspaceProvisioningResult, a as PiPackageSource, R as RuntimeModeAdapter, b as RuntimeModeId, B as BuiltinRuntimeModeId, c as AgentRuntimeHostOperations, d as RuntimeBashStrategy, e as RuntimeFilesystemStrategy, M as ModeContext, f as WorkspaceProvisioningAdapter, g as AgentInstructionFileRef, C as ConfiguredAgentHostAgentSpec, h as AgentHostAgentSpec, i as RuntimeBundle, j as PiHarnessOptions, k as AgentMeteringSink, l as RuntimeFilesystemBinding, m as CreatedAgentHost, n as MeteringErrorLogger, o as ReadyStatusTracker, p as CreateAgentHostOptions, q as CompiledAgentHostAgentSpec, r as AgentRequestLedger, s as AgentEffectAdmission, t as AuthorizedEnvironmentIntent, u as AgentHostEnvironmentScope, v as ResolvedAgentRuntimeScope, w as AgentRequestKey, x as AgentRequestLedgerPrepareResult, y as AgentRequestFailure, z as AgentRequestLedgerRecord, D as AgentFleetCompiler, E as AgentRequestTarget, F as RuntimeFilesystemAccessDecision } from '../types-B1xDlBSo.js';
2
+ export { A as AgentGatewayEffect, G as AgentHostDescription, H as AgentHostDirectProjectionOptions, I as AgentHostDispatcherRunInput, J as AgentHostEnvironmentLease, K as AgentHostHandle, L as LegacyDefaultAgentHostSpec, N as MeteringReleaseInput, O as MeteringReleaseReason, Q as MeteringReservationResult, S as MeteringReserveInput, T as MeteringRunKind, U as MeteringRunScope, V as MeteringRunStatus, X as MeteringSettleInput, Y as MeteringUsage, Z as MeteringUsageInput, _ as PI_PACKAGE_RESOURCE_FILTERS, $ as PiExtensionFactory, a0 as PluginSkillSource, a1 as ResolvedEnvironmentScope, a2 as RuntimeFilesystemBindingOperations, a3 as RuntimeNodePackageSpec, a4 as RuntimeProvisioningContribution, a5 as RuntimePythonSpec, a6 as RuntimeTemplateContribution, a7 as WorkspaceProvisioningExecResult, a8 as compactPiPackages, a9 as mergePiPackageSources, aa as normalizeMeteringUsage, ab as piPackageSourceKey } from '../types-B1xDlBSo.js';
3
3
  import { d as ExecOptions, a as ExecResult, W as WorkspaceChangeEvent, b as Workspace, c as Sandbox } from '../sandbox-BMhut3kh.js';
4
4
  export { h as RuntimeFilesystemCapability } from '../sandbox-BMhut3kh.js';
5
5
  import { b as RemoteWorkerHealthResponse, R as RemoteWorkerWorkspaceOp, a as RemoteWorkerWorkspaceResult, c as RemoteWorkerExecRequest } from '../middleware-CaAEXpi5.js';
6
6
  export { d as REMOTE_WORKER_EXCLUSIVE_BINARY_CREATE_CAPABILITY, e as REMOTE_WORKER_PROVIDER, f as REMOTE_WORKER_RUNTIME_CWD, g as RemoteWorkerErrorPayload, h as RemoteWorkerExecResponse, i as RemoteWorkerFsEventEnvelope, W as WORKER_INTERNAL_TOKEN_HEADER, j as WORKER_REQUEST_ID_HEADER, k as WORKER_WORKSPACE_ID_HEADER, l as createAgentAuthMiddleware } from '../middleware-CaAEXpi5.js';
7
7
  import { SandboxProviderV1, WorkspaceSandboxPairV1 } from '@hachej/boring-sandbox/shared';
8
- import { F as SandboxHandleStore, k as CompiledAgentBundle, a as Sha256Digest, i as AgentDeployment, M as ShareEntryStore, y as ProviderId, c as CredentialFieldId, B as ResolvedCredentialMaterialV1, d as AuthorizedWorkspaceCredentialScopeV1, V as VerifiedWorkspaceCredentialAuthorityV1, X as WorkspaceCredentialAuthorityVerifierV1, n as CredentialConsumerBindingRegistryV1, z as ProviderRegistryV1, Y as WorkspaceCredentialResolverV1, P as ProviderCredentialRefV1, R as ResolvedCredentialLeaseV1 } from '../lease-K-EZhdL-.js';
9
- import { y as ErrorCode, n as SessionCtx, c as PiChatEvent, S as SessionStore, a as SessionListOptions, b as SessionSummary, P as PiChatSnapshot, d as PromptPayload, e as PromptReceipt, F as FollowUpPayload, f as FollowUpReceipt, Q as QueueClearPayload, g as QueueClearReceipt, I as InterruptPayload, i as StopPayload, j as StopReceipt } from '../piChatEvent-g1nIBh44.js';
10
- import { x as JsonValue, A as AgentGateway, a as AuthorizedAgentScope, b as AgentSessionRef, c as AgentSessionActivity, V as VerifiedAgentScopeClaim, i as AgentGatewayErrorDTO, p as AgentSessionSummary, o as AgentSessionStateSnapshot, l as AgentSessionConnection } from '../errors-szpcDUFQ.js';
11
- import { d as AgentActor, j as AgentEvent, v as TelemetrySink, s as AgentTool, D as AgentHarnessFactory, A as AgentHarness } from '../harness-erpL2SER.js';
12
- export { u as AgentConfig, E as AgentHarnessFactoryInput } from '../harness-erpL2SER.js';
8
+ import { BwrapSandboxProviderOptions } from '@hachej/boring-sandbox/providers/bwrap';
9
+ import { F as SandboxHandleStore, k as CompiledAgentBundle, a as Sha256Digest, i as AgentDeployment, M as ShareEntryStore, y as ProviderId, c as CredentialFieldId, B as ResolvedCredentialMaterialV1, d as AuthorizedWorkspaceCredentialScopeV1, V as VerifiedWorkspaceCredentialAuthorityV1, X as WorkspaceCredentialAuthorityVerifierV1, n as CredentialConsumerBindingRegistryV1, z as ProviderRegistryV1, Y as WorkspaceCredentialResolverV1, P as ProviderCredentialRefV1, R as ResolvedCredentialLeaseV1 } from '../lease-DffrPrQn.js';
10
+ import { y as ErrorCode, n as SessionCtx, c as PiChatEvent, S as SessionStore, a as SessionListOptions, b as SessionSummary, P as PiChatSnapshot, d as PromptPayload, e as PromptReceipt, F as FollowUpPayload, f as FollowUpReceipt, Q as QueueClearPayload, g as QueueClearReceipt, I as InterruptPayload, i as StopPayload, j as StopReceipt } from '../piChatEvent-iNSXiFQq.js';
11
+ import { x as JsonValue, A as AgentGateway, a as AuthorizedAgentScope, b as AgentSessionRef, c as AgentSessionActivity, V as VerifiedAgentScopeClaim, i as AgentGatewayErrorDTO, p as AgentSessionSummary, o as AgentSessionStateSnapshot, l as AgentSessionConnection } from '../errors-DH7C01Pm.js';
12
+ import { d as AgentActor, j as AgentEvent, v as TelemetrySink, s as AgentTool, D as AgentHarnessFactory, A as AgentHarness } from '../harness-Dcd08yKr.js';
13
+ export { u as AgentConfig, E as AgentHarnessFactoryInput } from '../harness-Dcd08yKr.js';
13
14
  import { IncomingMessage, ServerResponse } from 'node:http';
14
15
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
15
16
  import { FastifyRequest, FastifyInstance, FastifyPluginCallback } from 'fastify';
16
- import { i as PiSessionRequestContext, g as PiChatSessionService, h as PiSessionCreateInit, e as PiChatEventSubscriber, P as PiChatEventStreamResult } from '../piChatSessionService-DugeRHzb.js';
17
- import { c as WorkspaceAgentDirectRunInput, W as WorkspaceAgentDirectRunCallback, f as WorkspaceAgentDispatcherContext, e as WorkspaceAgentDispatcher, i as WorkspaceAgentGatewayBinding } from '../file-search-BXdSm-Yq.js';
18
- export { L as LeaseBoundWorkspaceAgent } from '../file-search-BXdSm-Yq.js';
17
+ import { i as PiSessionRequestContext, g as PiChatSessionService, h as PiSessionCreateInit, e as PiChatEventSubscriber, P as PiChatEventStreamResult } from '../piChatSessionService-DQSQ_kWZ.js';
18
+ import { c as WorkspaceAgentDirectRunInput, W as WorkspaceAgentDirectRunCallback, f as WorkspaceAgentDispatcherContext, e as WorkspaceAgentDispatcher, i as WorkspaceAgentGatewayBinding } from '../file-search-qcD5zItr.js';
19
+ export { L as LeaseBoundWorkspaceAgent } from '../file-search-qcD5zItr.js';
19
20
  import { SettingsManager } from '@mariozechner/pi-coding-agent';
20
21
  import '@hachej/boring-bash/agent';
21
22
  import '@hachej/boring-sandbox/providers/node-workspace';
@@ -221,6 +222,7 @@ declare function createProviderRuntimeModeAdapter(options: ProviderRuntimeModeAd
221
222
  declare const sandboxRuntimeHostOperations: AgentRuntimeHostOperations;
222
223
  interface SandboxRuntimeModeOptions {
223
224
  readonly sandboxHandleStore?: SandboxHandleStore;
225
+ readonly bwrap?: BwrapSandboxProviderOptions;
224
226
  }
225
227
  /** Built-in runtime layout root without exposing provider package constants to consumers. */
226
228
  declare function resolveBuiltinRuntimeLayoutRoot(mode: BuiltinRuntimeModeId, workspaceRoot: string): string;
@@ -89,18 +89,18 @@ import {
89
89
  shareResourceUri,
90
90
  withResolvedCredential,
91
91
  withRuntimeEnvContributions
92
- } from "../chunk-6WKQ4FC4.js";
92
+ } from "../chunk-BTYOMR7W.js";
93
93
  import {
94
94
  PI_PACKAGE_RESOURCE_FILTERS,
95
95
  compactPiPackages,
96
96
  createResourceSettingsManager,
97
97
  mergePiPackageSources,
98
98
  piPackageSourceKey
99
- } from "../chunk-TW7G33QH.js";
99
+ } from "../chunk-I7KFNGB4.js";
100
100
  import "../chunk-JNEKOVMJ.js";
101
101
  import "../chunk-4IQ4HHBG.js";
102
102
  import "../chunk-WSQ5QNIY.js";
103
- import "../chunk-7QM22DU7.js";
103
+ import "../chunk-6DRHERVK.js";
104
104
  import "../chunk-YGRQ4Q5P.js";
105
105
  import "../chunk-K25PK5EC.js";
106
106
  export {
@@ -2,12 +2,12 @@ import {
2
2
  REMOTE_WORKER_EXCLUSIVE_BINARY_CREATE_CAPABILITY,
3
3
  WORKER_INTERNAL_TOKEN_HEADER,
4
4
  constantTimeTokenEqual
5
- } from "../../chunk-6WKQ4FC4.js";
6
- import "../../chunk-TW7G33QH.js";
5
+ } from "../../chunk-BTYOMR7W.js";
6
+ import "../../chunk-I7KFNGB4.js";
7
7
  import "../../chunk-JNEKOVMJ.js";
8
8
  import "../../chunk-4IQ4HHBG.js";
9
9
  import "../../chunk-WSQ5QNIY.js";
10
- import "../../chunk-7QM22DU7.js";
10
+ import "../../chunk-6DRHERVK.js";
11
11
  import "../../chunk-YGRQ4Q5P.js";
12
12
  import "../../chunk-K25PK5EC.js";
13
13
 
@@ -1,15 +1,15 @@
1
- import { s as AgentTool } from '../harness-erpL2SER.js';
2
- export { c as AGENT_NOT_IMPLEMENTED_UNTIL_T1, b as Agent, d as AgentActor, e as AgentCoreHarness, f as AgentCoreHarnessFactory, g as AgentCorePromptInput, h as AgentCoreSessionAdapter, i as AgentCoreSessionSnapshot, j as AgentEvent, A as AgentHarness, k as AgentMessageContent, l as AgentMessagePart, m as AgentNotImplementedError, a as AgentReadiness, n as AgentReadinessStatus, o as AgentResolveInputResponse, t as AgentRuntimeAdapter, p as AgentSendInput, q as AgentStartReceipt, r as AgentStreamOptions, u as CoreAgentConfig, J as JSONSchema, M as MessageAttachment, R as RunContext, S as SendMessageInput, T as TelemetryEvent, v as TelemetrySink, w as ToolExecContext, x as ToolResult, y as noopTelemetry, z as safeCapture, B as sessionStreamPath } from '../harness-erpL2SER.js';
3
- import { F as FileSearch } from '../file-search-BXdSm-Yq.js';
4
- export { A as AGENT_KNOWLEDGE_FILESYSTEM_ID, a as AGENT_RESOURCES_FILESYSTEM_ID, b as AgentSkillResource, L as LeaseBoundWorkspaceAgent, W as WorkspaceAgentDirectRunCallback, c as WorkspaceAgentDirectRunInput, d as WorkspaceAgentDispatch, e as WorkspaceAgentDispatcher, f as WorkspaceAgentDispatcherContext, g as WorkspaceAgentDispatcherDispatchInput, h as WorkspaceAgentDispatcherSendInput, i as WorkspaceAgentGatewayBinding } from '../file-search-BXdSm-Yq.js';
1
+ import { s as AgentTool } from '../harness-Dcd08yKr.js';
2
+ export { c as AGENT_NOT_IMPLEMENTED_UNTIL_T1, b as Agent, d as AgentActor, e as AgentCoreHarness, f as AgentCoreHarnessFactory, g as AgentCorePromptInput, h as AgentCoreSessionAdapter, i as AgentCoreSessionSnapshot, j as AgentEvent, A as AgentHarness, k as AgentMessageContent, l as AgentMessagePart, m as AgentNotImplementedError, a as AgentReadiness, n as AgentReadinessStatus, o as AgentResolveInputResponse, t as AgentRuntimeAdapter, p as AgentSendInput, q as AgentStartReceipt, r as AgentStreamOptions, u as CoreAgentConfig, J as JSONSchema, M as MessageAttachment, R as RunContext, S as SendMessageInput, T as TelemetryEvent, v as TelemetrySink, w as ToolExecContext, x as ToolResult, y as noopTelemetry, z as safeCapture, B as sessionStreamPath } from '../harness-Dcd08yKr.js';
3
+ import { F as FileSearch } from '../file-search-qcD5zItr.js';
4
+ export { A as AGENT_KNOWLEDGE_FILESYSTEM_ID, a as AGENT_RESOURCES_FILESYSTEM_ID, b as AgentSkillResource, L as LeaseBoundWorkspaceAgent, W as WorkspaceAgentDirectRunCallback, c as WorkspaceAgentDirectRunInput, d as WorkspaceAgentDispatch, e as WorkspaceAgentDispatcher, f as WorkspaceAgentDispatcherContext, g as WorkspaceAgentDispatcherDispatchInput, h as WorkspaceAgentDispatcherSendInput, i as WorkspaceAgentGatewayBinding } from '../file-search-qcD5zItr.js';
5
5
  import { b as Workspace, c as Sandbox } from '../sandbox-BMhut3kh.js';
6
6
  export { E as Entry, d as ExecOptions, a as ExecResult, I as IsolatedCodeInput, e as IsolatedCodeOutput, R as READONLY_FILESYSTEM_MUTATION_CODE, f as RUNTIME_FILESYSTEM_CAPABILITIES, g as ReadonlyFilesystemMutationError, h as RuntimeFilesystemCapability, i as SandboxCapability, S as Stat, j as WorkspaceRuntimeContext, k as WorkspaceWatchControlEvent, l as isReadonlyFilesystemMutationError } from '../sandbox-BMhut3kh.js';
7
- import { B as BoringChatPart, p as ToolUiMetadata, q as AgentConsumptionErrorCode } from '../piChatEvent-g1nIBh44.js';
8
- export { A as AgentDefinitionErrorCode, o as AgentDeploymentErrorCode, r as ApiErrorPayload, s as ApiErrorPayloadSchema, t as ApiErrorResponse, u as ApiErrorResponseSchema, v as BoringChatMessage, l as ChatAttachmentPayload, w as ChatError, C as ChatModelSelection, x as ChatSubmitPayload, h as CommandReceipt, E as ERROR_CODES, y as ErrorCode, z as ErrorLogFields, D as ErrorLogFieldsSchema, F as FollowUpPayload, f as FollowUpReceipt, I as InterruptPayload, k as InterruptReceipt, c as PiChatEvent, G as PiChatHeartbeatFrame, P as PiChatSnapshot, H as PiChatStatus, J as PiChatStreamFrame, d as PromptPayload, e as PromptReceipt, Q as QueueClearPayload, g as QueueClearReceipt, m as QueuedUserMessage, K as SAFE_NATIVE_SESSION_ID, n as SessionCtx, L as SessionDetail, a as SessionListOptions, S as SessionStore, b as SessionSummary, i as StopPayload, j as StopReceipt, T as ThinkingLevel, M as extractToolUiMetadata, N as isToolUiMetadata } from '../piChatEvent-g1nIBh44.js';
9
- import { S as SchemaValidationError, A as AgentSchemaIssue, a as Sha256Digest, b as AgentSchemaValidationResult, C as CredentialConsumerBindingId, c as CredentialFieldId, P as ProviderCredentialRefV1, d as AuthorizedWorkspaceCredentialScopeV1 } from '../lease-K-EZhdL-.js';
10
- export { e as AgentDefinition, f as AgentDefinitionDigestAsset, g as AgentDefinitionReference, h as AgentDefinitionValidationError, i as AgentDeployment, j as AgentDeploymentValidationError, k as CompiledAgentBundle, l as CompiledAgentDefinition, m as CreateShareEntryInput, n as CredentialConsumerBindingRegistryV1, o as CredentialConsumerBindingV1, p as CredentialConsumerKindV1, q as CredentialDeliveryV1, r as CredentialFieldDefinitionV1, E as ExternalManagedAccountReferenceDefinitionV1, I as InMemoryShareEntryStore, O as OpaqueRefSchema, s as OpaqueShareLocatorIdSchema, t as PROVIDER_CREDENTIAL_REF_VERSION, u as ProviderCategoryV1, v as ProviderCredentialDefinitionV1, w as ProviderCredentialRefFactoryV1, x as ProviderDefinitionV1, y as ProviderId, z as ProviderRegistryV1, R as ResolvedCredentialLeaseV1, B as ResolvedCredentialMaterialV1, D as SandboxHandleRecord, F as SandboxHandleStore, G as Sha256DigestSchema, H as ShareEntryErrorCode, J as ShareEntryProvenance, K as ShareEntryProvenanceSchema, L as ShareEntryResolution, M as ShareEntryStore, N as ShareEntryTombstone, Q as ShareEntryV1, T as ShareEntryV1Schema, U as ShareEntryValidationError, V as VerifiedWorkspaceCredentialAuthorityV1, W as VerifiedWorkspaceCredentialPrincipalV1, X as WorkspaceCredentialAuthorityVerifierV1, Y as WorkspaceCredentialResolverV1, Z as createAgentAssetDigest, _ as createAgentDefinitionDigest, $ as createAgentDeploymentDigest, a0 as createCredentialConsumerBindingRegistryV1, a1 as createProviderCredentialRefFactoryV1, a2 as createProviderRegistryV1, a3 as providerCredentialFieldsV1, a4 as resolveShareEntry, a5 as validateAgentDefinition, a6 as validateAgentDeployment } from '../lease-K-EZhdL-.js';
7
+ import { B as BoringChatPart, p as ToolUiMetadata, q as AgentConsumptionErrorCode } from '../piChatEvent-iNSXiFQq.js';
8
+ export { A as AgentDefinitionErrorCode, o as AgentDeploymentErrorCode, r as ApiErrorPayload, s as ApiErrorPayloadSchema, t as ApiErrorResponse, u as ApiErrorResponseSchema, v as BoringChatMessage, l as ChatAttachmentPayload, w as ChatError, C as ChatModelSelection, x as ChatSubmitPayload, h as CommandReceipt, E as ERROR_CODES, y as ErrorCode, z as ErrorLogFields, D as ErrorLogFieldsSchema, F as FollowUpPayload, f as FollowUpReceipt, I as InterruptPayload, k as InterruptReceipt, c as PiChatEvent, G as PiChatHeartbeatFrame, P as PiChatSnapshot, H as PiChatStatus, J as PiChatStreamFrame, d as PromptPayload, e as PromptReceipt, Q as QueueClearPayload, g as QueueClearReceipt, m as QueuedUserMessage, K as SAFE_NATIVE_SESSION_ID, n as SessionCtx, L as SessionDetail, a as SessionListOptions, S as SessionStore, b as SessionSummary, i as StopPayload, j as StopReceipt, T as ThinkingLevel, M as extractToolUiMetadata, N as isToolUiMetadata } from '../piChatEvent-iNSXiFQq.js';
9
+ import { S as SchemaValidationError, A as AgentSchemaIssue, a as Sha256Digest, b as AgentSchemaValidationResult, C as CredentialConsumerBindingId, c as CredentialFieldId, P as ProviderCredentialRefV1, d as AuthorizedWorkspaceCredentialScopeV1 } from '../lease-DffrPrQn.js';
10
+ export { e as AgentDefinition, f as AgentDefinitionDigestAsset, g as AgentDefinitionReference, h as AgentDefinitionValidationError, i as AgentDeployment, j as AgentDeploymentValidationError, k as CompiledAgentBundle, l as CompiledAgentDefinition, m as CreateShareEntryInput, n as CredentialConsumerBindingRegistryV1, o as CredentialConsumerBindingV1, p as CredentialConsumerKindV1, q as CredentialDeliveryV1, r as CredentialFieldDefinitionV1, E as ExternalManagedAccountReferenceDefinitionV1, I as InMemoryShareEntryStore, O as OpaqueRefSchema, s as OpaqueShareLocatorIdSchema, t as PROVIDER_CREDENTIAL_REF_VERSION, u as ProviderCategoryV1, v as ProviderCredentialDefinitionV1, w as ProviderCredentialRefFactoryV1, x as ProviderDefinitionV1, y as ProviderId, z as ProviderRegistryV1, R as ResolvedCredentialLeaseV1, B as ResolvedCredentialMaterialV1, D as SandboxHandleRecord, F as SandboxHandleStore, G as Sha256DigestSchema, H as ShareEntryErrorCode, J as ShareEntryProvenance, K as ShareEntryProvenanceSchema, L as ShareEntryResolution, M as ShareEntryStore, N as ShareEntryTombstone, Q as ShareEntryV1, T as ShareEntryV1Schema, U as ShareEntryValidationError, V as VerifiedWorkspaceCredentialAuthorityV1, W as VerifiedWorkspaceCredentialPrincipalV1, X as WorkspaceCredentialAuthorityVerifierV1, Y as WorkspaceCredentialResolverV1, Z as createAgentAssetDigest, _ as createAgentDefinitionDigest, $ as createAgentDeploymentDigest, a0 as createCredentialConsumerBindingRegistryV1, a1 as createProviderCredentialRefFactoryV1, a2 as createProviderRegistryV1, a3 as providerCredentialFieldsV1, a4 as resolveShareEntry, a5 as validateAgentDefinition, a6 as validateAgentDeployment } from '../lease-DffrPrQn.js';
11
11
  import { z } from 'zod';
12
- export { e as AGENT_GATEWAY_ERROR_CODES, f as AgentFollowUpCommand, A as AgentGateway, g as AgentGatewayError, h as AgentGatewayErrorCode, i as AgentGatewayErrorDTO, j as AgentPromptCommand, k as AgentScopeVerifier, d as AgentSendReceipt, c as AgentSessionActivity, l as AgentSessionConnection, m as AgentSessionEvent, n as AgentSessionPage, b as AgentSessionRef, o as AgentSessionStateSnapshot, p as AgentSessionSummary, q as AgentSummary, r as AuthSubjectId, a as AuthorizedAgentScope, s as AuthorizedAgentSessionQuery, C as ConnectAgentSessionInput, t as CreateAgentSessionInput, D as DeleteAgentSessionInput, I as IdempotentAgentControl, u as IdempotentAgentSend, v as IdempotentQueueClear, J as JsonPrimitive, w as JsonSafe, x as JsonValue, L as ListAgentsInput, R as ReadAgentSessionStateInput, y as RenameAgentSessionInput, V as VerifiedAgentScopeClaim, W as WorkspaceScopeId } from '../errors-szpcDUFQ.js';
12
+ export { e as AGENT_GATEWAY_ERROR_CODES, f as AgentFollowUpCommand, A as AgentGateway, g as AgentGatewayError, h as AgentGatewayErrorCode, i as AgentGatewayErrorDTO, j as AgentPromptCommand, k as AgentScopeVerifier, d as AgentSendReceipt, c as AgentSessionActivity, l as AgentSessionConnection, m as AgentSessionEvent, n as AgentSessionPage, b as AgentSessionRef, o as AgentSessionStateSnapshot, p as AgentSessionSummary, q as AgentSummary, r as AuthSubjectId, a as AuthorizedAgentScope, s as AuthorizedAgentSessionQuery, C as ConnectAgentSessionInput, t as CreateAgentSessionInput, D as DeleteAgentSessionInput, I as IdempotentAgentControl, u as IdempotentAgentSend, v as IdempotentQueueClear, J as JsonPrimitive, w as JsonSafe, x as JsonValue, L as ListAgentsInput, R as ReadAgentSessionStateInput, y as RenameAgentSessionInput, V as VerifiedAgentScopeClaim, W as WorkspaceScopeId } from '../errors-DH7C01Pm.js';
13
13
  import '@mariozechner/pi-coding-agent';
14
14
 
15
15
  declare const ToolUiMetadataSchema: z.ZodObject<{
@@ -100,12 +100,32 @@ declare const QueuedUserMessageSchema: z.ZodObject<{
100
100
  clientSeq?: number | undefined;
101
101
  }>;
102
102
  declare const PiChatStatusSchema: z.ZodEnum<["idle", "hydrating", "submitted", "streaming", "aborting", "error"]>;
103
+ declare const ChatModelSelectionSchema: z.ZodObject<{
104
+ provider: z.ZodString;
105
+ id: z.ZodString;
106
+ }, "strip", z.ZodTypeAny, {
107
+ id: string;
108
+ provider: string;
109
+ }, {
110
+ id: string;
111
+ provider: string;
112
+ }>;
103
113
  declare const PiChatSnapshotSchema: z.ZodObject<{
104
114
  protocolVersion: z.ZodLiteral<1>;
105
115
  sessionId: z.ZodString;
106
116
  seq: z.ZodNumber;
107
117
  status: z.ZodEnum<["idle", "hydrating", "submitted", "streaming", "aborting", "error"]>;
108
118
  activeTurnId: z.ZodOptional<z.ZodString>;
119
+ currentModel: z.ZodOptional<z.ZodObject<{
120
+ provider: z.ZodString;
121
+ id: z.ZodString;
122
+ }, "strip", z.ZodTypeAny, {
123
+ id: string;
124
+ provider: string;
125
+ }, {
126
+ id: string;
127
+ provider: string;
128
+ }>>;
109
129
  messages: z.ZodArray<z.ZodObject<{
110
130
  id: z.ZodString;
111
131
  role: z.ZodEnum<["user", "assistant", "system"]>;
@@ -229,6 +249,10 @@ declare const PiChatSnapshotSchema: z.ZodObject<{
229
249
  details?: unknown;
230
250
  retryable?: boolean | undefined;
231
251
  } | undefined;
252
+ currentModel?: {
253
+ id: string;
254
+ provider: string;
255
+ } | undefined;
232
256
  activeTurnId?: string | undefined;
233
257
  }, {
234
258
  status: "idle" | "aborting" | "error" | "streaming" | "hydrating" | "submitted";
@@ -263,6 +287,10 @@ declare const PiChatSnapshotSchema: z.ZodObject<{
263
287
  details?: unknown;
264
288
  retryable?: boolean | undefined;
265
289
  } | undefined;
290
+ currentModel?: {
291
+ id: string;
292
+ provider: string;
293
+ } | undefined;
266
294
  activeTurnId?: string | undefined;
267
295
  }>;
268
296
  declare const PiChatEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
@@ -280,6 +308,34 @@ declare const PiChatEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
280
308
  seq: number;
281
309
  }>, z.ZodObject<{
282
310
  seq: z.ZodNumber;
311
+ } & {
312
+ type: z.ZodLiteral<"model-changed">;
313
+ currentModel: z.ZodObject<{
314
+ provider: z.ZodString;
315
+ id: z.ZodString;
316
+ }, "strip", z.ZodTypeAny, {
317
+ id: string;
318
+ provider: string;
319
+ }, {
320
+ id: string;
321
+ provider: string;
322
+ }>;
323
+ }, "strip", z.ZodTypeAny, {
324
+ type: "model-changed";
325
+ currentModel: {
326
+ id: string;
327
+ provider: string;
328
+ };
329
+ seq: number;
330
+ }, {
331
+ type: "model-changed";
332
+ currentModel: {
333
+ id: string;
334
+ provider: string;
335
+ };
336
+ seq: number;
337
+ }>, z.ZodObject<{
338
+ seq: z.ZodNumber;
283
339
  } & {
284
340
  type: z.ZodLiteral<"agent-end">;
285
341
  turnId: z.ZodString;
@@ -741,6 +797,34 @@ declare const PiChatStreamFrameSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type
741
797
  seq: number;
742
798
  }>, z.ZodObject<{
743
799
  seq: z.ZodNumber;
800
+ } & {
801
+ type: z.ZodLiteral<"model-changed">;
802
+ currentModel: z.ZodObject<{
803
+ provider: z.ZodString;
804
+ id: z.ZodString;
805
+ }, "strip", z.ZodTypeAny, {
806
+ id: string;
807
+ provider: string;
808
+ }, {
809
+ id: string;
810
+ provider: string;
811
+ }>;
812
+ }, "strip", z.ZodTypeAny, {
813
+ type: "model-changed";
814
+ currentModel: {
815
+ id: string;
816
+ provider: string;
817
+ };
818
+ seq: number;
819
+ }, {
820
+ type: "model-changed";
821
+ currentModel: {
822
+ id: string;
823
+ provider: string;
824
+ };
825
+ seq: number;
826
+ }>, z.ZodObject<{
827
+ seq: z.ZodNumber;
744
828
  } & {
745
829
  type: z.ZodLiteral<"agent-end">;
746
830
  turnId: z.ZodString;
@@ -1186,16 +1270,6 @@ declare const PiChatStreamFrameSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"type
1186
1270
  type: "heartbeat";
1187
1271
  now: string;
1188
1272
  }>]>;
1189
- declare const ChatModelSelectionSchema: z.ZodObject<{
1190
- provider: z.ZodString;
1191
- id: z.ZodString;
1192
- }, "strip", z.ZodTypeAny, {
1193
- id: string;
1194
- provider: string;
1195
- }, {
1196
- id: string;
1197
- provider: string;
1198
- }>;
1199
1273
  declare const ThinkingLevelSchema: z.ZodEnum<["off", "low", "medium", "high"]>;
1200
1274
  declare const ChatAttachmentPayloadSchema: z.ZodObject<{
1201
1275
  filename: z.ZodOptional<z.ZodString>;
@@ -114,7 +114,7 @@ import {
114
114
  extractToolUiMetadata,
115
115
  isToolUiMetadata,
116
116
  sanitizeToolUiMetadata2 as sanitizeToolUiMetadata
117
- } from "../chunk-7QM22DU7.js";
117
+ } from "../chunk-6DRHERVK.js";
118
118
  import {
119
119
  safeRandomUUID
120
120
  } from "../chunk-YGRQ4Q5P.js";
@@ -1,9 +1,9 @@
1
1
  import { FastifyRequest, FastifyPluginAsync } from 'fastify';
2
- import { C as ToolReadinessRequirement, v as TelemetrySink, s as AgentTool, D as AgentHarnessFactory } from './harness-erpL2SER.js';
3
- import { F as FileSearch, b as AgentSkillResource, c as WorkspaceAgentDirectRunInput, L as LeaseBoundWorkspaceAgent } from './file-search-BXdSm-Yq.js';
2
+ import { C as ToolReadinessRequirement, v as TelemetrySink, s as AgentTool, D as AgentHarnessFactory } from './harness-Dcd08yKr.js';
3
+ import { F as FileSearch, b as AgentSkillResource, c as WorkspaceAgentDirectRunInput, L as LeaseBoundWorkspaceAgent } from './file-search-qcD5zItr.js';
4
4
  import { b as Workspace, h as RuntimeFilesystemCapability, j as WorkspaceRuntimeContext, c as Sandbox } from './sandbox-BMhut3kh.js';
5
- import { b as AgentSessionRef, V as VerifiedAgentScopeClaim, i as AgentGatewayErrorDTO, x as JsonValue, a as AuthorizedAgentScope, A as AgentGateway, k as AgentScopeVerifier } from './errors-szpcDUFQ.js';
6
- import { C as ChatModelSelection } from './piChatEvent-g1nIBh44.js';
5
+ import { b as AgentSessionRef, V as VerifiedAgentScopeClaim, i as AgentGatewayErrorDTO, x as JsonValue, a as AuthorizedAgentScope, A as AgentGateway, k as AgentScopeVerifier } from './errors-DH7C01Pm.js';
6
+ import { C as ChatModelSelection } from './piChatEvent-iNSXiFQq.js';
7
7
  import { RuntimeHostOperations, RuntimeFilesystemBinding as RuntimeFilesystemBinding$1 } from '@hachej/boring-bash/agent';
8
8
  import { CreateNodeWorkspaceOptions, BoringAgentRuntimePaths } from '@hachej/boring-sandbox/providers/node-workspace';
9
9
  import { PackageSource, ExtensionFactory } from '@mariozechner/pi-coding-agent';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hachej/boring-agent",
3
- "version": "0.1.103",
3
+ "version": "0.1.104",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Pane-embeddable coding agent. Ships direct/local/vercel-sandbox execution modes behind one interface.",
@@ -100,9 +100,9 @@
100
100
  "use-stick-to-bottom": "^1.1.6",
101
101
  "yaml": "^2.9.0",
102
102
  "zod": "^3.25.76",
103
- "@hachej/boring-bash": "0.1.103",
104
- "@hachej/boring-ui-kit": "0.1.103",
105
- "@hachej/boring-sandbox": "0.1.103"
103
+ "@hachej/boring-bash": "0.1.104",
104
+ "@hachej/boring-sandbox": "0.1.104",
105
+ "@hachej/boring-ui-kit": "0.1.104"
106
106
  },
107
107
  "devDependencies": {
108
108
  "@vercel/sandbox": "3.0.0",