pi-fabric 0.90.1 → 0.91.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/dist/chunks/chunk-4S5PVL7Y.js +91 -0
- package/dist/chunks/chunk-4S5PVL7Y.js.map +7 -0
- package/dist/fabric-runtime-state.d.ts.map +1 -1
- package/dist/fabric-runtime-state.js +11 -10
- package/dist/fabric-runtime-state.js.map +2 -2
- package/dist/runtime/monty-bridge.d.ts.map +1 -1
- package/dist/runtime/monty-runtime.js +6 -86
- package/dist/runtime/monty-runtime.js.map +3 -3
- package/dist/runtime/python-arguments.d.ts +2 -0
- package/dist/runtime/python-arguments.d.ts.map +1 -0
- package/dist/runtime-state-speculation.d.ts +1 -1
- package/dist/runtime-state-speculation.d.ts.map +1 -1
- package/dist/speculation/python-scanner.d.ts +7 -0
- package/dist/speculation/python-scanner.d.ts.map +1 -0
- package/dist/speculation/python-scanner.js +166 -0
- package/dist/speculation/python-scanner.js.map +7 -0
- package/dist/speculation/stream-tap.d.ts +5 -2
- package/dist/speculation/stream-tap.d.ts.map +1 -1
- package/docs/kernels.md +1 -1
- package/docs/speculation.md +30 -23
- package/package.json +3 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// src/runtime/monty-values.ts
|
|
2
|
+
var MAX_VALUE_BYTES = 16 * 1024 * 1024;
|
|
3
|
+
function normalizeMontyValue(value, hostValue = false) {
|
|
4
|
+
let remaining = MAX_VALUE_BYTES;
|
|
5
|
+
let nodes = 0;
|
|
6
|
+
const active = /* @__PURE__ */ new Set();
|
|
7
|
+
const visit = (item, depth) => {
|
|
8
|
+
if (++nodes > 1e5 || depth > 48) throw new TypeError("Monty JSON value exceeds the node/depth limit");
|
|
9
|
+
if (typeof item === "string") remaining -= Buffer.byteLength(item, "utf8");
|
|
10
|
+
else remaining -= 8;
|
|
11
|
+
if (remaining < 0) throw new TypeError("Monty JSON value exceeds 16 MiB");
|
|
12
|
+
if (item === null || typeof item === "string" || typeof item === "boolean") return item;
|
|
13
|
+
if (typeof item === "number" && Number.isFinite(item) && (!Number.isInteger(item) || Number.isSafeInteger(item))) return item;
|
|
14
|
+
if (typeof item !== "object" || item === null) throw new TypeError("Monty boundary requires JSON-compatible values (finite numbers and safe integers)");
|
|
15
|
+
if (active.has(item)) throw new TypeError("Monty boundary cannot serialize cyclic values");
|
|
16
|
+
active.add(item);
|
|
17
|
+
try {
|
|
18
|
+
if (Array.isArray(item)) return Array.from(item, (entry) => visit(entry, depth + 1));
|
|
19
|
+
const plain = Object.getPrototypeOf(item) === Object.prototype || Object.getPrototypeOf(item) === null;
|
|
20
|
+
if (!(item instanceof Map) && (!plain || !hostValue && Object.hasOwn(item, "__monty_type__"))) {
|
|
21
|
+
throw new TypeError("Monty boundary requires JSON-compatible values; bytes, sets and class/module objects are unsupported");
|
|
22
|
+
}
|
|
23
|
+
const result = {};
|
|
24
|
+
for (const [key, entry] of item instanceof Map ? item.entries() : Object.entries(item)) {
|
|
25
|
+
if (typeof key !== "string") throw new TypeError("Monty JSON dictionary keys must be strings");
|
|
26
|
+
visit(key, depth + 1);
|
|
27
|
+
Object.defineProperty(result, key, { value: visit(entry, depth + 1), enumerable: true, configurable: true, writable: true });
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
} finally {
|
|
31
|
+
active.delete(item);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
return visit(hostValue && value === void 0 ? null : value, 0);
|
|
35
|
+
}
|
|
36
|
+
function montyInput(value) {
|
|
37
|
+
if (Array.isArray(value)) return value.map(montyInput);
|
|
38
|
+
if (value !== null && typeof value === "object") {
|
|
39
|
+
return new Map(Object.entries(value).map(([key, entry]) => [key, montyInput(entry)]));
|
|
40
|
+
}
|
|
41
|
+
return value;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// src/runtime/python-arguments.ts
|
|
45
|
+
var PRIMARY = { read: "path", ls: "path", bash: "command", powershell: "command", grep: "pattern", find: "pattern" };
|
|
46
|
+
var POSITIONAL = {
|
|
47
|
+
read: ["path", "offset", "limit"],
|
|
48
|
+
ls: ["path", "limit"],
|
|
49
|
+
grep: ["pattern", "path", "limit"],
|
|
50
|
+
find: ["pattern", "path", "limit"],
|
|
51
|
+
write: ["path", "content"],
|
|
52
|
+
edit: ["path", "oldText", "newText"],
|
|
53
|
+
bash: ["command"],
|
|
54
|
+
powershell: ["command"]
|
|
55
|
+
};
|
|
56
|
+
var record = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
57
|
+
function pythonArgumentsFor(ref, positional, kwargs) {
|
|
58
|
+
let args = normalizeMontyValue(kwargs);
|
|
59
|
+
const values = normalizeMontyValue(positional);
|
|
60
|
+
if (values.length === 1 && record(values[0])) {
|
|
61
|
+
if (Object.keys(values[0]).some((key) => Object.hasOwn(args, key))) throw new TypeError("Duplicate Fabric argument keys");
|
|
62
|
+
args = { ...values[0], ...args };
|
|
63
|
+
} else if (ref === "tools.search" && values.length === 1 && typeof values[0] === "string") {
|
|
64
|
+
args = { ...args, query: values[0] };
|
|
65
|
+
} else if (values.length) {
|
|
66
|
+
const name = ref.startsWith("pi.") ? ref.slice(3) : "";
|
|
67
|
+
const primary = Object.hasOwn(PRIMARY, name) ? PRIMARY[name] : void 0;
|
|
68
|
+
const fields = Object.hasOwn(POSITIONAL, name) ? POSITIONAL[name] : [];
|
|
69
|
+
if (primary && values.length === 2 && typeof values[0] === "string" && record(values[1])) {
|
|
70
|
+
args = { ...values[1], ...args, [primary]: values[0] };
|
|
71
|
+
} else if (fields.length && values.length <= fields.length) {
|
|
72
|
+
for (let index = 0; index < values.length; index++) args[fields[index]] = values[index];
|
|
73
|
+
} else throw new TypeError("Fabric calls accept a dictionary or keyword arguments; Pi tools also accept documented positional arguments");
|
|
74
|
+
}
|
|
75
|
+
if (ref === "pi.edit" && !Object.hasOwn(args, "edits") && (Object.hasOwn(args, "oldText") || Object.hasOwn(args, "newText"))) {
|
|
76
|
+
const edit = {};
|
|
77
|
+
for (const key of ["oldText", "newText"]) if (Object.hasOwn(args, key)) {
|
|
78
|
+
edit[key] = args[key];
|
|
79
|
+
delete args[key];
|
|
80
|
+
}
|
|
81
|
+
args.edits = [edit];
|
|
82
|
+
}
|
|
83
|
+
return args;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export {
|
|
87
|
+
normalizeMontyValue,
|
|
88
|
+
montyInput,
|
|
89
|
+
pythonArgumentsFor
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=chunk-4S5PVL7Y.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/runtime/monty-values.ts", "../../src/runtime/python-arguments.ts"],
|
|
4
|
+
"sourcesContent": ["const MAX_VALUE_BYTES = 16 * 1024 * 1024;\n\n/** Strict JSON boundary: never silently stringify bytes, sets, unsafe ints or cycles. */\nexport function normalizeMontyValue(value: unknown, hostValue = false): unknown {\n let remaining = MAX_VALUE_BYTES;\n let nodes = 0;\n const active = new Set<object>();\n const visit = (item: unknown, depth: number): unknown => {\n if (++nodes > 100_000 || depth > 48) throw new TypeError(\"Monty JSON value exceeds the node/depth limit\");\n if (typeof item === \"string\") remaining -= Buffer.byteLength(item, \"utf8\");\n else remaining -= 8;\n if (remaining < 0) throw new TypeError(\"Monty JSON value exceeds 16 MiB\");\n if (item === null || typeof item === \"string\" || typeof item === \"boolean\") return item;\n if (typeof item === \"number\" && Number.isFinite(item) && (!Number.isInteger(item) || Number.isSafeInteger(item))) return item;\n if (typeof item !== \"object\" || item === null) throw new TypeError(\"Monty boundary requires JSON-compatible values (finite numbers and safe integers)\");\n if (active.has(item)) throw new TypeError(\"Monty boundary cannot serialize cyclic values\");\n active.add(item);\n try {\n if (Array.isArray(item)) return Array.from(item, (entry) => visit(entry, depth + 1));\n const plain = Object.getPrototypeOf(item) === Object.prototype || Object.getPrototypeOf(item) === null;\n if (!(item instanceof Map) && (!plain || (!hostValue && Object.hasOwn(item, \"__monty_type__\")))) {\n throw new TypeError(\"Monty boundary requires JSON-compatible values; bytes, sets and class/module objects are unsupported\");\n }\n const result: Record<string, unknown> = {};\n for (const [key, entry] of item instanceof Map ? item.entries() : Object.entries(item)) {\n if (typeof key !== \"string\") throw new TypeError(\"Monty JSON dictionary keys must be strings\");\n visit(key, depth + 1);\n Object.defineProperty(result, key, { value: visit(entry, depth + 1), enumerable: true, configurable: true, writable: true });\n }\n return result;\n } finally { active.delete(item); }\n };\n return visit(hostValue && value === undefined ? null : value, 0);\n}\n\n/** Maps prevent JSON keys such as __monty_type__ from being interpreted as native markers. */\nexport function montyInput(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(montyInput);\n if (value !== null && typeof value === \"object\") {\n return new Map(Object.entries(value).map(([key, entry]) => [key, montyInput(entry)]));\n }\n return value;\n}\n", "import { normalizeMontyValue } from \"./monty-values.js\";\n\nconst PRIMARY: Record<string, string> = { read: \"path\", ls: \"path\", bash: \"command\", powershell: \"command\", grep: \"pattern\", find: \"pattern\" };\nconst POSITIONAL: Record<string, string[]> = {\n read: [\"path\", \"offset\", \"limit\"], ls: [\"path\", \"limit\"], grep: [\"pattern\", \"path\", \"limit\"],\n find: [\"pattern\", \"path\", \"limit\"], write: [\"path\", \"content\"], edit: [\"path\", \"oldText\", \"newText\"], bash: [\"command\"], powershell: [\"command\"],\n};\nconst record = (value: unknown): value is Record<string, unknown> =>\n value !== null && typeof value === \"object\" && !Array.isArray(value);\n\nexport function pythonArgumentsFor(ref: string, positional: unknown[], kwargs: Record<string, unknown>): Record<string, unknown> {\n let args = normalizeMontyValue(kwargs) as Record<string, unknown>;\n const values = normalizeMontyValue(positional) as unknown[];\n if (values.length === 1 && record(values[0])) {\n if (Object.keys(values[0]).some((key) => Object.hasOwn(args, key))) throw new TypeError(\"Duplicate Fabric argument keys\");\n args = { ...values[0], ...args };\n } else if (ref === \"tools.search\" && values.length === 1 && typeof values[0] === \"string\") {\n args = { ...args, query: values[0] };\n } else if (values.length) {\n const name = ref.startsWith(\"pi.\") ? ref.slice(3) : \"\";\n const primary = Object.hasOwn(PRIMARY, name) ? PRIMARY[name] : undefined;\n const fields = Object.hasOwn(POSITIONAL, name) ? POSITIONAL[name]! : [];\n if (primary && values.length === 2 && typeof values[0] === \"string\" && record(values[1])) {\n args = { ...values[1], ...args, [primary]: values[0] };\n } else if (fields.length && values.length <= fields.length) {\n for (let index = 0; index < values.length; index++) args[fields[index]!] = values[index];\n } else throw new TypeError(\"Fabric calls accept a dictionary or keyword arguments; Pi tools also accept documented positional arguments\");\n }\n if (ref === \"pi.edit\" && !Object.hasOwn(args, \"edits\") && (Object.hasOwn(args, \"oldText\") || Object.hasOwn(args, \"newText\"))) {\n const edit: Record<string, unknown> = {};\n for (const key of [\"oldText\", \"newText\"]) if (Object.hasOwn(args, key)) { edit[key] = args[key]; delete args[key]; }\n args.edits = [edit];\n }\n return args;\n}\n\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fabric-runtime-state.d.ts","sourceRoot":"","sources":["../src/fabric-runtime-state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fabric-runtime-state.d.ts","sourceRoot":"","sources":["../src/fabric-runtime-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -4187,7 +4187,7 @@ var PARSE_INTERVAL_MS = 50;
|
|
|
4187
4187
|
var FabricSpeculationStreamTap = class {
|
|
4188
4188
|
#options;
|
|
4189
4189
|
#streams = /* @__PURE__ */ new Map();
|
|
4190
|
-
//
|
|
4190
|
+
// Language parsers are lazy; the selected scanner factory arrives through
|
|
4191
4191
|
// a lazy dynamic import so session startup never pays for it. Streams opened
|
|
4192
4192
|
// before the factory lands are caught up in full (extractors buffer the
|
|
4193
4193
|
// whole decoded prefix, so no candidate is lost, only delayed).
|
|
@@ -4299,7 +4299,7 @@ var RuntimeStateSpeculation = class {
|
|
|
4299
4299
|
// Speculative PTC: the store is the epoch-checked promise cache consumed by
|
|
4300
4300
|
// ActionRegistry.invoke; the tap watches fabric_exec argument streaming and
|
|
4301
4301
|
// launches literal-args Tier-A calls early (docs/speculation.md).
|
|
4302
|
-
constructor(registry, readConfig, readCapabilityView, allowRef = () => true) {
|
|
4302
|
+
constructor(registry, readConfig, readCapabilityView, allowRef = () => true, kernel = "typescript") {
|
|
4303
4303
|
this.registry = registry;
|
|
4304
4304
|
this.readConfig = readConfig;
|
|
4305
4305
|
this.readCapabilityView = readCapabilityView;
|
|
@@ -4331,12 +4331,8 @@ var RuntimeStateSpeculation = class {
|
|
|
4331
4331
|
);
|
|
4332
4332
|
}
|
|
4333
4333
|
});
|
|
4334
|
-
|
|
4335
|
-
|
|
4336
|
-
this.tap?.setScannerFactory(() => new module.LiteralCallScanner());
|
|
4337
|
-
},
|
|
4338
|
-
() => void 0
|
|
4339
|
-
);
|
|
4334
|
+
const factory = kernel === "python" ? import("./speculation/python-scanner.js").then((module) => () => new module.PythonLiteralCallScanner()) : import("./speculation/scanner.js").then((module) => () => new module.LiteralCallScanner());
|
|
4335
|
+
void factory.then((create) => this.tap?.setScannerFactory(create), () => void 0);
|
|
4340
4336
|
}
|
|
4341
4337
|
#store;
|
|
4342
4338
|
tap;
|
|
@@ -11411,7 +11407,11 @@ ${escapeXmlText(text)}
|
|
|
11411
11407
|
this.#speculation = void 0;
|
|
11412
11408
|
this.#registry?.setSpeculation(void 0);
|
|
11413
11409
|
const config = this.#config;
|
|
11414
|
-
const eligible = () =>
|
|
11410
|
+
const eligible = () => {
|
|
11411
|
+
const current = this.#config;
|
|
11412
|
+
if (!current?.speculation.enabled) return false;
|
|
11413
|
+
return current.executor.kernel === "python" ? current.executor.pythonRuntime === "monty" || current.schema.mode === "enforce" : current.schema.mode === "enforce" || current.executor.runtime === "quickjs";
|
|
11414
|
+
};
|
|
11415
11415
|
if (!config || !this.#registry || !eligible()) return;
|
|
11416
11416
|
this.#speculation = new RuntimeStateSpeculation(
|
|
11417
11417
|
this.#registry,
|
|
@@ -11422,7 +11422,8 @@ ${escapeXmlText(text)}
|
|
|
11422
11422
|
if (current.approvals[ref.startsWith("mcp.") ? "network" : "read"] !== "allow") return false;
|
|
11423
11423
|
if (ref.startsWith("pi.") && !current.fullCodeMode && current.schema.mode !== "enforce") return false;
|
|
11424
11424
|
return current.schema.mode !== "enforce" || schemaRefAllowedInEnforce(ref);
|
|
11425
|
-
}
|
|
11425
|
+
},
|
|
11426
|
+
config.executor.kernel
|
|
11426
11427
|
);
|
|
11427
11428
|
}
|
|
11428
11429
|
async claimHandoff(execution, sessionId, resultFormat, outerToolCallId) {
|