@skaile/workspaces 0.47.3 → 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 (50) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/asset-manager/index.js +1 -1
  3. package/dist/{chunk-ZA3F3A76.js → chunk-2RVTJJWY.js} +13 -6
  4. package/dist/chunk-2RVTJJWY.js.map +1 -0
  5. package/dist/{chunk-NRKC4BBJ.js → chunk-7KCG5LBG.js} +69 -11
  6. package/dist/chunk-7KCG5LBG.js.map +1 -0
  7. package/dist/{chunk-4Y2WPHUE.js → chunk-7UYT3SNF.js} +2 -2
  8. package/dist/{chunk-4Y2WPHUE.js.map → chunk-7UYT3SNF.js.map} +1 -1
  9. package/dist/{chunk-MPAA2Y2C.js → chunk-DFCX5YY5.js} +3 -3
  10. package/dist/{chunk-MPAA2Y2C.js.map → chunk-DFCX5YY5.js.map} +1 -1
  11. package/dist/{chunk-WXSJG6I5.js → chunk-UEHPL3KU.js} +2 -2
  12. package/dist/{chunk-WXSJG6I5.js.map → chunk-UEHPL3KU.js.map} +1 -1
  13. package/dist/cli/index.js +5 -5
  14. package/dist/connectors/index.js +1 -1
  15. package/dist/connectors/src/connector-manager.d.ts +5 -1
  16. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  17. package/dist/connectors/src/connector-types.d.ts +17 -0
  18. package/dist/connectors/src/connector-types.d.ts.map +1 -1
  19. package/dist/factory-assets/connectors/deploy.js +1 -1
  20. package/dist/factory-assets/connectors/devserver.js +1 -1
  21. package/dist/factory-assets/connectors/flow/adapter.js +1 -1
  22. package/dist/factory-assets/connectors/flow/run-flow.js +2 -2
  23. package/dist/factory-assets/connectors/flow.js +1 -1
  24. package/dist/factory-assets/connectors/git.js +1 -1
  25. package/dist/factory-assets/connectors/gmail.js +1 -1
  26. package/dist/factory-assets/connectors/googledrive.js +1 -1
  27. package/dist/factory-assets/connectors/local.js +1 -1
  28. package/dist/factory-assets/connectors/mattermost.js +1 -1
  29. package/dist/factory-assets/connectors/memory.js +1 -1
  30. package/dist/factory-assets/connectors/minio.js +1 -1
  31. package/dist/factory-assets/connectors/postgres.js +1 -1
  32. package/dist/factory-assets/connectors/s3.js +1 -1
  33. package/dist/factory-assets/connectors/sharepoint.js +1 -1
  34. package/dist/factory-assets/connectors/sqlite.js +1 -1
  35. package/dist/factory-assets/connectors/static-server.js +1 -1
  36. package/dist/factory-assets/connectors/tunnel.js +1 -1
  37. package/dist/factory-assets/connectors/webdav.js +1 -1
  38. package/dist/factory-assets/connectors/xstate-store.js +1 -1
  39. package/dist/factory-assets/connectors/xstate.js +1 -1
  40. package/dist/runner/index.js +3 -3
  41. package/dist/runner/src/serve.d.ts +25 -1
  42. package/dist/runner/src/serve.d.ts.map +1 -1
  43. package/dist/sdk/asset-manager.js +1 -1
  44. package/dist/sdk/index.js +3 -3
  45. package/dist/sdk/runner.js +3 -3
  46. package/dist/tui/index.js +3 -3
  47. package/dist/workspace-plugin/index.js +1 -1
  48. package/package.json +1 -1
  49. package/dist/chunk-NRKC4BBJ.js.map +0 -1
  50. package/dist/chunk-ZA3F3A76.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { WorkspacePlugin } from './chunk-WXSJG6I5.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,7 +6,7 @@ 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-ZA3F3A76.js';
9
+ import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools } from './chunk-2RVTJJWY.js';
10
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';
@@ -4011,6 +4011,57 @@ function setupManagedGitconfig(projectDir, serverLog) {
4011
4011
  });
4012
4012
  }
4013
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
+ }
4014
4065
  async function startAgentServer(opts) {
4015
4066
  const port = opts.port ?? 8080;
4016
4067
  const sessionId = opts.sessionId ?? process.env.SKAILE_SESSION_ID ?? "session-unknown";
@@ -4117,6 +4168,11 @@ async function startAgentServer(opts) {
4117
4168
  return { ok: false, code: "backend-error", message: errMsg };
4118
4169
  }
4119
4170
  }
4171
+ const connectorTokenMediator = buildConnectorTokenMediator({
4172
+ isConnected: () => transport.connected,
4173
+ invokeRemote: (name, input) => capabilityRegistry.invokeRemote(name, input),
4174
+ log
4175
+ });
4120
4176
  const aiCredentialRefreshScheduler = createAiCredentialRefreshScheduler({
4121
4177
  refresh: async () => {
4122
4178
  const result = await mintAndPersistAiCredential({ reason: "refresh" });
@@ -4256,10 +4312,10 @@ async function startAgentServer(opts) {
4256
4312
  // registered as `mcp`-origin capabilities — works on every driver, no
4257
4313
  // dependence on the claude-agent-sdk `mcpServers` query option.
4258
4314
  capabilityRegistry,
4259
- // v3: pre-minted credentials replace the tokenMediator for initial mints.
4260
- // Refresh routes through `host.refresh_credential` (invoked from the
4261
- // bridge driver's onAuthError callback). The legacy `tokenMediator`
4262
- // 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,
4263
4319
  ...preMintedSecrets ? { preMintedSecrets } : {},
4264
4320
  ...aiProviderConfigId ? { aiProviderConfigId } : {}
4265
4321
  };
@@ -4531,7 +4587,8 @@ async function startAgentServer(opts) {
4531
4587
  if (!resourceManager) {
4532
4588
  registerBuiltinConnectors();
4533
4589
  resourceManager = new ConnectorManager(opts.projectDir, {
4534
- catalogEntries: getSessionCatalogEntries(agentSession)
4590
+ catalogEntries: getSessionCatalogEntries(agentSession),
4591
+ tokenMediator: connectorTokenMediator
4535
4592
  });
4536
4593
  log("[serve] created ConnectorManager for flow execution (no other connectors declared)");
4537
4594
  }
@@ -4841,7 +4898,8 @@ async function startAgentServer(opts) {
4841
4898
  try {
4842
4899
  registerBuiltinConnectors();
4843
4900
  resourceManager = new ConnectorManager(opts.projectDir, {
4844
- catalogEntries: getSessionCatalogEntries(agentSession)
4901
+ catalogEntries: getSessionCatalogEntries(agentSession),
4902
+ tokenMediator: connectorTokenMediator
4845
4903
  });
4846
4904
  log("[serve] created ConnectorManager for sharedState (no connectors were declared)");
4847
4905
  return true;
@@ -5729,6 +5787,6 @@ function touchSession(state) {
5729
5787
  return { ...state, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
5730
5788
  }
5731
5789
 
5732
- 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 };
5733
- //# sourceMappingURL=chunk-NRKC4BBJ.js.map
5734
- //# sourceMappingURL=chunk-NRKC4BBJ.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