@skaile/workspaces 3.9.1 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/{asset-feeds-TFQDBOYM.js → asset-feeds-DT4B37Z3.js} +4 -4
  3. package/dist/{asset-feeds-TFQDBOYM.js.map → asset-feeds-DT4B37Z3.js.map} +1 -1
  4. package/dist/asset-manager/index.js +1 -1
  5. package/dist/bridge/drivers/claude-sdk.js +16 -12
  6. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  7. package/dist/bridge/drivers/codex.js +1 -1
  8. package/dist/bridge/drivers/continue.js +2 -2
  9. package/dist/bridge/drivers/echo.js +1 -1
  10. package/dist/bridge/drivers/gemini.js +3 -3
  11. package/dist/bridge/drivers/goose.js +2 -2
  12. package/dist/bridge/drivers/omp.js +1 -1
  13. package/dist/bridge/drivers/opencode.js +2 -2
  14. package/dist/bridge/drivers/qwen.js +3 -3
  15. package/dist/bridge/index.js +2 -2
  16. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  17. package/dist/{chunk-HGFKNJA5.js → chunk-2D5BYAL6.js} +23 -4
  18. package/dist/chunk-2D5BYAL6.js.map +1 -0
  19. package/dist/{chunk-R2IQAJSU.js → chunk-4D4N2VFR.js} +6 -6
  20. package/dist/{chunk-R2IQAJSU.js.map → chunk-4D4N2VFR.js.map} +1 -1
  21. package/dist/{chunk-6OVS6IAK.js → chunk-7NRZGSTY.js} +2 -2
  22. package/dist/{chunk-6OVS6IAK.js.map → chunk-7NRZGSTY.js.map} +1 -1
  23. package/dist/{chunk-WUOHDYDH.js → chunk-7WTXE6YS.js} +2 -2
  24. package/dist/{chunk-WUOHDYDH.js.map → chunk-7WTXE6YS.js.map} +1 -1
  25. package/dist/{chunk-HASPIEOD.js → chunk-A5Y2O23Y.js} +6 -6
  26. package/dist/{chunk-HASPIEOD.js.map → chunk-A5Y2O23Y.js.map} +1 -1
  27. package/dist/{chunk-DPIOHTDD.js → chunk-DQ5MUABO.js} +3 -3
  28. package/dist/{chunk-DPIOHTDD.js.map → chunk-DQ5MUABO.js.map} +1 -1
  29. package/dist/{chunk-BO4NC4G7.js → chunk-GE3EDS2M.js} +27 -12
  30. package/dist/chunk-GE3EDS2M.js.map +1 -0
  31. package/dist/{chunk-2KANBOIO.js → chunk-H6KQB6HL.js} +53 -10
  32. package/dist/chunk-H6KQB6HL.js.map +1 -0
  33. package/dist/{chunk-ZIC7S44L.js → chunk-KBAYZ6DK.js} +3 -3
  34. package/dist/{chunk-ZIC7S44L.js.map → chunk-KBAYZ6DK.js.map} +1 -1
  35. package/dist/{chunk-BIA7TJWH.js → chunk-OT6V4IE7.js} +2 -2
  36. package/dist/{chunk-BIA7TJWH.js.map → chunk-OT6V4IE7.js.map} +1 -1
  37. package/dist/{chunk-32MHUAED.js → chunk-QRL23WVA.js} +3 -3
  38. package/dist/{chunk-32MHUAED.js.map → chunk-QRL23WVA.js.map} +1 -1
  39. package/dist/{chunk-K7W7HC3C.js → chunk-SI7WZARX.js} +4 -4
  40. package/dist/{chunk-K7W7HC3C.js.map → chunk-SI7WZARX.js.map} +1 -1
  41. package/dist/{chunk-RPZAX3II.js → chunk-UQESUYDT.js} +3 -3
  42. package/dist/{chunk-RPZAX3II.js.map → chunk-UQESUYDT.js.map} +1 -1
  43. package/dist/{chunk-NXUUNPIB.js → chunk-XDAOECL4.js} +3 -3
  44. package/dist/{chunk-NXUUNPIB.js.map → chunk-XDAOECL4.js.map} +1 -1
  45. package/dist/{chunk-HNKVHE4B.js → chunk-XDX2XJTO.js} +4 -4
  46. package/dist/{chunk-HNKVHE4B.js.map → chunk-XDX2XJTO.js.map} +1 -1
  47. package/dist/cli/index.js +30 -30
  48. package/dist/connectors/index.js +4 -4
  49. package/dist/{ensure-sources-PDAH5SAV.js → ensure-sources-HS66JB6Y.js} +4 -4
  50. package/dist/{ensure-sources-PDAH5SAV.js.map → ensure-sources-HS66JB6Y.js.map} +1 -1
  51. package/dist/factory-assets/connectors/box.js +4 -4
  52. package/dist/factory-assets/connectors/deploy.js +4 -4
  53. package/dist/factory-assets/connectors/devserver.js +4 -4
  54. package/dist/factory-assets/connectors/flow/CONNECTOR.md +14 -6
  55. package/dist/factory-assets/connectors/flow/adapter.d.ts +4 -3
  56. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
  57. package/dist/factory-assets/connectors/flow/adapter.js +4 -4
  58. package/dist/factory-assets/connectors/flow/prompt-fragments.d.ts.map +1 -1
  59. package/dist/factory-assets/connectors/flow/prompt-fragments.js +1 -1
  60. package/dist/factory-assets/connectors/flow/run-flow.js +5 -5
  61. package/dist/factory-assets/connectors/flow.js +4 -4
  62. package/dist/factory-assets/connectors/git.js +4 -4
  63. package/dist/factory-assets/connectors/gmail.js +4 -4
  64. package/dist/factory-assets/connectors/googledrive.js +4 -4
  65. package/dist/factory-assets/connectors/local.js +4 -4
  66. package/dist/factory-assets/connectors/mattermost.js +4 -4
  67. package/dist/factory-assets/connectors/memory.js +4 -4
  68. package/dist/factory-assets/connectors/minio.js +4 -4
  69. package/dist/factory-assets/connectors/postgres.js +4 -4
  70. package/dist/factory-assets/connectors/s3.js +4 -4
  71. package/dist/factory-assets/connectors/sharepoint.js +4 -4
  72. package/dist/factory-assets/connectors/sqlite.js +4 -4
  73. package/dist/factory-assets/connectors/static-server.js +4 -4
  74. package/dist/factory-assets/connectors/tunnel.js +4 -4
  75. package/dist/factory-assets/connectors/webdav.js +4 -4
  76. package/dist/factory-assets/connectors/xstate-store.js +4 -4
  77. package/dist/factory-assets/connectors/xstate.js +4 -4
  78. package/dist/{helpers-5OP6O3WS.js → helpers-GPD3WJQQ.js} +4 -4
  79. package/dist/{helpers-5OP6O3WS.js.map → helpers-GPD3WJQQ.js.map} +1 -1
  80. package/dist/{library-publish-NNGVXORH.js → library-publish-T7VSMTGZ.js} +6 -6
  81. package/dist/{library-publish-NNGVXORH.js.map → library-publish-T7VSMTGZ.js.map} +1 -1
  82. package/dist/{open-library-5CEK2TSH.js → open-library-FGHDS7AZ.js} +5 -5
  83. package/dist/{open-library-5CEK2TSH.js.map → open-library-FGHDS7AZ.js.map} +1 -1
  84. package/dist/{project-QOVJ7I6I.js → project-GU7X4WO2.js} +5 -5
  85. package/dist/{project-QOVJ7I6I.js.map → project-GU7X4WO2.js.map} +1 -1
  86. package/dist/runner/index.js +7 -7
  87. package/dist/runner/src/serve-credentials.d.ts +28 -0
  88. package/dist/runner/src/serve-credentials.d.ts.map +1 -1
  89. package/dist/runner/src/serve.d.ts +2 -2
  90. package/dist/runner/src/serve.d.ts.map +1 -1
  91. package/dist/sdk/asset-manager.js +1 -1
  92. package/dist/sdk/bridge.js +2 -2
  93. package/dist/sdk/index.js +7 -7
  94. package/dist/sdk/runner.js +7 -7
  95. package/dist/{setup-ZB6U5MSS.js → setup-TF7IP2IN.js} +4 -4
  96. package/dist/{setup-ZB6U5MSS.js.map → setup-TF7IP2IN.js.map} +1 -1
  97. package/dist/{source-O34YYH3U.js → source-5GTOJ4SD.js} +6 -6
  98. package/dist/{source-O34YYH3U.js.map → source-5GTOJ4SD.js.map} +1 -1
  99. package/dist/{source-manifest-publish-5TRCSBK7.js → source-manifest-publish-KR5MXXGD.js} +7 -7
  100. package/dist/{source-manifest-publish-5TRCSBK7.js.map → source-manifest-publish-KR5MXXGD.js.map} +1 -1
  101. package/dist/tui/index.js +7 -7
  102. package/dist/workspace-plugin/index.js +1 -1
  103. package/package.json +1 -1
  104. package/dist/chunk-2KANBOIO.js.map +0 -1
  105. package/dist/chunk-BO4NC4G7.js.map +0 -1
  106. package/dist/chunk-HGFKNJA5.js.map +0 -1
@@ -1,17 +1,17 @@
1
- import { WorkspacePlugin } from './chunk-6OVS6IAK.js';
1
+ import { WorkspacePlugin } from './chunk-7NRZGSTY.js';
2
2
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
3
3
  import { WebSocketServerTransport } from './chunk-WQ7DE5UC.js';
4
- import { resolveFlowPath } from './chunk-K7W7HC3C.js';
4
+ import { resolveFlowPath } from './chunk-SI7WZARX.js';
5
5
  import { findAiAssetsRoot, deployCatalogEntry, undeployCatalogEntry } from './chunk-GHWJHOYX.js';
6
- import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-BO4NC4G7.js';
6
+ import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-GE3EDS2M.js';
7
7
  import { loadConnectorDeclarations, SecretProviderChain, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, isKnownSecretRef, deriveSingleMaterializedConnectorDeclaration } from './chunk-3UU3D2Q3.js';
8
- import { EventNormalizer } from './chunk-32MHUAED.js';
8
+ import { EventNormalizer } from './chunk-QRL23WVA.js';
9
9
  import { SUPPORTED_CLOUDS, probeResumeTranscript, CLOUD_SECRET_ENV_KEYS } from './chunk-RUFTB7QN.js';
10
10
  import { classifyClaudeSdkError } from './chunk-GAH4YRCI.js';
11
- import { createDriver } from './chunk-BIA7TJWH.js';
11
+ import { createDriver } from './chunk-OT6V4IE7.js';
12
12
  import { loadFlow } from './chunk-OYZIURPH.js';
13
13
  import { parseFlowDefinition } from './chunk-HY6CIKFH.js';
14
- import { renderStimulusPrompt } from './chunk-HGFKNJA5.js';
14
+ import { renderStimulusPrompt } from './chunk-2D5BYAL6.js';
15
15
  import { PROTOCOL_VERSION } from './chunk-2KBA5OO2.js';
16
16
  import { resolveSettings, resolveApiKey, providerEnvKey } from './chunk-AZPXCHDK.js';
17
17
  import { resolveDriverPaths } from './chunk-K5GBV4SA.js';
@@ -3646,6 +3646,28 @@ async function writeClaudeCodeCredentialsFile(home, json) {
3646
3646
  await rename(tmpPath, finalPath);
3647
3647
  return finalPath;
3648
3648
  }
3649
+ async function ensureClaudeSettingsDisablesConnectors(home) {
3650
+ const claudeDir = join(home, ".claude");
3651
+ await mkdir(claudeDir, { recursive: true, mode: 448 });
3652
+ const finalPath = join(claudeDir, "settings.json");
3653
+ let settings = {};
3654
+ try {
3655
+ const parsed = JSON.parse(await readFile(finalPath, "utf-8"));
3656
+ if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
3657
+ settings = parsed;
3658
+ }
3659
+ } catch (err) {
3660
+ const isMissing = err.code === "ENOENT";
3661
+ if (!isMissing && !(err instanceof SyntaxError)) throw err;
3662
+ }
3663
+ if (settings.disableClaudeAiConnectors === true) return finalPath;
3664
+ settings.disableClaudeAiConnectors = true;
3665
+ const tmpPath = `${finalPath}.tmp.${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2)}`;
3666
+ await writeFile(tmpPath, `${JSON.stringify(settings, null, 2)}
3667
+ `, { mode: 384 });
3668
+ await rename(tmpPath, finalPath);
3669
+ return finalPath;
3670
+ }
3649
3671
  async function mergeAndRewriteCredentialsFile(home, accessToken, expiresAt) {
3650
3672
  const credPath = join(home, ".claude", ".credentials.json");
3651
3673
  let merged = {};
@@ -4454,6 +4476,20 @@ async function buildStoreSnapshotReplay(manager, activeFlows) {
4454
4476
  }
4455
4477
  return events;
4456
4478
  }
4479
+ async function guardClaudeAiConnectors(home, serverLog) {
4480
+ try {
4481
+ const path5 = await ensureClaudeSettingsDisablesConnectors(home);
4482
+ serverLog.info("claude.ai connectors disabled in user settings", { path: path5 });
4483
+ } catch (err) {
4484
+ serverLog.warn(
4485
+ "failed to disable claude.ai connectors in user settings \u2014 relying on env only",
4486
+ {
4487
+ home,
4488
+ error: err instanceof Error ? err.message : String(err)
4489
+ }
4490
+ );
4491
+ }
4492
+ }
4457
4493
  function ensureGitConfigInclude(managedGitconfigPath) {
4458
4494
  const home = process.env.HOME ?? homedir();
4459
4495
  if (!home) return;
@@ -4877,14 +4913,19 @@ async function executeConnectorMutate(cmd, deps) {
4877
4913
  );
4878
4914
  let appliedAny = false;
4879
4915
  const applied = [];
4916
+ const appliedNodeIds = /* @__PURE__ */ new Set();
4880
4917
  for (const decision of toApply) {
4881
4918
  const { op, payload: opPayload } = pendingDecisionOp(decision);
4882
4919
  try {
4883
4920
  await deps.executeOp(entry.connectorId, op, opPayload);
4884
4921
  applied.push(decision.nodeId);
4922
+ appliedNodeIds.add(decision.nodeId);
4885
4923
  appliedAny = true;
4886
4924
  } catch (err) {
4887
- reconciled.skipped.push({ nodeId: decision.nodeId, reason: "not_parked" });
4925
+ reconciled.skipped.push({
4926
+ nodeId: decision.nodeId,
4927
+ reason: appliedNodeIds.has(decision.nodeId) ? "already_decided" : "payload_invalid"
4928
+ });
4888
4929
  deps.log.warn("flow hydrate reconciliation refused", {
4889
4930
  nodeId: decision.nodeId,
4890
4931
  op,
@@ -5083,6 +5124,7 @@ async function startAgentServer(opts) {
5083
5124
  return result ?? { ok: false, code: "backend-error", message: "no result from host" };
5084
5125
  }
5085
5126
  await mergeAndRewriteCredentialsFile(home, result.token, result.expiresAt ?? null);
5127
+ await guardClaudeAiConnectors(home, serverLog);
5086
5128
  aiCredentialRefreshScheduler.schedule(result.expiresAt ?? null);
5087
5129
  return result;
5088
5130
  } catch (err) {
@@ -5930,6 +5972,7 @@ async function startAgentServer(opts) {
5930
5972
  log(
5931
5973
  `[serve] wrote Claude Code credentials file to ${home}/.claude/.credentials.json (mode 0600)`
5932
5974
  );
5975
+ await guardClaudeAiConnectors(home, serverLog);
5933
5976
  } catch (err) {
5934
5977
  const errMsg = err instanceof Error ? err.message : String(err);
5935
5978
  log(`[serve] failed to write Claude Code credentials file: ${errMsg}`);
@@ -6975,6 +7018,6 @@ function touchSession(state) {
6975
7018
  return { ...state, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
6976
7019
  }
6977
7020
 
6978
- 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, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, isTerminalFlowStatus, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, mcpAuthSecretKey, newSession, pickRepointedManager, planFlowMutate, reconcilePendingDecisions, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, runAgentChat, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile };
6979
- //# sourceMappingURL=chunk-2KANBOIO.js.map
6980
- //# sourceMappingURL=chunk-2KANBOIO.js.map
7021
+ 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, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, isTerminalFlowStatus, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, mcpAuthSecretKey, newSession, pickRepointedManager, planFlowMutate, reconcilePendingDecisions, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, runAgentChat, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile };
7022
+ //# sourceMappingURL=chunk-H6KQB6HL.js.map
7023
+ //# sourceMappingURL=chunk-H6KQB6HL.js.map