@skaile/workspaces 0.11.0 → 0.11.2
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 +43 -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 +31 -28
- 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 +3 -3
- package/dist/bridge/src/drivers/claude-sdk.d.ts +33 -17
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/error-classifier.d.ts.map +1 -1
- package/dist/{chunk-YOFKTALB.js → chunk-4ACWI5YT.js} +2 -2
- package/dist/{chunk-YOFKTALB.js.map → chunk-4ACWI5YT.js.map} +1 -1
- package/dist/{chunk-EBMFCF4P.js → chunk-6MB7CRME.js} +17 -6
- package/dist/chunk-6MB7CRME.js.map +1 -0
- package/dist/{chunk-ZLLUIIZR.js → chunk-DDVKNST3.js} +3 -3
- package/dist/{chunk-ZLLUIIZR.js.map → chunk-DDVKNST3.js.map} +1 -1
- package/dist/{chunk-EWP5HZBV.js → chunk-DQWREFRQ.js} +11 -2
- package/dist/chunk-DQWREFRQ.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-VMU2WEN7.js → chunk-S2OVTCAL.js} +4 -4
- package/dist/{chunk-VMU2WEN7.js.map → chunk-S2OVTCAL.js.map} +1 -1
- package/dist/{chunk-L6PKR6YY.js → chunk-UTKGPNLV.js} +7 -7
- package/dist/{chunk-L6PKR6YY.js.map → chunk-UTKGPNLV.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-BTKNSMLK.js → chunk-Z5PO7ZVP.js} +2 -2
- package/dist/{chunk-BTKNSMLK.js.map → chunk-Z5PO7ZVP.js.map} +1 -1
- package/dist/cli/index.js +11 -11
- 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 +7 -7
- package/dist/sdk/asset-manager.js +2 -2
- package/dist/sdk/bridge.js +3 -3
- package/dist/sdk/index.js +7 -7
- package/dist/sdk/runner.js +7 -7
- package/dist/{setup-QAOUBECX.js → setup-WZFCLQ2J.js} +5 -5
- package/dist/{setup-QAOUBECX.js.map → setup-WZFCLQ2J.js.map} +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-EBMFCF4P.js.map +0 -1
- package/dist/chunk-EWP5HZBV.js.map +0 -1
- package/dist/chunk-UHSC75L7.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,48 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.11.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 4d91d69: fix(bridge): self-heal expired Claude OAuth credentials that surface as "Not logged in"
|
|
8
|
+
|
|
9
|
+
The claude-sdk driver's credential self-heal (`onAuthError`) failed to fire in two
|
|
10
|
+
cases, leaving sessions stuck on a misleading `Not logged in · Please run /login`
|
|
11
|
+
error after the OAuth access token expired:
|
|
12
|
+
- **Classification**: the bare `Not logged in · Please run /login` string the
|
|
13
|
+
Claude Code CLI emits (no JSON body) fell through to `category: "unknown"`, so it
|
|
14
|
+
was never promoted to `AuthError` and the self-heal never triggered. It is now
|
|
15
|
+
classified as `auth`.
|
|
16
|
+
- **Retry budget**: a stale-resume retry ("No conversation found with session ID")
|
|
17
|
+
consumed the single shared retry slot, so a subsequent auth failure on the
|
|
18
|
+
fresh-session retry could not reach the self-heal branch. Each recovery path
|
|
19
|
+
(stale-resume, poisoned-transcript, auth) now owns an independent one-shot budget.
|
|
20
|
+
|
|
21
|
+
Together these let the runner re-mint the credential and continue the turn instead
|
|
22
|
+
of dead-ending. Surfaced by a prod cloud session (2026-05-21).
|
|
23
|
+
|
|
24
|
+
## 0.11.1
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- ae93713: `webdav` and `sharepoint` connectors now `chmod 0o770` on every directory
|
|
29
|
+
they `mkdir` (mount target, vfs cache, cache root) via a new local
|
|
30
|
+
`ensureDirMode()` helper. `RcloneProcessManager.spawn()` does the same on
|
|
31
|
+
the mountPoint and cacheDir it creates.
|
|
32
|
+
|
|
33
|
+
`mkdirSync(mode:)` is masked by the process umask — default 022 yields
|
|
34
|
+
mode 0750 and strips the group-write bit `fusermount3` requires on the
|
|
35
|
+
mountpoint and rclone needs on the vfs cache. Explicit `chmod` is
|
|
36
|
+
umask-immune. EPERM on chmod is swallowed: a foreign-uid pre-create is
|
|
37
|
+
recovered by the platform's agent container entrypoint (see
|
|
38
|
+
skaile-ai/platform#139), so the runner staying quiet here is intentional
|
|
39
|
+
defence in depth rather than a swallowed failure.
|
|
40
|
+
|
|
41
|
+
Fixes the production symptom where a Nextcloud-backed session failed
|
|
42
|
+
after a platform restart with `fusermount3: user has no write access to
|
|
43
|
+
mountpoint /skaile/.mounts/workspace` and
|
|
44
|
+
`mkdir /var/cache/skaile/.../vfs/skaile-workspace: permission denied`.
|
|
45
|
+
|
|
3
46
|
## 0.11.0
|
|
4
47
|
|
|
5
48
|
### Minor 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-DDVKNST3.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
|
-
import {
|
|
1
|
+
import { AuthError, classifyClaudeSdkError } from '../../chunk-DQWREFRQ.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-4ACWI5YT.js';
|
|
5
5
|
import '../../chunk-24UIWON4.js';
|
|
6
6
|
import '../../chunk-NSBPE2FW.js';
|
|
7
7
|
import { spawnSync } from 'child_process';
|
|
@@ -215,6 +215,9 @@ if (typeof globalThis.require === "undefined") {
|
|
|
215
215
|
} catch {
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
|
+
function freshRetryBudget() {
|
|
219
|
+
return { staleResume: false, poison: false, auth: false };
|
|
220
|
+
}
|
|
218
221
|
var ClaudeSdkDriver = class extends AgentDriver {
|
|
219
222
|
driverInfo = {
|
|
220
223
|
id: "claude-sdk",
|
|
@@ -238,16 +241,15 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
238
241
|
/** Guards against duplicate agent_end emissions per turn. */
|
|
239
242
|
turnCompleted = false;
|
|
240
243
|
/**
|
|
241
|
-
* Mirror of the
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
* `onAuthError` self-heal branch.
|
|
244
|
+
* Mirror of the in-flight {@link prompt} call's auth retry budget: `false`
|
|
245
|
+
* while the `onAuthError` self-heal is still available, `true` once it has
|
|
246
|
+
* been spent. Read by {@link failTurn} to decide whether to defer the
|
|
247
|
+
* `agent-event: error` emission for a self-healable auth error.
|
|
246
248
|
*
|
|
247
249
|
* Set unconditionally at the top of every {@link prompt} invocation; never
|
|
248
250
|
* reset elsewhere — the next call's set is the only legitimate transition.
|
|
249
251
|
*/
|
|
250
|
-
|
|
252
|
+
authSelfHealUsed = false;
|
|
251
253
|
/** Tracks whether a session has been started (for continue: true). */
|
|
252
254
|
hasSession = false;
|
|
253
255
|
/** Session ID from the SDK — used for streamInput messages. */
|
|
@@ -323,11 +325,12 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
323
325
|
* "No conversation found with session ID …" — a recoverable stale-resume error that
|
|
324
326
|
* occurs after a container crash that prevented the SDK from flushing its session file.
|
|
325
327
|
*/
|
|
326
|
-
async prompt(message,
|
|
327
|
-
this.
|
|
328
|
+
async prompt(message, _budget = freshRetryBudget()) {
|
|
329
|
+
this.authSelfHealUsed = _budget.auth;
|
|
328
330
|
if (!this.sdk) await this.start();
|
|
329
331
|
let retrying = false;
|
|
330
|
-
|
|
332
|
+
const isFirstAttempt = !_budget.staleResume && !_budget.poison && !_budget.auth;
|
|
333
|
+
if (isFirstAttempt) this._lastTokens = null;
|
|
331
334
|
this.running = true;
|
|
332
335
|
this.prevText = "";
|
|
333
336
|
this.turnCompleted = false;
|
|
@@ -352,7 +355,7 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
352
355
|
await turnPromise;
|
|
353
356
|
} catch (err) {
|
|
354
357
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
355
|
-
const isStaleResume =
|
|
358
|
+
const isStaleResume = !_budget.staleResume && /No conversation found with session ID/i.test(errMsg);
|
|
356
359
|
if (isStaleResume) {
|
|
357
360
|
const staleId = this.config.resumeSessionId || this.sessionId || "unknown";
|
|
358
361
|
this.log.warn("stale Claude Code session, retrying with a fresh session", { staleId });
|
|
@@ -374,9 +377,9 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
374
377
|
this.turnReject = null;
|
|
375
378
|
this.running = false;
|
|
376
379
|
retrying = true;
|
|
377
|
-
return this.prompt(message,
|
|
380
|
+
return this.prompt(message, { ..._budget, staleResume: true });
|
|
378
381
|
}
|
|
379
|
-
const isPoisonedHistory =
|
|
382
|
+
const isPoisonedHistory = !_budget.poison && /invalid_request_error/i.test(errMsg) && /media[_ ]?type|could not process image|image exceeds|cache_control/i.test(errMsg);
|
|
380
383
|
const poisonSessionId = this.config.resumeSessionId || this.sessionId;
|
|
381
384
|
if (isPoisonedHistory && poisonSessionId) {
|
|
382
385
|
const scrub = scrubPoisonedTranscript({
|
|
@@ -416,14 +419,14 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
416
419
|
this.turnReject = null;
|
|
417
420
|
this.running = false;
|
|
418
421
|
retrying = true;
|
|
419
|
-
return this.prompt(message,
|
|
422
|
+
return this.prompt(message, { ..._budget, poison: true });
|
|
420
423
|
}
|
|
421
424
|
this.log.warn("poisoned-transcript error but scrub found nothing to repair", {
|
|
422
425
|
sessionId: poisonSessionId,
|
|
423
426
|
filePath: scrub.filePath
|
|
424
427
|
});
|
|
425
428
|
}
|
|
426
|
-
const isAuthError = err instanceof AuthError &&
|
|
429
|
+
const isAuthError = err instanceof AuthError && !_budget.auth;
|
|
427
430
|
if (isAuthError && this.config.onAuthError) {
|
|
428
431
|
this.log.info("auth error caught; invoking onAuthError refresh callback");
|
|
429
432
|
let refreshed = false;
|
|
@@ -449,7 +452,7 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
449
452
|
this.turnReject = null;
|
|
450
453
|
this.running = false;
|
|
451
454
|
retrying = true;
|
|
452
|
-
return this.prompt(message,
|
|
455
|
+
return this.prompt(message, { ..._budget, auth: true });
|
|
453
456
|
}
|
|
454
457
|
try {
|
|
455
458
|
this.emit("agent-event", {
|
|
@@ -785,16 +788,16 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
785
788
|
* caller transitions even if the listener chain misbehaves; the emit is
|
|
786
789
|
* wrapped in try/catch so a listener failure cannot leak out.
|
|
787
790
|
*
|
|
788
|
-
* Self-heal deferral: when the failure is an {@link AuthError}
|
|
789
|
-
*
|
|
790
|
-
* `onAuthError` callback, the downstream `agent-event: error`
|
|
791
|
-
* is deferred. The rejected turn promise still travels to
|
|
792
|
-
* catch block where the self-heal runs; if the retry
|
|
793
|
-
* never sees a 401, if the retry fails the second
|
|
794
|
-
* with `
|
|
795
|
-
* the historical "401 flashes in the UI even though
|
|
796
|
-
* misbehaviour where the bridge emitted the error event
|
|
797
|
-
* retry decision was known.
|
|
791
|
+
* Self-heal deferral: when the failure is an {@link AuthError} and the auth
|
|
792
|
+
* self-heal budget is still available (`!authSelfHealUsed`) AND the caller
|
|
793
|
+
* wired an `onAuthError` callback, the downstream `agent-event: error`
|
|
794
|
+
* emission is deferred. The rejected turn promise still travels to
|
|
795
|
+
* {@link prompt}'s catch block where the self-heal runs; if the retry
|
|
796
|
+
* succeeds the user never sees a 401, if the retry fails the second
|
|
797
|
+
* `failTurn` call (now with `authSelfHealUsed === true`) emits the error
|
|
798
|
+
* normally. This stops the historical "401 flashes in the UI even though
|
|
799
|
+
* self-heal worked" misbehaviour where the bridge emitted the error event
|
|
800
|
+
* before the retry decision was known.
|
|
798
801
|
*
|
|
799
802
|
* Spec: `_devlog/specs/2026-05-07-unified-credential-mediation.md`
|
|
800
803
|
* § "Runner-side handling on 401" (the AI 401 mediation path that
|
|
@@ -807,7 +810,7 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
807
810
|
this.turnReject = null;
|
|
808
811
|
}
|
|
809
812
|
this.turnCompleted = true;
|
|
810
|
-
const willSelfHeal = err instanceof AuthError && this.
|
|
813
|
+
const willSelfHeal = err instanceof AuthError && !this.authSelfHealUsed && this.config.onAuthError != null;
|
|
811
814
|
if (willSelfHeal) {
|
|
812
815
|
this.log.info("deferring auth-error event; self-heal will attempt refresh");
|
|
813
816
|
return;
|