@nyte-ai/core 0.0.23 → 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/THIRD-PARTY-NOTICES.md +2 -38
- 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
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
decodeRunRecord2,
|
|
7
7
|
decodeCallRecord2
|
|
8
|
-
} from "./compose-
|
|
8
|
+
} from "./compose-dw8fvn94.js";
|
|
9
9
|
import {
|
|
10
10
|
sessionRef2,
|
|
11
11
|
inboxRef2,
|
|
@@ -25,31 +25,31 @@ import {
|
|
|
25
25
|
put2,
|
|
26
26
|
attempt2,
|
|
27
27
|
sessionEvent2
|
|
28
|
-
} from "./compose-
|
|
28
|
+
} from "./compose-ydth4n0z.js";
|
|
29
29
|
import {
|
|
30
30
|
failedParts2
|
|
31
|
-
} from "./compose-
|
|
31
|
+
} from "./compose-kwbs1f34.js";
|
|
32
32
|
import {
|
|
33
33
|
wokenIndex2
|
|
34
34
|
} from "./compose-0wq555bd.js";
|
|
35
35
|
import {
|
|
36
36
|
commit2
|
|
37
|
-
} from "./compose-
|
|
37
|
+
} from "./compose-s4kyfjj6.js";
|
|
38
38
|
import {
|
|
39
39
|
withFold2,
|
|
40
40
|
liveParts2,
|
|
41
41
|
readRunEnd2
|
|
42
|
-
} from "./compose-
|
|
42
|
+
} from "./compose-122g5jvb.js";
|
|
43
43
|
import {
|
|
44
44
|
waitFor2
|
|
45
|
-
} from "./compose-
|
|
45
|
+
} from "./compose-kf2k4hq5.js";
|
|
46
46
|
import {
|
|
47
47
|
FENCED2,
|
|
48
48
|
stopRun2
|
|
49
|
-
} from "./compose-
|
|
49
|
+
} from "./compose-kgdmzx0n.js";
|
|
50
50
|
import {
|
|
51
51
|
send2
|
|
52
|
-
} from "./compose-
|
|
52
|
+
} from "./compose-sjfbxw65.js";
|
|
53
53
|
|
|
54
54
|
// src/engine/runs.ts
|
|
55
55
|
import { asId, isJsonObject, SdkError } from "@nyte-ai/schema";
|
|
@@ -49,7 +49,8 @@ var SessionRecordType = record({
|
|
|
49
49
|
createdAt: Type.Number(),
|
|
50
50
|
lastActivityAt: Type.Number(),
|
|
51
51
|
heads: list(HeadRecordType),
|
|
52
|
-
prompt: nullable(typed()(PromptOverrideType))
|
|
52
|
+
prompt: nullable(typed()(PromptOverrideType)),
|
|
53
|
+
contextFiles: Type.Optional(Type.Literal(false))
|
|
53
54
|
});
|
|
54
55
|
var CommitRecordType = record({
|
|
55
56
|
parent: nullable(idSchema()),
|
|
@@ -59,7 +60,8 @@ var CommitRecordType = record({
|
|
|
59
60
|
});
|
|
60
61
|
var InboxRecordType = record({
|
|
61
62
|
messages: list(idSchema()),
|
|
62
|
-
pendingInput: list(idSchema())
|
|
63
|
+
pendingInput: list(idSchema()),
|
|
64
|
+
hold: Type.Optional(record({ message: idSchema(), until: Type.Number() }))
|
|
63
65
|
});
|
|
64
66
|
var RunRecordType = record({
|
|
65
67
|
view: typed()(RunViewType),
|
|
@@ -13,19 +13,19 @@ import {
|
|
|
13
13
|
readRefExpectation2,
|
|
14
14
|
put2,
|
|
15
15
|
attempt2
|
|
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
|
waitFor2
|
|
25
|
-
} from "./compose-
|
|
25
|
+
} from "./compose-kf2k4hq5.js";
|
|
26
26
|
import {
|
|
27
27
|
stopRun2
|
|
28
|
-
} from "./compose-
|
|
28
|
+
} from "./compose-kgdmzx0n.js";
|
|
29
29
|
|
|
30
30
|
// src/engine/receipts.ts
|
|
31
31
|
import { asId, SdkError } from "@nyte-ai/schema";
|
|
@@ -23,44 +23,63 @@ import {
|
|
|
23
23
|
toCommitObjectId2,
|
|
24
24
|
readCommit2,
|
|
25
25
|
sessionEvent2
|
|
26
|
-
} from "./compose-
|
|
26
|
+
} from "./compose-ydth4n0z.js";
|
|
27
27
|
import {
|
|
28
28
|
commit2
|
|
29
|
-
} from "./compose-
|
|
29
|
+
} from "./compose-s4kyfjj6.js";
|
|
30
30
|
import {
|
|
31
31
|
withFold2
|
|
32
|
-
} from "./compose-
|
|
32
|
+
} from "./compose-122g5jvb.js";
|
|
33
33
|
import {
|
|
34
|
-
send2
|
|
35
|
-
|
|
34
|
+
send2,
|
|
35
|
+
sendNow2,
|
|
36
|
+
reviseQueued2
|
|
37
|
+
} from "./compose-sjfbxw65.js";
|
|
38
|
+
import {
|
|
39
|
+
leaseHold2,
|
|
40
|
+
releaseHold2
|
|
41
|
+
} from "./compose-vxme67gg.js";
|
|
36
42
|
import {
|
|
37
43
|
move2
|
|
38
|
-
} from "./compose-
|
|
44
|
+
} from "./compose-zajq79k0.js";
|
|
39
45
|
import {
|
|
40
46
|
watchStore2
|
|
41
47
|
} from "./compose-zfjxkavf.js";
|
|
42
48
|
import {
|
|
43
49
|
configure2
|
|
44
|
-
} from "./compose-
|
|
50
|
+
} from "./compose-vphbntyn.js";
|
|
51
|
+
import {
|
|
52
|
+
advanceSeen2
|
|
53
|
+
} from "./compose-ztyjpn84.js";
|
|
45
54
|
import {
|
|
46
55
|
watchHead2,
|
|
47
56
|
viewHead2,
|
|
48
57
|
historyHead2
|
|
49
|
-
} from "./compose-
|
|
58
|
+
} from "./compose-chcqk093.js";
|
|
50
59
|
import {
|
|
51
60
|
extractUserText2
|
|
52
61
|
} from "./compose-rxsqmcgq.js";
|
|
62
|
+
import {
|
|
63
|
+
holdMessage2
|
|
64
|
+
} from "./compose-pb3420v8.js";
|
|
53
65
|
|
|
54
66
|
// src/api/head.ts
|
|
55
67
|
import { isJsonObject, SdkError } from "@nyte-ai/schema";
|
|
56
68
|
var PREVIEW = 80;
|
|
57
|
-
function headHandle2(kernel, context, session, head,
|
|
69
|
+
function headHandle2(kernel, context, session, head, activation = false) {
|
|
58
70
|
const { principal } = context;
|
|
59
71
|
const watch = (options) => watchHead2(kernel, { session, head, principal, options });
|
|
72
|
+
const revise = (message, content, options) => reviseQueued2(kernel, { session, head, context, message, content, options }, activation);
|
|
60
73
|
return {
|
|
61
74
|
sessionId: session,
|
|
62
75
|
name: head,
|
|
63
|
-
send: (content, options) =>
|
|
76
|
+
send: (content, options) => (activation ? sendNow2 : send2)(kernel, { session, head, context, content, options }),
|
|
77
|
+
revise,
|
|
78
|
+
hold: (message) => holdMessage2(message, {
|
|
79
|
+
hold: () => leaseHold2(kernel, session, head, message),
|
|
80
|
+
revise: (content, options) => revise(message, content, options),
|
|
81
|
+
release: () => releaseHold2(kernel, session, head, message)
|
|
82
|
+
}),
|
|
64
83
|
async configure(patch) {
|
|
65
84
|
const outcome = await configure2(kernel, session, head, patch);
|
|
66
85
|
if (outcome.kind === "configured" && context !== CORE_CONTEXT2 && context.origin === null && context.authority.has("owner") && (patch.model !== undefined || patch.thinking !== undefined))
|
|
@@ -69,6 +88,7 @@ function headHandle2(kernel, context, session, head, admit = send2) {
|
|
|
69
88
|
},
|
|
70
89
|
view: (options) => viewHead2(kernel, { session, head, principal, options }),
|
|
71
90
|
watch,
|
|
91
|
+
see: (tip) => advanceSeen2(kernel, { session, head, principal, commit: tip }),
|
|
72
92
|
...watchStore2(() => watch()),
|
|
73
93
|
history: (input) => historyHead2(kernel, { session, head, principal, before: input.before, limit: input.limit }),
|
|
74
94
|
tree: () => tree2(kernel, session, head),
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
} from "./compose-q6c7wswc.js";
|
|
4
4
|
import {
|
|
5
5
|
put2
|
|
6
|
-
} from "./compose-
|
|
6
|
+
} from "./compose-ydth4n0z.js";
|
|
7
7
|
import {
|
|
8
8
|
convertJsonSchema2,
|
|
9
9
|
check2
|
|
10
10
|
} from "./compose-bj54tkph.js";
|
|
11
11
|
import {
|
|
12
12
|
commit2
|
|
13
|
-
} from "./compose-
|
|
13
|
+
} from "./compose-s4kyfjj6.js";
|
|
14
14
|
import {
|
|
15
15
|
MODEL_PREFERENCE2,
|
|
16
16
|
modelListingRef2,
|
|
@@ -19,13 +19,13 @@ import {
|
|
|
19
19
|
readThinkingPreference2,
|
|
20
20
|
readThinkingPreferences2,
|
|
21
21
|
readModelSelection2
|
|
22
|
-
} from "./compose-
|
|
22
|
+
} from "./compose-6e9ktyhr.js";
|
|
23
23
|
import {
|
|
24
24
|
closable2
|
|
25
25
|
} from "./compose-zfjxkavf.js";
|
|
26
26
|
import {
|
|
27
27
|
bumpGeneration2
|
|
28
|
-
} from "./compose-
|
|
28
|
+
} from "./compose-zq7ar8qm.js";
|
|
29
29
|
|
|
30
30
|
// src/extend/models.ts
|
|
31
31
|
import { SdkError } from "@nyte-ai/schema";
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
decodeSessionRecord2,
|
|
6
6
|
decodeSeenRecord2
|
|
7
|
-
} from "./compose-
|
|
7
|
+
} from "./compose-dw8fvn94.js";
|
|
8
8
|
import {
|
|
9
9
|
objectId2
|
|
10
10
|
} from "./compose-q6c7wswc.js";
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
attempt2,
|
|
28
28
|
coversRecord2,
|
|
29
29
|
sessionEvent2
|
|
30
|
-
} from "./compose-
|
|
30
|
+
} from "./compose-ydth4n0z.js";
|
|
31
31
|
import {
|
|
32
32
|
traced2,
|
|
33
33
|
followTrace2,
|
|
@@ -35,10 +35,10 @@ import {
|
|
|
35
35
|
} from "./compose-sd0stm97.js";
|
|
36
36
|
import {
|
|
37
37
|
commit2
|
|
38
|
-
} from "./compose-
|
|
38
|
+
} from "./compose-s4kyfjj6.js";
|
|
39
39
|
import {
|
|
40
40
|
stopRun2
|
|
41
|
-
} from "./compose-
|
|
41
|
+
} from "./compose-kgdmzx0n.js";
|
|
42
42
|
import {
|
|
43
43
|
refusalError2,
|
|
44
44
|
staticContributions2
|
|
@@ -47,17 +47,16 @@ import {
|
|
|
47
47
|
receiptHandle2,
|
|
48
48
|
sendReceipt2,
|
|
49
49
|
withdraw2
|
|
50
|
-
} from "./compose-
|
|
50
|
+
} from "./compose-dywbt4he.js";
|
|
51
51
|
import {
|
|
52
|
-
sendNow2,
|
|
53
52
|
admitDeciding2
|
|
54
|
-
} from "./compose-
|
|
53
|
+
} from "./compose-sjfbxw65.js";
|
|
55
54
|
import {
|
|
56
55
|
recordAcquisition2
|
|
57
|
-
} from "./compose-
|
|
56
|
+
} from "./compose-4s0c5zqv.js";
|
|
58
57
|
import {
|
|
59
58
|
runHandle2
|
|
60
|
-
} from "./compose-
|
|
59
|
+
} from "./compose-d95420jw.js";
|
|
61
60
|
import {
|
|
62
61
|
latest2,
|
|
63
62
|
closable2,
|
|
@@ -66,29 +65,29 @@ import {
|
|
|
66
65
|
import {
|
|
67
66
|
isolateWorkspace2,
|
|
68
67
|
releaseWorktree2
|
|
69
|
-
} from "./compose-
|
|
68
|
+
} from "./compose-3qkhfwtd.js";
|
|
70
69
|
import {
|
|
71
70
|
releaseStart2,
|
|
72
71
|
stopStart2,
|
|
73
72
|
discardSession2
|
|
74
|
-
} from "./compose-
|
|
73
|
+
} from "./compose-ct1h40fd.js";
|
|
75
74
|
import {
|
|
76
75
|
runCommand2,
|
|
77
76
|
completeSessionCommand2
|
|
78
|
-
} from "./compose-
|
|
77
|
+
} from "./compose-zq7ar8qm.js";
|
|
79
78
|
import {
|
|
80
79
|
configure2
|
|
81
|
-
} from "./compose-
|
|
80
|
+
} from "./compose-vphbntyn.js";
|
|
82
81
|
import {
|
|
83
82
|
headHandle2,
|
|
84
83
|
createHead2,
|
|
85
84
|
mergeHead2,
|
|
86
85
|
removeHead2
|
|
87
|
-
} from "./compose-
|
|
86
|
+
} from "./compose-gnfmty38.js";
|
|
88
87
|
import {
|
|
89
88
|
createPart2,
|
|
90
89
|
partHandle2
|
|
91
|
-
} from "./compose-
|
|
90
|
+
} from "./compose-zx78edb2.js";
|
|
92
91
|
|
|
93
92
|
// src/api/session.ts
|
|
94
93
|
import { asId, SdkError } from "@nyte-ai/schema";
|
|
@@ -154,7 +153,7 @@ function activated(kernel, part, session) {
|
|
|
154
153
|
}
|
|
155
154
|
function activationSession2(kernel, context, id) {
|
|
156
155
|
const head = (name) => ({
|
|
157
|
-
...headHandle2(kernel, context, id, name,
|
|
156
|
+
...headHandle2(kernel, context, id, name, true),
|
|
158
157
|
configure: (patch) => configure2(kernel, id, name, patch, true)
|
|
159
158
|
});
|
|
160
159
|
return {
|
|
@@ -300,7 +299,11 @@ async function start(kernel, context, input) {
|
|
|
300
299
|
prompt: input.prompt ?? null,
|
|
301
300
|
content: input.content
|
|
302
301
|
};
|
|
303
|
-
const digest = await objectId2(
|
|
302
|
+
const digest = await objectId2({
|
|
303
|
+
...described,
|
|
304
|
+
...input.isolation === undefined ? {} : { isolation: input.isolation },
|
|
305
|
+
...input.contextFiles === undefined ? {} : { contextFiles: input.contextFiles }
|
|
306
|
+
});
|
|
304
307
|
const trace = (origin === null ? null : followedTrace2(origin.session)) ?? receipt;
|
|
305
308
|
followTrace2(id, trace);
|
|
306
309
|
return traced2("host.admit", trace, { session: id }, async () => {
|
|
@@ -338,7 +341,8 @@ async function start(kernel, context, input) {
|
|
|
338
341
|
createdAt: at,
|
|
339
342
|
lastActivityAt: at,
|
|
340
343
|
heads: [{ name: MAIN2, stack: null, selected, lastRun: null }],
|
|
341
|
-
prompt: input.prompt ?? null
|
|
344
|
+
prompt: input.prompt ?? null,
|
|
345
|
+
...input.contextFiles === undefined ? {} : { contextFiles: input.contextFiles }
|
|
342
346
|
};
|
|
343
347
|
const outcome = await commit2(kernel, [
|
|
344
348
|
{
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
decodeRunRecord2,
|
|
13
13
|
decodePartRecord2
|
|
14
|
-
} from "./compose-
|
|
14
|
+
} from "./compose-dw8fvn94.js";
|
|
15
15
|
import {
|
|
16
16
|
dev2
|
|
17
17
|
} from "./compose-n116fnmp.js";
|
|
@@ -29,36 +29,36 @@ import {
|
|
|
29
29
|
attempt2,
|
|
30
30
|
readCall2,
|
|
31
31
|
readCalls2
|
|
32
|
-
} from "./compose-
|
|
32
|
+
} from "./compose-ydth4n0z.js";
|
|
33
33
|
import {
|
|
34
34
|
readAttributedPaths2,
|
|
35
35
|
ownedChanges2,
|
|
36
36
|
anotherChatLive2
|
|
37
|
-
} from "./compose-
|
|
37
|
+
} from "./compose-0zrwy7nk.js";
|
|
38
38
|
import {
|
|
39
39
|
settling2
|
|
40
|
-
} from "./compose-
|
|
40
|
+
} from "./compose-kwbs1f34.js";
|
|
41
41
|
import {
|
|
42
42
|
commit2
|
|
43
|
-
} from "./compose-
|
|
43
|
+
} from "./compose-s4kyfjj6.js";
|
|
44
44
|
import {
|
|
45
45
|
signalsPark2,
|
|
46
46
|
parkStep2,
|
|
47
47
|
runStep2
|
|
48
|
-
} from "./compose-
|
|
48
|
+
} from "./compose-4s0c5zqv.js";
|
|
49
49
|
import {
|
|
50
50
|
startJob2
|
|
51
|
-
} from "./compose-
|
|
51
|
+
} from "./compose-17xxey5y.js";
|
|
52
52
|
import {
|
|
53
53
|
publishPatch2
|
|
54
|
-
} from "./compose-
|
|
54
|
+
} from "./compose-d95420jw.js";
|
|
55
55
|
import {
|
|
56
56
|
hiddenOwners2,
|
|
57
57
|
missingCapabilities2
|
|
58
|
-
} from "./compose-
|
|
58
|
+
} from "./compose-qyjchprv.js";
|
|
59
59
|
import {
|
|
60
60
|
toolSource2
|
|
61
|
-
} from "./compose-
|
|
61
|
+
} from "./compose-zq7ar8qm.js";
|
|
62
62
|
|
|
63
63
|
// src/agent/tool-runner.ts
|
|
64
64
|
import { Type } from "typebox";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
decodeTrustRecord2
|
|
3
|
-
} from "./compose-
|
|
3
|
+
} from "./compose-dw8fvn94.js";
|
|
4
4
|
import {
|
|
5
5
|
trustRef2,
|
|
6
6
|
trustTarget2,
|
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
load2,
|
|
11
11
|
put2,
|
|
12
12
|
readKv2
|
|
13
|
-
} from "./compose-
|
|
13
|
+
} from "./compose-ydth4n0z.js";
|
|
14
14
|
import {
|
|
15
15
|
commit2
|
|
16
|
-
} from "./compose-
|
|
16
|
+
} from "./compose-s4kyfjj6.js";
|
|
17
17
|
import {
|
|
18
18
|
workspaceRecords2
|
|
19
|
-
} from "./compose-
|
|
19
|
+
} from "./compose-zt2qtrxj.js";
|
|
20
20
|
|
|
21
21
|
// src/env/trust.ts
|
|
22
22
|
import { Value } from "typebox/value";
|
|
@@ -7,21 +7,21 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
requireSession2,
|
|
9
9
|
readKv2
|
|
10
|
-
} from "./compose-
|
|
10
|
+
} from "./compose-ydth4n0z.js";
|
|
11
11
|
import {
|
|
12
12
|
classifyFileSupport2,
|
|
13
13
|
readWorkspace2
|
|
14
|
-
} from "./compose-
|
|
14
|
+
} from "./compose-zt2qtrxj.js";
|
|
15
15
|
import {
|
|
16
16
|
WORKSPACE_TRUST2,
|
|
17
17
|
projectTrust2
|
|
18
|
-
} from "./compose-
|
|
18
|
+
} from "./compose-hx8j2kef.js";
|
|
19
19
|
|
|
20
20
|
// src/extend/resources.ts
|
|
21
21
|
import { SdkError, standard } from "@nyte-ai/schema";
|
|
22
22
|
import { Type } from "typebox";
|
|
23
23
|
import { isMap, isScalar, parseDocument } from "yaml";
|
|
24
|
-
var CONTEXT_NAMES = ["AGENTS.override.md", "AGENTS.md", "CLAUDE.md"];
|
|
24
|
+
var CONTEXT_NAMES = ["AGENTS.override.md", "AGENTS.md", "AGENTS.MD", "CLAUDE.md", "CLAUDE.MD"];
|
|
25
25
|
var SKILL_DIRECTORIES = [".nyte/skills", ".agents/skills"];
|
|
26
26
|
var FRONTMATTER = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/;
|
|
27
27
|
var ABSOLUTE = /^(?:\/|[A-Za-z]:[\\/])/;
|
|
@@ -29,7 +29,8 @@ var LINK_HOPS = 8;
|
|
|
29
29
|
var SKILL_PATHS2 = "skills.paths";
|
|
30
30
|
var scanIssues = new WeakMap;
|
|
31
31
|
async function scanResources2(kernel, session) {
|
|
32
|
-
const
|
|
32
|
+
const record = (await requireSession2(kernel.store, session)).record;
|
|
33
|
+
const workspace = record.workspace;
|
|
33
34
|
const table = kernel.workspaceState.scans;
|
|
34
35
|
const cached = table.get(session);
|
|
35
36
|
if (cached !== undefined && cached.workspace === workspace)
|
|
@@ -38,7 +39,7 @@ async function scanResources2(kernel, session) {
|
|
|
38
39
|
const watching = new AbortController;
|
|
39
40
|
const entry = {
|
|
40
41
|
workspace,
|
|
41
|
-
resources: scan(kernel, workspace, () => kernel.environments.attach(session)).then((resources) => {
|
|
42
|
+
resources: scan(kernel, workspace, () => kernel.environments.attach(session), record.contextFiles ?? true).then((resources) => {
|
|
42
43
|
const api = kernel.plugins.runtimes().get(session)?.api("resources");
|
|
43
44
|
for (const issue of resourceIssues2(resources))
|
|
44
45
|
api?.report(issue);
|
|
@@ -77,7 +78,7 @@ function dropScans2(kernel, chosen = () => true) {
|
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
function scanWorkspaceResources2(kernel, workspace) {
|
|
80
|
-
return scan(kernel, workspace, () => kernel.environments.attachWorkspace(workspace));
|
|
81
|
+
return scan(kernel, workspace, () => kernel.environments.attachWorkspace(workspace), true);
|
|
81
82
|
}
|
|
82
83
|
function resourceIssues2(resources) {
|
|
83
84
|
return scanIssues.get(resources) ?? [];
|
|
@@ -161,11 +162,13 @@ function tryReadResources(api) {
|
|
|
161
162
|
return null;
|
|
162
163
|
}
|
|
163
164
|
}
|
|
164
|
-
async function scan(kernel, workspace, attach) {
|
|
165
|
+
async function scan(kernel, workspace, attach, withContext) {
|
|
165
166
|
const record = await readWorkspace2(kernel.store, workspace);
|
|
166
|
-
const
|
|
167
|
+
const homeEnv = await attachHome(kernel);
|
|
168
|
+
const user = homeEnv?.files ?? null;
|
|
167
169
|
const trusted = record !== null && await projectTrust2(kernel, record) === true;
|
|
168
|
-
const
|
|
170
|
+
const provider = record === null ? undefined : kernel.environments.provider(record.target.kind);
|
|
171
|
+
const attached = classifyFileSupport2(provider) === "available" ? attach() : null;
|
|
169
172
|
const env = attached === null ? null : trusted ? await attached : await attached.catch(() => null);
|
|
170
173
|
const folder = env?.files ?? null;
|
|
171
174
|
const project = trusted ? folder : null;
|
|
@@ -186,23 +189,11 @@ async function scan(kernel, workspace, attach) {
|
|
|
186
189
|
message: `The ${item.scope} skill ${item.name} at ${item.location} is shadowed by the ${over.scope} one at ${over.location}.`,
|
|
187
190
|
source: { plugin: "resources" }
|
|
188
191
|
}));
|
|
189
|
-
const contextFiles =
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
if (folder !== null && root !== null)
|
|
196
|
-
contextFiles.push(...await ancestorFiles(folder, root));
|
|
197
|
-
if (folder !== null) {
|
|
198
|
-
const found = await firstContext(folder, (name) => name);
|
|
199
|
-
if (found !== null)
|
|
200
|
-
contextFiles.push({
|
|
201
|
-
path: root === null ? found.path : join(root, found.path),
|
|
202
|
-
scope: "project",
|
|
203
|
-
content: found.content
|
|
204
|
-
});
|
|
205
|
-
}
|
|
192
|
+
const contextFiles = withContext ? await findContextFiles(homeEnv === null || home === null ? null : {
|
|
193
|
+
files: homeEnv.files,
|
|
194
|
+
real: realPaths(kernel.environments.provider("local"), homeEnv),
|
|
195
|
+
home
|
|
196
|
+
}, env === null ? null : { files: env.files, real: realPaths(provider, env), root }) : [];
|
|
206
197
|
const [userSystem, userAppend, projectSystem, projectAppend] = await Promise.all([
|
|
207
198
|
user === null ? null : readText(user, ".nyte/SYSTEM.md"),
|
|
208
199
|
user === null ? null : readText(user, ".nyte/APPEND_SYSTEM.md"),
|
|
@@ -228,7 +219,7 @@ async function scan(kernel, workspace, attach) {
|
|
|
228
219
|
scanIssues.set(resources, issues);
|
|
229
220
|
return resources;
|
|
230
221
|
}
|
|
231
|
-
function
|
|
222
|
+
function attachHome(kernel) {
|
|
232
223
|
const state = kernel.workspaceState;
|
|
233
224
|
if (state.home !== null)
|
|
234
225
|
return state.home;
|
|
@@ -236,7 +227,7 @@ function userFiles(kernel) {
|
|
|
236
227
|
const local = home === null ? undefined : kernel.environments.provider("local");
|
|
237
228
|
if (home === null || local === undefined)
|
|
238
229
|
return Promise.resolve(null);
|
|
239
|
-
const attached = local.attach({ kind: "local", path: home })
|
|
230
|
+
const attached = local.attach({ kind: "local", path: home });
|
|
240
231
|
state.home = attached;
|
|
241
232
|
attached.catch(() => {
|
|
242
233
|
if (state.home === attached)
|
|
@@ -342,24 +333,100 @@ function parseSkillMetadata(content, fallback, location, scope) {
|
|
|
342
333
|
description: fields.get("description") ?? ""
|
|
343
334
|
};
|
|
344
335
|
}
|
|
345
|
-
async function
|
|
336
|
+
async function findContextFiles(user, folder) {
|
|
337
|
+
const root = folder?.root ?? null;
|
|
338
|
+
const [own, ancestors, project, shadowed] = await Promise.all([
|
|
339
|
+
user === null ? null : findContext(user, join(user.home, ".nyte"), "user"),
|
|
340
|
+
folder === null || root === null ? [] : ancestorContexts(folder, root),
|
|
341
|
+
folder === null ? null : findContext(folder, root, "project"),
|
|
342
|
+
folder === null || root === null ? null : findShadowedContext(folder, root).catch(() => null)
|
|
343
|
+
]);
|
|
344
|
+
const seen = new Set;
|
|
345
|
+
return [own, ...ancestors, project].flatMap((found) => {
|
|
346
|
+
if (found === null || found.entry === shadowed || seen.has(found.real))
|
|
347
|
+
return [];
|
|
348
|
+
seen.add(found.real);
|
|
349
|
+
return [{ path: found.path, scope: found.scope, content: found.content }];
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
async function ancestorContexts(reader, root) {
|
|
346
353
|
try {
|
|
347
|
-
const found = await Promise.all(listAncestorPaths(root).map(
|
|
348
|
-
|
|
349
|
-
return context === null ? [] : [{ ...context, scope: "ancestor" }];
|
|
350
|
-
}));
|
|
351
|
-
return found.flat();
|
|
354
|
+
const found = await Promise.all(listAncestorPaths(root).map((directory) => findContext(reader, directory, "ancestor")));
|
|
355
|
+
return found.filter((context) => context !== null);
|
|
352
356
|
} catch {
|
|
353
357
|
return [];
|
|
354
358
|
}
|
|
355
359
|
}
|
|
356
|
-
async function
|
|
357
|
-
const
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
360
|
+
async function findContext(reader, directory, scope) {
|
|
361
|
+
const at = (name) => directory === null ? name : join(directory, name);
|
|
362
|
+
const read = await Promise.all(CONTEXT_NAMES.map(async (name) => ({ name, content: await readText(reader.files, at(name)) })));
|
|
363
|
+
const found = read.find((entry) => entry.content !== null);
|
|
364
|
+
if (found === undefined)
|
|
365
|
+
return null;
|
|
366
|
+
const path = at(found.name);
|
|
367
|
+
if (reader.real === null || directory === null)
|
|
368
|
+
return { path, scope, content: found.content, name: found.name, real: path, entry: path };
|
|
369
|
+
const [real, realDirectory, entry] = await Promise.all([
|
|
370
|
+
reader.real(path),
|
|
371
|
+
reader.real(directory),
|
|
372
|
+
reader.files.stat(path)
|
|
373
|
+
]);
|
|
374
|
+
return {
|
|
375
|
+
path: real === null || entry?.kind === "symlink" ? path : join(directory, fileName(real)),
|
|
376
|
+
scope,
|
|
377
|
+
content: found.content,
|
|
378
|
+
name: found.name,
|
|
379
|
+
real: real ?? path,
|
|
380
|
+
entry: join(realDirectory ?? directory, found.name)
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
async function findShadowedContext(reader, root) {
|
|
384
|
+
const real = reader.real;
|
|
385
|
+
if (real === null)
|
|
386
|
+
return null;
|
|
387
|
+
const git = await findGitPaths(reader.files, root);
|
|
388
|
+
if (git === null)
|
|
389
|
+
return null;
|
|
390
|
+
const common = await real(git.common) ?? git.common;
|
|
391
|
+
const worktree = await real(git.repository) ?? git.repository;
|
|
392
|
+
const main = parentDirectory(common);
|
|
393
|
+
if (!worktree.startsWith(join(main, "")))
|
|
394
|
+
return null;
|
|
395
|
+
const mainGit = join(main, ".git");
|
|
396
|
+
if ((await real(mainGit) ?? mainGit) !== common)
|
|
397
|
+
return null;
|
|
398
|
+
const own = await findContext(reader, worktree, "ancestor");
|
|
399
|
+
return own === null ? null : join(main, own.name);
|
|
400
|
+
}
|
|
401
|
+
async function findGitPaths(files, root) {
|
|
402
|
+
for (const directory of [root, ...listAncestorPaths(root).toReversed()]) {
|
|
403
|
+
const dotGit = join(directory, ".git");
|
|
404
|
+
const found = await files.stat(dotGit);
|
|
405
|
+
if (found === null)
|
|
406
|
+
continue;
|
|
407
|
+
const text = found.kind === "directory" ? null : await readText(files, dotGit);
|
|
408
|
+
if (text === null) {
|
|
409
|
+
if (found.kind === "file")
|
|
410
|
+
continue;
|
|
411
|
+
return await files.stat(join(dotGit, "HEAD")) === null ? null : { repository: directory, common: dotGit };
|
|
412
|
+
}
|
|
413
|
+
const named = text.trim();
|
|
414
|
+
if (!named.startsWith("gitdir: "))
|
|
415
|
+
continue;
|
|
416
|
+
const gitDir = absolutePath(directory, named.slice("gitdir: ".length).trim());
|
|
417
|
+
if (await files.stat(join(gitDir, "HEAD")) === null)
|
|
418
|
+
return null;
|
|
419
|
+
const common = await readText(files, join(gitDir, "commondir"));
|
|
420
|
+
return {
|
|
421
|
+
repository: directory,
|
|
422
|
+
common: common === null ? gitDir : absolutePath(gitDir, common.trim())
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
return null;
|
|
426
|
+
}
|
|
427
|
+
function realPaths(provider, env) {
|
|
428
|
+
const realpath = provider?.realpath;
|
|
429
|
+
return realpath === undefined ? null : (path) => realpath(env, path);
|
|
363
430
|
}
|
|
364
431
|
async function listDirectChildren(files, directory, kinds) {
|
|
365
432
|
const children = new Map;
|
|
@@ -432,5 +499,14 @@ function listAncestorPaths(root) {
|
|
|
432
499
|
function join(directory, name) {
|
|
433
500
|
return directory.endsWith("/") ? `${directory}${name}` : `${directory}/${name}`;
|
|
434
501
|
}
|
|
502
|
+
function absolutePath(base, path) {
|
|
503
|
+
return resolvePath(null, ABSOLUTE.test(path) ? path : join(base, path));
|
|
504
|
+
}
|
|
505
|
+
function parentDirectory(path) {
|
|
506
|
+
return path.slice(0, path.lastIndexOf("/")) || "/";
|
|
507
|
+
}
|
|
508
|
+
function fileName(path) {
|
|
509
|
+
return path.slice(path.lastIndexOf("/") + 1);
|
|
510
|
+
}
|
|
435
511
|
|
|
436
512
|
export { SKILL_PATHS2, scanResources2, dropScans2, scanWorkspaceResources2, resourceIssues2, resourcesPlugin2 };
|