@animalabs/agent-framework 0.14.0 → 0.16.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/README.md +22 -1
- package/dist/src/agent.d.ts +42 -0
- package/dist/src/agent.d.ts.map +1 -1
- package/dist/src/agent.js +94 -0
- package/dist/src/agent.js.map +1 -1
- package/dist/src/api/server.d.ts +9 -0
- package/dist/src/api/server.d.ts.map +1 -1
- package/dist/src/api/server.js +156 -0
- package/dist/src/api/server.js.map +1 -1
- package/dist/src/api/types.d.ts +15 -0
- package/dist/src/api/types.d.ts.map +1 -1
- package/dist/src/framework.d.ts +423 -5
- package/dist/src/framework.d.ts.map +1 -1
- package/dist/src/framework.js +1906 -102
- package/dist/src/framework.js.map +1 -1
- package/dist/src/gate/event-gate.d.ts +16 -0
- package/dist/src/gate/event-gate.d.ts.map +1 -1
- package/dist/src/gate/event-gate.js +41 -3
- package/dist/src/gate/event-gate.js.map +1 -1
- package/dist/src/index.d.ts +4 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcpl/channel-registry.d.ts +172 -0
- package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
- package/dist/src/mcpl/channel-registry.js +444 -2
- package/dist/src/mcpl/channel-registry.js.map +1 -1
- package/dist/src/mcpl/server-connection.d.ts +9 -0
- package/dist/src/mcpl/server-connection.d.ts.map +1 -1
- package/dist/src/mcpl/server-connection.js +71 -13
- package/dist/src/mcpl/server-connection.js.map +1 -1
- package/dist/src/modules/history/index.d.ts +145 -0
- package/dist/src/modules/history/index.d.ts.map +1 -0
- package/dist/src/modules/history/index.js +1150 -0
- package/dist/src/modules/history/index.js.map +1 -0
- package/dist/src/modules/history/search-regex-worker.d.ts +23 -0
- package/dist/src/modules/history/search-regex-worker.d.ts.map +1 -0
- package/dist/src/modules/history/search-regex-worker.js +57 -0
- package/dist/src/modules/history/search-regex-worker.js.map +1 -0
- package/dist/src/modules/index.d.ts +1 -0
- package/dist/src/modules/index.d.ts.map +1 -1
- package/dist/src/modules/index.js +1 -0
- package/dist/src/modules/index.js.map +1 -1
- package/dist/src/modules/workspace/index.d.ts.map +1 -1
- package/dist/src/modules/workspace/index.js +42 -1
- package/dist/src/modules/workspace/index.js.map +1 -1
- package/dist/src/modules/workspace/types.d.ts +5 -0
- package/dist/src/modules/workspace/types.d.ts.map +1 -1
- package/dist/src/modules/workspace/types.js.map +1 -1
- package/dist/src/operator-log.d.ts +78 -0
- package/dist/src/operator-log.d.ts.map +1 -0
- package/dist/src/operator-log.js +102 -0
- package/dist/src/operator-log.js.map +1 -0
- package/dist/src/recovery/discord-awareness-outbox.d.ts +10 -0
- package/dist/src/recovery/discord-awareness-outbox.d.ts.map +1 -1
- package/dist/src/recovery/discord-awareness-outbox.js +20 -0
- package/dist/src/recovery/discord-awareness-outbox.js.map +1 -1
- package/dist/src/types/framework.d.ts +24 -0
- package/dist/src/types/framework.d.ts.map +1 -1
- package/dist/src/types/trace.d.ts +40 -0
- package/dist/src/types/trace.d.ts.map +1 -1
- package/dist/test/agent-runtime-settings.test.js +199 -1
- package/dist/test/agent-runtime-settings.test.js.map +1 -1
- package/dist/test/api-admin-gate.test.d.ts +2 -0
- package/dist/test/api-admin-gate.test.d.ts.map +1 -0
- package/dist/test/api-admin-gate.test.js +116 -0
- package/dist/test/api-admin-gate.test.js.map +1 -0
- package/dist/test/channel-label-history.test.d.ts +2 -0
- package/dist/test/channel-label-history.test.d.ts.map +1 -0
- package/dist/test/channel-label-history.test.js +424 -0
- package/dist/test/channel-label-history.test.js.map +1 -0
- package/dist/test/discord-awareness-outbox.test.js +16 -0
- package/dist/test/discord-awareness-outbox.test.js.map +1 -1
- package/dist/test/event-gate.test.js +44 -0
- package/dist/test/event-gate.test.js.map +1 -1
- package/dist/test/helpers/quiesce-crash-child.d.ts +2 -0
- package/dist/test/helpers/quiesce-crash-child.d.ts.map +1 -0
- package/dist/test/helpers/quiesce-crash-child.js +156 -0
- package/dist/test/helpers/quiesce-crash-child.js.map +1 -0
- package/dist/test/history-module-overview.test.d.ts +2 -0
- package/dist/test/history-module-overview.test.d.ts.map +1 -0
- package/dist/test/history-module-overview.test.js +711 -0
- package/dist/test/history-module-overview.test.js.map +1 -0
- package/dist/test/history-module.test.d.ts +2 -0
- package/dist/test/history-module.test.d.ts.map +1 -0
- package/dist/test/history-module.test.js +595 -0
- package/dist/test/history-module.test.js.map +1 -0
- package/dist/test/host-quiesce.test.d.ts +2 -0
- package/dist/test/host-quiesce.test.d.ts.map +1 -0
- package/dist/test/host-quiesce.test.js +863 -0
- package/dist/test/host-quiesce.test.js.map +1 -0
- package/dist/test/kv-unified-open-flight-retry.test.d.ts +2 -0
- package/dist/test/kv-unified-open-flight-retry.test.d.ts.map +1 -0
- package/dist/test/kv-unified-open-flight-retry.test.js +189 -0
- package/dist/test/kv-unified-open-flight-retry.test.js.map +1 -0
- package/dist/test/kv-unified-wiring.test.js +39 -0
- package/dist/test/kv-unified-wiring.test.js.map +1 -1
- package/dist/test/operator-surgery.test.d.ts +2 -0
- package/dist/test/operator-surgery.test.d.ts.map +1 -0
- package/dist/test/operator-surgery.test.js +398 -0
- package/dist/test/operator-surgery.test.js.map +1 -0
- package/dist/test/puppet-tool-call.test.js +118 -1
- package/dist/test/puppet-tool-call.test.js.map +1 -1
- package/dist/test/puppet-turn-reservation.test.d.ts +2 -0
- package/dist/test/puppet-turn-reservation.test.d.ts.map +1 -0
- package/dist/test/puppet-turn-reservation.test.js +139 -0
- package/dist/test/puppet-turn-reservation.test.js.map +1 -0
- package/dist/test/save-recent-image.test.js +29 -0
- package/dist/test/save-recent-image.test.js.map +1 -1
- package/dist/test/tool-result-spill.test.js +114 -0
- package/dist/test/tool-result-spill.test.js.map +1 -1
- package/dist/test/workspace-read-text.test.d.ts +2 -0
- package/dist/test/workspace-read-text.test.d.ts.map +1 -0
- package/dist/test/workspace-read-text.test.js +101 -0
- package/dist/test/workspace-read-text.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/agent.ts +110 -0
- package/src/api/server.ts +159 -2
- package/src/api/types.ts +15 -0
- package/src/framework.ts +2196 -115
- package/src/gate/event-gate.ts +47 -4
- package/src/index.ts +5 -1
- package/src/mcpl/channel-registry.ts +495 -2
- package/src/mcpl/server-connection.ts +73 -13
- package/src/modules/history/index.ts +1277 -0
- package/src/modules/history/search-regex-worker.ts +76 -0
- package/src/modules/index.ts +2 -0
- package/src/modules/workspace/index.ts +42 -1
- package/src/modules/workspace/types.ts +5 -0
- package/src/operator-log.ts +132 -0
- package/src/recovery/discord-awareness-outbox.ts +19 -0
- package/src/types/framework.ts +27 -0
- package/src/types/trace.ts +46 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/history/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface SearchWorkerJob {
|
|
2
|
+
/** Flattened candidate text, aligned by index with the parent's candidate array. */
|
|
3
|
+
texts: string[];
|
|
4
|
+
pattern: string;
|
|
5
|
+
flags: string;
|
|
6
|
+
/** Stop scanning once this many matches are found. */
|
|
7
|
+
limit: number;
|
|
8
|
+
}
|
|
9
|
+
export interface SearchWorkerMatch {
|
|
10
|
+
/** Index into `texts` / the parent's candidate array. */
|
|
11
|
+
candidateIndex: number;
|
|
12
|
+
matchIndex: number;
|
|
13
|
+
matchLength: number;
|
|
14
|
+
}
|
|
15
|
+
export type SearchWorkerMessage = {
|
|
16
|
+
type: 'done';
|
|
17
|
+
matches: SearchWorkerMatch[];
|
|
18
|
+
scanned: number;
|
|
19
|
+
} | {
|
|
20
|
+
type: 'error';
|
|
21
|
+
error: string;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=search-regex-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-regex-worker.d.ts","sourceRoot":"","sources":["../../../../src/modules/history/search-regex-worker.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* search-regex-worker — runs a caller-supplied regex against a batch of
|
|
3
|
+
* message text on a separate thread, so HistoryModule's `search` tool can
|
|
4
|
+
* forcibly terminate a catastrophically-backtracking pattern (ReDoS)
|
|
5
|
+
* instead of blocking the framework's single-threaded event loop.
|
|
6
|
+
*
|
|
7
|
+
* Why a worker and not a Promise.race/setTimeout "timeout": JS is
|
|
8
|
+
* single-threaded, so nothing on the SAME thread can interrupt a
|
|
9
|
+
* synchronous RegExp.exec() call already in flight — a timeout callback
|
|
10
|
+
* racing it can't even fire until the blocking call returns, by which point
|
|
11
|
+
* it's too late. A worker thread is real OS-level concurrency: the parent's
|
|
12
|
+
* event loop keeps running, and `worker.terminate()` actually kills the
|
|
13
|
+
* stuck thread rather than just giving up on waiting for it.
|
|
14
|
+
*
|
|
15
|
+
* Only regex-mode search routes through this worker. Plain substring search
|
|
16
|
+
* (String.prototype.indexOf) is inherently linear in input length and has
|
|
17
|
+
* no equivalent risk, so it stays in-process — the common case pays no
|
|
18
|
+
* worker-spawn overhead.
|
|
19
|
+
*
|
|
20
|
+
* One-shot: the whole job (already-flattened text, already syntax-validated
|
|
21
|
+
* pattern/flags, match limit) arrives via `workerData` at construction; this
|
|
22
|
+
* script runs it to completion and posts exactly one message, then the
|
|
23
|
+
* parent always terminates the worker (whether it finished normally or had
|
|
24
|
+
* to be killed for running long) — no persistent pool, so a wedged worker
|
|
25
|
+
* from one bad pattern can never contaminate a later call.
|
|
26
|
+
*/
|
|
27
|
+
import { parentPort, workerData } from 'node:worker_threads';
|
|
28
|
+
const { texts, pattern, flags, limit } = workerData;
|
|
29
|
+
try {
|
|
30
|
+
// Re-construct (not re-validate for safety — RegExp syntax is what it is;
|
|
31
|
+
// the parent already rejected an uncompilable pattern before ever getting
|
|
32
|
+
// here) the matcher on this thread. Compilation succeeding doesn't bound
|
|
33
|
+
// MATCHING time — that's exactly the risk this worker exists to contain.
|
|
34
|
+
const matcher = new RegExp(pattern, flags);
|
|
35
|
+
const matches = [];
|
|
36
|
+
let scanned = 0;
|
|
37
|
+
for (let i = 0; i < texts.length; i++) {
|
|
38
|
+
// Check the limit BEFORE doing any work for this candidate — not after
|
|
39
|
+
// pushing a match — so limit:0 (a valid clampCount value: it's >= 0)
|
|
40
|
+
// correctly yields zero matches instead of one. Checking post-push would
|
|
41
|
+
// always let through the match that first reaches the limit.
|
|
42
|
+
if (matches.length >= limit)
|
|
43
|
+
break;
|
|
44
|
+
scanned++;
|
|
45
|
+
const m = matcher.exec(texts[i] ?? '');
|
|
46
|
+
if (m) {
|
|
47
|
+
matches.push({ candidateIndex: i, matchIndex: m.index, matchLength: m[0].length });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const done = { type: 'done', matches, scanned };
|
|
51
|
+
parentPort?.postMessage(done);
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
const errMsg = { type: 'error', error: e instanceof Error ? e.message : String(e) };
|
|
55
|
+
parentPort?.postMessage(errMsg);
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=search-regex-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-regex-worker.js","sourceRoot":"","sources":["../../../../src/modules/history/search-regex-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAsB7D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,UAA6B,CAAC;AAEvE,IAAI,CAAC;IACH,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,uEAAuE;QACvE,qEAAqE;QACrE,yEAAyE;QACzE,6DAA6D;QAC7D,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;YAAE,MAAM;QACnC,OAAO,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACrE,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACX,MAAM,MAAM,GAAwB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACzG,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -5,6 +5,7 @@ export { ApiModule } from './api/index.js';
|
|
|
5
5
|
export type { ApiEvent } from './api/index.js';
|
|
6
6
|
export { HealthModule } from './health/index.js';
|
|
7
7
|
export type { HealthModuleConfig } from './health/index.js';
|
|
8
|
+
export { HistoryModule } from './history/index.js';
|
|
8
9
|
export { WorkspaceModule, WorkspaceReadError } from './workspace/index.js';
|
|
9
10
|
export type { WorkspaceReadErrorCode, WorkspaceReadStage, WorkspaceDiskReadResult, ReadFileFromDiskOptions } from './workspace/index.js';
|
|
10
11
|
export type { WorkspaceConfig, MountConfig, MountState, WorkspaceModuleState, ReadInput, WriteInput, EditInput, DeleteInput, LsInput, GlobInput, GrepInput, StatusInput, MaterializeInput, SyncInput, } from './workspace/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACzI,YAAY,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,SAAS,GACV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,IAAI,gBAAgB,EAC7B,WAAW,EACX,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,YAAY,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACzI,YAAY,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,SAAS,GACV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,IAAI,gBAAgB,EAC7B,WAAW,EACX,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export { ApiModule } from './api/index.js';
|
|
5
5
|
export { HealthModule } from './health/index.js';
|
|
6
|
+
export { HistoryModule } from './history/index.js';
|
|
6
7
|
export { WorkspaceModule, WorkspaceReadError } from './workspace/index.js';
|
|
7
8
|
export { DiscordModule, DiscordJsClient } from './discord/index.js';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAmB3E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAmB3E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -740,13 +740,19 @@ export class WorkspaceModule {
|
|
|
740
740
|
return [
|
|
741
741
|
{
|
|
742
742
|
name: 'read',
|
|
743
|
-
description: 'Read a file from the workspace. Returns content with line numbers.
|
|
743
|
+
description: 'Read a file from the workspace. Returns content with line numbers. '
|
|
744
|
+
+ 'Reads at most 2000 lines per call by default — use offset/limit to page through larger files. '
|
|
745
|
+
+ 'For long lines or spill files, use offsetChars/limitChars instead: returns raw text without '
|
|
746
|
+
+ 'line numbers, with nextOffsetChars (null at EOF). Keep limitChars when continuing. '
|
|
747
|
+
+ 'Character offsets count UTF-16 code units; do not mix character and line parameters.',
|
|
744
748
|
inputSchema: {
|
|
745
749
|
type: 'object',
|
|
746
750
|
properties: {
|
|
747
751
|
path: { type: 'string', description: 'File path (mount-prefixed, e.g., "project/src/main.ts")' },
|
|
748
752
|
offset: { type: 'number', description: 'Starting line number (1-indexed)' },
|
|
749
753
|
limit: { type: 'number', description: 'Maximum number of lines to return (default 2000)' },
|
|
754
|
+
offsetChars: { type: 'integer', description: 'Character paging: zero-based UTF-16 offset (default 0); use nextOffsetChars to continue' },
|
|
755
|
+
limitChars: { type: 'integer', description: 'Character paging: code units to return (default 2000), plus at most one to keep a surrogate pair intact. Use the limit suggested by a spill notice.' },
|
|
750
756
|
},
|
|
751
757
|
required: ['path'],
|
|
752
758
|
},
|
|
@@ -1505,6 +1511,19 @@ export class WorkspaceModule {
|
|
|
1505
1511
|
// Tool Handlers
|
|
1506
1512
|
// ==========================================================================
|
|
1507
1513
|
async handleRead(input) {
|
|
1514
|
+
const characterPaging = input.offsetChars !== undefined || input.limitChars !== undefined;
|
|
1515
|
+
const offsetChars = input.offsetChars ?? 0;
|
|
1516
|
+
const limitChars = input.limitChars ?? 2000;
|
|
1517
|
+
if (characterPaging) {
|
|
1518
|
+
if (input.offset !== undefined || input.limit !== undefined) {
|
|
1519
|
+
return { success: false, isError: true, error: 'Use either offset/limit (lines) or offsetChars/limitChars (characters), not both.' };
|
|
1520
|
+
}
|
|
1521
|
+
if (!Number.isSafeInteger(offsetChars) || offsetChars < 0
|
|
1522
|
+
|| !Number.isSafeInteger(limitChars) || limitChars < 1
|
|
1523
|
+
|| input.offsetChars === null || input.limitChars === null) {
|
|
1524
|
+
return { success: false, isError: true, error: 'offsetChars must be a non-negative safe integer and limitChars a positive safe integer.' };
|
|
1525
|
+
}
|
|
1526
|
+
}
|
|
1508
1527
|
const { mount, relativePath } = this.parsePath(input.path);
|
|
1509
1528
|
const store = this.getStore();
|
|
1510
1529
|
await this.ensureSynced(mount, relativePath);
|
|
@@ -1517,6 +1536,28 @@ export class WorkspaceModule {
|
|
|
1517
1536
|
return { success: false, error: `Blob not found for: ${input.path}`, isError: true };
|
|
1518
1537
|
}
|
|
1519
1538
|
const content = blob.toString('utf-8');
|
|
1539
|
+
if (characterPaging) {
|
|
1540
|
+
const start = Math.min(offsetChars, content.length);
|
|
1541
|
+
const splitsPair = (at) => at > 0 && at < content.length
|
|
1542
|
+
&& content.charCodeAt(at - 1) >= 0xd800 && content.charCodeAt(at - 1) <= 0xdbff
|
|
1543
|
+
&& content.charCodeAt(at) >= 0xdc00 && content.charCodeAt(at) <= 0xdfff;
|
|
1544
|
+
if (splitsPair(start)) {
|
|
1545
|
+
return { success: false, isError: true, error: 'offsetChars splits a surrogate pair; use nextOffsetChars from the previous page.' };
|
|
1546
|
+
}
|
|
1547
|
+
let end = start + Math.min(limitChars, content.length - start);
|
|
1548
|
+
if (splitsPair(end))
|
|
1549
|
+
end++;
|
|
1550
|
+
return {
|
|
1551
|
+
success: true,
|
|
1552
|
+
data: {
|
|
1553
|
+
path: input.path,
|
|
1554
|
+
totalChars: content.length,
|
|
1555
|
+
offsetChars: start,
|
|
1556
|
+
nextOffsetChars: end < content.length ? end : null,
|
|
1557
|
+
content: content.slice(start, end),
|
|
1558
|
+
},
|
|
1559
|
+
};
|
|
1560
|
+
}
|
|
1520
1561
|
const lines = content.split('\n');
|
|
1521
1562
|
// Apply offset/limit. An unlimited read of a large file would inject the
|
|
1522
1563
|
// whole thing into the turn (a 2MB file ≈ 600k tokens → the request blows
|