stitchkit 0.114.2 → 0.116.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +54 -0
- package/dist/agent-runtime/coding-tool-files.d.ts.map +1 -1
- package/dist/agent-runtime/coding-tool-listing.d.ts.map +1 -1
- package/dist/agent-runtime/coding-tool-paths.d.ts.map +1 -1
- package/dist/agent-runtime/coding-tool-refusals.d.ts +6 -0
- package/dist/agent-runtime/coding-tool-refusals.d.ts.map +1 -1
- package/dist/agent-runtime/coding-tool-search-patch.d.ts.map +1 -1
- package/dist/agent-runtime/contained-scan.d.ts +1 -1
- package/dist/agent-runtime/contained-scan.d.ts.map +1 -1
- package/dist/agent-runtime/sandbox-broker.d.ts.map +1 -1
- package/dist/agent-runtime/sandbox-bubblewrap-storage.d.ts.map +1 -1
- package/dist/application/directory-inbox-files.d.ts.map +1 -1
- package/dist/application/file-state-store.d.ts.map +1 -1
- package/dist/entrypoints/agent-runtime/coding-tools.js +6 -4
- package/dist/entrypoints/agent-runtime/harness.js +2 -1
- package/dist/entrypoints/agent-runtime/sandbox.js +13 -8
- package/dist/entrypoints/agent-runtime/sqlite/bun.js +8 -6
- package/dist/entrypoints/agent-runtime/sqlite/node.js +8 -6
- package/dist/entrypoints/agent-runtime/testing.js +8 -6
- package/dist/entrypoints/agent-runtime.js +8 -6
- package/dist/entrypoints/application/diagnostic-journal.js +2 -2
- package/dist/entrypoints/application/directory-inbox.js +10 -7
- package/dist/entrypoints/cli/publish.js +11 -8
- package/dist/entrypoints/cli.js +6 -3
- package/dist/entrypoints/files.js +10 -7
- package/dist/entrypoints/process/owner-loss.js +1 -1
- package/dist/entrypoints/process.js +3 -3
- package/dist/entrypoints/react/keyboard/testing.js +1 -1
- package/dist/entrypoints/react/keyboard.js +11 -11
- package/dist/entrypoints/server.js +4 -4
- package/dist/entrypoints/telegram/grammy.js +2 -2
- package/dist/entrypoints/telegram.d.ts +1 -1
- package/dist/entrypoints/telegram.d.ts.map +1 -1
- package/dist/entrypoints/telegram.js +30 -14
- package/dist/entrypoints/tools.js +5 -2
- package/dist/files/chunk-spool.d.ts.map +1 -1
- package/dist/{index-2f9r0jgr.js → index-364k2zwa.js} +4 -4
- package/dist/{index-dc9ere5p.js → index-4g6qmgdx.js} +1 -1
- package/dist/index-6f49krb5.js +107 -0
- package/dist/{index-912sza5h.js → index-90p34rts.js} +1 -1
- package/dist/{index-07dcf2yn.js → index-ac6vvm30.js} +5 -2
- package/dist/{index-zrtrjkbf.js → index-arjmb6de.js} +183 -172
- package/dist/{index-7r4knwf8.js → index-dr3t5n1v.js} +14 -4
- package/dist/{index-84bf5spd.js → index-f6m4c545.js} +5 -2
- package/dist/{index-qj1sy4ep.js → index-fa435yq2.js} +1 -1
- package/dist/{index-hy802jnr.js → index-fdk4r4r6.js} +6 -3
- package/dist/index-jj9228tt.js +6 -0
- package/dist/{index-a3462dqf.js → index-jq2ky8fw.js} +1 -1
- package/dist/{index-s47ac8zt.js → index-n5sv4z0w.js} +142 -156
- package/dist/{index-bh2ht9y5.js → index-n8z3rvzw.js} +4 -1
- package/dist/index-q968hy6y.js +100 -0
- package/dist/{index-j4zh647a.js → index-tt30h7mr.js} +4 -1
- package/dist/{index-tnxsq7cw.js → index-w7jq3fz9.js} +113 -38
- package/dist/{index-p02zgk8x.js → index-y4rxnvgp.js} +6 -0
- package/dist/{index-5v5a9k2n.js → index-z3d6smer.js} +1 -1
- package/dist/{index-6b3pcq5z.js → index-zqkz4af9.js} +1 -1
- package/dist/internal/atomic-file.d.ts.map +1 -1
- package/dist/internal/atomic-staging.d.ts.map +1 -1
- package/dist/internal/contained-directory.d.ts +20 -0
- package/dist/internal/contained-directory.d.ts.map +1 -0
- package/dist/{agent-runtime → internal}/contained-files.d.ts +24 -13
- package/dist/internal/contained-files.d.ts.map +1 -0
- package/dist/internal/contained-handle.d.ts +30 -0
- package/dist/internal/contained-handle.d.ts.map +1 -0
- package/dist/internal/contained-write.d.ts +12 -0
- package/dist/internal/contained-write.d.ts.map +1 -0
- package/dist/internal/darwin-binding.d.ts +1 -1
- package/dist/internal/darwin-binding.d.ts.map +1 -1
- package/dist/internal/errno.d.ts +3 -0
- package/dist/internal/errno.d.ts.map +1 -0
- package/dist/internal/process-instance.d.ts.map +1 -1
- package/dist/internal/write-download.d.ts +5 -14
- package/dist/internal/write-download.d.ts.map +1 -1
- package/dist/process/group-diagnostics.d.ts +1 -0
- package/dist/process/group-diagnostics.d.ts.map +1 -1
- package/dist/process/group-settlement.d.ts +2 -0
- package/dist/process/group-settlement.d.ts.map +1 -1
- package/dist/process/group.d.ts.map +1 -1
- package/dist/process/owner-loss-control.d.ts.map +1 -1
- package/dist/react/keyboard/hooks.d.ts +2 -2
- package/dist/react/keyboard/hooks.d.ts.map +1 -1
- package/dist/react/keyboard/layers.d.ts +2 -0
- package/dist/react/keyboard/layers.d.ts.map +1 -1
- package/dist/telegram/broadcast-state.d.ts.map +1 -1
- package/dist/telegram/budget-transformer.d.ts +5 -2
- package/dist/telegram/budget-transformer.d.ts.map +1 -1
- package/dist/telegram/outbound-budget.d.ts +26 -11
- package/dist/telegram/outbound-budget.d.ts.map +1 -1
- package/dist/tools/cli/download.d.ts.map +1 -1
- package/dist/tools/cli/publication-storage.d.ts.map +1 -1
- package/dist/tools/cli/publication.d.ts.map +1 -1
- package/dist/tools/cli/view.d.ts +7 -1
- package/dist/tools/cli/view.d.ts.map +1 -1
- package/llms/agent-runtime.txt +16 -6
- package/llms/cli.txt +37 -3
- package/llms/process.txt +2 -2
- package/llms/react-keyboard.txt +18 -2
- package/llms/stitchkit.txt +3 -3
- package/llms/telegram.txt +10 -3
- package/llms/{upgrading-0.104.0-0.114.0.txt → upgrading-0.105.0-0.116.0.txt} +85 -124
- package/llms/{upgrading-0.44.0-0.61.0.txt → upgrading-0.44.0-0.62.0.txt} +120 -3
- package/llms/{upgrading-0.62.0-0.78.0.txt → upgrading-0.63.0-0.83.0.txt} +181 -120
- package/llms/{upgrading-0.79.0-0.103.13.txt → upgrading-0.84.0-0.104.0.txt} +124 -181
- package/llms/upgrading.txt +4 -4
- package/llms-full.txt +168 -19
- package/llms.txt +9 -9
- package/native/darwin-arm64.node +0 -0
- package/native/darwin-x64.node +0 -0
- package/native-assets.json +4 -4
- package/package.json +1 -1
- package/dist/agent-runtime/contained-darwin.d.ts +0 -21
- package/dist/agent-runtime/contained-darwin.d.ts.map +0 -1
- package/dist/agent-runtime/contained-files.d.ts.map +0 -1
- package/dist/agent-runtime/contained-write.d.ts +0 -9
- package/dist/agent-runtime/contained-write.d.ts.map +0 -1
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
nextZoneIndex2,
|
|
6
6
|
resolveZoneIndex,
|
|
7
7
|
createNavZone2
|
|
8
|
-
} from "../../index-
|
|
8
|
+
} from "../../index-y4rxnvgp.js";
|
|
9
9
|
|
|
10
10
|
// src/react/keyboard/hooks.ts
|
|
11
11
|
import {
|
|
@@ -39,15 +39,13 @@ function layerState(options) {
|
|
|
39
39
|
function useKeyLayer(options) {
|
|
40
40
|
const handle = useRef(null);
|
|
41
41
|
const initial = useRef(options);
|
|
42
|
-
|
|
43
|
-
const
|
|
44
|
-
handle.current =
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
handle.current = null;
|
|
48
|
-
};
|
|
42
|
+
useCommittedEffect(() => {
|
|
43
|
+
const layer = handle.current ?? stackOf(window).add(layerState(initial.current));
|
|
44
|
+
handle.current = layer;
|
|
45
|
+
layer.restore();
|
|
46
|
+
return () => layer.remove();
|
|
49
47
|
}, []);
|
|
50
|
-
|
|
48
|
+
useCommittedEffect(() => {
|
|
51
49
|
handle.current?.update(layerState(options));
|
|
52
50
|
});
|
|
53
51
|
}
|
|
@@ -105,12 +103,14 @@ function useNavZone(options) {
|
|
|
105
103
|
return {
|
|
106
104
|
zoneProps: {
|
|
107
105
|
ref: zoneRef,
|
|
108
|
-
"aria-orientation": options.orientation ?? "vertical",
|
|
109
106
|
[ZONE_ATTRIBUTE]: "",
|
|
110
107
|
onKeyDown: (event) => {
|
|
111
108
|
zone.keyDown(event.nativeEvent, element.current);
|
|
112
109
|
},
|
|
113
|
-
...role !== "none" && {
|
|
110
|
+
...role !== "none" && {
|
|
111
|
+
role,
|
|
112
|
+
"aria-orientation": options.orientation ?? "vertical"
|
|
113
|
+
},
|
|
114
114
|
...label !== undefined && { "aria-label": label }
|
|
115
115
|
},
|
|
116
116
|
itemProps: (id) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import"../index-2kbysk9s.js";
|
|
2
|
-
import"../index-
|
|
3
|
-
import"../index-
|
|
2
|
+
import"../index-n8z3rvzw.js";
|
|
3
|
+
import"../index-z3d6smer.js";
|
|
4
4
|
import {
|
|
5
5
|
errorCode2,
|
|
6
6
|
normalizeError2
|
|
@@ -52,11 +52,11 @@ import {
|
|
|
52
52
|
} from "../index-p0rf7sq9.js";
|
|
53
53
|
import {
|
|
54
54
|
createFileStateStore2
|
|
55
|
-
} from "../index-
|
|
55
|
+
} from "../index-fdk4r4r6.js";
|
|
56
56
|
import {
|
|
57
57
|
bindRealtimeServer2
|
|
58
58
|
} from "../index-2bqf0a74.js";
|
|
59
|
-
import"../index-
|
|
59
|
+
import"../index-zqkz4af9.js";
|
|
60
60
|
import {
|
|
61
61
|
withDeadline
|
|
62
62
|
} from "../index-9tqbxv5p.js";
|
|
@@ -26,7 +26,7 @@ function platformSignal(signal) {
|
|
|
26
26
|
release: () => signal.removeEventListener("abort", abort)
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
-
function telegramBudgetTransformer(budget) {
|
|
29
|
+
function telegramBudgetTransformer(budget, options) {
|
|
30
30
|
return async (previous, method, payload, signal) => {
|
|
31
31
|
const gate = platformSignal(signal);
|
|
32
32
|
let handedOn = false;
|
|
@@ -34,7 +34,7 @@ function telegramBudgetTransformer(budget) {
|
|
|
34
34
|
return await budget.run(method, payload, gate.signal, () => {
|
|
35
35
|
handedOn = true;
|
|
36
36
|
return previous(method, payload, signal);
|
|
37
|
-
});
|
|
37
|
+
}, options);
|
|
38
38
|
} catch (error) {
|
|
39
39
|
if (!handedOn && gate.signal?.aborted && error === gate.signal.reason) {
|
|
40
40
|
throw new TelegramNotDispatchedError2("request", "the Telegram request was cancelled before it was sent", { cause: error });
|
|
@@ -6,7 +6,7 @@ export { createTelegramLocalFiles, TelegramLocalFileError, type TelegramLocalFil
|
|
|
6
6
|
export { TelegramNotDispatchedError, type TelegramNotDispatchedStage, } from '../telegram/not-dispatched.js';
|
|
7
7
|
export { createTelegramOperatorChannel, type TelegramChatId, type TelegramOperatorChannel, type TelegramOperatorChannelConfig, type TelegramOperatorDrop, type TelegramOperatorMessage, type TelegramOperatorSenderConfig, telegramOperatorSender, } from '../telegram/operator-channel.js';
|
|
8
8
|
export { createTelegramOperatorDedupe, type TelegramOperatorDedupe, type TelegramOperatorDedupeVerdict, } from '../telegram/operator-dedupe.js';
|
|
9
|
-
export { type TelegramOutboundBudget, type TelegramOutboundBudgetConfig, type TelegramOutboundBudgetStats, telegramOutboundBudget, } from '../telegram/outbound-budget.js';
|
|
9
|
+
export { type TelegramOutboundBudget, type TelegramOutboundBudgetConfig, type TelegramOutboundBudgetStats, type TelegramOutboundCallOptions, type TelegramOutboundLane, telegramOutboundBudget, } from '../telegram/outbound-budget.js';
|
|
10
10
|
export { classifyTelegramSendFailure, TELEGRAM_SEND_FAILURE_REASONS, type TelegramSendFailure, type TelegramSendFailureReason, } from '../telegram/send-failure.js';
|
|
11
11
|
export { createTelegramBotTransport, type TelegramBotTransportOpen, type TelegramBotTransportOptions, type TelegramBotTransportResolve, type TelegramBotTransportSocket, type TelegramFetch, } from '../telegram/transport.js';
|
|
12
12
|
export { createTelegramUpdateIntake, type TelegramUpdateAttemptContext, type TelegramUpdateAttemptIntakeConfig, type TelegramUpdateEnvelope, type TelegramUpdateExhaustion, type TelegramUpdateExhaustionFailure, type TelegramUpdateFailure, type TelegramUpdateIntake, type TelegramUpdateIntakeConfig, type TelegramUpdateIntakeOptions, TelegramUpdateOwnershipLostError, type TelegramUpdateStoreStep, } from '../telegram/update-intake.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../src/entrypoints/telegram.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../src/entrypoints/telegram.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,wBAAwB,EAC7B,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,KAAK,0BAA0B,GAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,6BAA6B,EAC7B,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,GACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,0BAA0B,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,EAC1B,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,gCAAgC,EAChC,KAAK,uBAAuB,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,yBAAyB,EACzB,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EACL,KAAK,iCAAiC,EACtC,2BAA2B,EAC3B,iCAAiC,EACjC,KAAK,qBAAqB,GAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,KAAK,+BAA+B,EACpC,yBAAyB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,KAAK,0BAA0B,EAC/B,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,6BAA6B,EAClC,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,yBAAyB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
backoffDelay
|
|
3
3
|
} from "../index-g6a3na27.js";
|
|
4
4
|
import"../index-2kbysk9s.js";
|
|
5
|
-
import"../index-
|
|
5
|
+
import"../index-n8z3rvzw.js";
|
|
6
6
|
import {
|
|
7
7
|
attemptExclusiveLock
|
|
8
|
-
} from "../index-
|
|
8
|
+
} from "../index-z3d6smer.js";
|
|
9
9
|
import {
|
|
10
10
|
TELEGRAM_SEND_FAILURE_REASONS2,
|
|
11
11
|
classifyTelegramSendFailure2
|
|
@@ -23,7 +23,10 @@ import {
|
|
|
23
23
|
} from "../index-sznqf8fx.js";
|
|
24
24
|
import {
|
|
25
25
|
writeFileAtomic2
|
|
26
|
-
} from "../index-
|
|
26
|
+
} from "../index-ac6vvm30.js";
|
|
27
|
+
import {
|
|
28
|
+
errnoOf
|
|
29
|
+
} from "../index-jj9228tt.js";
|
|
27
30
|
import {
|
|
28
31
|
raceAbort
|
|
29
32
|
} from "../index-b0kddvzw.js";
|
|
@@ -263,7 +266,7 @@ function assertBroadcastName(name) {
|
|
|
263
266
|
throw new TypeError("Telegram broadcast name must be 1–128 of [A-Za-z0-9._-] and start with a letter or digit");
|
|
264
267
|
}
|
|
265
268
|
}
|
|
266
|
-
var absent = (error) =>
|
|
269
|
+
var absent = (error) => errnoOf(error) === "ENOENT";
|
|
267
270
|
function broadcastFiles(directory, name) {
|
|
268
271
|
return {
|
|
269
272
|
recipients: join(directory, `${name}.recipients.json`),
|
|
@@ -292,7 +295,7 @@ async function prepareJournal(files, lock) {
|
|
|
292
295
|
try {
|
|
293
296
|
await writeFileAtomic2(files.journal, "", { replace: false, durability: "directory" });
|
|
294
297
|
} catch (error) {
|
|
295
|
-
if (
|
|
298
|
+
if (errnoOf(error) !== "EEXIST")
|
|
296
299
|
throw error;
|
|
297
300
|
}
|
|
298
301
|
}
|
|
@@ -980,12 +983,14 @@ function createBudget(rate, fallback, now, sleepFor) {
|
|
|
980
983
|
wake = undefined;
|
|
981
984
|
current?.abort();
|
|
982
985
|
};
|
|
986
|
+
const nextWaiter = () => queue.find((waiter) => waiter.lane === "interactive") ?? queue[0];
|
|
983
987
|
const remove = (waiter) => {
|
|
984
988
|
const index = queue.indexOf(waiter);
|
|
985
989
|
if (index === -1)
|
|
986
990
|
return;
|
|
991
|
+
const next = nextWaiter() === waiter;
|
|
987
992
|
queue.splice(index, 1);
|
|
988
|
-
if (
|
|
993
|
+
if (next)
|
|
989
994
|
wakeWaiting();
|
|
990
995
|
};
|
|
991
996
|
const drain = async () => {
|
|
@@ -994,7 +999,7 @@ function createBudget(rate, fallback, now, sleepFor) {
|
|
|
994
999
|
draining = true;
|
|
995
1000
|
try {
|
|
996
1001
|
while (queue.length > 0) {
|
|
997
|
-
const head =
|
|
1002
|
+
const head = nextWaiter();
|
|
998
1003
|
if (head === undefined)
|
|
999
1004
|
break;
|
|
1000
1005
|
if (head.signal?.aborted) {
|
|
@@ -1023,7 +1028,7 @@ function createBudget(rate, fallback, now, sleepFor) {
|
|
|
1023
1028
|
}
|
|
1024
1029
|
continue;
|
|
1025
1030
|
}
|
|
1026
|
-
queue.
|
|
1031
|
+
queue.splice(queue.indexOf(head), 1);
|
|
1027
1032
|
if (head.onAbort)
|
|
1028
1033
|
head.signal?.removeEventListener("abort", head.onAbort);
|
|
1029
1034
|
nextGrantAt = at + head.cost * interval;
|
|
@@ -1037,14 +1042,20 @@ function createBudget(rate, fallback, now, sleepFor) {
|
|
|
1037
1042
|
drain();
|
|
1038
1043
|
}
|
|
1039
1044
|
};
|
|
1040
|
-
const acquire = (cost, signal) => {
|
|
1045
|
+
const acquire = (cost, signal, options) => {
|
|
1041
1046
|
if (!Number.isSafeInteger(cost) || cost < 1) {
|
|
1042
1047
|
return Promise.reject(new RangeError("cost must be an integer of at least one message"));
|
|
1043
1048
|
}
|
|
1044
1049
|
if (signal?.aborted)
|
|
1045
1050
|
return Promise.reject(signal.reason);
|
|
1046
1051
|
return new Promise((resolve, reject) => {
|
|
1047
|
-
const waiter = {
|
|
1052
|
+
const waiter = {
|
|
1053
|
+
cost,
|
|
1054
|
+
lane: options?.lane ?? "interactive",
|
|
1055
|
+
resolve,
|
|
1056
|
+
reject,
|
|
1057
|
+
...signal && { signal }
|
|
1058
|
+
};
|
|
1048
1059
|
if (signal) {
|
|
1049
1060
|
const onAbort = () => {
|
|
1050
1061
|
remove(waiter);
|
|
@@ -1081,23 +1092,27 @@ function createBudget(rate, fallback, now, sleepFor) {
|
|
|
1081
1092
|
await wait(Math.min(remaining, MAX_TIMER_MS), signal);
|
|
1082
1093
|
}
|
|
1083
1094
|
};
|
|
1084
|
-
const run = async (method, payload, signal, send) => {
|
|
1095
|
+
const run = async (method, payload, signal, send, options) => {
|
|
1085
1096
|
if (signal?.aborted)
|
|
1086
1097
|
throw signal.reason;
|
|
1087
1098
|
const cost = sendCost(method, payload);
|
|
1088
1099
|
if (cost > 0)
|
|
1089
|
-
await acquire(cost, signal);
|
|
1100
|
+
await acquire(cost, signal, options);
|
|
1090
1101
|
if (signal?.aborted)
|
|
1091
1102
|
throw signal.reason;
|
|
1103
|
+
const pauseOnRefusal = (refusal) => {
|
|
1104
|
+
if (cost > 0)
|
|
1105
|
+
pauseAfter(refusal);
|
|
1106
|
+
};
|
|
1092
1107
|
let result;
|
|
1093
1108
|
try {
|
|
1094
1109
|
result = await send();
|
|
1095
1110
|
} catch (error) {
|
|
1096
|
-
|
|
1111
|
+
pauseOnRefusal(error);
|
|
1097
1112
|
throw error;
|
|
1098
1113
|
}
|
|
1099
1114
|
if (isRecord(result) && result.ok === false)
|
|
1100
|
-
|
|
1115
|
+
pauseOnRefusal(result);
|
|
1101
1116
|
return result;
|
|
1102
1117
|
};
|
|
1103
1118
|
const budget = {
|
|
@@ -1110,6 +1125,7 @@ function createBudget(rate, fallback, now, sleepFor) {
|
|
|
1110
1125
|
granted,
|
|
1111
1126
|
messages,
|
|
1112
1127
|
queued: queue.length,
|
|
1128
|
+
queuedBulk: queue.filter((waiter) => waiter.lane === "bulk").length,
|
|
1113
1129
|
messagesPerSecond: rate,
|
|
1114
1130
|
pausedForMs: Math.max(0, pausedUntil - now())
|
|
1115
1131
|
})
|
|
@@ -74,7 +74,8 @@ import {
|
|
|
74
74
|
WaitTimeoutError,
|
|
75
75
|
runWaitOperation,
|
|
76
76
|
createCli2
|
|
77
|
-
} from "../index-
|
|
77
|
+
} from "../index-w7jq3fz9.js";
|
|
78
|
+
import"../index-2kbysk9s.js";
|
|
78
79
|
import {
|
|
79
80
|
ManagedFilePathSchema2,
|
|
80
81
|
ManagedFileRefSchema2
|
|
@@ -93,6 +94,8 @@ import {
|
|
|
93
94
|
import {
|
|
94
95
|
createToolInvoker2
|
|
95
96
|
} from "../index-vwhrnp67.js";
|
|
97
|
+
import"../index-q968hy6y.js";
|
|
98
|
+
import"../index-arjmb6de.js";
|
|
96
99
|
import {
|
|
97
100
|
collectToolSurface
|
|
98
101
|
} from "../index-86nbfysb.js";
|
|
@@ -105,7 +108,7 @@ import {
|
|
|
105
108
|
} from "../index-ega3yz4c.js";
|
|
106
109
|
import {
|
|
107
110
|
ManagedFileError2
|
|
108
|
-
} from "../index-
|
|
111
|
+
} from "../index-364k2zwa.js";
|
|
109
112
|
import {
|
|
110
113
|
fetchGuarded,
|
|
111
114
|
fetchPinnedDocument,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-spool.d.ts","sourceRoot":"","sources":["../../src/files/chunk-spool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAgBH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"chunk-spool.d.ts","sourceRoot":"","sources":["../../src/files/chunk-spool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAgBH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAMnC,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,GAClB,iBAAiB,GACjB,2BAA2B,GAC3B,mBAAmB,GACnB,mBAAmB,CAAC;AAYxB;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,mBAAmB,CAE/E;AAED,yCAAyC;AACzC,eAAO,MAAM,uBAAuB,EAAE,SAAS,mBAAmB,EAEjE,CAAC;AAUF,MAAM,WAAW,gBAAgB,CAAC,KAAK;IACrC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,wBAAwB;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc,CAAC,KAAK,CAAE,SAAQ,aAAa;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,uCAAuC;IACvC,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,UAAU,CAAC,KAAK;IAC/B,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;IACpE,GAAG,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;IAC1D,4FAA4F;IAC5F,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,2EAA2E;IAC3E,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1B;AAkED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CA4J1F"}
|
|
@@ -2,17 +2,17 @@ import {
|
|
|
2
2
|
ManagedFilePathSchema2,
|
|
3
3
|
ManagedFileRefSchema2
|
|
4
4
|
} from "./index-xqhede6x.js";
|
|
5
|
+
import {
|
|
6
|
+
isWithinDir2
|
|
7
|
+
} from "./index-5cc6r990.js";
|
|
5
8
|
import {
|
|
6
9
|
BoundedFileReadError,
|
|
7
10
|
readBoundedFile
|
|
8
11
|
} from "./index-m616f0yz.js";
|
|
9
|
-
import {
|
|
10
|
-
isWithinDir2
|
|
11
|
-
} from "./index-5cc6r990.js";
|
|
12
12
|
import {
|
|
13
13
|
writeAllBytes,
|
|
14
14
|
writeAtomicFileStaged
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-ac6vvm30.js";
|
|
16
16
|
import {
|
|
17
17
|
AtomicFilePublicationError2
|
|
18
18
|
} from "./index-b56nnscm.js";
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import {
|
|
2
|
+
openDirectoryAt,
|
|
3
|
+
openPinnedDirectory,
|
|
4
|
+
openFileAt,
|
|
5
|
+
listAt,
|
|
6
|
+
readContainedUtf8Handle
|
|
7
|
+
} from "./index-arjmb6de.js";
|
|
8
|
+
|
|
9
|
+
// src/agent-runtime/contained-scan.ts
|
|
10
|
+
import path from "node:path";
|
|
11
|
+
async function walkContainedFiles(input) {
|
|
12
|
+
const scan = await scanContainedFiles({ ...input, symlinks: "refuse" });
|
|
13
|
+
if (scan.truncated)
|
|
14
|
+
throw new Error("Contained file traversal exceeded its bounds");
|
|
15
|
+
return scan.files;
|
|
16
|
+
}
|
|
17
|
+
async function scanContainedFiles(input) {
|
|
18
|
+
const files = [];
|
|
19
|
+
let truncated = false;
|
|
20
|
+
let skippedDirectories = 0;
|
|
21
|
+
let skippedSymlinks = 0;
|
|
22
|
+
const denied = [];
|
|
23
|
+
let deniedTruncated = false;
|
|
24
|
+
const root = await openPinnedDirectory(input.root);
|
|
25
|
+
const visit = async (directory, relativeDirectory, depth) => {
|
|
26
|
+
if (truncated)
|
|
27
|
+
return;
|
|
28
|
+
if (depth > input.maxDepth) {
|
|
29
|
+
truncated = true;
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const entries = [...await listAt(directory)];
|
|
33
|
+
entries.sort((left, right) => left.name.localeCompare(right.name));
|
|
34
|
+
for (const entry of entries) {
|
|
35
|
+
const relative = relativeDirectory ? path.join(relativeDirectory, entry.name) : entry.name;
|
|
36
|
+
const kind = entry.isDirectory() ? "directory" : entry.isSymbolicLink() ? "symlink" : entry.isFile() ? "file" : "other";
|
|
37
|
+
if (kind === "file" && input.includeFile && !input.includeFile(relative))
|
|
38
|
+
continue;
|
|
39
|
+
if (input.authorizePath && !await input.authorizePath(relative, kind)) {
|
|
40
|
+
if (denied.length < input.maxFiles)
|
|
41
|
+
denied.push({ relative, kind });
|
|
42
|
+
else
|
|
43
|
+
deniedTruncated = true;
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (entry.isSymbolicLink()) {
|
|
47
|
+
if (input.symlinks === "refuse") {
|
|
48
|
+
throw new Error(`Contained file traversal refuses symlink: ${relative}`);
|
|
49
|
+
}
|
|
50
|
+
skippedSymlinks += 1;
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (entry.isDirectory()) {
|
|
54
|
+
if (input.excludeDirectory?.(relative)) {
|
|
55
|
+
skippedDirectories += 1;
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
let child;
|
|
59
|
+
try {
|
|
60
|
+
child = await openDirectoryAt(directory, entry.name);
|
|
61
|
+
} catch (error) {
|
|
62
|
+
if (input.symlinks === "skip") {
|
|
63
|
+
skippedSymlinks += 1;
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
await visit(child, relative, depth + 1);
|
|
70
|
+
} finally {
|
|
71
|
+
await child.close();
|
|
72
|
+
}
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
if (!entry.isFile())
|
|
76
|
+
continue;
|
|
77
|
+
if (files.length >= input.maxFiles) {
|
|
78
|
+
truncated = true;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
let content;
|
|
82
|
+
if (input.readMaxBytes !== undefined) {
|
|
83
|
+
try {
|
|
84
|
+
const handle = await openFileAt(directory, entry.name);
|
|
85
|
+
try {
|
|
86
|
+
content = await readContainedUtf8Handle(handle, input.readMaxBytes);
|
|
87
|
+
} finally {
|
|
88
|
+
await handle.close();
|
|
89
|
+
}
|
|
90
|
+
} catch (error) {
|
|
91
|
+
if (input.skipUnreadable)
|
|
92
|
+
continue;
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
files.push({ absolute: relative, relative, ...content && { content } });
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
try {
|
|
100
|
+
await visit(root, "", 0);
|
|
101
|
+
} finally {
|
|
102
|
+
await root.close();
|
|
103
|
+
}
|
|
104
|
+
return { files, truncated, skippedDirectories, skippedSymlinks, denied, deniedTruncated };
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export { walkContainedFiles, scanContainedFiles };
|
|
@@ -6,7 +6,10 @@ import {
|
|
|
6
6
|
} from "./index-b56nnscm.js";
|
|
7
7
|
import {
|
|
8
8
|
stagingPath
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-tt30h7mr.js";
|
|
10
|
+
import {
|
|
11
|
+
errnoOf
|
|
12
|
+
} from "./index-jj9228tt.js";
|
|
10
13
|
|
|
11
14
|
// src/internal/atomic-file.ts
|
|
12
15
|
import { closeSync, fchmodSync, fsyncSync, openSync, unlinkSync, writeSync } from "node:fs";
|
|
@@ -27,7 +30,7 @@ async function writeFileAtomic2(target, data, options = {}) {
|
|
|
27
30
|
return writeAtomicFileData(target, data, options);
|
|
28
31
|
}
|
|
29
32
|
function isMissing(error) {
|
|
30
|
-
return
|
|
33
|
+
return errnoOf(error) === "ENOENT";
|
|
31
34
|
}
|
|
32
35
|
async function writeAtomicFileStaged(target, stage, options, io = { open, unlink, publish: publishAtomicFile }) {
|
|
33
36
|
const mode = options.mode ?? DEFAULT_MODE;
|