@nyte-ai/core 0.0.24 → 0.0.25-beta.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/dist/chunks/{compose-nj4nj5n9.js → compose-0f9x3cjd.js} +1 -1
- package/dist/chunks/{compose-yfcb6w2h.js → compose-0zrwy7nk.js} +1 -1
- package/dist/chunks/{compose-xhtgytrh.js → compose-122g5jvb.js} +1 -1
- package/dist/chunks/{compose-nkxwrphm.js → compose-17xxey5y.js} +6 -6
- package/dist/chunks/compose-1hgkp0q6.js +154 -0
- package/dist/chunks/{compose-ad80nkkn.js → compose-1kvvrw50.js} +6 -6
- package/dist/chunks/{compose-jeemzja1.js → compose-1nqjy2z5.js} +3 -3
- package/dist/chunks/compose-2e84znn8.js +62 -0
- package/dist/chunks/{compose-sprfv38c.js → compose-34cqydxc.js} +4 -4
- package/dist/chunks/{compose-ee0h1pk1.js → compose-3qkhfwtd.js} +4 -4
- package/dist/chunks/{compose-yr19b453.js → compose-4jqwbez4.js} +7 -7
- package/dist/chunks/{compose-5rg7askh.js → compose-4krv4vzw.js} +13 -5
- package/dist/chunks/{compose-byse0eqj.js → compose-4s0c5zqv.js} +6 -6
- package/dist/chunks/{compose-gj2ypr7q.js → compose-5ygdrc65.js} +3 -3
- package/dist/chunks/{compose-csh5vv2t.js → compose-6e9ktyhr.js} +1 -1
- package/dist/chunks/{compose-dbsn3bsy.js → compose-6zgf2dtw.js} +6 -3
- package/dist/chunks/{compose-ht1tbyr3.js → compose-75pnchkk.js} +22 -10
- package/dist/chunks/{compose-vzvm76dn.js → compose-79h43be5.js} +13 -5
- package/dist/chunks/compose-7bpnxft1.js +20 -0
- package/dist/chunks/{compose-jwy1gba9.js → compose-7sjf0y70.js} +3 -3
- package/dist/chunks/{compose-1tdb9ezw.js → compose-8nysak5a.js} +33 -22
- package/dist/chunks/{compose-ay7t13m9.js → compose-8p6emvvh.js} +8 -8
- package/dist/chunks/{compose-e3635qmn.js → compose-8ranx653.js} +17 -2
- package/dist/chunks/{compose-5njywhy8.js → compose-9tntshv3.js} +6 -6
- package/dist/chunks/{compose-gvm49f4b.js → compose-b10qcn9b.js} +1 -1
- package/dist/chunks/{compose-42egt9y7.js → compose-b4zb2rpb.js} +21 -12
- package/dist/chunks/{compose-767bb340.js → compose-c7jk6qr1.js} +1 -1
- package/dist/chunks/{compose-hfsn6pnt.js → compose-chcqk093.js} +39 -17
- package/dist/chunks/{compose-nw5hdpxk.js → compose-ct1h40fd.js} +8 -8
- package/dist/chunks/{compose-smsafpqe.js → compose-d5yhtpa7.js} +2 -2
- package/dist/chunks/{compose-qxfq6dn9.js → compose-d95420jw.js} +8 -8
- package/dist/chunks/{compose-gxjc6vz9.js → compose-dw8fvn94.js} +4 -2
- package/dist/chunks/{compose-fnncnk81.js → compose-dywbt4he.js} +5 -5
- package/dist/chunks/{compose-xvbyp65f.js → compose-gnfmty38.js} +30 -10
- package/dist/chunks/{compose-mdwr0er9.js → compose-h0d0vess.js} +4 -4
- package/dist/chunks/{compose-2gsbcjgv.js → compose-hf0nrd46.js} +22 -18
- package/dist/chunks/{compose-mcz93154.js → compose-ht5fhzzw.js} +10 -10
- package/dist/chunks/{compose-8pp3vtv0.js → compose-hx8j2kef.js} +4 -4
- package/dist/chunks/{compose-c4z4kp98.js → compose-j8xmyfy6.js} +118 -42
- package/dist/chunks/{compose-9jvn2wvh.js → compose-jawbhn7q.js} +21 -5
- package/dist/chunks/{compose-2rha31fc.js → compose-jbrtw0md.js} +4 -4
- package/dist/chunks/{compose-m01wspwf.js → compose-jrxg4vqg.js} +1 -1
- package/dist/chunks/{compose-bz70g01d.js → compose-kf2k4hq5.js} +5 -5
- package/dist/chunks/{compose-w6zb11k1.js → compose-kgdmzx0n.js} +6 -6
- package/dist/chunks/{compose-qjxtbzgq.js → compose-krkyrds4.js} +11 -5
- package/dist/chunks/{compose-tppkp915.js → compose-kw3bf8mf.js} +4 -4
- package/dist/chunks/{compose-d95fwwvw.js → compose-kwbs1f34.js} +2 -2
- package/dist/chunks/{compose-j42p9wfs.js → compose-n29d5dzv.js} +1 -1
- package/dist/chunks/{compose-qwbe95qs.js → compose-n5f6w2y6.js} +1 -1
- package/dist/chunks/{compose-a7k9h27z.js → compose-nc60858y.js} +4 -4
- package/dist/chunks/{compose-6r5ymwyr.js → compose-nenmmq5w.js} +30 -10
- package/dist/chunks/{compose-enq3x3rq.js → compose-p7j0gt4t.js} +22 -7
- package/dist/chunks/compose-pb3420v8.js +74 -0
- package/dist/chunks/{compose-ts08bth2.js → compose-pcfvksb2.js} +1 -1
- package/dist/chunks/{compose-917xy085.js → compose-pjkzf9ev.js} +9 -9
- package/dist/chunks/{compose-c9wxgbjp.js → compose-prek5sd9.js} +2 -2
- package/dist/chunks/{compose-h14pmqv3.js → compose-qgz6q016.js} +1 -1
- package/dist/chunks/{compose-y6xgbg2h.js → compose-qq85vkhf.js} +1 -1
- package/dist/chunks/{compose-bd8c5n7k.js → compose-qyjchprv.js} +2 -2
- package/dist/chunks/{compose-97y00axn.js → compose-rh1d2g0s.js} +30 -16
- package/dist/chunks/compose-s23st6q6.js +4 -0
- package/dist/chunks/{compose-bbhk8vnr.js → compose-s4kyfjj6.js} +2 -2
- package/dist/chunks/{compose-t9fcqtby.js → compose-sjfbxw65.js} +93 -85
- package/dist/chunks/{compose-a40dnhy5.js → compose-vphbntyn.js} +7 -7
- package/dist/chunks/compose-vxme67gg.js +63 -0
- package/dist/chunks/compose-wgs4rgfp.js +32 -0
- package/dist/chunks/{compose-1xn3eecn.js → compose-xdq54csy.js} +39 -35
- package/dist/chunks/{compose-v46qmh60.js → compose-yd5t8qj3.js} +63 -126
- package/dist/chunks/{compose-vn7b7fdj.js → compose-ydth4n0z.js} +7 -3
- package/dist/chunks/{compose-6gt28900.js → compose-yxhvzsed.js} +4 -4
- package/dist/chunks/{compose-matk94se.js → compose-zajq79k0.js} +6 -6
- package/dist/chunks/{compose-ae5t6v5b.js → compose-zq7ar8qm.js} +4 -4
- package/dist/chunks/{compose-4ppmas7g.js → compose-zt2qtrxj.js} +4 -4
- package/dist/chunks/compose-ztyjpn84.js +59 -0
- package/dist/chunks/{compose-m91ffwss.js → compose-zv0t13e7.js} +2 -2
- package/dist/chunks/{compose-r8tz1xfj.js → compose-zx78edb2.js} +9 -5
- package/dist/src/agent/agent-loop.d.ts +4 -0
- package/dist/src/agent/agent-loop.js +3 -1
- package/dist/src/agent/compaction.js +38 -37
- package/dist/src/agent/open-parts.d.ts +34 -0
- package/dist/src/agent/open-parts.js +22 -0
- package/dist/src/agent/request.js +27 -26
- package/dist/src/agent/tool-runner.d.ts +5 -5
- package/dist/src/agent/tool-runner.js +31 -30
- package/dist/src/agent/transcript.js +34 -33
- package/dist/src/agent/turn.js +48 -43
- package/dist/src/api/connection.js +61 -56
- package/dist/src/api/head.d.ts +1 -2
- package/dist/src/api/head.js +43 -39
- package/dist/src/api/hold.d.ts +7 -0
- package/dist/src/api/hold.js +7 -0
- package/dist/src/api/part.js +20 -18
- package/dist/src/api/server.js +48 -45
- package/dist/src/api/session.js +48 -44
- package/dist/src/builtins/delegation.js +1 -1
- package/dist/src/builtins/environment.d.ts +8 -0
- package/dist/src/builtins/environment.js +3 -1
- package/dist/src/builtins/interruptions.d.ts +4 -0
- package/dist/src/builtins/interruptions.js +8 -0
- package/dist/src/compose.js +75 -68
- package/dist/src/contract/host.d.ts +6 -0
- package/dist/src/contract/kernel.d.ts +9 -6
- package/dist/src/contract/parts.d.ts +48 -46
- package/dist/src/contract/records.d.ts +429 -419
- package/dist/src/contract/records.js +1 -1
- package/dist/src/contract/server.d.ts +3 -1
- package/dist/src/contract/session.d.ts +31 -1
- package/dist/src/contract/session.js +6 -0
- package/dist/src/contract/workspace.d.ts +3 -1
- package/dist/src/drive/execution.js +44 -43
- package/dist/src/drive/interruptions.d.ts +10 -2
- package/dist/src/drive/interruptions.js +9 -5
- package/dist/src/drive/pause.d.ts +11 -0
- package/dist/src/drive/pause.js +10 -0
- package/dist/src/engine/admission-writes.d.ts +22 -0
- package/dist/src/engine/admission-writes.js +15 -0
- package/dist/src/engine/admission.d.ts +15 -1
- package/dist/src/engine/admission.js +25 -20
- package/dist/src/engine/batches.js +18 -18
- package/dist/src/engine/branch-summary.js +17 -17
- package/dist/src/engine/durable.js +17 -17
- package/dist/src/engine/fence.js +16 -16
- package/dist/src/engine/holds.d.ts +4 -0
- package/dist/src/engine/holds.js +43 -0
- package/dist/src/engine/jobs.js +24 -23
- package/dist/src/engine/lease.d.ts +5 -4
- package/dist/src/engine/lease.js +1 -1
- package/dist/src/engine/move.js +19 -19
- package/dist/src/engine/presence.js +2 -2
- package/dist/src/engine/principals.js +14 -14
- package/dist/src/engine/receipts.js +17 -17
- package/dist/src/engine/runs.js +22 -21
- package/dist/src/engine/start.js +34 -33
- package/dist/src/engine/surface.js +3 -3
- package/dist/src/engine/waits.js +15 -15
- package/dist/src/env/browser.js +25 -24
- package/dist/src/env/environment.js +27 -26
- package/dist/src/env/mcp.js +29 -28
- package/dist/src/env/session-changes.js +3 -3
- package/dist/src/env/trust.js +28 -27
- package/dist/src/env/workspaces.js +32 -31
- package/dist/src/env/worktrees.js +33 -32
- package/dist/src/extend/activation.d.ts +3 -0
- package/dist/src/extend/activation.js +35 -32
- package/dist/src/extend/hooks.js +19 -19
- package/dist/src/extend/models.js +26 -25
- package/dist/src/extend/plugin-api.js +14 -14
- package/dist/src/extend/plugin-runtime.d.ts +3 -1
- package/dist/src/extend/plugin-runtime.js +39 -38
- package/dist/src/extend/registry.js +24 -23
- package/dist/src/extend/resources.js +29 -28
- package/dist/src/extend/setting-layers.js +3 -3
- package/dist/src/extend/settings.js +36 -35
- package/dist/src/extend/workspace-commands.js +40 -39
- package/dist/src/fold/calls.js +4 -4
- package/dist/src/fold/checkpoint.js +9 -9
- package/dist/src/fold/code.d.ts +1 -1
- package/dist/src/fold/code.js +1 -1
- package/dist/src/fold/commit.js +13 -13
- package/dist/src/fold/draft.d.ts +37 -37
- package/dist/src/fold/draft.js +3 -3
- package/dist/src/fold/fold.js +6 -6
- package/dist/src/fold/paths.js +4 -4
- package/dist/src/fold/project.d.ts +2 -2
- package/dist/src/fold/project.js +6 -6
- package/dist/src/fold/reads.js +3 -3
- package/dist/src/fold/seen.d.ts +3 -5
- package/dist/src/fold/seen.js +17 -17
- package/dist/src/fold/view.d.ts +7 -1
- package/dist/src/fold/view.js +8 -23
- package/dist/src/fold/watch.js +12 -12
- package/dist/src/harness.d.ts +257 -257
- package/dist/src/harness.js +78 -71
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.js +13 -3
- package/dist/src/server.js +73 -66
- package/dist/src/store/inspect.js +3 -3
- package/dist/src/store/memory-store.js +3 -3
- package/dist/src/store/migrations.js +2 -2
- package/dist/src/store/model-state.js +2 -2
- package/dist/src/store/parts.js +3 -3
- package/dist/src/store/session-index.js +2 -2
- package/dist/src/store/session.js +2 -2
- package/dist/src/store.js +5 -5
- package/dist/src/testing.js +76 -69
- package/dist/src/util/line-diff.d.ts +5 -5
- package/package.json +4 -5
- package/dist/chunks/compose-hfrjm4a1.js +0 -88
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
decodePartRecord2,
|
|
4
4
|
decodeCallRecord2,
|
|
5
5
|
decodeJobRecord2
|
|
6
|
-
} from "./compose-
|
|
6
|
+
} from "./compose-dw8fvn94.js";
|
|
7
7
|
import {
|
|
8
8
|
runRef2,
|
|
9
9
|
partRef2,
|
|
@@ -17,10 +17,10 @@ import {
|
|
|
17
17
|
load2,
|
|
18
18
|
put2,
|
|
19
19
|
readCall2
|
|
20
|
-
} from "./compose-
|
|
20
|
+
} from "./compose-ydth4n0z.js";
|
|
21
21
|
import {
|
|
22
22
|
storedAnswer2
|
|
23
|
-
} from "./compose-
|
|
23
|
+
} from "./compose-kwbs1f34.js";
|
|
24
24
|
import {
|
|
25
25
|
WAITS2,
|
|
26
26
|
TIME2,
|
|
@@ -35,10 +35,10 @@ import {
|
|
|
35
35
|
import {
|
|
36
36
|
commit2,
|
|
37
37
|
changeCall2
|
|
38
|
-
} from "./compose-
|
|
38
|
+
} from "./compose-s4kyfjj6.js";
|
|
39
39
|
import {
|
|
40
40
|
readRunEnd2
|
|
41
|
-
} from "./compose-
|
|
41
|
+
} from "./compose-122g5jvb.js";
|
|
42
42
|
|
|
43
43
|
// src/engine/waits.ts
|
|
44
44
|
import { asId, SdkError } from "@nyte-ai/schema";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
decodeRunRecord2
|
|
3
|
-
} from "./compose-
|
|
3
|
+
} from "./compose-dw8fvn94.js";
|
|
4
4
|
import {
|
|
5
5
|
inboxRef2,
|
|
6
6
|
runRef2,
|
|
@@ -17,20 +17,20 @@ import {
|
|
|
17
17
|
put2,
|
|
18
18
|
attempt2,
|
|
19
19
|
readCall2
|
|
20
|
-
} from "./compose-
|
|
20
|
+
} from "./compose-ydth4n0z.js";
|
|
21
21
|
import {
|
|
22
22
|
stoppedParts2
|
|
23
|
-
} from "./compose-
|
|
23
|
+
} from "./compose-kwbs1f34.js";
|
|
24
24
|
import {
|
|
25
25
|
commit2
|
|
26
|
-
} from "./compose-
|
|
26
|
+
} from "./compose-s4kyfjj6.js";
|
|
27
27
|
import {
|
|
28
28
|
liveParts2,
|
|
29
29
|
readRunEnd2
|
|
30
|
-
} from "./compose-
|
|
30
|
+
} from "./compose-122g5jvb.js";
|
|
31
31
|
import {
|
|
32
32
|
readParkedWait2
|
|
33
|
-
} from "./compose-
|
|
33
|
+
} from "./compose-kf2k4hq5.js";
|
|
34
34
|
|
|
35
35
|
// src/engine/fence.ts
|
|
36
36
|
var FENCED2 = { class: "aborted", message: "Stopped." };
|
|
@@ -3,21 +3,25 @@ import {
|
|
|
3
3
|
} from "./compose-cqpjcx2t.js";
|
|
4
4
|
import {
|
|
5
5
|
sendReceipt2
|
|
6
|
-
} from "./compose-
|
|
6
|
+
} from "./compose-dywbt4he.js";
|
|
7
7
|
import {
|
|
8
8
|
move2
|
|
9
|
-
} from "./compose-
|
|
9
|
+
} from "./compose-zajq79k0.js";
|
|
10
10
|
import {
|
|
11
11
|
heldReceipt2,
|
|
12
12
|
applyBatch2
|
|
13
|
-
} from "./compose-
|
|
13
|
+
} from "./compose-jbrtw0md.js";
|
|
14
14
|
import {
|
|
15
15
|
driveInProcess2
|
|
16
|
-
} from "./compose-
|
|
16
|
+
} from "./compose-8nysak5a.js";
|
|
17
|
+
import {
|
|
18
|
+
leaseHold2,
|
|
19
|
+
releaseHold2
|
|
20
|
+
} from "./compose-vxme67gg.js";
|
|
17
21
|
import {
|
|
18
22
|
redeemPairing2,
|
|
19
23
|
authenticateToken2
|
|
20
|
-
} from "./compose-
|
|
24
|
+
} from "./compose-7sjf0y70.js";
|
|
21
25
|
|
|
22
26
|
// src/api/server.ts
|
|
23
27
|
function createServerHost2(kernel) {
|
|
@@ -43,6 +47,8 @@ function createServerHost2(kernel) {
|
|
|
43
47
|
loaded: (plugin) => kernel.plugins.host.includes(plugin),
|
|
44
48
|
wire: {
|
|
45
49
|
move: (session, head, position, options) => move2(kernel, session, head, position, options),
|
|
50
|
+
hold: (session, head, message) => leaseHold2(kernel, session, head, message),
|
|
51
|
+
release: (session, head, message) => releaseHold2(kernel, session, head, message),
|
|
46
52
|
batch: (workspace, files, entries, id) => applyBatch2(kernel, { workspace }, files, entries, { id }),
|
|
47
53
|
batchReceipt: (id) => heldReceipt2(kernel, id),
|
|
48
54
|
sendReceipt: (session, id) => sendReceipt2(kernel, session, id),
|
|
@@ -13,16 +13,16 @@ import {
|
|
|
13
13
|
walkCommitPath2,
|
|
14
14
|
toCommitObjectId2,
|
|
15
15
|
guard2
|
|
16
|
-
} from "./compose-
|
|
16
|
+
} from "./compose-ydth4n0z.js";
|
|
17
17
|
import {
|
|
18
18
|
commit2
|
|
19
|
-
} from "./compose-
|
|
19
|
+
} from "./compose-s4kyfjj6.js";
|
|
20
20
|
import {
|
|
21
21
|
withFold2
|
|
22
|
-
} from "./compose-
|
|
22
|
+
} from "./compose-122g5jvb.js";
|
|
23
23
|
import {
|
|
24
24
|
fence2
|
|
25
|
-
} from "./compose-
|
|
25
|
+
} from "./compose-kgdmzx0n.js";
|
|
26
26
|
|
|
27
27
|
// src/engine/branch-summary.ts
|
|
28
28
|
import { asId } from "@nyte-ai/schema";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./compose-fqsqjbrf.js";
|
|
7
7
|
import {
|
|
8
8
|
decodePartRecord2
|
|
9
|
-
} from "./compose-
|
|
9
|
+
} from "./compose-dw8fvn94.js";
|
|
10
10
|
import {
|
|
11
11
|
parseSessionRef2,
|
|
12
12
|
headRef2,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
put2,
|
|
19
19
|
toCommitObjectId2,
|
|
20
20
|
readCall2
|
|
21
|
-
} from "./compose-
|
|
21
|
+
} from "./compose-ydth4n0z.js";
|
|
22
22
|
|
|
23
23
|
// src/store/parts.ts
|
|
24
24
|
import { asId } from "@nyte-ai/schema";
|
|
@@ -3,22 +3,22 @@ import {
|
|
|
3
3
|
} from "./compose-1c6w12g1.js";
|
|
4
4
|
import {
|
|
5
5
|
STORED_RECORD_TYPES2
|
|
6
|
-
} from "./compose-
|
|
6
|
+
} from "./compose-dw8fvn94.js";
|
|
7
7
|
import {
|
|
8
8
|
decodeObject2
|
|
9
9
|
} from "./compose-kwkna3cg.js";
|
|
10
10
|
import {
|
|
11
11
|
STORE_VERSION2
|
|
12
|
-
} from "./compose-
|
|
12
|
+
} from "./compose-0f9x3cjd.js";
|
|
13
13
|
import {
|
|
14
14
|
dev2
|
|
15
15
|
} from "./compose-n116fnmp.js";
|
|
16
16
|
import {
|
|
17
17
|
FOLD_CODE2
|
|
18
|
-
} from "./compose-
|
|
18
|
+
} from "./compose-c7jk6qr1.js";
|
|
19
19
|
import {
|
|
20
20
|
EMPTY_CATALOG2
|
|
21
|
-
} from "./compose-
|
|
21
|
+
} from "./compose-yxhvzsed.js";
|
|
22
22
|
|
|
23
23
|
// src/fold/checkpoint.ts
|
|
24
24
|
import {
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
START2,
|
|
6
6
|
readPositionCommit2
|
|
7
|
-
} from "./compose-
|
|
7
|
+
} from "./compose-ydth4n0z.js";
|
|
8
8
|
import {
|
|
9
9
|
ZERO_USAGE2,
|
|
10
10
|
addUsage2
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
snapshots2,
|
|
14
14
|
emptyHead2,
|
|
15
15
|
reuse2
|
|
16
|
-
} from "./compose-
|
|
16
|
+
} from "./compose-qgz6q016.js";
|
|
17
17
|
|
|
18
18
|
// src/fold/project.ts
|
|
19
19
|
var DEFAULT_TAIL = 200;
|
|
@@ -21,6 +21,7 @@ var projections = new WeakMap;
|
|
|
21
21
|
var unreads = new WeakMap;
|
|
22
22
|
var NOTHING_SEEN = new Map;
|
|
23
23
|
var tails = new WeakMap;
|
|
24
|
+
var queues = new WeakMap;
|
|
24
25
|
var absent = new WeakMap;
|
|
25
26
|
var windows = new WeakMap;
|
|
26
27
|
var usages = new WeakMap;
|
|
@@ -33,7 +34,8 @@ function project2(state, head, options) {
|
|
|
33
34
|
const cached = byTail.get(tail);
|
|
34
35
|
if (cached !== undefined && cached.seq === state.seq && cached.activation === state.activation && cached.parts === state.partViews && cached.heads === heads && cached.changes === state.changes && cached.catalog === state.catalog)
|
|
35
36
|
return cached;
|
|
36
|
-
const
|
|
37
|
+
const execution = folded.info.execution;
|
|
38
|
+
const messages = readMessageTail(folded.messages, tail, execution);
|
|
37
39
|
const turns = frozen(folded.turns);
|
|
38
40
|
const path = state[INDEX2].paths.get(head);
|
|
39
41
|
const view = {
|
|
@@ -41,11 +43,13 @@ function project2(state, head, options) {
|
|
|
41
43
|
seq: state.seq,
|
|
42
44
|
activation: state.activation,
|
|
43
45
|
messages,
|
|
44
|
-
|
|
46
|
+
queue: readQueue(state, folded),
|
|
47
|
+
leadingPrompt: findLeadingPrompt2(path, Math.max(0, folded.messages.length - tail)),
|
|
45
48
|
parts: state.partViews,
|
|
46
49
|
turns: readTurnWindow(turns, path, messages),
|
|
47
50
|
usage: sumCompletedUsage(turns),
|
|
48
|
-
execution
|
|
51
|
+
execution,
|
|
52
|
+
reportsHeld: holdsReports2(execution),
|
|
49
53
|
background: folded.background,
|
|
50
54
|
configuration: folded.configuration,
|
|
51
55
|
context: folded.context,
|
|
@@ -58,8 +62,8 @@ function project2(state, head, options) {
|
|
|
58
62
|
projections.set(folded, byPrincipal);
|
|
59
63
|
return view;
|
|
60
64
|
}
|
|
61
|
-
function
|
|
62
|
-
return
|
|
65
|
+
function holdsReports2(execution) {
|
|
66
|
+
return execution.kind === "idle" && execution.lastRun?.end.kind !== "completed";
|
|
63
67
|
}
|
|
64
68
|
function headsFor(state) {
|
|
65
69
|
const seen = state.seen.get(state.principal) ?? NOTHING_SEEN;
|
|
@@ -93,13 +97,29 @@ function absentHead(heads, name) {
|
|
|
93
97
|
absent.set(heads, known);
|
|
94
98
|
return head;
|
|
95
99
|
}
|
|
96
|
-
function readMessageTail(messages, tail) {
|
|
100
|
+
function readMessageTail(messages, tail, execution) {
|
|
97
101
|
const known = tails.get(messages) ?? new Map;
|
|
98
|
-
const slice = reuse2(known.get(tail) ?? [], messages.slice(Math.max(0, messages.length - tail)));
|
|
102
|
+
const slice = reuse2(known.get(tail) ?? [], messages.slice(Math.max(0, messages.length - tail)).filter((message) => !belongsInQueue(message, execution)));
|
|
99
103
|
known.set(tail, slice);
|
|
100
104
|
tails.set(messages, known);
|
|
101
105
|
return slice;
|
|
102
106
|
}
|
|
107
|
+
function readQueue(state, folded) {
|
|
108
|
+
const queue = reuse2(queues.get(folded.messages) ?? [], folded.pending.flatMap((id) => {
|
|
109
|
+
const message = state.messages.get(id);
|
|
110
|
+
return message !== undefined && belongsInQueue(message, folded.info.execution) ? [message] : [];
|
|
111
|
+
}));
|
|
112
|
+
queues.set(folded.messages, queue);
|
|
113
|
+
return queue;
|
|
114
|
+
}
|
|
115
|
+
function belongsInQueue(message, execution) {
|
|
116
|
+
if (message.kind !== "user" || message.status.kind !== "pending")
|
|
117
|
+
return false;
|
|
118
|
+
if (message.source.kind === "child" || message.source.kind === "job")
|
|
119
|
+
return false;
|
|
120
|
+
const schedule = message.status.schedule;
|
|
121
|
+
return schedule.kind === "attached" || schedule.kind === "next-turn" && (schedule.reason !== "idle" || execution.kind !== "idle" && message.delivery !== "steer");
|
|
122
|
+
}
|
|
103
123
|
function findLeadingPrompt2(path, start) {
|
|
104
124
|
const first = path?.messages[start];
|
|
105
125
|
if (path === undefined || first === undefined)
|
|
@@ -138,4 +158,4 @@ function frozen(turns) {
|
|
|
138
158
|
return snapshot;
|
|
139
159
|
}
|
|
140
160
|
|
|
141
|
-
export { project2,
|
|
161
|
+
export { project2, holdsReports2, withPair2, findLeadingPrompt2 };
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./compose-fqsqjbrf.js";
|
|
14
14
|
import {
|
|
15
15
|
decodeRunRecord2
|
|
16
|
-
} from "./compose-
|
|
16
|
+
} from "./compose-dw8fvn94.js";
|
|
17
17
|
import {
|
|
18
18
|
runRef2
|
|
19
19
|
} from "./compose-cqpjcx2t.js";
|
|
@@ -23,22 +23,22 @@ import {
|
|
|
23
23
|
requireSession2,
|
|
24
24
|
walkCommitPath2,
|
|
25
25
|
readPositionCommit2
|
|
26
|
-
} from "./compose-
|
|
26
|
+
} from "./compose-ydth4n0z.js";
|
|
27
27
|
import {
|
|
28
28
|
withFold2
|
|
29
|
-
} from "./compose-
|
|
29
|
+
} from "./compose-122g5jvb.js";
|
|
30
30
|
import {
|
|
31
31
|
modelImage2
|
|
32
32
|
} from "./compose-c4238qkb.js";
|
|
33
33
|
import {
|
|
34
34
|
scanResources2
|
|
35
|
-
} from "./compose-
|
|
35
|
+
} from "./compose-j8xmyfy6.js";
|
|
36
36
|
import {
|
|
37
37
|
hiddenOwners2
|
|
38
|
-
} from "./compose-
|
|
38
|
+
} from "./compose-qyjchprv.js";
|
|
39
39
|
import {
|
|
40
40
|
toolSource2
|
|
41
|
-
} from "./compose-
|
|
41
|
+
} from "./compose-zq7ar8qm.js";
|
|
42
42
|
|
|
43
43
|
// src/agent/transcript.ts
|
|
44
44
|
import { isJsonObject } from "@nyte-ai/schema";
|
|
@@ -48,6 +48,7 @@ var THOUGHTS = `
|
|
|
48
48
|
`;
|
|
49
49
|
var SUMMARISED = "The earlier conversation was summarised to fit the context window. The summary:";
|
|
50
50
|
var ABANDONED = "The conversation moved back to an earlier point, abandoning a path. What that path did:";
|
|
51
|
+
var CONTINUE = "The previous response was interrupted. Continue from where you left off without repeating completed content.";
|
|
51
52
|
var projections = new WeakMap;
|
|
52
53
|
var IMAGE_CACHE_CHARS = 64 * 1024 * 1024;
|
|
53
54
|
var imageCache = new WeakMap;
|
|
@@ -193,6 +194,7 @@ async function conversation(kernel, models, input) {
|
|
|
193
194
|
for (const call of ordered)
|
|
194
195
|
push(await toolResult(kernel, call.id, call.state, call.at, input.images), call.commit);
|
|
195
196
|
};
|
|
197
|
+
const continueAfter = (cut) => push({ role: "user", content: CONTINUE, timestamp: cut.at }, cut.commit);
|
|
196
198
|
const calls = steps.flatMap((step) => step.part?.partKind === "tool" ? [step.part.id] : []);
|
|
197
199
|
for (const step of steps) {
|
|
198
200
|
for (const compacted of anchors.get(step.commit) ?? []) {
|
|
@@ -222,13 +224,18 @@ async function conversation(kernel, models, input) {
|
|
|
222
224
|
const blocks = await assistantBlocks(part, step.record.run);
|
|
223
225
|
const call = blocks.call;
|
|
224
226
|
const response = call === null ? null : parseResponseIndex(call.call, step.record.run);
|
|
225
|
-
|
|
227
|
+
const attempt = call === null ? parseAttempt(part.id, step.record.run) : null;
|
|
228
|
+
const cut = group !== null && group.run === step.record.run && group.calls.length === 0 && group.attempt !== null && attempt !== null && attempt !== group.attempt ? group : null;
|
|
229
|
+
if (group !== null && (cut !== null || group.run !== step.record.run || call === null && group.calls.length > 0 || call !== null && group.response !== null && response !== group.response))
|
|
226
230
|
await flush();
|
|
231
|
+
if (cut !== null)
|
|
232
|
+
continueAfter(cut);
|
|
227
233
|
if (blocks.content.length === 0)
|
|
228
234
|
continue;
|
|
229
235
|
group ??= {
|
|
230
236
|
commit: step.commit,
|
|
231
237
|
run: step.record.run,
|
|
238
|
+
attempt,
|
|
232
239
|
model: step.model,
|
|
233
240
|
at: step.record.at,
|
|
234
241
|
response: null,
|
|
@@ -255,7 +262,10 @@ async function conversation(kernel, models, input) {
|
|
|
255
262
|
if (note !== null)
|
|
256
263
|
push({ role: "user", content: note, timestamp: step.record.at }, step.commit);
|
|
257
264
|
}
|
|
265
|
+
const trailing = group;
|
|
258
266
|
await flush();
|
|
267
|
+
if (trailing !== null && input.run !== null && trailing.run === input.run && trailing.calls.length === 0)
|
|
268
|
+
continueAfter(trailing);
|
|
259
269
|
const answered = answers.at(-1);
|
|
260
270
|
if (answered === undefined || answered.run === null)
|
|
261
271
|
return messages;
|
|
@@ -519,6 +529,11 @@ function fencedExcerpt(text) {
|
|
|
519
529
|
function escapeAttribute(value) {
|
|
520
530
|
return value.replaceAll("&", "&").replaceAll('"', """).replaceAll("<", "<");
|
|
521
531
|
}
|
|
532
|
+
function parseAttempt(part, run) {
|
|
533
|
+
if (run === null || !part.startsWith(`${run}:`))
|
|
534
|
+
return null;
|
|
535
|
+
return /^a(\d+):/.exec(part.slice(run.length + 1))?.[1] ?? null;
|
|
536
|
+
}
|
|
522
537
|
function parseResponseIndex(call, run) {
|
|
523
538
|
if (run === null || !call.startsWith(`${run}:`))
|
|
524
539
|
return null;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {
|
|
2
|
+
HOLD_MS2
|
|
3
|
+
} from "./compose-s23st6q6.js";
|
|
4
|
+
|
|
5
|
+
// src/api/hold.ts
|
|
6
|
+
var RENEW_MS = 5000;
|
|
7
|
+
async function holdMessage2(message, operations) {
|
|
8
|
+
const asked = Date.now();
|
|
9
|
+
const first = await operations.hold();
|
|
10
|
+
if (first.kind !== "held")
|
|
11
|
+
return first;
|
|
12
|
+
const lost = Promise.withResolvers();
|
|
13
|
+
const expired = Promise.withResolvers();
|
|
14
|
+
let renewing = true;
|
|
15
|
+
let renewal = Promise.resolve();
|
|
16
|
+
let released = null;
|
|
17
|
+
const stop = () => {
|
|
18
|
+
renewing = false;
|
|
19
|
+
clearTimeout(timer);
|
|
20
|
+
};
|
|
21
|
+
const lose = (reason) => {
|
|
22
|
+
if (!renewing)
|
|
23
|
+
return;
|
|
24
|
+
stop();
|
|
25
|
+
lost.resolve(reason);
|
|
26
|
+
};
|
|
27
|
+
const expire = () => {
|
|
28
|
+
expired.resolve();
|
|
29
|
+
lose({ kind: "lapsed" });
|
|
30
|
+
};
|
|
31
|
+
const renewLater = () => {
|
|
32
|
+
if (renewing)
|
|
33
|
+
timer = setTimeout(renew, RENEW_MS);
|
|
34
|
+
};
|
|
35
|
+
const renew = () => {
|
|
36
|
+
const sent = Date.now();
|
|
37
|
+
renewal = operations.hold().then((lease) => {
|
|
38
|
+
if (lease.kind !== "held")
|
|
39
|
+
return lose(lease);
|
|
40
|
+
if (!renewing)
|
|
41
|
+
return;
|
|
42
|
+
clearTimeout(expiry);
|
|
43
|
+
expiry = setTimeout(expire, sent + HOLD_MS2 - Date.now());
|
|
44
|
+
renewLater();
|
|
45
|
+
}, renewLater);
|
|
46
|
+
};
|
|
47
|
+
let timer = setTimeout(renew, RENEW_MS);
|
|
48
|
+
let expiry = setTimeout(expire, asked + HOLD_MS2 - Date.now());
|
|
49
|
+
const release = () => {
|
|
50
|
+
stop();
|
|
51
|
+
released ??= Promise.race([
|
|
52
|
+
renewal.then(() => operations.release()).then(() => ({ kind: "released" }), () => ({ kind: "lapsing" })),
|
|
53
|
+
expired.promise.then(() => ({ kind: "lapsing" }))
|
|
54
|
+
]).finally(() => clearTimeout(expiry));
|
|
55
|
+
return released;
|
|
56
|
+
};
|
|
57
|
+
return {
|
|
58
|
+
kind: "held",
|
|
59
|
+
message,
|
|
60
|
+
lost: lost.promise,
|
|
61
|
+
async save(content, options) {
|
|
62
|
+
stop();
|
|
63
|
+
const revised = await operations.revise(content, options);
|
|
64
|
+
await release();
|
|
65
|
+
return revised;
|
|
66
|
+
},
|
|
67
|
+
release,
|
|
68
|
+
async[Symbol.asyncDispose]() {
|
|
69
|
+
await release();
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export { holdMessage2 };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
decodeRunRecord2
|
|
3
|
-
} from "./compose-
|
|
3
|
+
} from "./compose-dw8fvn94.js";
|
|
4
4
|
import {
|
|
5
5
|
objectId2
|
|
6
6
|
} from "./compose-q6c7wswc.js";
|
|
@@ -19,10 +19,10 @@ import {
|
|
|
19
19
|
put2,
|
|
20
20
|
attempt2,
|
|
21
21
|
listSessionRecords2
|
|
22
|
-
} from "./compose-
|
|
22
|
+
} from "./compose-ydth4n0z.js";
|
|
23
23
|
import {
|
|
24
24
|
commit2
|
|
25
|
-
} from "./compose-
|
|
25
|
+
} from "./compose-s4kyfjj6.js";
|
|
26
26
|
import {
|
|
27
27
|
latest2,
|
|
28
28
|
closable2,
|
|
@@ -31,26 +31,26 @@ import {
|
|
|
31
31
|
import {
|
|
32
32
|
createJobs2,
|
|
33
33
|
jobHandle2
|
|
34
|
-
} from "./compose-
|
|
34
|
+
} from "./compose-17xxey5y.js";
|
|
35
35
|
import {
|
|
36
36
|
inspectWorkspaceAvailability2,
|
|
37
37
|
readWorkspace2,
|
|
38
38
|
workspaceRecords2
|
|
39
|
-
} from "./compose-
|
|
39
|
+
} from "./compose-zt2qtrxj.js";
|
|
40
40
|
import {
|
|
41
41
|
readFolderTrust2,
|
|
42
42
|
decideTrust2
|
|
43
|
-
} from "./compose-
|
|
43
|
+
} from "./compose-hx8j2kef.js";
|
|
44
44
|
import {
|
|
45
45
|
dropScans2
|
|
46
|
-
} from "./compose-
|
|
46
|
+
} from "./compose-j8xmyfy6.js";
|
|
47
47
|
import {
|
|
48
48
|
mcpApi2
|
|
49
|
-
} from "./compose-
|
|
49
|
+
} from "./compose-5ygdrc65.js";
|
|
50
50
|
import {
|
|
51
51
|
readAttributedPaths2,
|
|
52
52
|
ownedChanges2
|
|
53
|
-
} from "./compose-
|
|
53
|
+
} from "./compose-0zrwy7nk.js";
|
|
54
54
|
|
|
55
55
|
// src/env/workspaces.ts
|
|
56
56
|
import { asId, SdkError } from "@nyte-ai/schema";
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
requireSession2,
|
|
9
9
|
put2,
|
|
10
10
|
readKv2
|
|
11
|
-
} from "./compose-
|
|
11
|
+
} from "./compose-ydth4n0z.js";
|
|
12
12
|
import {
|
|
13
13
|
commit2
|
|
14
|
-
} from "./compose-
|
|
14
|
+
} from "./compose-s4kyfjj6.js";
|
|
15
15
|
|
|
16
16
|
// src/extend/plugin-api.ts
|
|
17
17
|
import { isJsonObject, SdkError } from "@nyte-ai/schema";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
decodeRunRecord2
|
|
3
|
-
} from "./compose-
|
|
3
|
+
} from "./compose-dw8fvn94.js";
|
|
4
4
|
import {
|
|
5
5
|
runRef2
|
|
6
6
|
} from "./compose-cqpjcx2t.js";
|
|
7
7
|
import {
|
|
8
8
|
load2
|
|
9
|
-
} from "./compose-
|
|
9
|
+
} from "./compose-ydth4n0z.js";
|
|
10
10
|
|
|
11
11
|
// src/engine/surface.ts
|
|
12
12
|
var NONE = new Set;
|