@skaile/workspaces 0.47.2 → 0.48.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 (57) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/asset-manager/index.js +1 -1
  3. package/dist/{chunk-GWJLWRHB.js → chunk-2RVTJJWY.js} +15 -7
  4. package/dist/chunk-2RVTJJWY.js.map +1 -0
  5. package/dist/{chunk-VATPY6IM.js → chunk-7KCG5LBG.js} +72 -12
  6. package/dist/chunk-7KCG5LBG.js.map +1 -0
  7. package/dist/{chunk-5N2VOZGJ.js → chunk-7UYT3SNF.js} +2 -2
  8. package/dist/{chunk-5N2VOZGJ.js.map → chunk-7UYT3SNF.js.map} +1 -1
  9. package/dist/{chunk-FL4476RJ.js → chunk-DFCX5YY5.js} +3 -3
  10. package/dist/{chunk-FL4476RJ.js.map → chunk-DFCX5YY5.js.map} +1 -1
  11. package/dist/{chunk-DDR4OSSM.js → chunk-T2CIVTTC.js} +3 -2
  12. package/dist/chunk-T2CIVTTC.js.map +1 -0
  13. package/dist/{chunk-DDSL5XUT.js → chunk-UEHPL3KU.js} +2 -2
  14. package/dist/{chunk-DDSL5XUT.js.map → chunk-UEHPL3KU.js.map} +1 -1
  15. package/dist/cli/index.js +6 -6
  16. package/dist/connectors/config.js +1 -1
  17. package/dist/connectors/index.js +2 -2
  18. package/dist/connectors/src/connector-manager.d.ts +6 -1
  19. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  20. package/dist/connectors/src/connector-types.d.ts +25 -0
  21. package/dist/connectors/src/connector-types.d.ts.map +1 -1
  22. package/dist/connectors/src/materialized-connectors.d.ts.map +1 -1
  23. package/dist/factory-assets/connectors/deploy.js +2 -2
  24. package/dist/factory-assets/connectors/devserver.js +2 -2
  25. package/dist/factory-assets/connectors/flow/adapter.js +2 -2
  26. package/dist/factory-assets/connectors/flow/run-flow.js +3 -3
  27. package/dist/factory-assets/connectors/flow.js +2 -2
  28. package/dist/factory-assets/connectors/git.js +2 -2
  29. package/dist/factory-assets/connectors/gmail.js +2 -2
  30. package/dist/factory-assets/connectors/googledrive.js +2 -2
  31. package/dist/factory-assets/connectors/local.js +2 -2
  32. package/dist/factory-assets/connectors/mattermost.js +2 -2
  33. package/dist/factory-assets/connectors/memory.js +2 -2
  34. package/dist/factory-assets/connectors/minio.js +2 -2
  35. package/dist/factory-assets/connectors/postgres.js +2 -2
  36. package/dist/factory-assets/connectors/s3.js +2 -2
  37. package/dist/factory-assets/connectors/sharepoint.js +2 -2
  38. package/dist/factory-assets/connectors/sqlite.js +2 -2
  39. package/dist/factory-assets/connectors/static-server.js +2 -2
  40. package/dist/factory-assets/connectors/tunnel.js +2 -2
  41. package/dist/factory-assets/connectors/webdav.js +2 -2
  42. package/dist/factory-assets/connectors/xstate-store.js +2 -2
  43. package/dist/factory-assets/connectors/xstate.js +2 -2
  44. package/dist/runner/index.js +4 -4
  45. package/dist/runner/src/serve.d.ts +25 -1
  46. package/dist/runner/src/serve.d.ts.map +1 -1
  47. package/dist/sdk/asset-manager.js +1 -1
  48. package/dist/sdk/index.js +4 -4
  49. package/dist/sdk/runner.js +4 -4
  50. package/dist/tui/index.js +4 -4
  51. package/dist/types/src/events.d.ts +4 -0
  52. package/dist/types/src/events.d.ts.map +1 -1
  53. package/dist/workspace-plugin/index.js +1 -1
  54. package/package.json +1 -1
  55. package/dist/chunk-DDR4OSSM.js.map +0 -1
  56. package/dist/chunk-GWJLWRHB.js.map +0 -1
  57. package/dist/chunk-VATPY6IM.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { WorkspacePlugin } from './chunk-DDSL5XUT.js';
1
+ import { WorkspacePlugin } from './chunk-UEHPL3KU.js';
2
2
  import { WebSocketServerTransport } from './chunk-WQ7DE5UC.js';
3
3
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
4
4
  import { PROTOCOL_VERSION } from './chunk-EVZKWY5J.js';
@@ -6,8 +6,8 @@ import { EventNormalizer } from './chunk-5C3QJSOD.js';
6
6
  import { classifyClaudeSdkError } from './chunk-GAH4YRCI.js';
7
7
  import { createDriver } from './chunk-OCAQH66V.js';
8
8
  import { deployCatalogEntry, undeployCatalogEntry } from './chunk-LV2HPH3C.js';
9
- import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools } from './chunk-GWJLWRHB.js';
10
- import { loadConnectorDeclarations, SecretProviderChain, PreMintedSecretProvider, InMemorySecretProvider, deriveSingleMaterializedConnectorDeclaration } from './chunk-DDR4OSSM.js';
9
+ import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools } from './chunk-2RVTJJWY.js';
10
+ import { loadConnectorDeclarations, SecretProviderChain, PreMintedSecretProvider, InMemorySecretProvider, deriveSingleMaterializedConnectorDeclaration } from './chunk-T2CIVTTC.js';
11
11
  import { renderStimulusPrompt, buildOrchestratorPrompt } from './chunk-DEYYRFQU.js';
12
12
  import { resolveSettings, resolveApiKey, providerEnvKey } from './chunk-G3GODNHM.js';
13
13
  import { resolveRuntimeAssets } from './chunk-3VBQJZYL.js';
@@ -3930,6 +3930,7 @@ function splitConnectorsForWire(manager) {
3930
3930
  mounts.push({
3931
3931
  id: c.id,
3932
3932
  driver: c.driver,
3933
+ ...c.label ? { label: c.label } : {},
3933
3934
  access: c.access,
3934
3935
  mountPath: c.mountPath,
3935
3936
  // A deferred (background) mount is pre-registered with its path but
@@ -3942,6 +3943,7 @@ function splitConnectorsForWire(manager) {
3942
3943
  connectors.push({
3943
3944
  id: c.id,
3944
3945
  driver: c.driver,
3946
+ ...c.label ? { label: c.label } : {},
3945
3947
  access: c.access,
3946
3948
  operations: manager.getOperations(c.id).map((op) => op.name)
3947
3949
  });
@@ -4009,6 +4011,57 @@ function setupManagedGitconfig(projectDir, serverLog) {
4009
4011
  });
4010
4012
  }
4011
4013
  }
4014
+ function connectorRefreshKind(driver) {
4015
+ return driver === "git" ? "git-mount" : null;
4016
+ }
4017
+ function buildConnectorTokenMediator(deps) {
4018
+ return async ({ connectorId, reason, driver, providerLinkId }) => {
4019
+ if (!deps.isConnected()) {
4020
+ return {
4021
+ ok: false,
4022
+ code: "not-configured",
4023
+ message: "standalone runner cannot mediate connector refresh"
4024
+ };
4025
+ }
4026
+ const kind = connectorRefreshKind(driver);
4027
+ if (!kind) {
4028
+ return {
4029
+ ok: false,
4030
+ code: "not-configured",
4031
+ message: `connector '${connectorId}' (driver=${driver ?? "unknown"}) has no backend refresh path`
4032
+ };
4033
+ }
4034
+ if (!providerLinkId) {
4035
+ return {
4036
+ ok: false,
4037
+ code: "not-configured",
4038
+ message: `connector '${connectorId}' is missing a providerLinkId; cannot refresh`
4039
+ };
4040
+ }
4041
+ try {
4042
+ const raw = await deps.invokeRemote("host.refresh_credential", {
4043
+ kind,
4044
+ id: providerLinkId,
4045
+ reason
4046
+ });
4047
+ if (typeof raw?.ok !== "boolean" || raw.ok && typeof raw.token !== "string") {
4048
+ deps.log(
4049
+ `[serve] connector refresh returned a malformed mint (id=${connectorId}, kind=${kind})`
4050
+ );
4051
+ return { ok: false, code: "backend-error", message: "malformed mint from host" };
4052
+ }
4053
+ if (!raw.ok) {
4054
+ deps.log(
4055
+ `[serve] connector refresh failed (id=${connectorId}, kind=${kind}, code=${raw.code})`
4056
+ );
4057
+ }
4058
+ return raw;
4059
+ } catch (err) {
4060
+ const m = err instanceof Error ? err.message : String(err);
4061
+ return { ok: false, code: "backend-error", message: m };
4062
+ }
4063
+ };
4064
+ }
4012
4065
  async function startAgentServer(opts) {
4013
4066
  const port = opts.port ?? 8080;
4014
4067
  const sessionId = opts.sessionId ?? process.env.SKAILE_SESSION_ID ?? "session-unknown";
@@ -4115,6 +4168,11 @@ async function startAgentServer(opts) {
4115
4168
  return { ok: false, code: "backend-error", message: errMsg };
4116
4169
  }
4117
4170
  }
4171
+ const connectorTokenMediator = buildConnectorTokenMediator({
4172
+ isConnected: () => transport.connected,
4173
+ invokeRemote: (name, input) => capabilityRegistry.invokeRemote(name, input),
4174
+ log
4175
+ });
4118
4176
  const aiCredentialRefreshScheduler = createAiCredentialRefreshScheduler({
4119
4177
  refresh: async () => {
4120
4178
  const result = await mintAndPersistAiCredential({ reason: "refresh" });
@@ -4254,10 +4312,10 @@ async function startAgentServer(opts) {
4254
4312
  // registered as `mcp`-origin capabilities — works on every driver, no
4255
4313
  // dependence on the claude-agent-sdk `mcpServers` query option.
4256
4314
  capabilityRegistry,
4257
- // v3: pre-minted credentials replace the tokenMediator for initial mints.
4258
- // Refresh routes through `host.refresh_credential` (invoked from the
4259
- // bridge driver's onAuthError callback). The legacy `tokenMediator`
4260
- // wire is gone.
4315
+ // v3: pre-minted credentials satisfy the initial mint of `auth: backend`
4316
+ // connectors in-process; connector refresh (refresh / retry-401) now routes
4317
+ // through `host.refresh_credential` via this mediator.
4318
+ tokenMediator: connectorTokenMediator,
4261
4319
  ...preMintedSecrets ? { preMintedSecrets } : {},
4262
4320
  ...aiProviderConfigId ? { aiProviderConfigId } : {}
4263
4321
  };
@@ -4529,7 +4587,8 @@ async function startAgentServer(opts) {
4529
4587
  if (!resourceManager) {
4530
4588
  registerBuiltinConnectors();
4531
4589
  resourceManager = new ConnectorManager(opts.projectDir, {
4532
- catalogEntries: getSessionCatalogEntries(agentSession)
4590
+ catalogEntries: getSessionCatalogEntries(agentSession),
4591
+ tokenMediator: connectorTokenMediator
4533
4592
  });
4534
4593
  log("[serve] created ConnectorManager for flow execution (no other connectors declared)");
4535
4594
  }
@@ -4839,7 +4898,8 @@ async function startAgentServer(opts) {
4839
4898
  try {
4840
4899
  registerBuiltinConnectors();
4841
4900
  resourceManager = new ConnectorManager(opts.projectDir, {
4842
- catalogEntries: getSessionCatalogEntries(agentSession)
4901
+ catalogEntries: getSessionCatalogEntries(agentSession),
4902
+ tokenMediator: connectorTokenMediator
4843
4903
  });
4844
4904
  log("[serve] created ConnectorManager for sharedState (no connectors were declared)");
4845
4905
  return true;
@@ -5727,6 +5787,6 @@ function touchSession(state) {
5727
5787
  return { ...state, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
5728
5788
  }
5729
5789
 
5730
- export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, builtinCapabilities, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, mcpAuthSecretKey, newSession, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile };
5731
- //# sourceMappingURL=chunk-VATPY6IM.js.map
5732
- //# sourceMappingURL=chunk-VATPY6IM.js.map
5790
+ export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, builtinCapabilities, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, connectorRefreshKind, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, mcpAuthSecretKey, newSession, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile };
5791
+ //# sourceMappingURL=chunk-7KCG5LBG.js.map
5792
+ //# sourceMappingURL=chunk-7KCG5LBG.js.map