@skaile/workspaces 3.24.0 → 3.25.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 +38 -0
- package/dist/{asset-feeds-M3XC5SQD.js → asset-feeds-6RKRMM6C.js} +4 -4
- package/dist/{asset-feeds-M3XC5SQD.js.map → asset-feeds-6RKRMM6C.js.map} +1 -1
- package/dist/asset-manager/index.js +1 -1
- package/dist/bridge/drivers/claude-sdk.js +2 -1
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.js +1 -1
- package/dist/bridge/drivers/continue.js +2 -2
- package/dist/bridge/drivers/echo.js +1 -1
- package/dist/bridge/drivers/gemini.js +3 -3
- package/dist/bridge/drivers/goose.js +2 -2
- package/dist/bridge/drivers/omp.js +1 -1
- package/dist/bridge/drivers/opencode.js +2 -2
- package/dist/bridge/drivers/qwen.js +3 -3
- package/dist/bridge/index.js +2 -2
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/normalizer.d.ts +6 -0
- package/dist/bridge/src/normalizer.d.ts.map +1 -1
- package/dist/{chunk-HIZH3CSZ.js → chunk-3CF5HJ6V.js} +6 -6
- package/dist/{chunk-HIZH3CSZ.js.map → chunk-3CF5HJ6V.js.map} +1 -1
- package/dist/{chunk-EE627CQN.js → chunk-3D3BKCVQ.js} +4 -4
- package/dist/{chunk-EE627CQN.js.map → chunk-3D3BKCVQ.js.map} +1 -1
- package/dist/{chunk-Q3YS5M3E.js → chunk-4YRRPWHY.js} +136 -41
- package/dist/chunk-4YRRPWHY.js.map +1 -0
- package/dist/{chunk-Y5PKES63.js → chunk-5PFJVZ7F.js} +2 -2
- package/dist/{chunk-Y5PKES63.js.map → chunk-5PFJVZ7F.js.map} +1 -1
- package/dist/{chunk-WQ7DE5UC.js → chunk-73ZXUUL6.js} +25 -8
- package/dist/chunk-73ZXUUL6.js.map +1 -0
- package/dist/{chunk-EEOY4LI5.js → chunk-BIPMCNAK.js} +3 -3
- package/dist/{chunk-EEOY4LI5.js.map → chunk-BIPMCNAK.js.map} +1 -1
- package/dist/{chunk-VKLCLC7K.js → chunk-BKUKF632.js} +3 -3
- package/dist/{chunk-VKLCLC7K.js.map → chunk-BKUKF632.js.map} +1 -1
- package/dist/{chunk-UPGHKBJ7.js → chunk-HGDFQDHT.js} +6 -6
- package/dist/{chunk-UPGHKBJ7.js.map → chunk-HGDFQDHT.js.map} +1 -1
- package/dist/{chunk-NTWVXLOZ.js → chunk-LRA7VUT6.js} +3 -3
- package/dist/{chunk-NTWVXLOZ.js.map → chunk-LRA7VUT6.js.map} +1 -1
- package/dist/{chunk-QBR3WRXB.js → chunk-NKPDUYRH.js} +64 -10
- package/dist/chunk-NKPDUYRH.js.map +1 -0
- package/dist/{chunk-IDY7A5KA.js → chunk-UEW6C64M.js} +3 -3
- package/dist/{chunk-IDY7A5KA.js.map → chunk-UEW6C64M.js.map} +1 -1
- package/dist/{chunk-Z6YHCANW.js → chunk-WMZT7VDS.js} +41 -11
- package/dist/chunk-WMZT7VDS.js.map +1 -0
- package/dist/{chunk-6EJOXLVH.js → chunk-X3DODPMF.js} +2 -2
- package/dist/{chunk-6EJOXLVH.js.map → chunk-X3DODPMF.js.map} +1 -1
- package/dist/{chunk-VOT47UVY.js → chunk-YNO3LBRH.js} +3 -3
- package/dist/{chunk-VOT47UVY.js.map → chunk-YNO3LBRH.js.map} +1 -1
- package/dist/{chunk-U3BH5VCG.js → chunk-ZQZXCVYV.js} +2 -2
- package/dist/{chunk-U3BH5VCG.js.map → chunk-ZQZXCVYV.js.map} +1 -1
- package/dist/cli/index.js +30 -30
- package/dist/connectors/index.js +3 -3
- package/dist/connectors/src/connector-prompt.d.ts +32 -0
- package/dist/connectors/src/connector-prompt.d.ts.map +1 -1
- package/dist/connectors/src/index.d.ts +2 -2
- package/dist/connectors/src/index.d.ts.map +1 -1
- package/dist/{ensure-sources-YMHAHTN2.js → ensure-sources-XYDPVBSP.js} +4 -4
- package/dist/{ensure-sources-YMHAHTN2.js.map → ensure-sources-XYDPVBSP.js.map} +1 -1
- package/dist/factory-assets/connectors/box.js +3 -3
- package/dist/factory-assets/connectors/deploy.js +3 -3
- package/dist/factory-assets/connectors/devserver.js +3 -3
- package/dist/factory-assets/connectors/flow/adapter.d.ts +8 -1
- package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/adapter.js +3 -3
- package/dist/factory-assets/connectors/flow/index.d.ts +1 -1
- package/dist/factory-assets/connectors/flow/index.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/run-flow.js +4 -4
- package/dist/factory-assets/connectors/flow.js +3 -3
- package/dist/factory-assets/connectors/git.js +3 -3
- package/dist/factory-assets/connectors/gmail.js +3 -3
- package/dist/factory-assets/connectors/googledrive.js +3 -3
- package/dist/factory-assets/connectors/local.js +3 -3
- package/dist/factory-assets/connectors/mattermost.js +3 -3
- package/dist/factory-assets/connectors/memory.js +3 -3
- package/dist/factory-assets/connectors/minio.js +3 -3
- package/dist/factory-assets/connectors/postgres.js +3 -3
- package/dist/factory-assets/connectors/s3.js +3 -3
- package/dist/factory-assets/connectors/sharepoint.js +3 -3
- package/dist/factory-assets/connectors/sqlite.js +3 -3
- package/dist/factory-assets/connectors/static-server.js +3 -3
- package/dist/factory-assets/connectors/tunnel.js +3 -3
- package/dist/factory-assets/connectors/webdav.js +3 -3
- package/dist/factory-assets/connectors/xstate-store.js +3 -3
- package/dist/factory-assets/connectors/xstate.js +3 -3
- package/dist/{helpers-4SPTON2W.js → helpers-47SRTVSY.js} +4 -4
- package/dist/{helpers-4SPTON2W.js.map → helpers-47SRTVSY.js.map} +1 -1
- package/dist/{library-publish-TE3JGRLE.js → library-publish-W7CIEIJJ.js} +6 -6
- package/dist/{library-publish-TE3JGRLE.js.map → library-publish-W7CIEIJJ.js.map} +1 -1
- package/dist/{open-library-SZFLVRIH.js → open-library-B2PEJ3UT.js} +5 -5
- package/dist/{open-library-SZFLVRIH.js.map → open-library-B2PEJ3UT.js.map} +1 -1
- package/dist/{project-F54LXGLW.js → project-TOICQYNZ.js} +5 -5
- package/dist/{project-F54LXGLW.js.map → project-TOICQYNZ.js.map} +1 -1
- package/dist/runner/index.js +7 -7
- package/dist/runner/src/compaction-gate.d.ts +2 -0
- package/dist/runner/src/compaction-gate.d.ts.map +1 -1
- package/dist/runner/src/driver-swap-gate.d.ts +13 -0
- package/dist/runner/src/driver-swap-gate.d.ts.map +1 -1
- package/dist/runner/src/flow-turn-dispatch.d.ts +40 -0
- package/dist/runner/src/flow-turn-dispatch.d.ts.map +1 -0
- package/dist/runner/src/serve.d.ts +22 -1
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/runner/src/session-builder.d.ts +10 -0
- package/dist/runner/src/session-builder.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +1 -1
- package/dist/sdk/bridge.js +2 -2
- package/dist/sdk/index.js +7 -7
- package/dist/sdk/runner.js +7 -7
- package/dist/sdk/transport/ws/server.js +1 -1
- package/dist/sdk/transport/ws.js +1 -1
- package/dist/sdk/transport.js +1 -1
- package/dist/{setup-K6CUBTZS.js → setup-HLKIP7XW.js} +4 -4
- package/dist/{setup-K6CUBTZS.js.map → setup-HLKIP7XW.js.map} +1 -1
- package/dist/{source-5FLDWOBP.js → source-HZTCDRGB.js} +6 -6
- package/dist/{source-5FLDWOBP.js.map → source-HZTCDRGB.js.map} +1 -1
- package/dist/{source-manifest-publish-NPNXIC56.js → source-manifest-publish-KEDEMOQO.js} +7 -7
- package/dist/{source-manifest-publish-NPNXIC56.js.map → source-manifest-publish-KEDEMOQO.js.map} +1 -1
- package/dist/transport/index.js +1 -1
- package/dist/transport/src/ws/server.d.ts +3 -1
- package/dist/transport/src/ws/server.d.ts.map +1 -1
- package/dist/transport/ws/server.js +1 -1
- package/dist/transport/ws.js +1 -1
- package/dist/tui/index.js +7 -7
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-Q3YS5M3E.js.map +0 -1
- package/dist/chunk-QBR3WRXB.js.map +0 -1
- package/dist/chunk-WQ7DE5UC.js.map +0 -1
- package/dist/chunk-Z6YHCANW.js.map +0 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { buildWorkspaceToolDefs } from './chunk-J4WDQL42.js';
|
|
2
2
|
import { findAiAssetsRoot } from './chunk-7IRJ4K4F.js';
|
|
3
|
-
import { WorkspacePlugin } from './chunk-
|
|
3
|
+
import { WorkspacePlugin } from './chunk-5PFJVZ7F.js';
|
|
4
4
|
import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
|
|
5
|
-
import { WebSocketServerTransport } from './chunk-
|
|
5
|
+
import { WebSocketServerTransport } from './chunk-73ZXUUL6.js';
|
|
6
6
|
import { prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-T3YLZQS4.js';
|
|
7
|
-
import { resolveFlowPath } from './chunk-
|
|
7
|
+
import { resolveFlowPath } from './chunk-UEW6C64M.js';
|
|
8
8
|
import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-7BUZQVRR.js';
|
|
9
|
-
import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools, buildConnectorToolDefs, buildFlowToolDefs, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-
|
|
9
|
+
import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-WMZT7VDS.js';
|
|
10
10
|
import { loadConnectorDeclarations, SecretProviderChain, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, isKnownSecretRef, deriveSingleMaterializedConnectorDeclaration } from './chunk-SIREWRZE.js';
|
|
11
|
-
import { EventNormalizer } from './chunk-
|
|
11
|
+
import { EventNormalizer } from './chunk-NKPDUYRH.js';
|
|
12
12
|
import { SUPPORTED_CLOUDS, probeResumeTranscript, CLOUD_SECRET_ENV_KEYS } from './chunk-3NCGSSCU.js';
|
|
13
13
|
import { CodexNativeStateUnavailable } from './chunk-LOO5CB5M.js';
|
|
14
14
|
import { dispatchCapability } from './chunk-HTIGD3DR.js';
|
|
15
15
|
import { classifyClaudeSdkError } from './chunk-GAH4YRCI.js';
|
|
16
|
-
import { createDriver } from './chunk-
|
|
16
|
+
import { createDriver } from './chunk-X3DODPMF.js';
|
|
17
17
|
import { loadFlow } from './chunk-W5LPG3X6.js';
|
|
18
18
|
import { parseFlowDefinition } from './chunk-CP62G5PK.js';
|
|
19
19
|
import { renderStimulusPrompt } from './chunk-2D5BYAL6.js';
|
|
@@ -2349,6 +2349,8 @@ async function createAgentSession(config) {
|
|
|
2349
2349
|
const maxTurns = maxTurnsOverride ?? manifest?.runtime?.max_turns;
|
|
2350
2350
|
let driver;
|
|
2351
2351
|
try {
|
|
2352
|
+
const extraMcpServers = driverType === "claude-sdk" ? await config.extraInProcessMcpServers?.() : void 0;
|
|
2353
|
+
const driverMcpServers = extraMcpServers ? { ...mcpServers, ...extraMcpServers } : mcpServers;
|
|
2352
2354
|
driver = await createSessionDriver({
|
|
2353
2355
|
config,
|
|
2354
2356
|
driverType,
|
|
@@ -2365,7 +2367,7 @@ async function createAgentSession(config) {
|
|
|
2365
2367
|
effort,
|
|
2366
2368
|
sessionId,
|
|
2367
2369
|
resumeSessionId,
|
|
2368
|
-
mcpServers,
|
|
2370
|
+
mcpServers: driverMcpServers,
|
|
2369
2371
|
agentDir
|
|
2370
2372
|
});
|
|
2371
2373
|
} catch (error) {
|
|
@@ -3812,6 +3814,10 @@ var CompactionGate = class {
|
|
|
3812
3814
|
this.release = null;
|
|
3813
3815
|
release2?.();
|
|
3814
3816
|
}
|
|
3817
|
+
/** Whether no compaction holds the driver right now. */
|
|
3818
|
+
isIdle() {
|
|
3819
|
+
return this.held.size === 0;
|
|
3820
|
+
}
|
|
3815
3821
|
/**
|
|
3816
3822
|
* Wait for the driver to be free.
|
|
3817
3823
|
*
|
|
@@ -3892,6 +3898,29 @@ var DriverSwapGate = class {
|
|
|
3892
3898
|
resolveTurn();
|
|
3893
3899
|
};
|
|
3894
3900
|
}
|
|
3901
|
+
/**
|
|
3902
|
+
* Take a turn slot behind every turn already in flight, and resolve once they
|
|
3903
|
+
* have all settled. Unlike {@link beginTurn}, the caller waits its turn: a
|
|
3904
|
+
* turn whose completion is observed by listening for the driver's next
|
|
3905
|
+
* `agent_end` must not dispatch while another turn is still running, or it
|
|
3906
|
+
* observes that turn's end instead of its own. The slot is claimed
|
|
3907
|
+
* synchronously, so a swap that starts during the wait awaits this turn too —
|
|
3908
|
+
* check {@link isSwapping} after acquiring and release the slot if one is
|
|
3909
|
+
* pending, or the swap and this turn wait on each other.
|
|
3910
|
+
*/
|
|
3911
|
+
async beginQueuedTurn() {
|
|
3912
|
+
const earlier = this.turnTail;
|
|
3913
|
+
const endTurn = this.beginTurn();
|
|
3914
|
+
try {
|
|
3915
|
+
await earlier;
|
|
3916
|
+
} catch {
|
|
3917
|
+
}
|
|
3918
|
+
return endTurn;
|
|
3919
|
+
}
|
|
3920
|
+
/** Whether a driver swap is registered and has not settled yet. */
|
|
3921
|
+
isSwapping() {
|
|
3922
|
+
return this.activeDriverSwap !== null;
|
|
3923
|
+
}
|
|
3895
3924
|
/**
|
|
3896
3925
|
* Await any in-flight turn before tearing a driver down. Awaits the FIFO tail
|
|
3897
3926
|
* (not a single "latest turn" field) so an earlier turn that outlives a later
|
|
@@ -3931,6 +3960,53 @@ var DriverSwapGate = class {
|
|
|
3931
3960
|
}
|
|
3932
3961
|
};
|
|
3933
3962
|
|
|
3963
|
+
// runner/src/flow-turn-dispatch.ts
|
|
3964
|
+
var FLOW_TURN_COMPACTION_TIMEOUT = "Flow turn abandoned: a compaction held the driver";
|
|
3965
|
+
async function dispatchFlowTurn(deps, prompt, timeoutMs) {
|
|
3966
|
+
for (; ; ) {
|
|
3967
|
+
await deps.gate.awaitSwap();
|
|
3968
|
+
if (!await deps.awaitCompactionIdle()) throw new Error(FLOW_TURN_COMPACTION_TIMEOUT);
|
|
3969
|
+
const endTurn = await deps.gate.beginQueuedTurn();
|
|
3970
|
+
if (deps.gate.isSwapping() || deps.isCompacting()) {
|
|
3971
|
+
endTurn();
|
|
3972
|
+
continue;
|
|
3973
|
+
}
|
|
3974
|
+
try {
|
|
3975
|
+
await deps.ensureDriverStarted();
|
|
3976
|
+
await awaitAgentEnd(deps.getDriver(), prompt, timeoutMs);
|
|
3977
|
+
return;
|
|
3978
|
+
} finally {
|
|
3979
|
+
endTurn();
|
|
3980
|
+
}
|
|
3981
|
+
}
|
|
3982
|
+
}
|
|
3983
|
+
function awaitAgentEnd(driver, prompt, timeoutMs) {
|
|
3984
|
+
return new Promise((resolve5, reject) => {
|
|
3985
|
+
let settled = false;
|
|
3986
|
+
const onEvent = (raw) => {
|
|
3987
|
+
const event = raw;
|
|
3988
|
+
if (event.type === "agent_end") done();
|
|
3989
|
+
else if (event.type === "error")
|
|
3990
|
+
done(new Error(event.error ?? event.message ?? "Agent error"));
|
|
3991
|
+
};
|
|
3992
|
+
const done = (err) => {
|
|
3993
|
+
if (settled) return;
|
|
3994
|
+
settled = true;
|
|
3995
|
+
clearTimeout(timer);
|
|
3996
|
+
if (driver.off) driver.off("agent-event", onEvent);
|
|
3997
|
+
else driver.removeListener("agent-event", onEvent);
|
|
3998
|
+
if (err) reject(err);
|
|
3999
|
+
else resolve5();
|
|
4000
|
+
};
|
|
4001
|
+
const timer = setTimeout(
|
|
4002
|
+
() => done(new Error(`Flow turn timed out after ${timeoutMs / 1e3}s`)),
|
|
4003
|
+
timeoutMs
|
|
4004
|
+
);
|
|
4005
|
+
driver.on("agent-event", onEvent);
|
|
4006
|
+
driver.prompt(prompt).catch(done);
|
|
4007
|
+
});
|
|
4008
|
+
}
|
|
4009
|
+
|
|
3934
4010
|
// runner/src/reply-routing.ts
|
|
3935
4011
|
async function routeReply(deps) {
|
|
3936
4012
|
const current = deps.getDriver();
|
|
@@ -5524,6 +5600,16 @@ function registerActiveFlow(flows, runId, entry) {
|
|
|
5524
5600
|
flows.set(runId, entry);
|
|
5525
5601
|
return removed;
|
|
5526
5602
|
}
|
|
5603
|
+
function pickFlowToolTarget(flows, manager) {
|
|
5604
|
+
let latest;
|
|
5605
|
+
for (const entry of flows) latest = entry;
|
|
5606
|
+
if (!latest || !manager) return null;
|
|
5607
|
+
if (isTerminalFlowStatus(latest.adapter.getExecution(latest.handle).status)) return null;
|
|
5608
|
+
return { manager, connectorId: latest.connectorId };
|
|
5609
|
+
}
|
|
5610
|
+
function flowStartNeedsDriverRestart(state) {
|
|
5611
|
+
return state.driverStarted && state.driverType === "claude-sdk" && !state.flowToolsBaked;
|
|
5612
|
+
}
|
|
5527
5613
|
async function setUpFlowConnector(deps) {
|
|
5528
5614
|
const recreated = await deps.recreateForFlowTools();
|
|
5529
5615
|
const manager = deps.resolveManager();
|
|
@@ -6428,6 +6514,8 @@ async function startAgentServer(opts) {
|
|
|
6428
6514
|
...cloudSecrets ? { cloudSecrets } : {},
|
|
6429
6515
|
...wireAgentConfig?.thinking ? { thinking: wireAgentConfig.thinking } : {},
|
|
6430
6516
|
...wireAgentConfig?.effort ? { effort: wireAgentConfig.effort } : {},
|
|
6517
|
+
// Every claude-sdk driver carries the flow tools, so a run can start mid-turn.
|
|
6518
|
+
extraInProcessMcpServers: buildPermanentFlowMcpServers,
|
|
6431
6519
|
// Protocol v2 `<CAPABILITIES>` block — joins each registered capability's
|
|
6432
6520
|
// `promptFragment` (framework first, then client, then agent-side
|
|
6433
6521
|
// surfaces). Built lazily inside `buildSessionConfig` so newly registered
|
|
@@ -6513,6 +6601,7 @@ async function startAgentServer(opts) {
|
|
|
6513
6601
|
});
|
|
6514
6602
|
let sessionConfig;
|
|
6515
6603
|
let agentSession;
|
|
6604
|
+
let flowToolsBaked = false;
|
|
6516
6605
|
let secretProvider;
|
|
6517
6606
|
let runtimeIdentity;
|
|
6518
6607
|
let preMintedSecrets;
|
|
@@ -6767,6 +6856,16 @@ async function startAgentServer(opts) {
|
|
|
6767
6856
|
const iter = activeFlows.values().next();
|
|
6768
6857
|
return iter.done ? null : iter.value;
|
|
6769
6858
|
}
|
|
6859
|
+
function resolveFlowToolTarget() {
|
|
6860
|
+
return pickFlowToolTarget(activeFlows.values(), resourceManager);
|
|
6861
|
+
}
|
|
6862
|
+
async function buildPermanentFlowMcpServers() {
|
|
6863
|
+
const server = await buildLazySdkFlowTools(describeFlowOperations(), resolveFlowToolTarget, {
|
|
6864
|
+
z: z
|
|
6865
|
+
});
|
|
6866
|
+
flowToolsBaked = server !== null;
|
|
6867
|
+
return server ? { "skaile-flow": server } : void 0;
|
|
6868
|
+
}
|
|
6770
6869
|
const flowConnectorReadiness = createFlowConnectorReadiness(() => getOnlyActiveFlow() !== null);
|
|
6771
6870
|
const flowMutateConnectorWaitMs = resolveFlowMutateConnectorWaitMs();
|
|
6772
6871
|
async function ensureDriverStarted() {
|
|
@@ -6833,33 +6932,17 @@ async function startAgentServer(opts) {
|
|
|
6833
6932
|
return stimulusBus;
|
|
6834
6933
|
}
|
|
6835
6934
|
function awaitFlowAgentEnd(prompt, timeoutMs) {
|
|
6836
|
-
return
|
|
6837
|
-
|
|
6838
|
-
|
|
6839
|
-
|
|
6840
|
-
|
|
6841
|
-
|
|
6842
|
-
|
|
6843
|
-
|
|
6844
|
-
|
|
6845
|
-
|
|
6846
|
-
|
|
6847
|
-
settled = true;
|
|
6848
|
-
clearTimeout(timer);
|
|
6849
|
-
driver.off?.(
|
|
6850
|
-
"agent-event",
|
|
6851
|
-
onEvent
|
|
6852
|
-
) ?? driver.removeListener("agent-event", onEvent);
|
|
6853
|
-
if (err) reject(err);
|
|
6854
|
-
else resolve5();
|
|
6855
|
-
};
|
|
6856
|
-
const timer = setTimeout(
|
|
6857
|
-
() => done(new Error(`Flow turn timed out after ${timeoutMs / 1e3}s`)),
|
|
6858
|
-
timeoutMs
|
|
6859
|
-
);
|
|
6860
|
-
driver.on("agent-event", onEvent);
|
|
6861
|
-
driver.prompt(prompt).catch(done);
|
|
6862
|
-
});
|
|
6935
|
+
return dispatchFlowTurn(
|
|
6936
|
+
{
|
|
6937
|
+
gate: driverSwapGate,
|
|
6938
|
+
awaitCompactionIdle: () => awaitCompactionIdle("flow turn"),
|
|
6939
|
+
isCompacting: () => !compactionGate.isIdle(),
|
|
6940
|
+
ensureDriverStarted,
|
|
6941
|
+
getDriver: () => driver
|
|
6942
|
+
},
|
|
6943
|
+
prompt,
|
|
6944
|
+
timeoutMs
|
|
6945
|
+
);
|
|
6863
6946
|
}
|
|
6864
6947
|
function ensureResourceManagerForFlow() {
|
|
6865
6948
|
if (!resourceManager) {
|
|
@@ -6873,7 +6956,13 @@ async function startAgentServer(opts) {
|
|
|
6873
6956
|
return resourceManager;
|
|
6874
6957
|
}
|
|
6875
6958
|
async function recreateDriverForFlowTools() {
|
|
6876
|
-
if (!
|
|
6959
|
+
if (!flowStartNeedsDriverRestart({
|
|
6960
|
+
driverStarted,
|
|
6961
|
+
driverType: agentSession?.driverType,
|
|
6962
|
+
flowToolsBaked
|
|
6963
|
+
})) {
|
|
6964
|
+
return false;
|
|
6965
|
+
}
|
|
6877
6966
|
const prevSessionId = driver.runtimeSessionId;
|
|
6878
6967
|
log(
|
|
6879
6968
|
`[serve] restarting driver to register flow connector tools (resume=${prevSessionId ?? "none"})`
|
|
@@ -6983,9 +7072,14 @@ async function startAgentServer(opts) {
|
|
|
6983
7072
|
if (agentSession?.driverType === "claude-sdk") {
|
|
6984
7073
|
try {
|
|
6985
7074
|
const server = await buildSdkConnectorTools(manager, { z: z });
|
|
6986
|
-
const flowServer = await buildSdkFlowTools(manager, connectorId, { z: z });
|
|
7075
|
+
const flowServer = flowToolsBaked ? null : await buildSdkFlowTools(manager, connectorId, { z: z });
|
|
7076
|
+
const driverConfig = driver.config;
|
|
7077
|
+
driverConfig.mcpServers = {
|
|
7078
|
+
...driverConfig.mcpServers,
|
|
7079
|
+
...server ? { "skaile-connectors": server } : {},
|
|
7080
|
+
...flowServer ? { "skaile-flow": flowServer } : {}
|
|
7081
|
+
};
|
|
6987
7082
|
if (server) {
|
|
6988
|
-
driver.config.mcpServers = flowServer ? { "skaile-connectors": server, "skaile-flow": flowServer } : { "skaile-connectors": server };
|
|
6989
7083
|
log(
|
|
6990
7084
|
`[serve] rebuilt MCP connector tools for flow ${connectorId}` + (flowServer ? " (+ skaile-flow agent tools)" : "")
|
|
6991
7085
|
);
|
|
@@ -7388,7 +7482,8 @@ async function startAgentServer(opts) {
|
|
|
7388
7482
|
try {
|
|
7389
7483
|
const server = await buildSdkConnectorTools(resourceManager, { z: z });
|
|
7390
7484
|
if (server) {
|
|
7391
|
-
driver.config
|
|
7485
|
+
const driverConfig = driver.config;
|
|
7486
|
+
driverConfig.mcpServers = { ...driverConfig.mcpServers, "skaile-connectors": server };
|
|
7392
7487
|
log(`[serve] rebuilt MCP connector tools (${storesRegistered} new store(s))`);
|
|
7393
7488
|
} else {
|
|
7394
7489
|
log(`[serve] buildSdkConnectorTools returned null`);
|
|
@@ -8387,6 +8482,6 @@ function touchSession(state) {
|
|
|
8387
8482
|
return { ...state, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
|
|
8388
8483
|
}
|
|
8389
8484
|
|
|
8390
|
-
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_TREE_OP_DEADLINE_FACTOR, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildStoreSnapshotReplay, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, connectorRefreshKind, createAgentSession, createFlowConnectorReadiness, createManagedCodexSubpromptDriver, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, isTerminalFlowStatus, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, runAgentChat, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, supportsLiveToolUpdates, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile };
|
|
8391
|
-
//# sourceMappingURL=chunk-
|
|
8392
|
-
//# sourceMappingURL=chunk-
|
|
8485
|
+
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_TREE_OP_DEADLINE_FACTOR, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildStoreSnapshotReplay, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, connectorRefreshKind, createAgentSession, createFlowConnectorReadiness, createManagedCodexSubpromptDriver, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsDriverRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, 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, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile };
|
|
8486
|
+
//# sourceMappingURL=chunk-4YRRPWHY.js.map
|
|
8487
|
+
//# sourceMappingURL=chunk-4YRRPWHY.js.map
|