@skaile/workspaces 0.10.1 → 0.11.1
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 +63 -0
- package/dist/asset-manager/index.js +2 -2
- package/dist/asset-manager/scaffold.js +1 -1
- package/dist/base-assets/connectors/deploy.js +2 -2
- package/dist/base-assets/connectors/devserver.js +2 -2
- package/dist/base-assets/connectors/flow/adapter.js +2 -2
- package/dist/base-assets/connectors/flow/run-flow.js +3 -3
- package/dist/base-assets/connectors/flow.js +2 -2
- package/dist/base-assets/connectors/git.js +2 -2
- package/dist/base-assets/connectors/gmail.js +2 -2
- package/dist/base-assets/connectors/local.js +2 -2
- package/dist/base-assets/connectors/mattermost.js +2 -2
- package/dist/base-assets/connectors/memory.js +2 -2
- package/dist/base-assets/connectors/minio.js +2 -2
- package/dist/base-assets/connectors/postgres.js +2 -2
- package/dist/base-assets/connectors/redis.js +2 -2
- package/dist/base-assets/connectors/s3.js +2 -2
- package/dist/base-assets/connectors/sharepoint/driver.d.ts.map +1 -1
- package/dist/base-assets/connectors/sharepoint.js +2 -2
- package/dist/base-assets/connectors/sqlite.js +2 -2
- package/dist/base-assets/connectors/static-server.js +2 -2
- package/dist/base-assets/connectors/tunnel.js +2 -2
- package/dist/base-assets/connectors/webdav/driver.d.ts.map +1 -1
- package/dist/base-assets/connectors/webdav.js +2 -2
- package/dist/base-assets/connectors/xstate-store.js +2 -2
- package/dist/base-assets/connectors/xstate.js +2 -2
- package/dist/base-assets/connectors/yjs.js +2 -2
- package/dist/bridge/drivers/claude-sdk.js +42 -1
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.js +1 -1
- package/dist/bridge/drivers/echo.js +1 -1
- package/dist/bridge/drivers/omp.js +1 -1
- package/dist/bridge/index.js +2 -2
- package/dist/bridge/src/drivers/claude-sdk.d.ts +22 -0
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/{chunk-OVM36NYF.js → chunk-34333Z5H.js} +199 -85
- package/dist/chunk-34333Z5H.js.map +1 -0
- package/dist/{chunk-EBMFCF4P.js → chunk-6MB7CRME.js} +17 -6
- package/dist/chunk-6MB7CRME.js.map +1 -0
- package/dist/{chunk-UHSC75L7.js → chunk-EAJKY27M.js} +9 -9
- package/dist/chunk-EAJKY27M.js.map +1 -0
- package/dist/{chunk-FEBLE7QX.js → chunk-EARKGKKB.js} +2 -2
- package/dist/{chunk-FEBLE7QX.js.map → chunk-EARKGKKB.js.map} +1 -1
- package/dist/{chunk-OSJH4SPO.js → chunk-VMU2WEN7.js} +3 -3
- package/dist/{chunk-OSJH4SPO.js.map → chunk-VMU2WEN7.js.map} +1 -1
- package/dist/{chunk-IFRUVHOQ.js → chunk-XYEFV7XN.js} +3 -3
- package/dist/{chunk-IFRUVHOQ.js.map → chunk-XYEFV7XN.js.map} +1 -1
- package/dist/{chunk-OQIBHB4F.js → chunk-YHXBQLXX.js} +2 -2
- package/dist/{chunk-OQIBHB4F.js.map → chunk-YHXBQLXX.js.map} +1 -1
- package/dist/{chunk-S7RACIZI.js → chunk-YOFKTALB.js} +2 -2
- package/dist/{chunk-S7RACIZI.js.map → chunk-YOFKTALB.js.map} +1 -1
- package/dist/{chunk-BTKNSMLK.js → chunk-Z5PO7ZVP.js} +2 -2
- package/dist/{chunk-BTKNSMLK.js.map → chunk-Z5PO7ZVP.js.map} +1 -1
- package/dist/cli/index.js +10 -10
- package/dist/connectors/index.js +2 -2
- package/dist/connectors/rclone.js +1 -1
- package/dist/connectors/src/fs-utils.d.ts +33 -0
- package/dist/connectors/src/fs-utils.d.ts.map +1 -0
- package/dist/connectors/src/index.d.ts +1 -0
- package/dist/connectors/src/index.d.ts.map +1 -1
- package/dist/connectors/src/rclone-process-manager.d.ts.map +1 -1
- package/dist/runner/index.js +6 -6
- package/dist/runner/src/ai-credential-refresh.d.ts +74 -0
- package/dist/runner/src/ai-credential-refresh.d.ts.map +1 -0
- package/dist/runner/src/serve-credentials.d.ts +21 -0
- package/dist/runner/src/serve-credentials.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts +2 -2
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +2 -2
- package/dist/sdk/bridge.js +2 -2
- package/dist/sdk/index.js +6 -6
- package/dist/sdk/runner.js +6 -6
- package/dist/{setup-QIEPIYH2.js → setup-QAOUBECX.js} +4 -4
- package/dist/{setup-QIEPIYH2.js.map → setup-QAOUBECX.js.map} +1 -1
- package/dist/tui/index.js +6 -6
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-EBMFCF4P.js.map +0 -1
- package/dist/chunk-OVM36NYF.js.map +0 -1
- package/dist/chunk-UHSC75L7.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,68 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.11.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- ae93713: `webdav` and `sharepoint` connectors now `chmod 0o770` on every directory
|
|
8
|
+
they `mkdir` (mount target, vfs cache, cache root) via a new local
|
|
9
|
+
`ensureDirMode()` helper. `RcloneProcessManager.spawn()` does the same on
|
|
10
|
+
the mountPoint and cacheDir it creates.
|
|
11
|
+
|
|
12
|
+
`mkdirSync(mode:)` is masked by the process umask — default 022 yields
|
|
13
|
+
mode 0750 and strips the group-write bit `fusermount3` requires on the
|
|
14
|
+
mountpoint and rclone needs on the vfs cache. Explicit `chmod` is
|
|
15
|
+
umask-immune. EPERM on chmod is swallowed: a foreign-uid pre-create is
|
|
16
|
+
recovered by the platform's agent container entrypoint (see
|
|
17
|
+
skaile-ai/platform#139), so the runner staying quiet here is intentional
|
|
18
|
+
defence in depth rather than a swallowed failure.
|
|
19
|
+
|
|
20
|
+
Fixes the production symptom where a Nextcloud-backed session failed
|
|
21
|
+
after a platform restart with `fusermount3: user has no write access to
|
|
22
|
+
mountpoint /skaile/.mounts/workspace` and
|
|
23
|
+
`mkdir /var/cache/skaile/.../vfs/skaile-workspace: permission denied`.
|
|
24
|
+
|
|
25
|
+
## 0.11.0
|
|
26
|
+
|
|
27
|
+
### Minor Changes
|
|
28
|
+
|
|
29
|
+
- c0f3b15: Two-part hardening of the AI-credential 401 path:
|
|
30
|
+
|
|
31
|
+
**Bridge: defer the auth-error event when self-heal is pending.** The
|
|
32
|
+
`claude-sdk` driver used to emit a `{ type: "error" }` agent-event from
|
|
33
|
+
`failTurn()` _before_ its `onAuthError` self-heal callback decided
|
|
34
|
+
whether the credential could be refreshed. The runner forwarded every
|
|
35
|
+
such event to the platform, so users saw a flash of `Failed to
|
|
36
|
+
authenticate. API Error: 401` even on every successful self-heal.
|
|
37
|
+
`failTurn()` now suppresses the downstream emission when the failure
|
|
38
|
+
is an `AuthError` on the first attempt AND an `onAuthError` callback is
|
|
39
|
+
configured; the event is emitted only if the self-heal callback returns
|
|
40
|
+
failure (or throws), or if the retry's own `failTurn` runs. Every auth
|
|
41
|
+
failure still produces exactly one downstream `error` event — none on
|
|
42
|
+
silent recovery, one on terminal failure.
|
|
43
|
+
|
|
44
|
+
**Runner: proactive AI-credential refresh.** New
|
|
45
|
+
`createAiCredentialRefreshScheduler` factory in
|
|
46
|
+
`runner/src/ai-credential-refresh.ts`. After the initial Claude Code
|
|
47
|
+
credentials blob lands at `session_init`, the runner parses
|
|
48
|
+
`claudeAiOauth.expiresAt`, schedules a single `setTimeout` to fire 5
|
|
49
|
+
minutes before expiry, and on fire calls
|
|
50
|
+
`host.refresh_credential { reason: 'refresh' }` via the existing
|
|
51
|
+
mediator path. Successful mints (proactive or reactive retry-401) chain
|
|
52
|
+
the next fire. Static tokens (`expiresAt: null`) and standalone CLI
|
|
53
|
+
sessions short-circuit to no-op. The reactive retry-401 path stays as
|
|
54
|
+
the safety net. Cancelled in `cleanup()` so SIGTERM / hibernate does
|
|
55
|
+
not leak the timer.
|
|
56
|
+
|
|
57
|
+
The new helper `extractClaudeAiOauthExpiresAt(json)` is exported from
|
|
58
|
+
the runner for callers that need to inspect the credentials blob
|
|
59
|
+
without persisting it.
|
|
60
|
+
|
|
61
|
+
Pair with the platform-side enablement of `SKAILE_AIP_AUTO_REFRESH` to
|
|
62
|
+
also pre-warm the platform's credential cache every 15 minutes; the
|
|
63
|
+
runner's proactive timer is the primary defence against in-container
|
|
64
|
+
401s and is independent of that flag.
|
|
65
|
+
|
|
3
66
|
## 0.10.1
|
|
4
67
|
|
|
5
68
|
### Patch Changes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { AssetManager } from '../chunk-
|
|
1
|
+
export { AssetManager } from '../chunk-EARKGKKB.js';
|
|
2
2
|
export { createScaffold, deployAll, removeAsset } from '../chunk-M2NLRGIX.js';
|
|
3
3
|
export { appendHistory, clearHistory, getRecentHistory, loadHistory } from '../chunk-KTBKW2FI.js';
|
|
4
4
|
import '../chunk-UQ6LFBPZ.js';
|
|
5
|
-
export { listTemplates, scaffoldWorkspace, setTemplatesDir } from '../chunk-
|
|
5
|
+
export { listTemplates, scaffoldWorkspace, setTemplatesDir } from '../chunk-YHXBQLXX.js';
|
|
6
6
|
import '../chunk-DIKFRNCS.js';
|
|
7
7
|
import '../chunk-4RUVG5GX.js';
|
|
8
8
|
import '../chunk-JKNWJ64A.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { applyBaseLayer, applyConnectorsLayer, applyContainerLayer, applyDriverTargetLayer, applyHooksLayer, applySkillsLayer, applyTemplateLayer, listTemplates, loadTemplate, resolveTemplatePath, scaffoldWorkspace, setTemplatesDir } from '../chunk-
|
|
1
|
+
export { applyBaseLayer, applyConnectorsLayer, applyContainerLayer, applyDriverTargetLayer, applyHooksLayer, applySkillsLayer, applyTemplateLayer, listTemplates, loadTemplate, resolveTemplatePath, scaffoldWorkspace, setTemplatesDir } from '../chunk-YHXBQLXX.js';
|
|
2
2
|
export { applyAgentsLayer } from '../chunk-DIKFRNCS.js';
|
|
3
3
|
import '../chunk-4RUVG5GX.js';
|
|
4
4
|
import '../chunk-JKNWJ64A.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { DeployConnector, createConnector20 as createConnector } from '../../chunk-
|
|
1
|
+
export { DeployConnector, createConnector20 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { DevServerConnector, createConnector17 as createConnector } from '../../chunk-
|
|
1
|
+
export { DevServerConnector, createConnector17 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { FlowAdapter, createConnector } from '../../../chunk-
|
|
1
|
+
export { FlowAdapter, createConnector } from '../../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../../chunk-
|
|
3
|
+
import '../../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../../chunk-GCRKAFH7.js';
|
|
5
5
|
export { isBlocking } from '../../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../../chunk-GZWJGNNN.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { resumeFlow, runFlow } from '../../../chunk-
|
|
1
|
+
export { resumeFlow, runFlow } from '../../../chunk-XYEFV7XN.js';
|
|
2
2
|
import '../../../chunk-GCJXPUHG.js';
|
|
3
3
|
import '../../../chunk-IPUYL6TD.js';
|
|
4
|
-
import '../../../chunk-
|
|
4
|
+
import '../../../chunk-EAJKY27M.js';
|
|
5
5
|
import '../../../chunk-W75ASXH4.js';
|
|
6
|
-
import '../../../chunk-
|
|
6
|
+
import '../../../chunk-6MB7CRME.js';
|
|
7
7
|
import '../../../chunk-GCRKAFH7.js';
|
|
8
8
|
import '../../../chunk-ICS76R4T.js';
|
|
9
9
|
import '../../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { FlowAdapter, createConnector } from '../../chunk-
|
|
1
|
+
export { FlowAdapter, createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { GitConnector, createConnector2 as createConnector } from '../../chunk-
|
|
1
|
+
export { GitConnector, createConnector2 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { GmailConnector, createConnector15 as createConnector } from '../../chunk-
|
|
1
|
+
export { GmailConnector, createConnector15 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { LocalConnector, createConnector3 as createConnector } from '../../chunk-
|
|
1
|
+
export { LocalConnector, createConnector3 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { MattermostConnector, createConnector16 as createConnector } from '../../chunk-
|
|
1
|
+
export { MattermostConnector, createConnector16 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { MemoryConnector, createConnector7 as createConnector } from '../../chunk-
|
|
1
|
+
export { MemoryConnector, createConnector7 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { MinIOConnector, createConnector11 as createConnector } from '../../chunk-
|
|
1
|
+
export { MinIOConnector, createConnector11 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { PostgresConnector, createConnector8 as createConnector } from '../../chunk-
|
|
1
|
+
export { PostgresConnector, createConnector8 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { RedisConnector, createConnector9 as createConnector } from '../../chunk-
|
|
1
|
+
export { RedisConnector, createConnector9 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { S3Connector, createConnector4 as createConnector } from '../../chunk-
|
|
1
|
+
export { S3Connector, createConnector4 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/sharepoint/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/sharepoint/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EAIf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EAKlB,MAAM,+BAA+B,CAAC;AAyEvC;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,OAAO,CAAC,MAAM,CAA8B;IAE5C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAIjC;IAEI,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAoGzF,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAM1C,KAAK;IAwBJ,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOjE,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAMpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,mBAAmB,CAErD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { SharePointConnector, createConnector6 as createConnector } from '../../chunk-
|
|
1
|
+
export { SharePointConnector, createConnector6 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { SQLiteConnector, createConnector10 as createConnector } from '../../chunk-
|
|
1
|
+
export { SQLiteConnector, createConnector10 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { StaticServerConnector, createConnector18 as createConnector } from '../../chunk-
|
|
1
|
+
export { StaticServerConnector, createConnector18 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { TunnelConnector, createConnector19 as createConnector } from '../../chunk-
|
|
1
|
+
export { TunnelConnector, createConnector19 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/webdav/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/webdav/driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,cAAc,EAIf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EAMlB,MAAM,+BAA+B,CAAC;AA6EvC;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,IAAI,YAAY;IAEzB,OAAO,CAAC,MAAM,CAA8B;IAE5C,QAAQ,CAAC,UAAU,EAAE,cAAc,CAIjC;IAEI,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAoGzF,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAM1C,KAAK;IAwBJ,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOjE,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAMpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,eAAe,CAEjD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { WebDAVConnector, createConnector5 as createConnector } from '../../chunk-
|
|
1
|
+
export { WebDAVConnector, createConnector5 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { XStateStoreConnector, createConnector13 as createConnector } from '../../chunk-
|
|
1
|
+
export { XStateStoreConnector, createConnector13 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { XStateConnector, createConnector12 as createConnector } from '../../chunk-
|
|
1
|
+
export { XStateConnector, createConnector12 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { YjsConnector, createConnector14 as createConnector } from '../../chunk-
|
|
1
|
+
export { YjsConnector, createConnector14 as createConnector } from '../../chunk-EAJKY27M.js';
|
|
2
2
|
import '../../chunk-W75ASXH4.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-6MB7CRME.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
5
|
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { classifyClaudeSdkError, AuthError } from '../../chunk-EWP5HZBV.js';
|
|
2
2
|
import { fetchProviderModels } from '../../chunk-KOVLSBXK.js';
|
|
3
3
|
import { dispatchCapability } from '../../chunk-RRVQAE5D.js';
|
|
4
|
-
import { registerDriver, DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-
|
|
4
|
+
import { registerDriver, DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-YOFKTALB.js';
|
|
5
5
|
import '../../chunk-24UIWON4.js';
|
|
6
6
|
import '../../chunk-NSBPE2FW.js';
|
|
7
7
|
import { spawnSync } from 'child_process';
|
|
@@ -237,6 +237,17 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
237
237
|
turnReject = null;
|
|
238
238
|
/** Guards against duplicate agent_end emissions per turn. */
|
|
239
239
|
turnCompleted = false;
|
|
240
|
+
/**
|
|
241
|
+
* Mirror of the `_retryCount` argument of the in-flight {@link prompt} call.
|
|
242
|
+
* Read by {@link failTurn} to decide whether to defer the `agent-event:
|
|
243
|
+
* error` emission for a self-healable auth error. `0` means "first
|
|
244
|
+
* attempt"; `prompt()` increments to `1` before recursing on its
|
|
245
|
+
* `onAuthError` self-heal branch.
|
|
246
|
+
*
|
|
247
|
+
* Set unconditionally at the top of every {@link prompt} invocation; never
|
|
248
|
+
* reset elsewhere — the next call's set is the only legitimate transition.
|
|
249
|
+
*/
|
|
250
|
+
currentRetryCount = 0;
|
|
240
251
|
/** Tracks whether a session has been started (for continue: true). */
|
|
241
252
|
hasSession = false;
|
|
242
253
|
/** Session ID from the SDK — used for streamInput messages. */
|
|
@@ -313,6 +324,7 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
313
324
|
* occurs after a container crash that prevented the SDK from flushing its session file.
|
|
314
325
|
*/
|
|
315
326
|
async prompt(message, _retryCount = 0) {
|
|
327
|
+
this.currentRetryCount = _retryCount;
|
|
316
328
|
if (!this.sdk) await this.start();
|
|
317
329
|
let retrying = false;
|
|
318
330
|
if (_retryCount === 0) this._lastTokens = null;
|
|
@@ -439,6 +451,18 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
439
451
|
retrying = true;
|
|
440
452
|
return this.prompt(message, _retryCount + 1);
|
|
441
453
|
}
|
|
454
|
+
try {
|
|
455
|
+
this.emit("agent-event", {
|
|
456
|
+
type: "error",
|
|
457
|
+
error: err.message,
|
|
458
|
+
detail: err.detail
|
|
459
|
+
});
|
|
460
|
+
} catch (emitErr) {
|
|
461
|
+
this.log.warn(
|
|
462
|
+
"agent-event listener threw during deferred auth-error surfacing; suppressing",
|
|
463
|
+
{ error: emitErr instanceof Error ? emitErr.message : String(emitErr) }
|
|
464
|
+
);
|
|
465
|
+
}
|
|
442
466
|
}
|
|
443
467
|
throw err;
|
|
444
468
|
} finally {
|
|
@@ -761,6 +785,17 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
761
785
|
* caller transitions even if the listener chain misbehaves; the emit is
|
|
762
786
|
* wrapped in try/catch so a listener failure cannot leak out.
|
|
763
787
|
*
|
|
788
|
+
* Self-heal deferral: when the failure is an {@link AuthError} on the
|
|
789
|
+
* first attempt (`currentRetryCount === 0`) AND the caller wired an
|
|
790
|
+
* `onAuthError` callback, the downstream `agent-event: error` emission
|
|
791
|
+
* is deferred. The rejected turn promise still travels to {@link prompt}'s
|
|
792
|
+
* catch block where the self-heal runs; if the retry succeeds the user
|
|
793
|
+
* never sees a 401, if the retry fails the second `failTurn` call (now
|
|
794
|
+
* with `currentRetryCount === 1`) emits the error normally. This stops
|
|
795
|
+
* the historical "401 flashes in the UI even though self-heal worked"
|
|
796
|
+
* misbehaviour where the bridge emitted the error event before the
|
|
797
|
+
* retry decision was known.
|
|
798
|
+
*
|
|
764
799
|
* Spec: `_devlog/specs/2026-05-07-unified-credential-mediation.md`
|
|
765
800
|
* § "Runner-side handling on 401" (the AI 401 mediation path that
|
|
766
801
|
* exposed this hang).
|
|
@@ -771,6 +806,12 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
771
806
|
this.turnResolve = null;
|
|
772
807
|
this.turnReject = null;
|
|
773
808
|
}
|
|
809
|
+
this.turnCompleted = true;
|
|
810
|
+
const willSelfHeal = err instanceof AuthError && this.currentRetryCount === 0 && this.config.onAuthError != null;
|
|
811
|
+
if (willSelfHeal) {
|
|
812
|
+
this.log.info("deferring auth-error event; self-heal will attempt refresh");
|
|
813
|
+
return;
|
|
814
|
+
}
|
|
774
815
|
try {
|
|
775
816
|
this.emit("agent-event", {
|
|
776
817
|
type: "error",
|