@skaile/workspaces 4.21.0 → 4.22.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/CHANGELOG.md +28 -0
- package/dist/app-sdk/index.js +1 -1
- package/dist/{asset-feeds-HKPNPO7N.js → asset-feeds-6TCDMWCJ.js} +4 -4
- package/dist/{asset-feeds-HKPNPO7N.js.map → asset-feeds-6TCDMWCJ.js.map} +1 -1
- package/dist/asset-manager/index.js +1 -1
- package/dist/bridge/drivers/claude-sdk.js +115 -6
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.js +2 -2
- package/dist/bridge/drivers/continue.js +3 -3
- package/dist/bridge/drivers/echo.js +3 -3
- package/dist/bridge/drivers/gemini.js +5 -5
- package/dist/bridge/drivers/goose.js +3 -3
- package/dist/bridge/drivers/omp.js +4 -4
- package/dist/bridge/drivers/omp.js.map +1 -1
- package/dist/bridge/drivers/opencode.js +3 -3
- package/dist/bridge/drivers/qwen.js +5 -5
- package/dist/bridge/index.js +5 -5
- package/dist/bridge/src/drivers/claude-sdk.d.ts +23 -0
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/drivers/omp.d.ts +1 -1
- package/dist/bridge/src/types.d.ts +17 -2
- package/dist/bridge/src/types.d.ts.map +1 -1
- package/dist/{chunk-HA674IQL.js → chunk-47MUF565.js} +6 -6
- package/dist/{chunk-HA674IQL.js.map → chunk-47MUF565.js.map} +1 -1
- package/dist/{chunk-ES4E6RDZ.js → chunk-52OD6PJ4.js} +3 -3
- package/dist/{chunk-ES4E6RDZ.js.map → chunk-52OD6PJ4.js.map} +1 -1
- package/dist/{chunk-TVLQTO7E.js → chunk-7LZJRVKJ.js} +9 -3
- package/dist/chunk-7LZJRVKJ.js.map +1 -0
- package/dist/{chunk-RLACUE4X.js → chunk-D3UARV3Z.js} +3 -3
- package/dist/{chunk-RLACUE4X.js.map → chunk-D3UARV3Z.js.map} +1 -1
- package/dist/{chunk-IZAN5MHL.js → chunk-F4ECQAN3.js} +165 -4
- package/dist/chunk-F4ECQAN3.js.map +1 -0
- package/dist/{chunk-S5A5MVJN.js → chunk-GRBB4CQL.js} +4 -4
- package/dist/chunk-GRBB4CQL.js.map +1 -0
- package/dist/{chunk-5FMWNSAQ.js → chunk-HMUFI3L5.js} +3 -3
- package/dist/{chunk-5FMWNSAQ.js.map → chunk-HMUFI3L5.js.map} +1 -1
- package/dist/{chunk-ZJEQFNKE.js → chunk-IAWXUW6C.js} +311 -26
- package/dist/chunk-IAWXUW6C.js.map +1 -0
- package/dist/{chunk-ZDSZGV5F.js → chunk-IBUY53DN.js} +59 -12
- package/dist/chunk-IBUY53DN.js.map +1 -0
- package/dist/{chunk-XBMCUMZT.js → chunk-IN466NSZ.js} +4 -4
- package/dist/{chunk-XBMCUMZT.js.map → chunk-IN466NSZ.js.map} +1 -1
- package/dist/{chunk-RTD5KAM4.js → chunk-IRGI7Q62.js} +10 -3
- package/dist/chunk-IRGI7Q62.js.map +1 -0
- package/dist/{chunk-RBTVXXD5.js → chunk-JIPPMYOM.js} +3 -3
- package/dist/{chunk-RBTVXXD5.js.map → chunk-JIPPMYOM.js.map} +1 -1
- package/dist/{chunk-GTS2FODO.js → chunk-JKJ7XYLG.js} +35 -3
- package/dist/chunk-JKJ7XYLG.js.map +1 -0
- package/dist/{chunk-AEOHSR27.js → chunk-KVWSBQNP.js} +3 -3
- package/dist/{chunk-AEOHSR27.js.map → chunk-KVWSBQNP.js.map} +1 -1
- package/dist/{chunk-ODIJJXXB.js → chunk-NJ2AI2DR.js} +6 -6
- package/dist/{chunk-ODIJJXXB.js.map → chunk-NJ2AI2DR.js.map} +1 -1
- package/dist/{chunk-5YDCUHJI.js → chunk-PIY5NTXY.js} +3 -3
- package/dist/{chunk-5YDCUHJI.js.map → chunk-PIY5NTXY.js.map} +1 -1
- package/dist/{chunk-EUGEEYGD.js → chunk-Q6LSBAQK.js} +2 -2
- package/dist/{chunk-EUGEEYGD.js.map → chunk-Q6LSBAQK.js.map} +1 -1
- package/dist/{chunk-YEQ3BXOY.js → chunk-QCACHN2P.js} +3 -3
- package/dist/{chunk-YEQ3BXOY.js.map → chunk-QCACHN2P.js.map} +1 -1
- package/dist/{chunk-OPSKLUB4.js → chunk-R2RFFXK7.js} +2 -2
- package/dist/{chunk-OPSKLUB4.js.map → chunk-R2RFFXK7.js.map} +1 -1
- package/dist/{chunk-R3EU2FFW.js → chunk-UHYS34Z5.js} +4 -4
- package/dist/{chunk-R3EU2FFW.js.map → chunk-UHYS34Z5.js.map} +1 -1
- package/dist/{chunk-FELWDKLQ.js → chunk-WBRD2T5J.js} +3 -3
- package/dist/{chunk-FELWDKLQ.js.map → chunk-WBRD2T5J.js.map} +1 -1
- package/dist/{chunk-I4VIRPHS.js → chunk-Y6QVVKFN.js} +3 -3
- package/dist/{chunk-I4VIRPHS.js.map → chunk-Y6QVVKFN.js.map} +1 -1
- package/dist/{chunk-EJU2TOGT.js → chunk-YHG3333K.js} +3 -3
- package/dist/{chunk-EJU2TOGT.js.map → chunk-YHG3333K.js.map} +1 -1
- package/dist/{chunk-RZ2YIFT6.js → chunk-ZULBOMNO.js} +6 -6
- package/dist/{chunk-RZ2YIFT6.js.map → chunk-ZULBOMNO.js.map} +1 -1
- package/dist/cli/index.js +36 -36
- package/dist/connectors/index.js +7 -7
- package/dist/connectors/src/connector-manager.d.ts +15 -0
- package/dist/connectors/src/connector-manager.d.ts.map +1 -1
- package/dist/connectors-shared/index.js +2 -2
- package/dist/{ensure-sources-MUS622KB.js → ensure-sources-ONLJKK4T.js} +4 -4
- package/dist/{ensure-sources-MUS622KB.js.map → ensure-sources-ONLJKK4T.js.map} +1 -1
- package/dist/factory-assets/connectors/box.js +7 -7
- package/dist/factory-assets/connectors/deploy.js +7 -7
- package/dist/factory-assets/connectors/devserver.js +7 -7
- package/dist/factory-assets/connectors/flow/adapter.js +7 -7
- package/dist/factory-assets/connectors/flow/run-flow.js +8 -8
- package/dist/factory-assets/connectors/flow.js +7 -7
- package/dist/factory-assets/connectors/git.js +7 -7
- package/dist/factory-assets/connectors/gmail.js +7 -7
- package/dist/factory-assets/connectors/googledrive.js +7 -7
- package/dist/factory-assets/connectors/local.js +7 -7
- package/dist/factory-assets/connectors/mattermost.js +7 -7
- package/dist/factory-assets/connectors/memory.js +7 -7
- package/dist/factory-assets/connectors/minio.js +7 -7
- package/dist/factory-assets/connectors/postgres.js +7 -7
- package/dist/factory-assets/connectors/s3.js +7 -7
- package/dist/factory-assets/connectors/sharepoint.js +7 -7
- package/dist/factory-assets/connectors/sqlite.js +7 -7
- package/dist/factory-assets/connectors/static-server.js +7 -7
- package/dist/factory-assets/connectors/tunnel.js +7 -7
- package/dist/factory-assets/connectors/webdav.js +7 -7
- package/dist/factory-assets/connectors/xstate-store.js +7 -7
- package/dist/factory-assets/connectors/xstate.js +7 -7
- package/dist/{helpers-V3IJWB75.js → helpers-SGWUYZUS.js} +4 -4
- package/dist/{helpers-V3IJWB75.js.map → helpers-SGWUYZUS.js.map} +1 -1
- package/dist/{library-publish-TXJM76SD.js → library-publish-ZEZA6DAI.js} +6 -6
- package/dist/{library-publish-TXJM76SD.js.map → library-publish-ZEZA6DAI.js.map} +1 -1
- package/dist/{open-library-ORTV2RUE.js → open-library-OF377L77.js} +5 -5
- package/dist/{open-library-ORTV2RUE.js.map → open-library-OF377L77.js.map} +1 -1
- package/dist/{project-GI2A75UN.js → project-23QK7474.js} +5 -5
- package/dist/{project-GI2A75UN.js.map → project-23QK7474.js.map} +1 -1
- package/dist/runner/index.js +12 -12
- package/dist/runner/src/ai-credential-retry.d.ts +14 -0
- package/dist/runner/src/ai-credential-retry.d.ts.map +1 -1
- package/dist/runner/src/capability-roundtrip.d.ts +18 -0
- package/dist/runner/src/capability-roundtrip.d.ts.map +1 -1
- package/dist/runner/src/event-gap-buffer.d.ts +77 -0
- package/dist/runner/src/event-gap-buffer.d.ts.map +1 -0
- package/dist/runner/src/managed-codex-bootstrap.d.ts +1 -1
- package/dist/runner/src/reconfigure-handler.d.ts +40 -0
- package/dist/runner/src/reconfigure-handler.d.ts.map +1 -0
- package/dist/runner/src/reply-routing.d.ts +2 -0
- package/dist/runner/src/reply-routing.d.ts.map +1 -1
- package/dist/runner/src/runner-capabilities.d.ts +48 -1
- package/dist/runner/src/runner-capabilities.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/runner/src/session-builder.d.ts +2 -2
- package/dist/runner/src/session-builder.d.ts.map +1 -1
- package/dist/runner/src/session-capability-wiring.d.ts +5 -0
- package/dist/runner/src/session-capability-wiring.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +1 -1
- package/dist/sdk/bridge.js +5 -5
- package/dist/sdk/index.js +12 -12
- package/dist/sdk/runner.js +12 -12
- package/dist/sdk/session.js +2 -2
- package/dist/sdk/store.js +1 -1
- package/dist/sdk/transport/ws/client.js +1 -1
- package/dist/sdk/transport/ws.js +1 -1
- package/dist/sdk/transport.js +1 -1
- package/dist/sdk/types.js +1 -1
- package/dist/session/index.js +2 -2
- package/dist/session/src/bounded-subscriber-transport.d.ts +101 -0
- package/dist/session/src/bounded-subscriber-transport.d.ts.map +1 -0
- package/dist/session/src/dispatcher.d.ts.map +1 -1
- package/dist/session/src/index.d.ts +2 -0
- package/dist/session/src/index.d.ts.map +1 -1
- package/dist/session/src/types.d.ts +10 -1
- package/dist/session/src/types.d.ts.map +1 -1
- package/dist/{setup-GLCLE36X.js → setup-WZ3SWZFQ.js} +10 -10
- package/dist/{setup-GLCLE36X.js.map → setup-WZ3SWZFQ.js.map} +1 -1
- package/dist/{source-N6EKFFH5.js → source-YMKMBOKP.js} +6 -6
- package/dist/{source-N6EKFFH5.js.map → source-YMKMBOKP.js.map} +1 -1
- package/dist/{source-manifest-publish-BDMY4B4B.js → source-manifest-publish-B3CVM4RW.js} +7 -7
- package/dist/{source-manifest-publish-BDMY4B4B.js.map → source-manifest-publish-B3CVM4RW.js.map} +1 -1
- package/dist/store/index.js +1 -1
- package/dist/store/src/store.d.ts.map +1 -1
- package/dist/transport/index.js +1 -1
- package/dist/transport/src/ws/client.d.ts +12 -0
- package/dist/transport/src/ws/client.d.ts.map +1 -1
- package/dist/transport/ws/client.js +1 -1
- package/dist/transport/ws.js +1 -1
- package/dist/tui/index.js +12 -12
- package/dist/types/index.js +1 -1
- package/dist/types/src/events.d.ts +9 -2
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/lifecycle.d.ts +1 -1
- package/dist/types/src/lifecycle.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +17 -2
- package/dist/types/src/version.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +2 -2
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-GTS2FODO.js.map +0 -1
- package/dist/chunk-IZAN5MHL.js.map +0 -1
- package/dist/chunk-RTD5KAM4.js.map +0 -1
- package/dist/chunk-S5A5MVJN.js.map +0 -1
- package/dist/chunk-TVLQTO7E.js.map +0 -1
- package/dist/chunk-ZDSZGV5F.js.map +0 -1
- package/dist/chunk-ZJEQFNKE.js.map +0 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { WorkspacePlugin } from './chunk-
|
|
2
|
-
import { buildWorkspaceToolDefs } from './chunk-
|
|
1
|
+
import { WorkspacePlugin } from './chunk-R2RFFXK7.js';
|
|
2
|
+
import { buildWorkspaceToolDefs } from './chunk-HMUFI3L5.js';
|
|
3
3
|
import { findAiAssetsRoot } from './chunk-7IH3RKKK.js';
|
|
4
4
|
import { WebSocketServerTransport } from './chunk-73ZXUUL6.js';
|
|
5
5
|
import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
|
|
6
6
|
import { prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-PE3A6FFW.js';
|
|
7
|
-
import { resolveFlowPath } from './chunk-
|
|
7
|
+
import { resolveFlowPath } from './chunk-YHG3333K.js';
|
|
8
8
|
import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-Q6NDQ6BH.js';
|
|
9
|
-
import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-
|
|
9
|
+
import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-IBUY53DN.js';
|
|
10
10
|
import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, isKnownSecretRef, deriveSingleMaterializedConnectorDeclaration } from './chunk-MC2MF4U5.js';
|
|
11
|
-
import { EventNormalizer } from './chunk-
|
|
11
|
+
import { EventNormalizer } from './chunk-IN466NSZ.js';
|
|
12
12
|
import { probeResumeTranscript, transcriptStoreForRuntime } from './chunk-6S5KL76M.js';
|
|
13
13
|
import { CodexNativeStateUnavailable } from './chunk-LOO5CB5M.js';
|
|
14
|
-
import { dispatchCapability } from './chunk-
|
|
14
|
+
import { dispatchCapability } from './chunk-D3UARV3Z.js';
|
|
15
15
|
import { classifyClaudeSdkError } from './chunk-BGY4KTU6.js';
|
|
16
16
|
import { agentExecRequested } from './chunk-YROR332M.js';
|
|
17
|
-
import { createDriver, catalogLayer, providerCredentialEnvName, toMergedRegistry, registryCredentialEnv, AI_PROVIDER_PRESETS } from './chunk-
|
|
17
|
+
import { toAgentEffort, createDriver, catalogLayer, providerCredentialEnvName, toMergedRegistry, registryCredentialEnv, AI_PROVIDER_PRESETS, AgentDriver } from './chunk-IRGI7Q62.js';
|
|
18
18
|
import { loadFlow } from './chunk-KTCMBEEB.js';
|
|
19
19
|
import { parseFlowDefinition } from './chunk-ALLCAFHQ.js';
|
|
20
20
|
import { renderStimulusPrompt } from './chunk-RQLL7L72.js';
|
|
21
|
-
import { withActivityLabelJsonSchema, TOOL_ACTIVITY_PROMPT_SECTION, SESSION_ROOT_CONNECTOR_ID, PROTOCOL_VERSION } from './chunk-
|
|
21
|
+
import { withActivityLabelJsonSchema, TOOL_ACTIVITY_PROMPT_SECTION, SESSION_ROOT_CONNECTOR_ID, PROTOCOL_VERSION } from './chunk-GRBB4CQL.js';
|
|
22
22
|
import { resolveSettings, loadProviderRegistry } from './chunk-UWU572Q6.js';
|
|
23
23
|
import { resolveRuntimeAssets } from './chunk-5RHPNNWP.js';
|
|
24
24
|
import { resolveDriverPaths } from './chunk-K5GBV4SA.js';
|
|
@@ -2715,7 +2715,11 @@ async function createAgentSession(config) {
|
|
|
2715
2715
|
]);
|
|
2716
2716
|
logAssembledSystemPrompt(systemPrompt, sessionLog);
|
|
2717
2717
|
const thinking = config.thinking ?? wsConfig.agent_config?.default?.thinking;
|
|
2718
|
-
const
|
|
2718
|
+
const wsEffort = managed ? void 0 : wsConfig.agent_config?.default?.effort;
|
|
2719
|
+
const effort = config.effort ?? toAgentEffort(wsEffort);
|
|
2720
|
+
if (config.effort === void 0 && wsEffort !== void 0 && effort === void 0) {
|
|
2721
|
+
sessionLog.warn("ignoring unknown effort", { effort: wsEffort, source: "skaile.yaml" });
|
|
2722
|
+
}
|
|
2719
2723
|
const maxTurns = maxTurnsOverride ?? manifest?.runtime?.max_turns;
|
|
2720
2724
|
let driver;
|
|
2721
2725
|
try {
|
|
@@ -3563,6 +3567,19 @@ function resolveCapabilityResult(pending, cmd) {
|
|
|
3563
3567
|
}
|
|
3564
3568
|
return true;
|
|
3565
3569
|
}
|
|
3570
|
+
function rejectPendingCapabilityCallsOnDisconnect(pending, keep = () => false) {
|
|
3571
|
+
const entries = [...pending].filter(([callId]) => !keep(callId));
|
|
3572
|
+
for (const [callId] of entries) pending.delete(callId);
|
|
3573
|
+
for (const [callId, entry] of entries) {
|
|
3574
|
+
clearTimeout(entry.timer);
|
|
3575
|
+
entry.reject(
|
|
3576
|
+
new Error(
|
|
3577
|
+
`Platform connection dropped while capability call ${callId} was in flight (the platform backend may be restarting). Its outcome is unknown; retry once the platform is back if the call is safe to repeat.`
|
|
3578
|
+
)
|
|
3579
|
+
);
|
|
3580
|
+
}
|
|
3581
|
+
return entries.length;
|
|
3582
|
+
}
|
|
3566
3583
|
function rejectCapabilityOnApprovalDeny(pending, callId, feedback) {
|
|
3567
3584
|
const entry = pending.get(callId);
|
|
3568
3585
|
if (!entry) return false;
|
|
@@ -4181,6 +4198,23 @@ var MINT_RETRY_MAX_DELAY_MS = 5e3;
|
|
|
4181
4198
|
function isTransientMintFailure(code) {
|
|
4182
4199
|
return code === "backend-error";
|
|
4183
4200
|
}
|
|
4201
|
+
function aiMintPreconditionFailure(args) {
|
|
4202
|
+
if (args.configId === void 0) {
|
|
4203
|
+
return {
|
|
4204
|
+
ok: false,
|
|
4205
|
+
code: "not-configured",
|
|
4206
|
+
message: "no aiProviderConfigId; standalone runner cannot mediate refresh"
|
|
4207
|
+
};
|
|
4208
|
+
}
|
|
4209
|
+
if (!args.connected) {
|
|
4210
|
+
return {
|
|
4211
|
+
ok: false,
|
|
4212
|
+
code: "backend-error",
|
|
4213
|
+
message: "transport disconnected; the platform connection is down, refresh will be retried"
|
|
4214
|
+
};
|
|
4215
|
+
}
|
|
4216
|
+
return null;
|
|
4217
|
+
}
|
|
4184
4218
|
function mintRetryDelayMs(retryNumber) {
|
|
4185
4219
|
const delay = MINT_RETRY_BASE_DELAY_MS * 2 ** Math.max(0, retryNumber - 1);
|
|
4186
4220
|
return Math.min(delay, MINT_RETRY_MAX_DELAY_MS);
|
|
@@ -4471,6 +4505,55 @@ async function handleCredentialRotatedSignal(deps) {
|
|
|
4471
4505
|
}
|
|
4472
4506
|
}
|
|
4473
4507
|
|
|
4508
|
+
// runner/src/reconfigure-handler.ts
|
|
4509
|
+
function driverAppliesReconfigure(driver) {
|
|
4510
|
+
return typeof driver.reconfigure === "function" && driver.reconfigure !== AgentDriver.prototype.reconfigure;
|
|
4511
|
+
}
|
|
4512
|
+
function applyReconfigurePatch(config, patch) {
|
|
4513
|
+
if (patch.model !== void 0) {
|
|
4514
|
+
config.model = patch.model;
|
|
4515
|
+
if (config.modelRef !== void 0) config.modelRef = patch.model;
|
|
4516
|
+
}
|
|
4517
|
+
if (patch.thinking !== void 0) config.thinking = patch.thinking;
|
|
4518
|
+
if (patch.effort !== void 0) config.effort = patch.effort;
|
|
4519
|
+
}
|
|
4520
|
+
function carryLiveReconfigure(config, patch, wireAgentConfigChanged) {
|
|
4521
|
+
if (wireAgentConfigChanged || !patch) return void 0;
|
|
4522
|
+
applyReconfigurePatch(config, patch);
|
|
4523
|
+
return patch;
|
|
4524
|
+
}
|
|
4525
|
+
function buildReconfigureHandler(deps) {
|
|
4526
|
+
const { getDriver, rememberPatch, log } = deps;
|
|
4527
|
+
return async (patch) => {
|
|
4528
|
+
const fields = Object.keys(patch).join(", ");
|
|
4529
|
+
const driver = getDriver();
|
|
4530
|
+
if (!driver) {
|
|
4531
|
+
log(`[reconfigure] no driver is running; ${fields} not applied`);
|
|
4532
|
+
return {
|
|
4533
|
+
ok: false,
|
|
4534
|
+
code: "no_driver",
|
|
4535
|
+
message: "No agent driver is running; the change applies when the session next starts."
|
|
4536
|
+
};
|
|
4537
|
+
}
|
|
4538
|
+
const driverId = driver.driverInfo?.id ?? "unknown";
|
|
4539
|
+
if (!driverAppliesReconfigure(driver)) {
|
|
4540
|
+
log(
|
|
4541
|
+
`[reconfigure] driver ${driverId} cannot apply a live reconfigure; ${fields} not applied`
|
|
4542
|
+
);
|
|
4543
|
+
return {
|
|
4544
|
+
ok: false,
|
|
4545
|
+
code: "not_supported",
|
|
4546
|
+
message: `The ${driverId} driver cannot change ${fields} live; the change applies when the session next starts.`
|
|
4547
|
+
};
|
|
4548
|
+
}
|
|
4549
|
+
driver.reconfigure(patch);
|
|
4550
|
+
rememberPatch(patch);
|
|
4551
|
+
const model = driver.getModel() ?? null;
|
|
4552
|
+
log(`[reconfigure] driver ${driverId} took ${fields} (model=${model ?? "(default)"})`);
|
|
4553
|
+
return { ok: true, model };
|
|
4554
|
+
};
|
|
4555
|
+
}
|
|
4556
|
+
|
|
4474
4557
|
// runner/src/runtime-session-emit.ts
|
|
4475
4558
|
function planRuntimeSessionEmit(input) {
|
|
4476
4559
|
const { driverSessionId, model, capabilitySignature, lastEmitted } = input;
|
|
@@ -4868,12 +4951,113 @@ function awaitAgentEnd(driver, prompt, timeoutMs) {
|
|
|
4868
4951
|
async function routeReply(deps) {
|
|
4869
4952
|
const current = deps.getDriver();
|
|
4870
4953
|
if (current.hasPendingQuestion()) {
|
|
4871
|
-
|
|
4954
|
+
if (!current.answerQuestion(deps.answer, deps.question, deps.requestId)) return "fresh-turn";
|
|
4955
|
+
deps.onAnswered?.();
|
|
4956
|
+
return "answered";
|
|
4872
4957
|
}
|
|
4873
4958
|
await deps.awaitSwap();
|
|
4874
4959
|
return "fresh-turn";
|
|
4875
4960
|
}
|
|
4876
4961
|
|
|
4962
|
+
// runner/src/event-gap-buffer.ts
|
|
4963
|
+
var EVENT_GAP_BUFFER_MAX_EVENTS = 1e4;
|
|
4964
|
+
var EVENT_GAP_BUFFER_MAX_BYTES = 16 * 1024 * 1024;
|
|
4965
|
+
var UNBUFFERED_TYPES = /* @__PURE__ */ new Set([
|
|
4966
|
+
"session_init_ack",
|
|
4967
|
+
"log_entry",
|
|
4968
|
+
"capability_result"
|
|
4969
|
+
]);
|
|
4970
|
+
function measure(event) {
|
|
4971
|
+
try {
|
|
4972
|
+
const json = JSON.stringify(event);
|
|
4973
|
+
return json === void 0 ? 0 : Buffer.byteLength(json, "utf8");
|
|
4974
|
+
} catch {
|
|
4975
|
+
return 0;
|
|
4976
|
+
}
|
|
4977
|
+
}
|
|
4978
|
+
var EventGapBuffer = class _EventGapBuffer {
|
|
4979
|
+
maxEvents;
|
|
4980
|
+
maxBytes;
|
|
4981
|
+
entries = [];
|
|
4982
|
+
/** Index of the oldest live entry; eviction advances it instead of shifting the array. */
|
|
4983
|
+
head = 0;
|
|
4984
|
+
bytes = 0;
|
|
4985
|
+
dropped = 0;
|
|
4986
|
+
constructor(opts = {}) {
|
|
4987
|
+
this.maxEvents = opts.maxEvents ?? EVENT_GAP_BUFFER_MAX_EVENTS;
|
|
4988
|
+
this.maxBytes = opts.maxBytes ?? EVENT_GAP_BUFFER_MAX_BYTES;
|
|
4989
|
+
}
|
|
4990
|
+
/** Number of events currently held. */
|
|
4991
|
+
get size() {
|
|
4992
|
+
return this.entries.length - this.head;
|
|
4993
|
+
}
|
|
4994
|
+
/** Whether a drain would report anything (held events or drops). */
|
|
4995
|
+
get hasPending() {
|
|
4996
|
+
return this.size > 0 || this.dropped > 0;
|
|
4997
|
+
}
|
|
4998
|
+
/** The callIds of the `capability_invoked` events currently held. */
|
|
4999
|
+
heldCapabilityCallIds() {
|
|
5000
|
+
const ids = /* @__PURE__ */ new Set();
|
|
5001
|
+
for (let i = this.head; i < this.entries.length; i++) {
|
|
5002
|
+
const event = this.entries[i]?.event;
|
|
5003
|
+
if (event?.type === "capability_invoked") ids.add(event.callId);
|
|
5004
|
+
}
|
|
5005
|
+
return ids;
|
|
5006
|
+
}
|
|
5007
|
+
/** Whether {@link push} would hold this event type at all. */
|
|
5008
|
+
static accepts(event) {
|
|
5009
|
+
return !UNBUFFERED_TYPES.has(event.type);
|
|
5010
|
+
}
|
|
5011
|
+
/**
|
|
5012
|
+
* Append an event, evicting the oldest past either cap. An event larger than
|
|
5013
|
+
* the byte cap on its own is counted as dropped and not held.
|
|
5014
|
+
*/
|
|
5015
|
+
push(event, opts = {}) {
|
|
5016
|
+
if (!_EventGapBuffer.accepts(event)) return;
|
|
5017
|
+
const bytes = measure(event);
|
|
5018
|
+
if (bytes > this.maxBytes) {
|
|
5019
|
+
this.dropped += 1;
|
|
5020
|
+
return;
|
|
5021
|
+
}
|
|
5022
|
+
this.entries.push({ event, bytes, ...opts.isStale ? { isStale: opts.isStale } : {} });
|
|
5023
|
+
this.bytes += bytes;
|
|
5024
|
+
while (this.size > this.maxEvents || this.bytes > this.maxBytes) {
|
|
5025
|
+
const oldest = this.entries[this.head];
|
|
5026
|
+
if (!oldest) break;
|
|
5027
|
+
this.head += 1;
|
|
5028
|
+
this.bytes -= oldest.bytes;
|
|
5029
|
+
this.dropped += 1;
|
|
5030
|
+
}
|
|
5031
|
+
if (this.head > 1024 && this.head * 2 > this.entries.length) {
|
|
5032
|
+
this.entries = this.entries.slice(this.head);
|
|
5033
|
+
this.head = 0;
|
|
5034
|
+
}
|
|
5035
|
+
}
|
|
5036
|
+
/** Hand back everything held, oldest first, and reset. */
|
|
5037
|
+
drain() {
|
|
5038
|
+
const events = [];
|
|
5039
|
+
let stale = 0;
|
|
5040
|
+
for (let i = this.head; i < this.entries.length; i++) {
|
|
5041
|
+
const entry = this.entries[i];
|
|
5042
|
+
if (!entry) continue;
|
|
5043
|
+
if (entry.isStale?.()) stale += 1;
|
|
5044
|
+
else events.push(entry.event);
|
|
5045
|
+
}
|
|
5046
|
+
const dropped = this.dropped;
|
|
5047
|
+
this.clear();
|
|
5048
|
+
return { events, dropped, stale };
|
|
5049
|
+
}
|
|
5050
|
+
/** Discard everything held. Returns how many events were discarded. */
|
|
5051
|
+
clear() {
|
|
5052
|
+
const discarded = this.size;
|
|
5053
|
+
this.entries = [];
|
|
5054
|
+
this.head = 0;
|
|
5055
|
+
this.bytes = 0;
|
|
5056
|
+
this.dropped = 0;
|
|
5057
|
+
return discarded;
|
|
5058
|
+
}
|
|
5059
|
+
};
|
|
5060
|
+
|
|
4877
5061
|
// runner/src/compaction/prompt.ts
|
|
4878
5062
|
var DEFAULT_COMPACTION_PROMPT = `You are being asked to compact this conversation into a structured summary.
|
|
4879
5063
|
This summary will replace the full conversation history when the session
|
|
@@ -6184,8 +6368,8 @@ var ContextUsageCollector = class {
|
|
|
6184
6368
|
if (opts.measure && driver?.getContextUsageReport) {
|
|
6185
6369
|
try {
|
|
6186
6370
|
const detail = opts.measure;
|
|
6187
|
-
const
|
|
6188
|
-
report = await this.sharedMeasurement(detail, () =>
|
|
6371
|
+
const measure2 = driver.getContextUsageReport.bind(driver);
|
|
6372
|
+
report = await this.sharedMeasurement(detail, () => measure2({ detail }));
|
|
6189
6373
|
if (report) {
|
|
6190
6374
|
this.lastReport = report;
|
|
6191
6375
|
reportFresh = true;
|
|
@@ -6222,11 +6406,11 @@ var ContextUsageCollector = class {
|
|
|
6222
6406
|
* lands while a `full` count is running (two panels, a double click) shares
|
|
6223
6407
|
* it instead of paying for another round of `count_tokens` calls.
|
|
6224
6408
|
*/
|
|
6225
|
-
sharedMeasurement(detail,
|
|
6409
|
+
sharedMeasurement(detail, measure2) {
|
|
6226
6410
|
const running = this.inflight.get(detail);
|
|
6227
6411
|
if (running) return running;
|
|
6228
6412
|
const measurement = withTimeout(
|
|
6229
|
-
|
|
6413
|
+
measure2(),
|
|
6230
6414
|
this.deps.measureTimeoutMs ?? DEFAULT_MEASURE_TIMEOUT_MS
|
|
6231
6415
|
).finally(() => {
|
|
6232
6416
|
if (this.inflight.get(detail) === measurement) this.inflight.delete(detail);
|
|
@@ -6664,6 +6848,13 @@ var setStateInput = z7.strictObject({
|
|
|
6664
6848
|
var lifecycleInput = z7.strictObject({
|
|
6665
6849
|
phase: z7.enum(["hibernate", "close", "compact"])
|
|
6666
6850
|
});
|
|
6851
|
+
var reconfigureInputSchema = z7.strictObject({
|
|
6852
|
+
model: z7.string().trim().min(1).optional(),
|
|
6853
|
+
thinking: z7.enum(["adaptive", "enabled", "disabled"]).optional(),
|
|
6854
|
+
effort: z7.enum(["low", "medium", "high", "xhigh", "max"]).optional()
|
|
6855
|
+
}).refine((p) => p.model !== void 0 || p.thinking !== void 0 || p.effort !== void 0, {
|
|
6856
|
+
message: "a reconfigure names at least one of model, thinking, effort"
|
|
6857
|
+
});
|
|
6667
6858
|
var VALID_LOG_STORE_LEVELS = /* @__PURE__ */ new Set(["debug", "info", "warn", "error"]);
|
|
6668
6859
|
function buildRunnerCapabilities(handlers) {
|
|
6669
6860
|
return [
|
|
@@ -6838,6 +7029,24 @@ function buildRunnerCapabilities(handlers) {
|
|
|
6838
7029
|
}
|
|
6839
7030
|
return handlers.lifecycle(input);
|
|
6840
7031
|
}
|
|
7032
|
+
}),
|
|
7033
|
+
defineCapability({
|
|
7034
|
+
name: "runner.reconfigure",
|
|
7035
|
+
displayName: "Reconfigure agent",
|
|
7036
|
+
description: "Change the running agent's model, thinking mode or effort without a restart. Applies from the next turn; a turn in progress finishes on the old settings. Answers no_driver or not_supported when the change cannot apply live.",
|
|
7037
|
+
side: "agent",
|
|
7038
|
+
origin: RUNNER_CAP_ORIGIN,
|
|
7039
|
+
audience: ["runtime"],
|
|
7040
|
+
kind: "effect",
|
|
7041
|
+
input: reconfigureInputSchema,
|
|
7042
|
+
handler: async (input) => {
|
|
7043
|
+
if (!handlers.reconfigure) return notImplemented("runner.reconfigure");
|
|
7044
|
+
const patch = {};
|
|
7045
|
+
if (input.model !== void 0) patch.model = input.model;
|
|
7046
|
+
if (input.thinking !== void 0) patch.thinking = input.thinking;
|
|
7047
|
+
if (input.effort !== void 0) patch.effort = input.effort;
|
|
7048
|
+
return handlers.reconfigure(patch);
|
|
7049
|
+
}
|
|
6841
7050
|
})
|
|
6842
7051
|
];
|
|
6843
7052
|
}
|
|
@@ -6858,6 +7067,8 @@ function wireSessionCapabilities(deps) {
|
|
|
6858
7067
|
detachSkillInstance,
|
|
6859
7068
|
registerLiveAttachedMcp,
|
|
6860
7069
|
scheduleDriverRestartForToolChanges,
|
|
7070
|
+
getDriver,
|
|
7071
|
+
rememberReconfigure,
|
|
6861
7072
|
log
|
|
6862
7073
|
} = deps;
|
|
6863
7074
|
capabilityRegistry.setRemoteInvoker(remoteCapabilityInvoker);
|
|
@@ -6915,6 +7126,11 @@ function wireSessionCapabilities(deps) {
|
|
|
6915
7126
|
getCompactionOrchestrator,
|
|
6916
7127
|
getResourceManager,
|
|
6917
7128
|
log
|
|
7129
|
+
}),
|
|
7130
|
+
reconfigure: buildReconfigureHandler({
|
|
7131
|
+
getDriver,
|
|
7132
|
+
rememberPatch: rememberReconfigure,
|
|
7133
|
+
log
|
|
6918
7134
|
})
|
|
6919
7135
|
});
|
|
6920
7136
|
for (const cap of runnerCaps) {
|
|
@@ -7814,11 +8030,21 @@ async function startAgentServer(opts) {
|
|
|
7814
8030
|
})
|
|
7815
8031
|
);
|
|
7816
8032
|
const turnStatus = new TurnStatusTracker();
|
|
8033
|
+
const eventGapBuffer = new EventGapBuffer();
|
|
7817
8034
|
function sendEvent(event) {
|
|
7818
8035
|
turnStatus.observe(event);
|
|
7819
8036
|
if (transport.connected) {
|
|
7820
8037
|
transport.send(event);
|
|
8038
|
+
return;
|
|
7821
8039
|
}
|
|
8040
|
+
if (!initAcknowledged) return;
|
|
8041
|
+
eventGapBuffer.push(event, { isStale: settledCapabilityCallCheck(event) });
|
|
8042
|
+
}
|
|
8043
|
+
function settledCapabilityCallCheck(event) {
|
|
8044
|
+
if (event.type !== "capability_invoked") return void 0;
|
|
8045
|
+
const { callId } = event;
|
|
8046
|
+
if (!pendingCapabilityCalls.has(callId)) return void 0;
|
|
8047
|
+
return () => !pendingCapabilityCalls.has(callId);
|
|
7822
8048
|
}
|
|
7823
8049
|
let initAcknowledged = false;
|
|
7824
8050
|
let initGeneration = 0;
|
|
@@ -7836,6 +8062,20 @@ async function startAgentServer(opts) {
|
|
|
7836
8062
|
bootstrapCapabilityRegistry(capabilityRegistry);
|
|
7837
8063
|
const hostRuntimeCapabilities = /* @__PURE__ */ new Set();
|
|
7838
8064
|
const pendingCapabilityCalls = /* @__PURE__ */ new Map();
|
|
8065
|
+
function rejectCallsSentToPreviousPeer(trigger) {
|
|
8066
|
+
const unsent = eventGapBuffer.heldCapabilityCallIds();
|
|
8067
|
+
const rejected = rejectPendingCapabilityCallsOnDisconnect(
|
|
8068
|
+
pendingCapabilityCalls,
|
|
8069
|
+
(callId) => unsent.has(callId)
|
|
8070
|
+
);
|
|
8071
|
+
if (rejected > 0) {
|
|
8072
|
+
serverLog.warn(
|
|
8073
|
+
`[serve] platform connection dropped (${trigger}); rejected ${rejected} in-flight capability call(s)`
|
|
8074
|
+
);
|
|
8075
|
+
}
|
|
8076
|
+
}
|
|
8077
|
+
transport.onDisconnect(() => rejectCallsSentToPreviousPeer("disconnect"));
|
|
8078
|
+
transport.onConnect(() => rejectCallsSentToPreviousPeer("replaced connection"));
|
|
7839
8079
|
const remoteCapabilityInvoker = (name, input, timeoutMs, signal) => {
|
|
7840
8080
|
const callId = typeof crypto?.randomUUID === "function" ? crypto.randomUUID() : `rcap-${Date.now()}-${Math.floor(Math.random() * 1e9)}`;
|
|
7841
8081
|
return new Promise((resolve4, reject) => {
|
|
@@ -7878,13 +8118,11 @@ async function startAgentServer(opts) {
|
|
|
7878
8118
|
t.unref?.();
|
|
7879
8119
|
});
|
|
7880
8120
|
async function mintAndPersistAiCredential(args) {
|
|
7881
|
-
|
|
7882
|
-
|
|
7883
|
-
|
|
7884
|
-
|
|
7885
|
-
|
|
7886
|
-
};
|
|
7887
|
-
}
|
|
8121
|
+
const precondition = aiMintPreconditionFailure({
|
|
8122
|
+
connected: transport.connected,
|
|
8123
|
+
configId: aiProviderConfigId
|
|
8124
|
+
});
|
|
8125
|
+
if (precondition) return precondition;
|
|
7888
8126
|
const targetConfigId = args.configId || aiProviderConfigId;
|
|
7889
8127
|
try {
|
|
7890
8128
|
const home = process.env.HOME || homedir();
|
|
@@ -8066,6 +8304,13 @@ async function startAgentServer(opts) {
|
|
|
8066
8304
|
wsConfig.secrets?.timeoutMs ?? 3e4;
|
|
8067
8305
|
const diskProfileHasAgentSettings = (p) => !!p && !!(p.driver || p.model || p.thinking || p.effort);
|
|
8068
8306
|
function buildSessionConfig(secretProvider2, credentialEnv, fallbackConnectorDeclarations) {
|
|
8307
|
+
const wireEffort = toAgentEffort(wireAgentConfig?.effort);
|
|
8308
|
+
if (wireAgentConfig?.effort && !wireEffort) {
|
|
8309
|
+
serverLog.warn("ignoring unknown effort", {
|
|
8310
|
+
effort: wireAgentConfig.effort,
|
|
8311
|
+
source: "agentConfig"
|
|
8312
|
+
});
|
|
8313
|
+
}
|
|
8069
8314
|
return {
|
|
8070
8315
|
projectDir: opts.projectDir,
|
|
8071
8316
|
agentDir,
|
|
@@ -8092,7 +8337,7 @@ async function startAgentServer(opts) {
|
|
|
8092
8337
|
// entry references. Omitted entirely when nothing resolved.
|
|
8093
8338
|
...credentialEnv && Object.keys(credentialEnv).length > 0 ? { credentialEnv } : {},
|
|
8094
8339
|
...wireAgentConfig?.thinking ? { thinking: wireAgentConfig.thinking } : {},
|
|
8095
|
-
...
|
|
8340
|
+
...wireEffort ? { effort: wireEffort } : {},
|
|
8096
8341
|
// Every claude-sdk driver carries the flow tools, so a run can start mid-turn.
|
|
8097
8342
|
extraInProcessMcpServers: buildPermanentFlowMcpServers,
|
|
8098
8343
|
// Protocol v2 `<CAPABILITIES>` block — joins each registered capability's
|
|
@@ -8204,6 +8449,7 @@ async function startAgentServer(opts) {
|
|
|
8204
8449
|
let managedInitFingerprint;
|
|
8205
8450
|
let managedInitComplete = false;
|
|
8206
8451
|
let appliedWireAgentConfigKey;
|
|
8452
|
+
let liveReconfigurePatch;
|
|
8207
8453
|
let wireConnectorDeclarationsApplied = false;
|
|
8208
8454
|
const stagedSkillDirs = /* @__PURE__ */ new Map();
|
|
8209
8455
|
const withSkillFsLock = createSerialLock();
|
|
@@ -8824,6 +9070,7 @@ async function startAgentServer(opts) {
|
|
|
8824
9070
|
async function cleanup() {
|
|
8825
9071
|
if (managedHost) managedBootstrapClosed = true;
|
|
8826
9072
|
initAcknowledged = false;
|
|
9073
|
+
eventGapBuffer.clear();
|
|
8827
9074
|
try {
|
|
8828
9075
|
await Promise.race([
|
|
8829
9076
|
sessionReady,
|
|
@@ -8946,6 +9193,12 @@ async function startAgentServer(opts) {
|
|
|
8946
9193
|
credentialEnv,
|
|
8947
9194
|
fallbackConnectorDeclarations
|
|
8948
9195
|
);
|
|
9196
|
+
const incomingWireAgentConfigKey = wireAgentConfig ? JSON.stringify(wireAgentConfig) : void 0;
|
|
9197
|
+
liveReconfigurePatch = carryLiveReconfigure(
|
|
9198
|
+
sessionConfig,
|
|
9199
|
+
liveReconfigurePatch,
|
|
9200
|
+
incomingWireAgentConfigKey !== appliedWireAgentConfigKey
|
|
9201
|
+
);
|
|
8949
9202
|
let needsWireFallbackRecreate = false;
|
|
8950
9203
|
const agentSessionExistedBeforeThisInit = !!agentSession;
|
|
8951
9204
|
if (!agentSession) {
|
|
@@ -8996,6 +9249,11 @@ async function startAgentServer(opts) {
|
|
|
8996
9249
|
detachSkillInstance,
|
|
8997
9250
|
registerLiveAttachedMcp,
|
|
8998
9251
|
scheduleDriverRestartForToolChanges,
|
|
9252
|
+
getDriver: () => driver ?? null,
|
|
9253
|
+
rememberReconfigure: (patch) => {
|
|
9254
|
+
liveReconfigurePatch = { ...liveReconfigurePatch, ...patch };
|
|
9255
|
+
applyReconfigurePatch(sessionConfig, patch);
|
|
9256
|
+
},
|
|
8999
9257
|
log
|
|
9000
9258
|
});
|
|
9001
9259
|
return { needsWireFallbackRecreate, needsWireAgentConfigRecreate };
|
|
@@ -9635,7 +9893,15 @@ async function startAgentServer(opts) {
|
|
|
9635
9893
|
awaitSwap: () => driverSwapGate.awaitSwap(),
|
|
9636
9894
|
answer: cmd.answer,
|
|
9637
9895
|
question: cmd.question,
|
|
9638
|
-
requestId: cmd.requestId
|
|
9896
|
+
requestId: cmd.requestId,
|
|
9897
|
+
// Tells every other attached client the question is answered, so none
|
|
9898
|
+
// keeps a stale question card or a shut status gate.
|
|
9899
|
+
onAnswered: () => sendEvent({
|
|
9900
|
+
type: "question_reply",
|
|
9901
|
+
answer: cmd.answer,
|
|
9902
|
+
...cmd.question !== void 0 ? { question: cmd.question } : {},
|
|
9903
|
+
...cmd.requestId !== void 0 ? { requestId: cmd.requestId } : {}
|
|
9904
|
+
})
|
|
9639
9905
|
});
|
|
9640
9906
|
if (routed === "answered") return;
|
|
9641
9907
|
if (!driver.acceptsReplyAsPrompt) return;
|
|
@@ -9994,9 +10260,28 @@ async function startAgentServer(opts) {
|
|
|
9994
10260
|
replayed: true
|
|
9995
10261
|
});
|
|
9996
10262
|
});
|
|
10263
|
+
transport.onConnect(() => {
|
|
10264
|
+
if (!eventGapBuffer.hasPending) return;
|
|
10265
|
+
if (!initAcknowledged || sessionReadyOutcome === "rejected") {
|
|
10266
|
+
const discarded = eventGapBuffer.clear();
|
|
10267
|
+
serverLog.warn(
|
|
10268
|
+
`[serve] discarded ${discarded} event(s) buffered while disconnected: the init they belong to is no longer acknowledged`
|
|
10269
|
+
);
|
|
10270
|
+
return;
|
|
10271
|
+
}
|
|
10272
|
+
const { events, dropped, stale } = eventGapBuffer.drain();
|
|
10273
|
+
for (const event of events) transport.send(event);
|
|
10274
|
+
serverLog.warn(
|
|
10275
|
+
`[serve] flushed ${events.length} event(s) buffered while the platform was disconnected; dropped ${dropped} over the buffer cap, withheld ${stale} settled capability call(s)`
|
|
10276
|
+
);
|
|
10277
|
+
});
|
|
9997
10278
|
transport.onConnect(() => {
|
|
9998
10279
|
sendEvent(turnStatus.snapshot());
|
|
9999
10280
|
});
|
|
10281
|
+
transport.onConnect(() => {
|
|
10282
|
+
if (!initAcknowledged || managedCodex || aiProviderConfigId === void 0) return;
|
|
10283
|
+
aiCredentialRefreshScheduler.ensureArmed();
|
|
10284
|
+
});
|
|
10000
10285
|
transport.onConnect(() => {
|
|
10001
10286
|
if (managedHost && !managedBootstrapClosed)
|
|
10002
10287
|
sendEvent({
|
|
@@ -10211,6 +10496,6 @@ function touchSession(state) {
|
|
|
10211
10496
|
return { ...state, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
10212
10497
|
}
|
|
10213
10498
|
|
|
10214
|
-
export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, MOUNT_LIST_MAX_DEPTH, MOUNT_LIST_MAX_ENTRIES, MOUNT_READ_DEADLINE_FACTOR, MOUNT_STAT_BUDGET_MS, MOUNT_STAT_MAX_ENTRIES, MOUNT_TREE_OP_DEADLINE_FACTOR, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildStoreSnapshotReplay, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, computeDirectoryTotals, connectorRefreshKind, createAgentSession, createFlowConnectorReadiness, createManagedCodexSubpromptDriver, createSessionStimulusBus, defineCapability, deleteSession, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsDriverRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, isSessionRootPathAllowed, isTerminalFlowStatus, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, runAgentChat, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, supportsLiveToolUpdates, takeRunnerWsAuthToken, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile };
|
|
10215
|
-
//# sourceMappingURL=chunk-
|
|
10216
|
-
//# sourceMappingURL=chunk-
|
|
10499
|
+
export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, MOUNT_LIST_MAX_DEPTH, MOUNT_LIST_MAX_ENTRIES, MOUNT_READ_DEADLINE_FACTOR, MOUNT_STAT_BUDGET_MS, MOUNT_STAT_MAX_ENTRIES, MOUNT_TREE_OP_DEADLINE_FACTOR, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildStoreSnapshotReplay, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, computeDirectoryTotals, connectorRefreshKind, createAgentSession, createFlowConnectorReadiness, createManagedCodexSubpromptDriver, createSessionStimulusBus, defineCapability, deleteSession, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsDriverRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, isSessionRootPathAllowed, isTerminalFlowStatus, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, rejectPendingCapabilityCallsOnDisconnect, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, runAgentChat, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, supportsLiveToolUpdates, takeRunnerWsAuthToken, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile };
|
|
10500
|
+
//# sourceMappingURL=chunk-IAWXUW6C.js.map
|
|
10501
|
+
//# sourceMappingURL=chunk-IAWXUW6C.js.map
|