@nyte-ai/core 0.0.19 → 0.0.21
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/dist/chunks/{compose-54svedb8.js → compose-0m65m83c.js} +7 -7
- package/dist/chunks/{compose-hf6xkwdw.js → compose-12jnd50a.js} +6 -6
- package/dist/chunks/{compose-6m60v1pk.js → compose-1knxqqm1.js} +3 -3
- package/dist/chunks/{compose-m6nsbnkk.js → compose-1r0wr5dc.js} +5 -5
- package/dist/chunks/{compose-57j0pme0.js → compose-2rha31fc.js} +3 -3
- package/dist/chunks/{compose-qknd62yj.js → compose-4ppmas7g.js} +2 -2
- package/dist/chunks/{compose-jrqn6xhy.js → compose-753gc057.js} +5 -5
- package/dist/chunks/{compose-xaegezm3.js → compose-8mkfr84d.js} +17 -18
- package/dist/chunks/{compose-h3pch7ch.js → compose-8pp3vtv0.js} +2 -2
- package/dist/chunks/{compose-m1ecjzm2.js → compose-9hy3p236.js} +7 -7
- package/dist/chunks/{compose-seyhq3fb.js → compose-a8ddt55n.js} +6 -6
- package/dist/chunks/{compose-rd5e5nxg.js → compose-ad80nkkn.js} +1 -1
- package/dist/chunks/{compose-r1pxdxbw.js → compose-ae5t6v5b.js} +2 -2
- package/dist/chunks/{compose-q1rrtq3a.js → compose-b2bf1jvy.js} +120 -39
- package/dist/chunks/{compose-pnsvwd3m.js → compose-bbhk8vnr.js} +1 -1
- package/dist/chunks/{compose-eemt6sea.js → compose-byse0eqj.js} +3 -3
- package/dist/chunks/{compose-ks2rdteq.js → compose-bz70g01d.js} +2 -2
- package/dist/chunks/{compose-0827b2k4.js → compose-c9wxgbjp.js} +1 -1
- package/dist/chunks/{compose-z6hbq6y0.js → compose-cdj05t7x.js} +4 -4
- package/dist/chunks/{compose-tb5ywdfk.js → compose-d1m94kzq.js} +13 -8
- package/dist/chunks/{compose-c2rnebv0.js → compose-d95fwwvw.js} +1 -1
- package/dist/chunks/{compose-gxvetm0j.js → compose-e2fyz3xc.js} +3 -3
- package/dist/chunks/{compose-s5522cth.js → compose-e9f6nrwp.js} +12 -12
- package/dist/chunks/{compose-prchdrqk.js → compose-fnncnk81.js} +3 -3
- package/dist/chunks/{compose-bjx8s01m.js → compose-fqsqjbrf.js} +1 -1
- package/dist/chunks/{compose-v9yf9mrh.js → compose-gj2ypr7q.js} +2 -2
- package/dist/chunks/{compose-zch4zapc.js → compose-hfrjm4a1.js} +1 -1
- package/dist/chunks/{compose-w2ac7xjx.js → compose-hfsn6pnt.js} +1 -1
- package/dist/chunks/{compose-4770pb1s.js → compose-jd4bsnqh.js} +3 -3
- package/dist/chunks/{compose-31zqcfte.js → compose-jeemzja1.js} +2 -2
- package/dist/chunks/{compose-mamr4qwf.js → compose-jmmyw9hd.js} +2 -2
- package/dist/chunks/{compose-jhs91x01.js → compose-jwy1gba9.js} +1 -1
- package/dist/chunks/{compose-se7wwcq1.js → compose-m01wspwf.js} +1 -1
- package/dist/chunks/{compose-n93897b0.js → compose-m91ffwss.js} +1 -1
- package/dist/chunks/{compose-47f47sgy.js → compose-matk94se.js} +4 -4
- package/dist/chunks/{compose-hms4hf6p.js → compose-mcz93154.js} +63 -47
- package/dist/chunks/{compose-exfx5b4d.js → compose-mdwr0er9.js} +2 -2
- package/dist/chunks/{compose-y9c31w4e.js → compose-nkxwrphm.js} +30 -13
- package/dist/chunks/{compose-5cmp34zp.js → compose-pkprmn5b.js} +11 -11
- package/dist/chunks/{compose-5489evqa.js → compose-q2zxbg41.js} +29 -29
- package/dist/chunks/{compose-jehg40ce.js → compose-qxfq6dn9.js} +5 -5
- package/dist/chunks/{compose-azq5jxr2.js → compose-r8tz1xfj.js} +4 -4
- package/dist/chunks/{compose-ccrh32hd.js → compose-sprfv38c.js} +2 -2
- package/dist/chunks/{compose-pe0cgbv0.js → compose-t9fcqtby.js} +4 -4
- package/dist/chunks/{compose-g2a1f1yx.js → compose-tppkp915.js} +2 -2
- package/dist/chunks/{compose-gvrqkyn4.js → compose-w6zb11k1.js} +3 -3
- package/dist/chunks/{compose-1g03zpvn.js → compose-wvzzf8n2.js} +5 -5
- package/dist/chunks/compose-yfcb6w2h.js +58 -0
- package/dist/chunks/{compose-0rx7ygxq.js → compose-zaanjpb7.js} +1 -1
- package/dist/chunks/{compose-q1d09qpr.js → compose-zjj072km.js} +6 -6
- package/dist/src/agent/compaction.js +23 -23
- package/dist/src/agent/request.js +14 -14
- package/dist/src/agent/tool-runner.d.ts +2 -0
- package/dist/src/agent/tool-runner.js +18 -15
- package/dist/src/agent/transcript.js +20 -20
- package/dist/src/agent/turn.js +28 -27
- package/dist/src/api/connection.js +41 -40
- package/dist/src/api/head.js +27 -26
- package/dist/src/api/part.js +8 -8
- package/dist/src/api/server.js +30 -29
- package/dist/src/api/session.js +33 -32
- package/dist/src/builtins/delegation.js +2 -2
- package/dist/src/builtins/environment.js +1 -2
- package/dist/src/compose.js +50 -49
- package/dist/src/contract/parts.d.ts +4 -0
- package/dist/src/contract/parts.js +1 -1
- package/dist/src/contract/tools.d.ts +10 -1
- package/dist/src/contract/workspace.d.ts +2 -0
- package/dist/src/drive/execution.js +28 -27
- package/dist/src/engine/admission.js +10 -10
- package/dist/src/engine/batches.js +8 -8
- package/dist/src/engine/branch-summary.js +7 -7
- package/dist/src/engine/durable.js +6 -6
- package/dist/src/engine/fence.js +6 -6
- package/dist/src/engine/jobs.d.ts +1 -0
- package/dist/src/engine/jobs.js +15 -13
- package/dist/src/engine/move.js +9 -9
- package/dist/src/engine/part-definitions.js +2 -2
- package/dist/src/engine/principals.js +5 -5
- package/dist/src/engine/receipts.js +7 -7
- package/dist/src/engine/runs.js +11 -11
- package/dist/src/engine/start.js +22 -21
- package/dist/src/engine/waits.js +5 -5
- package/dist/src/env/browser.js +13 -13
- package/dist/src/env/environment.js +15 -15
- package/dist/src/env/mcp.js +17 -17
- package/dist/src/env/session-changes.d.ts +10 -0
- package/dist/src/env/session-changes.js +15 -0
- package/dist/src/env/trust.js +16 -16
- package/dist/src/env/workspaces.js +20 -19
- package/dist/src/env/worktrees.js +21 -20
- package/dist/src/extend/activation.js +21 -20
- package/dist/src/extend/hooks.js +8 -8
- package/dist/src/extend/models.js +13 -13
- package/dist/src/extend/plugin-api.js +5 -5
- package/dist/src/extend/plugin-runtime.js +27 -26
- package/dist/src/extend/registry.js +12 -12
- package/dist/src/extend/resources.js +17 -17
- package/dist/src/extend/settings.js +23 -22
- package/dist/src/extend/workspace-commands.js +28 -27
- package/dist/src/fold/commit.js +4 -4
- package/dist/src/fold/seen.js +5 -5
- package/dist/src/fold/view.js +6 -6
- package/dist/src/fold/watch.js +3 -3
- package/dist/src/harness.d.ts +1 -0
- package/dist/src/harness.js +51 -50
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/server.js +49 -48
- package/dist/src/store/parts.js +2 -2
- package/dist/src/testing.js +52 -51
- package/package.json +3 -3
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readWorkspace2
|
|
3
|
-
} from "./compose-
|
|
3
|
+
} from "./compose-4ppmas7g.js";
|
|
4
4
|
import {
|
|
5
5
|
scanWorkspaceResources2
|
|
6
|
-
} from "./compose-
|
|
6
|
+
} from "./compose-jmmyw9hd.js";
|
|
7
7
|
import {
|
|
8
8
|
newChatPlugins2
|
|
9
|
-
} from "./compose-
|
|
9
|
+
} from "./compose-1knxqqm1.js";
|
|
10
10
|
import {
|
|
11
11
|
createHookDispatch2
|
|
12
|
-
} from "./compose-
|
|
12
|
+
} from "./compose-jeemzja1.js";
|
|
13
13
|
import {
|
|
14
14
|
createRegistrySet2,
|
|
15
15
|
skillInfos2,
|
|
16
16
|
commandInfos2,
|
|
17
17
|
invokeCommand2,
|
|
18
18
|
completeCommand2
|
|
19
|
-
} from "./compose-
|
|
19
|
+
} from "./compose-ae5t6v5b.js";
|
|
20
20
|
import {
|
|
21
21
|
settingHandle2
|
|
22
|
-
} from "./compose-
|
|
22
|
+
} from "./compose-753gc057.js";
|
|
23
23
|
import {
|
|
24
24
|
activateApart2
|
|
25
|
-
} from "./compose-
|
|
25
|
+
} from "./compose-9hy3p236.js";
|
|
26
26
|
|
|
27
27
|
// src/extend/workspace-commands.ts
|
|
28
28
|
import { asId, SdkError } from "@nyte-ai/schema";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./compose-bj54tkph.js";
|
|
7
7
|
import {
|
|
8
8
|
compaction2
|
|
9
|
-
} from "./compose-
|
|
9
|
+
} from "./compose-fqsqjbrf.js";
|
|
10
10
|
import {
|
|
11
11
|
decodeRunRecord2,
|
|
12
12
|
decodePartRecord2
|
|
@@ -39,19 +39,19 @@ import {
|
|
|
39
39
|
import {
|
|
40
40
|
settling2,
|
|
41
41
|
failedParts2
|
|
42
|
-
} from "./compose-
|
|
42
|
+
} from "./compose-d95fwwvw.js";
|
|
43
43
|
import {
|
|
44
44
|
ZERO_USAGE2
|
|
45
45
|
} from "./compose-84272xbk.js";
|
|
46
46
|
import {
|
|
47
47
|
commit2
|
|
48
|
-
} from "./compose-
|
|
48
|
+
} from "./compose-bbhk8vnr.js";
|
|
49
49
|
import {
|
|
50
50
|
withFold2
|
|
51
51
|
} from "./compose-xhtgytrh.js";
|
|
52
52
|
import {
|
|
53
53
|
modelInfo2
|
|
54
|
-
} from "./compose-
|
|
54
|
+
} from "./compose-mdwr0er9.js";
|
|
55
55
|
import {
|
|
56
56
|
extractUserText2
|
|
57
57
|
} from "./compose-rxsqmcgq.js";
|
|
@@ -60,12 +60,12 @@ import {
|
|
|
60
60
|
requestEvent2,
|
|
61
61
|
rideRef2,
|
|
62
62
|
complete2
|
|
63
|
-
} from "./compose-
|
|
63
|
+
} from "./compose-sprfv38c.js";
|
|
64
64
|
import {
|
|
65
65
|
projectedCommit2,
|
|
66
66
|
requestBody2,
|
|
67
67
|
estimateTranscriptTokens2
|
|
68
|
-
} from "./compose-
|
|
68
|
+
} from "./compose-jd4bsnqh.js";
|
|
69
69
|
|
|
70
70
|
// src/agent/compaction.ts
|
|
71
71
|
import { asId, isJsonObject, SdkError } from "@nyte-ai/schema";
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
UnavailableError2,
|
|
7
7
|
readWorkspace2
|
|
8
|
-
} from "./compose-
|
|
8
|
+
} from "./compose-4ppmas7g.js";
|
|
9
9
|
import {
|
|
10
10
|
projectTrust2
|
|
11
|
-
} from "./compose-
|
|
11
|
+
} from "./compose-8pp3vtv0.js";
|
|
12
12
|
import {
|
|
13
13
|
settle2
|
|
14
|
-
} from "./compose-
|
|
14
|
+
} from "./compose-d1m94kzq.js";
|
|
15
15
|
|
|
16
16
|
// src/extend/activation.ts
|
|
17
17
|
var ACTIVE = { kind: "active" };
|
|
@@ -26,27 +26,27 @@ import {
|
|
|
26
26
|
} from "./compose-vn7b7fdj.js";
|
|
27
27
|
import {
|
|
28
28
|
commit2
|
|
29
|
-
} from "./compose-
|
|
29
|
+
} from "./compose-bbhk8vnr.js";
|
|
30
30
|
import {
|
|
31
31
|
withFold2
|
|
32
32
|
} from "./compose-xhtgytrh.js";
|
|
33
33
|
import {
|
|
34
34
|
send2
|
|
35
|
-
} from "./compose-
|
|
35
|
+
} from "./compose-t9fcqtby.js";
|
|
36
36
|
import {
|
|
37
37
|
move2
|
|
38
|
-
} from "./compose-
|
|
38
|
+
} from "./compose-matk94se.js";
|
|
39
39
|
import {
|
|
40
40
|
watchStore2
|
|
41
41
|
} from "./compose-zfjxkavf.js";
|
|
42
42
|
import {
|
|
43
43
|
configure2
|
|
44
|
-
} from "./compose-
|
|
44
|
+
} from "./compose-753gc057.js";
|
|
45
45
|
import {
|
|
46
46
|
watchHead2,
|
|
47
47
|
viewHead2,
|
|
48
48
|
historyHead2
|
|
49
|
-
} from "./compose-
|
|
49
|
+
} from "./compose-hfsn6pnt.js";
|
|
50
50
|
import {
|
|
51
51
|
extractUserText2
|
|
52
52
|
} from "./compose-rxsqmcgq.js";
|
|
@@ -7,14 +7,14 @@ import {
|
|
|
7
7
|
} from "./compose-vn7b7fdj.js";
|
|
8
8
|
import {
|
|
9
9
|
writeReceipt2
|
|
10
|
-
} from "./compose-
|
|
10
|
+
} from "./compose-bbhk8vnr.js";
|
|
11
11
|
import {
|
|
12
12
|
waitFor2
|
|
13
|
-
} from "./compose-
|
|
13
|
+
} from "./compose-bz70g01d.js";
|
|
14
14
|
import {
|
|
15
15
|
settleReceipt2,
|
|
16
16
|
typedReceipt2
|
|
17
|
-
} from "./compose-
|
|
17
|
+
} from "./compose-fnncnk81.js";
|
|
18
18
|
|
|
19
19
|
// src/engine/batches.ts
|
|
20
20
|
import { asId, SdkError } from "@nyte-ai/schema";
|
|
@@ -10,10 +10,10 @@ import {
|
|
|
10
10
|
} from "./compose-vn7b7fdj.js";
|
|
11
11
|
import {
|
|
12
12
|
applyBatch2
|
|
13
|
-
} from "./compose-
|
|
13
|
+
} from "./compose-2rha31fc.js";
|
|
14
14
|
import {
|
|
15
15
|
wrapBrowser2
|
|
16
|
-
} from "./compose-
|
|
16
|
+
} from "./compose-m01wspwf.js";
|
|
17
17
|
|
|
18
18
|
// src/env/environment.ts
|
|
19
19
|
import { SdkError } from "@nyte-ai/schema";
|
|
@@ -19,17 +19,17 @@ import {
|
|
|
19
19
|
} from "./compose-bj54tkph.js";
|
|
20
20
|
import {
|
|
21
21
|
commit2
|
|
22
|
-
} from "./compose-
|
|
22
|
+
} from "./compose-bbhk8vnr.js";
|
|
23
23
|
import {
|
|
24
24
|
WORKSPACE_TRUST2
|
|
25
|
-
} from "./compose-
|
|
25
|
+
} from "./compose-8pp3vtv0.js";
|
|
26
26
|
import {
|
|
27
27
|
SKILL_PATHS2,
|
|
28
28
|
dropScans2
|
|
29
|
-
} from "./compose-
|
|
29
|
+
} from "./compose-jmmyw9hd.js";
|
|
30
30
|
import {
|
|
31
31
|
trustChanged2
|
|
32
|
-
} from "./compose-
|
|
32
|
+
} from "./compose-d1m94kzq.js";
|
|
33
33
|
import {
|
|
34
34
|
settingInfos2,
|
|
35
35
|
readSettingLayers2,
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
} from "./compose-qwbe95qs.js";
|
|
38
38
|
import {
|
|
39
39
|
publishCatalog2
|
|
40
|
-
} from "./compose-
|
|
40
|
+
} from "./compose-ae5t6v5b.js";
|
|
41
41
|
|
|
42
42
|
// src/extend/settings.ts
|
|
43
43
|
import { isJson, SdkError } from "@nyte-ai/schema";
|
|
@@ -5,6 +5,9 @@ import {
|
|
|
5
5
|
decodeRunRecord2,
|
|
6
6
|
decodeLease2
|
|
7
7
|
} from "./compose-gxjc6vz9.js";
|
|
8
|
+
import {
|
|
9
|
+
dev2
|
|
10
|
+
} from "./compose-n116fnmp.js";
|
|
8
11
|
import {
|
|
9
12
|
objectId2
|
|
10
13
|
} from "./compose-q6c7wswc.js";
|
|
@@ -12,9 +15,6 @@ import {
|
|
|
12
15
|
runRef2,
|
|
13
16
|
leaseRef2
|
|
14
17
|
} from "./compose-cqpjcx2t.js";
|
|
15
|
-
import {
|
|
16
|
-
dev2
|
|
17
|
-
} from "./compose-n116fnmp.js";
|
|
18
18
|
import {
|
|
19
19
|
load2,
|
|
20
20
|
readSession2,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
} from "./compose-vn7b7fdj.js";
|
|
28
28
|
import {
|
|
29
29
|
commit2
|
|
30
|
-
} from "./compose-
|
|
30
|
+
} from "./compose-bbhk8vnr.js";
|
|
31
31
|
import {
|
|
32
32
|
holdLease2
|
|
33
33
|
} from "./compose-vzvm76dn.js";
|
|
@@ -37,39 +37,39 @@ import {
|
|
|
37
37
|
import {
|
|
38
38
|
loadWaits2,
|
|
39
39
|
earliestWake2
|
|
40
|
-
} from "./compose-
|
|
40
|
+
} from "./compose-bz70g01d.js";
|
|
41
41
|
import {
|
|
42
42
|
LEASE_MS2
|
|
43
|
-
} from "./compose-
|
|
43
|
+
} from "./compose-byse0eqj.js";
|
|
44
44
|
import {
|
|
45
45
|
stopRequested2
|
|
46
|
-
} from "./compose-
|
|
46
|
+
} from "./compose-w6zb11k1.js";
|
|
47
47
|
import {
|
|
48
48
|
selectRunStart2,
|
|
49
49
|
landing2
|
|
50
|
-
} from "./compose-
|
|
50
|
+
} from "./compose-t9fcqtby.js";
|
|
51
|
+
import {
|
|
52
|
+
reapJobs2
|
|
53
|
+
} from "./compose-nkxwrphm.js";
|
|
51
54
|
import {
|
|
52
55
|
newRun2,
|
|
53
56
|
begin2,
|
|
54
57
|
endRun2
|
|
55
|
-
} from "./compose-
|
|
58
|
+
} from "./compose-qxfq6dn9.js";
|
|
56
59
|
import {
|
|
57
60
|
executeCall2,
|
|
58
61
|
owedCalls2,
|
|
59
62
|
readToolInput2
|
|
60
|
-
} from "./compose-
|
|
63
|
+
} from "./compose-mcz93154.js";
|
|
61
64
|
import {
|
|
62
65
|
recoverMoves2
|
|
63
|
-
} from "./compose-
|
|
64
|
-
import {
|
|
65
|
-
reapJobs2
|
|
66
|
-
} from "./compose-y9c31w4e.js";
|
|
66
|
+
} from "./compose-matk94se.js";
|
|
67
67
|
import {
|
|
68
68
|
BEAT_MS2
|
|
69
69
|
} from "./compose-gvm49f4b.js";
|
|
70
70
|
import {
|
|
71
71
|
recoverStarts2
|
|
72
|
-
} from "./compose-
|
|
72
|
+
} from "./compose-a8ddt55n.js";
|
|
73
73
|
import {
|
|
74
74
|
crashLooping2,
|
|
75
75
|
parkedFailure2,
|
|
@@ -360,10 +360,9 @@ function driveInProcess2(kernel, coverage) {
|
|
|
360
360
|
clearTimeout(retry);
|
|
361
361
|
retries.clear();
|
|
362
362
|
const state = kernel.executionState;
|
|
363
|
-
|
|
364
|
-
state.closing = new AbortController;
|
|
365
|
-
aborted.abort();
|
|
363
|
+
state.closing.abort();
|
|
366
364
|
await Promise.all(inflight.values());
|
|
365
|
+
state.closing = new AbortController;
|
|
367
366
|
await covering.then((owned) => owned.close(), () => {
|
|
368
367
|
return;
|
|
369
368
|
});
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
} from "./compose-vn7b7fdj.js";
|
|
14
14
|
import {
|
|
15
15
|
commit2
|
|
16
|
-
} from "./compose-
|
|
16
|
+
} from "./compose-bbhk8vnr.js";
|
|
17
17
|
import {
|
|
18
18
|
workspaceRecords2
|
|
19
|
-
} from "./compose-
|
|
19
|
+
} from "./compose-4ppmas7g.js";
|
|
20
20
|
|
|
21
21
|
// src/env/trust.ts
|
|
22
22
|
import { Value } from "typebox/value";
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./compose-bj54tkph.js";
|
|
8
8
|
import {
|
|
9
9
|
RESERVED_PART_KINDS2
|
|
10
|
-
} from "./compose-
|
|
10
|
+
} from "./compose-zaanjpb7.js";
|
|
11
11
|
import {
|
|
12
12
|
dev2
|
|
13
13
|
} from "./compose-n116fnmp.js";
|
|
@@ -20,27 +20,27 @@ import {
|
|
|
20
20
|
} from "./compose-ry29956g.js";
|
|
21
21
|
import {
|
|
22
22
|
scanResources2
|
|
23
|
-
} from "./compose-
|
|
23
|
+
} from "./compose-jmmyw9hd.js";
|
|
24
24
|
import {
|
|
25
25
|
activateSession2
|
|
26
|
-
} from "./compose-
|
|
26
|
+
} from "./compose-1knxqqm1.js";
|
|
27
27
|
import {
|
|
28
28
|
corePluginApi2,
|
|
29
29
|
build2
|
|
30
|
-
} from "./compose-
|
|
30
|
+
} from "./compose-c9wxgbjp.js";
|
|
31
31
|
import {
|
|
32
32
|
createHookDispatch2,
|
|
33
33
|
namesCoreHook2
|
|
34
|
-
} from "./compose-
|
|
34
|
+
} from "./compose-jeemzja1.js";
|
|
35
35
|
import {
|
|
36
36
|
createRegistrySet2,
|
|
37
37
|
publishCatalog2,
|
|
38
38
|
bumpGeneration2
|
|
39
|
-
} from "./compose-
|
|
39
|
+
} from "./compose-ae5t6v5b.js";
|
|
40
40
|
import {
|
|
41
41
|
settingHandle2,
|
|
42
42
|
publishSettings2
|
|
43
|
-
} from "./compose-
|
|
43
|
+
} from "./compose-753gc057.js";
|
|
44
44
|
|
|
45
45
|
// src/extend/plugin-runtime.ts
|
|
46
46
|
import { SdkError } from "@nyte-ai/schema";
|
|
@@ -20,25 +20,25 @@ import {
|
|
|
20
20
|
} from "./compose-vn7b7fdj.js";
|
|
21
21
|
import {
|
|
22
22
|
releaseParts2
|
|
23
|
-
} from "./compose-
|
|
23
|
+
} from "./compose-d95fwwvw.js";
|
|
24
24
|
import {
|
|
25
25
|
commit2
|
|
26
|
-
} from "./compose-
|
|
26
|
+
} from "./compose-bbhk8vnr.js";
|
|
27
27
|
import {
|
|
28
28
|
withFold2
|
|
29
29
|
} from "./compose-xhtgytrh.js";
|
|
30
30
|
import {
|
|
31
31
|
listSessionWaits2
|
|
32
|
-
} from "./compose-
|
|
32
|
+
} from "./compose-bz70g01d.js";
|
|
33
33
|
import {
|
|
34
34
|
readmitDeciding2
|
|
35
|
-
} from "./compose-
|
|
35
|
+
} from "./compose-t9fcqtby.js";
|
|
36
36
|
import {
|
|
37
37
|
dropScans2
|
|
38
|
-
} from "./compose-
|
|
38
|
+
} from "./compose-jmmyw9hd.js";
|
|
39
39
|
import {
|
|
40
40
|
releaseWorktree2
|
|
41
|
-
} from "./compose-
|
|
41
|
+
} from "./compose-e2fyz3xc.js";
|
|
42
42
|
|
|
43
43
|
// src/engine/start.ts
|
|
44
44
|
import { SdkError } from "@nyte-ai/schema";
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
} from "./compose-bj54tkph.js";
|
|
10
10
|
import {
|
|
11
11
|
sendNow2
|
|
12
|
-
} from "./compose-
|
|
12
|
+
} from "./compose-t9fcqtby.js";
|
|
13
13
|
import {
|
|
14
14
|
callable2
|
|
15
15
|
} from "./compose-ry29956g.js";
|
|
16
16
|
import {
|
|
17
17
|
stepPluginApi2
|
|
18
|
-
} from "./compose-
|
|
18
|
+
} from "./compose-c9wxgbjp.js";
|
|
19
19
|
import {
|
|
20
20
|
settingInfos2
|
|
21
21
|
} from "./compose-qwbe95qs.js";
|
|
@@ -4,10 +4,6 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
lineDiff2
|
|
6
6
|
} from "./compose-j50h13pg.js";
|
|
7
|
-
import {
|
|
8
|
-
followedTrace2,
|
|
9
|
-
traceparent2
|
|
10
|
-
} from "./compose-sd0stm97.js";
|
|
11
7
|
|
|
12
8
|
// src/builtins/environment.ts
|
|
13
9
|
import { PatchEntrySchema, standard, writePatch } from "@nyte-ai/schema";
|
|
@@ -17,6 +13,7 @@ var READ_CHARS = 50 * 1024;
|
|
|
17
13
|
var LIST_LIMIT = 500;
|
|
18
14
|
var SHELL_BYTES = 32 * 1024;
|
|
19
15
|
var PROGRESS_BYTES = 4 * 1024;
|
|
16
|
+
var FIRST_OUTPUT_MS = 1000;
|
|
20
17
|
var MIME_TYPES = new Map([
|
|
21
18
|
["png", "image/png"],
|
|
22
19
|
["jpg", "image/jpeg"],
|
|
@@ -49,7 +46,16 @@ var listParameters = standard(Type.Object({
|
|
|
49
46
|
}));
|
|
50
47
|
var bashParameters = standard(Type.Object({
|
|
51
48
|
command: Type.String({ description: "The shell command to run." }),
|
|
52
|
-
description: Type.Optional(Type.String({ description: "What the command does, in a few words, for the user." }))
|
|
49
|
+
description: Type.Optional(Type.String({ description: "What the command does, in a few words, for the user." })),
|
|
50
|
+
background: Type.Optional(Type.Boolean({
|
|
51
|
+
description: "Start the command and return a job id with its first output instead of waiting for it to exit. Use for servers, watchers, and other long-lived commands, without a trailing &. The command keeps running across turns, and you are told when it exits; read its output or stop it with the job tool. Do not use it to speed up ordinary commands."
|
|
52
|
+
}))
|
|
53
|
+
}));
|
|
54
|
+
var jobParameters = standard(Type.Object({
|
|
55
|
+
id: Type.String({ description: "The job id a background bash call returned." }),
|
|
56
|
+
action: Type.Enum(["output", "stop"], {
|
|
57
|
+
description: "output reads the job's state and latest output; stop ends it."
|
|
58
|
+
})
|
|
53
59
|
}));
|
|
54
60
|
var read = {
|
|
55
61
|
name: "read",
|
|
@@ -177,44 +183,119 @@ var bash = {
|
|
|
177
183
|
class: (args) => args.description === undefined ? { kind: "shell", command: args.command } : { kind: "shell", command: args.command, description: args.description },
|
|
178
184
|
replay: "never",
|
|
179
185
|
async execute(args, invocation) {
|
|
180
|
-
const {
|
|
181
|
-
const
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
signal: invocation.signal,
|
|
185
|
-
env: trace === null ? undefined : { TRACEPARENT: traceparent2(trace) }
|
|
186
|
+
const { foreground, signal } = invocation;
|
|
187
|
+
const running = await foreground.start({
|
|
188
|
+
command: args.command,
|
|
189
|
+
title: args.description ?? args.command
|
|
186
190
|
});
|
|
187
|
-
const
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
while (kept - (chunks[0]?.byteLength ?? 0) >= SHELL_BYTES && chunks.length > 1) {
|
|
201
|
-
const first = chunks.shift();
|
|
202
|
-
kept -= first?.byteLength ?? 0;
|
|
203
|
-
dropped += first?.byteLength ?? 0;
|
|
191
|
+
const stop = () => void running.stop().catch(() => {
|
|
192
|
+
return;
|
|
193
|
+
});
|
|
194
|
+
signal.addEventListener("abort", stop, { once: true });
|
|
195
|
+
if (signal.aborted)
|
|
196
|
+
stop();
|
|
197
|
+
const shell = createShellOutput((tail) => invocation.progress({ text: tail }));
|
|
198
|
+
const frames = running.output()[Symbol.asyncIterator]();
|
|
199
|
+
try {
|
|
200
|
+
const exited = await shell.read(frames, args.background === true ? AbortSignal.any([foreground.released, AbortSignal.timeout(FIRST_OUTPUT_MS)]) : foreground.released);
|
|
201
|
+
if (!exited && (foreground.released.aborted || foreground.release())) {
|
|
202
|
+
await frames.return?.();
|
|
203
|
+
return text(shell.render(`[running in the background as job ${running.id}: you are told when it exits; the job tool reads its output or stops it]`));
|
|
204
204
|
}
|
|
205
|
-
|
|
205
|
+
if (!exited)
|
|
206
|
+
await shell.read(frames, new AbortController().signal);
|
|
207
|
+
const end = await running.settled();
|
|
208
|
+
const exit = end.kind === "exited" ? end.code ?? shell.code() : shell.code();
|
|
209
|
+
return text(shell.render(end.kind === "lost" ? "[the process was lost]" : `[exit code ${exit ?? "none"}${end.reason === "exited" ? "" : `, ${end.reason}`}]`));
|
|
210
|
+
} catch (error) {
|
|
211
|
+
stop();
|
|
212
|
+
throw error;
|
|
213
|
+
} finally {
|
|
214
|
+
signal.removeEventListener("abort", stop);
|
|
206
215
|
}
|
|
207
|
-
const end = await job.settled();
|
|
208
|
-
const exit = end.kind === "exited" ? end.code ?? code : code;
|
|
209
|
-
const joined = joinBytes(chunks);
|
|
210
|
-
const cut = Math.max(0, joined.byteLength - SHELL_BYTES);
|
|
211
|
-
const output = new TextDecoder().decode(joined.subarray(cut)).trimEnd();
|
|
212
|
-
const truncated = dropped + cut > 0 ? [`[truncated: the first ${dropped + cut} bytes of output are not shown]`] : [];
|
|
213
|
-
const status = end.kind === "lost" ? "[the process was lost]" : `[exit code ${exit ?? "none"}${end.reason === "exited" ? "" : `, ${end.reason}`}]`;
|
|
214
|
-
return text([...truncated, ...output === "" ? [] : [output], status].join(`
|
|
215
|
-
`));
|
|
216
216
|
}
|
|
217
217
|
};
|
|
218
|
+
var job = {
|
|
219
|
+
name: "job",
|
|
220
|
+
description: "Read the state and latest output of a job a background bash call started, or stop it.",
|
|
221
|
+
parameters: jobParameters,
|
|
222
|
+
class: (args) => ({
|
|
223
|
+
kind: "custom",
|
|
224
|
+
label: args.action === "stop" ? `Stopping job ${args.id}` : `Reading job ${args.id}`
|
|
225
|
+
}),
|
|
226
|
+
effects: "none",
|
|
227
|
+
replay: "safe",
|
|
228
|
+
async execute(args, invocation) {
|
|
229
|
+
const { jobs } = invocation.workspace;
|
|
230
|
+
const find = async () => (await jobs.list()).find((view) => view.id === args.id && view.session === invocation.session.id);
|
|
231
|
+
const found = await find();
|
|
232
|
+
if (found === undefined)
|
|
233
|
+
return text(`This chat has no job ${args.id}.`);
|
|
234
|
+
if (args.action === "stop")
|
|
235
|
+
await invocation.workspace.job(found.id).stop();
|
|
236
|
+
const view = args.action === "stop" ? await find() ?? found : found;
|
|
237
|
+
const tail = view.tail.trimEnd();
|
|
238
|
+
const state = describeJobState(view.state);
|
|
239
|
+
return text(tail === "" ? `Job ${view.id} ${state}.` : `Job ${view.id} ${state}:
|
|
240
|
+
${tail}`);
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
function describeJobState(state) {
|
|
244
|
+
if (state.kind === "running")
|
|
245
|
+
return "is running";
|
|
246
|
+
if (state.kind === "lost")
|
|
247
|
+
return "was lost with the host";
|
|
248
|
+
return state.reason === "exited" ? `exited with code ${state.code ?? "none"}` : `ended (${state.reason}) with code ${state.code ?? "none"}`;
|
|
249
|
+
}
|
|
250
|
+
function createShellOutput(progress) {
|
|
251
|
+
const chunks = [];
|
|
252
|
+
let kept = 0;
|
|
253
|
+
let dropped = 0;
|
|
254
|
+
let code = null;
|
|
255
|
+
let pending = null;
|
|
256
|
+
return {
|
|
257
|
+
async read(frames, until) {
|
|
258
|
+
const detached = new Promise((resolve) => {
|
|
259
|
+
if (until.aborted)
|
|
260
|
+
resolve(null);
|
|
261
|
+
until.addEventListener("abort", () => resolve(null), { once: true });
|
|
262
|
+
});
|
|
263
|
+
for (;; ) {
|
|
264
|
+
pending ??= frames.next();
|
|
265
|
+
const next = await Promise.race([pending, detached]);
|
|
266
|
+
if (next === null)
|
|
267
|
+
return false;
|
|
268
|
+
pending = null;
|
|
269
|
+
if (next.done === true)
|
|
270
|
+
return true;
|
|
271
|
+
const frame = next.value;
|
|
272
|
+
if (frame.kind === "exit") {
|
|
273
|
+
code = frame.code;
|
|
274
|
+
return true;
|
|
275
|
+
}
|
|
276
|
+
if (frame.kind === "gap")
|
|
277
|
+
continue;
|
|
278
|
+
chunks.push(frame.data);
|
|
279
|
+
kept += frame.data.byteLength;
|
|
280
|
+
while (kept - (chunks[0]?.byteLength ?? 0) >= SHELL_BYTES && chunks.length > 1) {
|
|
281
|
+
const first = chunks.shift();
|
|
282
|
+
kept -= first?.byteLength ?? 0;
|
|
283
|
+
dropped += first?.byteLength ?? 0;
|
|
284
|
+
}
|
|
285
|
+
progress(decodeOutputTail(chunks, PROGRESS_BYTES));
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
code: () => code,
|
|
289
|
+
render(status) {
|
|
290
|
+
const joined = joinBytes(chunks);
|
|
291
|
+
const cut = Math.max(0, joined.byteLength - SHELL_BYTES);
|
|
292
|
+
const output = new TextDecoder().decode(joined.subarray(cut)).trimEnd();
|
|
293
|
+
const truncated = dropped + cut > 0 ? [`[truncated: the first ${dropped + cut} bytes of output are not shown]`] : [];
|
|
294
|
+
return [...truncated, ...output === "" ? [] : [output], status].join(`
|
|
295
|
+
`);
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
}
|
|
218
299
|
function joinBytes(chunks) {
|
|
219
300
|
const joined = new Uint8Array(chunks.reduce((size, chunk) => size + chunk.byteLength, 0));
|
|
220
301
|
let offset = 0;
|
|
@@ -241,7 +322,7 @@ function decodeOutputTail(chunks, limit) {
|
|
|
241
322
|
}
|
|
242
323
|
var environmentPlugin2 = {
|
|
243
324
|
id: "environment",
|
|
244
|
-
contribute: { tools: [read, write, edit, list, bash] },
|
|
325
|
+
contribute: { tools: [read, write, edit, list, bash, job] },
|
|
245
326
|
activate(api) {
|
|
246
327
|
const cwd = tryReadCwd(() => api.env);
|
|
247
328
|
if (cwd !== null)
|
|
@@ -14,14 +14,14 @@ import {
|
|
|
14
14
|
} from "./compose-vn7b7fdj.js";
|
|
15
15
|
import {
|
|
16
16
|
storedAnswer2
|
|
17
|
-
} from "./compose-
|
|
17
|
+
} from "./compose-d95fwwvw.js";
|
|
18
18
|
import {
|
|
19
19
|
waitIndex2,
|
|
20
20
|
wokenIndex2
|
|
21
21
|
} from "./compose-0wq555bd.js";
|
|
22
22
|
import {
|
|
23
23
|
changeCall2
|
|
24
|
-
} from "./compose-
|
|
24
|
+
} from "./compose-bbhk8vnr.js";
|
|
25
25
|
import {
|
|
26
26
|
holdLease2
|
|
27
27
|
} from "./compose-vzvm76dn.js";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
readParkedWait2,
|
|
31
31
|
waitingOn2,
|
|
32
32
|
lapsed2
|
|
33
|
-
} from "./compose-
|
|
33
|
+
} from "./compose-bz70g01d.js";
|
|
34
34
|
|
|
35
35
|
// src/engine/durable.ts
|
|
36
36
|
import { isJson, isJsonObject, SdkError } from "@nyte-ai/schema";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
} from "./compose-vn7b7fdj.js";
|
|
21
21
|
import {
|
|
22
22
|
storedAnswer2
|
|
23
|
-
} from "./compose-
|
|
23
|
+
} from "./compose-d95fwwvw.js";
|
|
24
24
|
import {
|
|
25
25
|
WAITS2,
|
|
26
26
|
TIME2,
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
import {
|
|
36
36
|
commit2,
|
|
37
37
|
changeCall2
|
|
38
|
-
} from "./compose-
|
|
38
|
+
} from "./compose-bbhk8vnr.js";
|
|
39
39
|
import {
|
|
40
40
|
readRunEnd2
|
|
41
41
|
} from "./compose-xhtgytrh.js";
|