@kodax-ai/kodax 0.7.97-beta.2 → 0.7.97-beta.3
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 +96 -0
- package/README.md +55 -2
- package/README_CN.md +37 -1
- package/dist/artifacts/dist/contract.js +1 -1
- package/dist/artifacts/dist/contract.js.map +1 -1
- package/dist/artifacts/dist/document-render.d.ts +1 -1
- package/dist/artifacts/dist/document-render.js +41 -10
- package/dist/artifacts/dist/document-render.js.map +1 -1
- package/dist/artifacts/dist/kodax.js +1 -1
- package/dist/artifacts/dist/kodax.js.map +1 -1
- package/dist/artifacts/dist/libreoffice.d.ts +6 -1
- package/dist/artifacts/dist/libreoffice.js +37 -13
- package/dist/artifacts/dist/libreoffice.js.map +1 -1
- package/dist/artifacts/dist/runtime.js +13 -6
- package/dist/artifacts/dist/runtime.js.map +1 -1
- package/dist/artifacts/skills/artifact-review/SKILL.md +5 -1
- package/dist/chunks/agent-NWQPMZ7B.js +2 -0
- package/dist/chunks/agent-adapter-V3IPADCX.js +2 -0
- package/dist/chunks/argument-completer-VNKHT4X4.js +2 -0
- package/dist/chunks/{bedrock-native-Z5VNWF5U.js → bedrock-native-OEPOBW6W.js} +1 -1
- package/dist/chunks/{chunk-NSR4RW2F.js → chunk-3I2MIS4D.js} +1 -1
- package/dist/chunks/{chunk-RYBUYHDL.js → chunk-3Y5PBEOD.js} +1 -1
- package/dist/chunks/chunk-4FVCMKG2.js +20 -0
- package/dist/chunks/{chunk-F6GJXQNA.js → chunk-4GYXZTOD.js} +7 -7
- package/dist/chunks/{chunk-EISRVOBJ.js → chunk-4Z7ZHL6V.js} +2 -2
- package/dist/chunks/{chunk-W2CWO4PQ.js → chunk-576AAIQM.js} +1 -1
- package/dist/chunks/chunk-5E2P4RYS.js +4 -0
- package/dist/chunks/{chunk-X5M7TLJV.js → chunk-5LFQ5FVY.js} +1 -1
- package/dist/chunks/{chunk-WMMESRP3.js → chunk-6RDMSU4B.js} +1 -1
- package/dist/chunks/{chunk-3CP7AUWY.js → chunk-7BA4TSKC.js} +1 -1
- package/dist/chunks/{chunk-I325ER7D.js → chunk-AUU3N4V4.js} +1 -1
- package/dist/chunks/{chunk-DCE7XQUG.js → chunk-AYDLX2UK.js} +1 -1
- package/dist/chunks/{chunk-D36OIMV7.js → chunk-BP3NAYKY.js} +64 -64
- package/dist/chunks/{chunk-6TITQQAI.js → chunk-BSCSKJNC.js} +230 -229
- package/dist/chunks/{chunk-2HH5AS7E.js → chunk-DAQGOWKD.js} +88 -462
- package/dist/chunks/{chunk-UF3GZ5PO.js → chunk-EZF6ZRCO.js} +1 -1
- package/dist/chunks/chunk-F2TFWNVZ.js +2 -0
- package/dist/chunks/{chunk-53CJDQS2.js → chunk-FVXZ5L33.js} +1 -1
- package/dist/chunks/{chunk-MCDZNQWD.js → chunk-G32BMSHH.js} +75 -71
- package/dist/chunks/chunk-HJLYZ5AX.js +361 -0
- package/dist/chunks/{chunk-P55RJIOG.js → chunk-IOIFCU46.js} +1 -1
- package/dist/chunks/{chunk-DV5YPYLW.js → chunk-IR46ZHXU.js} +1 -1
- package/dist/chunks/chunk-NJDR5EEF.js +6 -0
- package/dist/chunks/{chunk-KDSO7V4O.js → chunk-OC3DQXN6.js} +1 -1
- package/dist/chunks/{chunk-J2L2NK6E.js → chunk-OMVAPRQI.js} +90 -57
- package/dist/chunks/chunk-OXCB2TRF.js +42 -0
- package/dist/chunks/{chunk-C6JGLEYD.js → chunk-P6R6V7EW.js} +1 -1
- package/dist/chunks/{chunk-SK3RRGHJ.js → chunk-PFBZ4ZXO.js} +28 -28
- package/dist/chunks/{chunk-V2XJSFFE.js → chunk-QDE6THC5.js} +1 -1
- package/dist/chunks/{chunk-EPK6EWRI.js → chunk-QRYEP34M.js} +1 -1
- package/dist/chunks/chunk-ROWYE472.js +460 -0
- package/dist/chunks/{chunk-R42S4BLA.js → chunk-SQGESMNC.js} +1 -1
- package/dist/chunks/{chunk-XZSFUGPN.js → chunk-U73VEVMP.js} +1 -1
- package/dist/chunks/{chunk-D425EZGC.js → chunk-V2TG7GNW.js} +1 -1
- package/dist/chunks/{chunk-QSZCR5GC.js → chunk-VRO2CDBY.js} +97 -97
- package/dist/chunks/{chunk-BBZWF2EA.js → chunk-WMQQQY3D.js} +1 -1
- package/dist/chunks/{chunk-JAF2YLZO.js → chunk-X3YYJJTF.js} +2 -2
- package/dist/chunks/{chunk-UL6YIT4M.js → chunk-XYRI6ER5.js} +1 -1
- package/dist/chunks/chunk-YRPB3LID.js +3 -0
- package/dist/chunks/{chunk-5MUVRFMU.js → chunk-ZDAU3LZ2.js} +1 -1
- package/dist/chunks/{chunk-WWPVEK6B.js → chunk-ZP3YSYWM.js} +10 -10
- package/dist/chunks/{client-LTIFNED5.js → client-NJ32JBC3.js} +1 -1
- package/dist/chunks/compaction-config-JBQGU3NO.js +2 -0
- package/dist/chunks/{construction-bootstrap-OAZKGI5Y.js → construction-bootstrap-CM47ZXG7.js} +1 -1
- package/dist/chunks/dist-O6BHIQEP.js +2 -0
- package/dist/chunks/{google-native-WLL27OV7.js → google-native-BV5GKT5B.js} +1 -1
- package/dist/chunks/host-PI5NL4W4.js +2 -0
- package/dist/chunks/{mistral-native-JXPIDDYZ.js → mistral-native-X42JCFZH.js} +1 -1
- package/dist/chunks/{model-DZF6URW3.js → model-MT3WJX76.js} +1 -1
- package/dist/chunks/{permission-YVVMLQ5I.js → permission-YVDVSE6H.js} +1 -1
- package/dist/chunks/{pi-messages-5LLOZH57.js → pi-messages-DVJANXV5.js} +1 -1
- package/dist/chunks/readline-helpers-5JS7UGTE.js +2 -0
- package/dist/chunks/run-manager-Y6VYEWSJ.js +2 -0
- package/dist/chunks/running-session-ANMBA5XV.js +2 -0
- package/dist/chunks/skills-XL2XIBWV.js +2 -0
- package/dist/chunks/{tool-dispatch-MLM3QTSU.js → tool-dispatch-2FOG65FC.js} +1 -1
- package/dist/chunks/{utils-2QNMYRGA.js → utils-XZ22R6VB.js} +1 -1
- package/dist/client-history.js +2 -0
- package/dist/history-turn.js +3 -0
- package/dist/index.d.ts +19 -19
- package/dist/index.js +2 -2
- package/dist/kodax_bootstrap.js +1 -1
- package/dist/kodax_cli.js +1472 -1810
- package/dist/kodax_doctor.js +1 -1
- package/dist/maintenance-scheduler.js +2 -0
- package/dist/manual-topics.json +32 -3
- package/dist/native/win32-x64/kodax-windows-sandbox.exe +0 -0
- package/dist/native/win32-x64/kodax-windows-text-transaction.node +0 -0
- package/dist/native/win32-x64/manifest.json +2 -2
- package/dist/one-shot-task.js +1 -1
- package/dist/provider-auth-cli.js +1 -1
- package/dist/runtime-daemon-schema.json +1 -1
- package/dist/sandbox-network-broker.js +93 -441
- package/dist/sdk-a2a.d.ts +13 -13
- package/dist/sdk-a2a.js +1 -1
- package/dist/sdk-agent.d.ts +17 -12
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-client.d.ts +6 -6
- package/dist/sdk-client.js +1 -1
- package/dist/sdk-coding.d.ts +17 -17
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +2 -2
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-llm.d.ts +4 -2
- package/dist/sdk-llm.js +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-media.d.ts +13 -13
- package/dist/sdk-media.js +1 -1
- package/dist/sdk-repl.d.ts +16 -16
- package/dist/sdk-repl.js +1 -1
- package/dist/sdk-runtime.d.ts +46 -46
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-sandbox.js +1 -1
- package/dist/sdk-session.d.ts +7 -7
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +87 -435
- package/dist/storage-repair-cli.js +1 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-CJliu5-D.d.ts → bash-prefix-extractor.d-BghXa_md.d.ts} +9 -3
- package/dist/types-chunks/{capsule.d-EMwSALqK.d.ts → capsule.d-BTlvC5qq.d.ts} +4 -4
- package/dist/types-chunks/{client-contract-B7q69yMA.d.ts → client-contract-B7ZSFKTv.d.ts} +52 -4
- package/dist/types-chunks/{controller.d-C0SAuNKu.d.ts → controller.d-Btu5FDdw.d.ts} +1 -1
- package/dist/types-chunks/{controller.d-D-hPLKaA.d.ts → controller.d-D6rEz5LS.d.ts} +3 -3
- package/dist/types-chunks/{history-retrieval.d-BwEUR9cb.d.ts → history-retrieval.d-B_AriUJp.d.ts} +1 -1
- package/dist/types-chunks/{manifest.d-YE3-AIeO.d.ts → manifest.d-Yyce-hHj.d.ts} +1 -1
- package/dist/types-chunks/{public-api.d-BhDU643p.d.ts → public-api.d-BLv3lFmw.d.ts} +9 -4
- package/dist/types-chunks/{review-inbox.d-Bgt46S7L.d.ts → review-inbox.d-yREk25Vf.d.ts} +2 -0
- package/dist/types-chunks/{review-packet.d-ChOfJaNI.d.ts → review-packet.d-xwXxHmML.d.ts} +1 -1
- package/dist/types-chunks/{run-manager.d-ChzguipG.d.ts → run-manager.d-D4sa9JYz.d.ts} +26 -12
- package/dist/types-chunks/{runtime-client-info-P_mRDG7j.d.ts → runtime-client-info-oRMrkHmb.d.ts} +2 -2
- package/dist/types-chunks/{runtime-event-BW5Pla7a.d.ts → runtime-event-BOyaILWg.d.ts} +3 -1
- package/dist/types-chunks/{sdk-runtime-cDe7qmN3.d.ts → sdk-runtime-CYyXmQok.d.ts} +27 -13
- package/dist/types-chunks/{sdk-session-D3pcSbnA.d.ts → sdk-session-D6mS5qgO.d.ts} +6 -3
- package/dist/types-chunks/{skill-invocation-error.d-gsNNDnnt.d.ts → skill-invocation-error.d-Be3qg4JQ.d.ts} +3 -3
- package/dist/types-chunks/{trusted-repl-entry-Bbkd2HlO.d.ts → trusted-repl-entry-YWNc4m-Z.d.ts} +7 -7
- package/dist/types-chunks/{types.d-BlXTogOo.d.ts → types.d-BQ-hbni4.d.ts} +1 -1
- package/dist/types-chunks/{utils.d-CxHyBvO6.d.ts → utils.d-C0F3Uf2X.d.ts} +6 -6
- package/dist/windows-effect-job-programs.json +4 -0
- package/docs/ARTIFACT_SDK.md +3 -3
- package/docs/CLIENT_CONTRACT.md +4 -2
- package/docs/SDK_MIGRATION.md +9 -5
- package/docs/SPACE_SDK_SEAMS.md +12 -1
- package/package.json +4 -3
- package/public_docs/README.md +10 -3
- package/public_docs/sdk/embedder-guide.md +1 -1
- package/dist/chunks/agent-DS7M57WD.js +0 -2
- package/dist/chunks/agent-adapter-TLWGGK3V.js +0 -2
- package/dist/chunks/argument-completer-OGCXKTRQ.js +0 -2
- package/dist/chunks/chunk-GJXOTOZB.js +0 -465
- package/dist/chunks/chunk-KE2NBMAP.js +0 -20
- package/dist/chunks/chunk-OGTRDK4Q.js +0 -359
- package/dist/chunks/chunk-R2HTPDI7.js +0 -2
- package/dist/chunks/chunk-SDPZFH6M.js +0 -4
- package/dist/chunks/chunk-XDMNJW6J.js +0 -42
- package/dist/chunks/compaction-config-ECMOFP5H.js +0 -2
- package/dist/chunks/dist-5J53DGAO.js +0 -2
- package/dist/chunks/host-65E5NM5P.js +0 -2
- package/dist/chunks/readline-helpers-UZXWBRXQ.js +0 -2
- package/dist/chunks/run-manager-ZFACIZM2.js +0 -2
- package/dist/chunks/running-session-Q5Y6A2QV.js +0 -2
- package/dist/chunks/skills-TJP6BLZJ.js +0 -2
|
@@ -4,22 +4,46 @@ import { pathToFileURL } from 'node:url';
|
|
|
4
4
|
import { execFile } from 'node:child_process';
|
|
5
5
|
import { promisify } from 'node:util';
|
|
6
6
|
const run = promisify(execFile);
|
|
7
|
+
// Windows soffice.exe is a GUI launcher that blocks on CLI calls; its sibling soffice.com is the console entry.
|
|
8
|
+
async function consoleEntry(executable) {
|
|
9
|
+
if (process.platform !== 'win32' || path.basename(executable).toLowerCase() !== 'soffice.exe')
|
|
10
|
+
return executable;
|
|
11
|
+
const entry = path.join(path.dirname(executable), 'soffice.com');
|
|
12
|
+
try {
|
|
13
|
+
await fs.access(entry);
|
|
14
|
+
return entry;
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
if (error.code !== 'ENOENT')
|
|
18
|
+
throw error;
|
|
19
|
+
return executable;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const exportFilters = { pptx: 'pdf:impress_pdf_Export', docx: 'pdf:writer_pdf_Export' };
|
|
7
23
|
/** Fixed conversion inside the caller's managed worker/sandbox, isolated LO profile. */
|
|
8
|
-
export async function convertWithLibreOffice(bytes, directory, options) {
|
|
9
|
-
const
|
|
10
|
-
if (!
|
|
24
|
+
export async function convertWithLibreOffice(bytes, directory, options, format = 'pptx') {
|
|
25
|
+
const configured = options.libreOfficeExecutable;
|
|
26
|
+
if (!configured || !path.isAbsolute(configured))
|
|
11
27
|
throw new Error('Prepare an absolute LibreOffice executable through the host.');
|
|
12
|
-
const
|
|
28
|
+
const executable = await consoleEntry(configured);
|
|
29
|
+
const source = path.join(directory, 'source.' + format);
|
|
13
30
|
await fs.writeFile(source, bytes, { flag: 'wx' });
|
|
14
31
|
const settings = { cwd: directory, signal: options.signal, timeout: 90_000, maxBuffer: 1024 * 1024, windowsHide: true };
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
32
|
+
const output = path.join(directory, 'source.pdf'), profile = path.join(directory, 'profile');
|
|
33
|
+
try {
|
|
34
|
+
const version = (await run(executable, ['--version'], settings)).stdout.trim();
|
|
35
|
+
if (!/^LibreOffice\b/.test(version))
|
|
36
|
+
throw new Error('Configured converter is not LibreOffice.');
|
|
37
|
+
await run(executable, ['-env:UserInstallation=' + pathToFileURL(profile).href,
|
|
38
|
+
'--headless', '--convert-to', exportFilters[format], '--outdir', directory, source], settings);
|
|
39
|
+
const pdf = await fs.readFile(output);
|
|
40
|
+
if (pdf.length > 64 * 1024 * 1024 || pdf.subarray(0, 5).toString() !== '%PDF-')
|
|
41
|
+
throw new Error('LibreOffice did not produce a supported PDF.');
|
|
42
|
+
return { bytes: pdf, version };
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
// Only PNG evidence belongs in the render directory; a stray source copy could be mistaken for the deliverable.
|
|
46
|
+
await Promise.all([source, output, profile].map(file => fs.rm(file, { recursive: true, force: true })));
|
|
47
|
+
}
|
|
24
48
|
}
|
|
25
49
|
//# sourceMappingURL=libreoffice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libreoffice.js","sourceRoot":"","sources":["../src/libreoffice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAChC,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAa,EAAE,SAAiB,EAAE,OAA+B;
|
|
1
|
+
{"version":3,"file":"libreoffice.js","sourceRoot":"","sources":["../src/libreoffice.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ async function execute(request, options) {
|
|
|
30
30
|
for (const format of ['pptx', 'pdf', 'docx', 'png', 'jpeg', 'webp', 'svg', 'html']) {
|
|
31
31
|
const engine = format === 'pptx' ? { name: '@aiden0z/pptx-renderer', version: '1.3.0' } : format === 'pdf' ? { name: 'PDF.js', version: '5.4.296' }
|
|
32
32
|
: format === 'docx' ? { name: 'docx-renderer', version: '0.2.2' } : format === 'png' ? { name: 'pngjs/exact-bytes', version: '7.0.0' } : { name: 'Chromium', version: 'not-observed' };
|
|
33
|
-
const diagnostics = format === 'docx' ? [{ code: 'docx-preview-fidelity', message: 'Lightweight
|
|
33
|
+
const diagnostics = format === 'docx' ? [{ code: 'docx-preview-fidelity', message: 'Lightweight approximation: fields such as page numbers or a table of contents are not computed, and Word/WPS layout can differ.', blocking: true }]
|
|
34
34
|
: format === 'png' ? [{ code: 'png-capture-scope', message: 'Exact whole-image PNG needs no browser; regions/backgrounds require prepared Chromium.' }]
|
|
35
35
|
: [{ code: 'browser-candidate', message: 'Browser file presence is checked; actual executable compatibility/version is observed during explicit prepare/render/capture.' }];
|
|
36
36
|
capabilities.push({ operation: 'open', input: format, availability: format === 'pdf' && !available ? 'not-prepared' : 'available',
|
|
@@ -49,8 +49,9 @@ async function execute(request, options) {
|
|
|
49
49
|
throw error;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
for (const input of ['pptx', 'docx'])
|
|
53
|
+
capabilities.push({ operation: 'render', input, backend: 'libreoffice', availability: converterAvailable && available ? 'available' : 'not-prepared',
|
|
54
|
+
engine: { name: 'LibreOffice/PDF.js', version: 'not-observed' }, diagnostics: [{ code: 'converter-candidate', message: 'Requires trusted absolute LibreOffice and prepared Chromium paths. File presence is checked here; converter identity/version is verified during render.' }] });
|
|
54
55
|
for (const operation of ['create', 'edit', 'export'])
|
|
55
56
|
capabilities.push({ operation, input: 'pptx', availability: 'available', diagnostics: [] });
|
|
56
57
|
capabilities.push({ operation: 'prepare', input: 'runtime', availability: options.browserExecutable && !available ? 'unsupported' : 'available', diagnostics: [] }, { operation: 'readEvidence', input: 'raster', availability: 'available', diagnostics: [] }, { operation: 'capture', input: 'surface', availability: 'unsupported', diagnostics: [{ code: 'owner-required', message: 'A live surface requires its existing authorized owner adapter.' }] });
|
|
@@ -91,21 +92,27 @@ async function execute(request, options) {
|
|
|
91
92
|
else {
|
|
92
93
|
if (request.operation === 'edit' || request.operation === 'export')
|
|
93
94
|
throw new Error('Edit/export are available only for PPTX.');
|
|
94
|
-
if (request.operation === 'render' && request.input.backend === 'libreoffice')
|
|
95
|
-
throw new Error('LibreOffice conversion is available only for PPTX;
|
|
95
|
+
if (request.operation === 'render' && request.input.backend === 'libreoffice' && format !== 'docx')
|
|
96
|
+
throw new Error('LibreOffice conversion is available only for PPTX and DOCX; other formats use their declared renderer.');
|
|
96
97
|
if (request.operation === 'open' && format !== 'pdf') {
|
|
97
98
|
if (format === 'png')
|
|
98
99
|
inspectPng(source.bytes);
|
|
99
100
|
return { status: 'ready', artifact: { ...base, format }, diagnostics: [] };
|
|
100
101
|
}
|
|
101
102
|
if (format === 'pdf' || format === 'docx') {
|
|
103
|
+
// A host-supplied converter is the default DOCX layout engine; the lightweight renderer remains the fallback.
|
|
104
|
+
const backend = format === 'docx' ? (request.operation === 'render' ? request.input.backend : undefined) ?? (options.libreOfficeExecutable ? 'libreoffice' : 'lightweight') : 'lightweight';
|
|
105
|
+
if (backend === 'libreoffice' && !options.libreOfficeExecutable)
|
|
106
|
+
return { status: 'unverified', artifact: { ...base, format: 'docx' }, diagnostics: [
|
|
107
|
+
{ code: 'libreoffice-unavailable', message: 'The host has not provided LibreOffice for this conversion backend.', blocking: true }
|
|
108
|
+
] };
|
|
102
109
|
if (!(await browserAvailable(options)))
|
|
103
110
|
return missingBrowser();
|
|
104
111
|
if (request.operation === 'capture' && (request.input.kind !== 'paginated' || request.input.locators.some(l => l.kind !== 'paginated' || l.sheet !== undefined || l.range !== undefined)))
|
|
105
112
|
return { status: 'unverified', diagnostics: [{ code: 'capture-unavailable', message: 'Document capture requires page locators without sheet/range.', blocking: true }] };
|
|
106
113
|
const { processDocument } = await import('./document-render.js');
|
|
107
114
|
const renderInput = request.operation === 'open' ? undefined : request.operation === 'capture' ? { path: source.path, pages: request.input.locators.map(l => l.kind === 'paginated' ? l.page : 0) } : request.input;
|
|
108
|
-
result = await processDocument(source.bytes, { ...base, format }, renderInput, options);
|
|
115
|
+
result = await processDocument(source.bytes, { ...base, format }, renderInput, options, backend);
|
|
109
116
|
}
|
|
110
117
|
else {
|
|
111
118
|
const artifact = { ...base, format };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,11 @@ time. A receipt or image path does not establish that pixels were inspected.
|
|
|
39
39
|
## Limits and fallback
|
|
40
40
|
|
|
41
41
|
Lightweight rendering uses compatible Chromium, not PowerPoint or LibreOffice.
|
|
42
|
-
DOCX
|
|
42
|
+
DOCX renders through the host converter when one is provided. The lightweight DOCX
|
|
43
|
+
fallback approximates Word/WPS layout and does not compute fields; its diagnostics
|
|
44
|
+
name what stays unverified. Conversion can recalculate page-number fields; a table
|
|
45
|
+
of contents can remain empty or outdated and needs review. Check required fields
|
|
46
|
+
and pagination against the intended Word/WPS output. Native PDF
|
|
43
47
|
retains each page's dimensions and rotation. Missing fonts/resources and unsupported
|
|
44
48
|
objects remain unverified for affected requirements; optional static conversion
|
|
45
49
|
cannot verify animation or transitions.
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
+
import{Ba as d,Ca as e,Da as f,Fb as k,_a as g,ab as h,xb as i,yb as j}from"./chunk-BP3NAYKY.js";import"./chunk-WMQQQY3D.js";import"./chunk-4GYXZTOD.js";import"./chunk-576AAIQM.js";import"./chunk-OXCB2TRF.js";import"./chunk-3Y5PBEOD.js";import"./chunk-4Y6U7AH4.js";import{a as c}from"./chunk-QRYEP34M.js";import"./chunk-ISLK6R2P.js";import"./chunk-HJLYZ5AX.js";import"./chunk-GZUWQZJD.js";import"./chunk-TQ475LOI.js";import"./chunk-65652LR4.js";import"./chunk-ZDAU3LZ2.js";import{Lb as a,Mb as b}from"./chunk-DAQGOWKD.js";import"./chunk-OMVAPRQI.js";import"./chunk-OC3DQXN6.js";import"./chunk-PFBZ4ZXO.js";import"./chunk-52EN2777.js";import"./chunk-6RDMSU4B.js";import"./chunk-QP47JIWP.js";import"./chunk-EZF6ZRCO.js";import"./chunk-4FVCMKG2.js";import"./chunk-V5RCDBKU.js";import"./chunk-KDLOPBFZ.js";import"./chunk-V4WSBIXB.js";export{e as bucketProviderPayloadSize,g as buildAutoRepoIntelligenceContext,f as checkPromiseSignal,b as cleanupIncompleteToolCalls,h as describeTransientProviderRetry,c as emitResilienceDebug,d as estimateProviderPayloadBytes,k as runKodaX,j as saveRequiredSessionSnapshot,i as saveSessionSnapshot,a as validateAndFixToolHistory};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
+
import{a,b}from"./chunk-IR46ZHXU.js";import"./chunk-OXCB2TRF.js";import"./chunk-HJLYZ5AX.js";import"./chunk-GZUWQZJD.js";import"./chunk-65652LR4.js";import"./chunk-ZDAU3LZ2.js";import"./chunk-DAQGOWKD.js";import"./chunk-OMVAPRQI.js";import"./chunk-OC3DQXN6.js";import"./chunk-PFBZ4ZXO.js";import"./chunk-52EN2777.js";import"./chunk-6RDMSU4B.js";import"./chunk-QP47JIWP.js";import"./chunk-EZF6ZRCO.js";import"./chunk-4FVCMKG2.js";import"./chunk-V5RCDBKU.js";import"./chunk-KDLOPBFZ.js";import"./chunk-V4WSBIXB.js";export{b as createCodingWorkflowBackend,a as resumeWorkflowGenerationTurn};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
+
import{ab as a,bb as b}from"./chunk-G32BMSHH.js";import"./chunk-AYDLX2UK.js";import"./chunk-ZQYWDI4O.js";import"./chunk-4Z7ZHL6V.js";import"./chunk-VRO2CDBY.js";import"./chunk-P6R6V7EW.js";import"./chunk-BP3NAYKY.js";import"./chunk-QDE6THC5.js";import"./chunk-WMQQQY3D.js";import"./chunk-X3YYJJTF.js";import"./chunk-4GYXZTOD.js";import"./chunk-576AAIQM.js";import"./chunk-IR46ZHXU.js";import"./chunk-OXCB2TRF.js";import"./chunk-3Y5PBEOD.js";import"./chunk-5LFQ5FVY.js";import"./chunk-4Y6U7AH4.js";import"./chunk-QRYEP34M.js";import"./chunk-ISLK6R2P.js";import"./chunk-HJLYZ5AX.js";import"./chunk-GZUWQZJD.js";import"./chunk-TQ475LOI.js";import"./chunk-65652LR4.js";import"./chunk-ZDAU3LZ2.js";import"./chunk-DAQGOWKD.js";import"./chunk-OMVAPRQI.js";import"./chunk-OC3DQXN6.js";import"./chunk-PFBZ4ZXO.js";import"./chunk-52EN2777.js";import"./chunk-6RDMSU4B.js";import"./chunk-QP47JIWP.js";import"./chunk-EZF6ZRCO.js";import"./chunk-4FVCMKG2.js";import"./chunk-V5RCDBKU.js";import"./chunk-KDLOPBFZ.js";import"./chunk-V4WSBIXB.js";export{a as ArgumentCompleter,b as createArgumentCompleter};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{c as w}from"./chunk-52EN2777.js";import{a as A,d as O}from"./chunk-
|
|
2
|
+
import{c as w}from"./chunk-52EN2777.js";import{a as A,d as O}from"./chunk-EZF6ZRCO.js";import{ba as v,g as U,ja as _,ma as x,na as P,oa as j,r as R}from"./chunk-4FVCMKG2.js";import{a as C,g as S,j as T,m as I,t as b}from"./chunk-V5RCDBKU.js";import"./chunk-KDLOPBFZ.js";import{a as h}from"./chunk-V4WSBIXB.js";function k(s){if(s===null||typeof s=="string"||typeof s=="boolean"||typeof s=="number"&&Number.isFinite(s))return s;if(Array.isArray(s))return s.map(k);if(s&&typeof s=="object")return Object.fromEntries(Object.entries(s).map(([t,e])=>[t,k(e)]));throw new Error("Bedrock document must contain JSON values.")}h(k,"bedrockDocument");async function D(s,t){if(!t)return[{text:v}];let e=await _(s);if("placeholder"in e)return[{text:e.placeholder}];let i=e.mediaType.split("/")[1];if(!["png","jpeg","gif","webp"].includes(i))throw new Error("Unsupported Bedrock image format.");return[...e.notice?[{text:e.notice}]:[],{image:{format:i,source:{bytes:Buffer.from(e.data,"base64")}}}]}h(D,"image");async function $(s,t,e,i=!1){let l=[];for(let d of P(s)){let r=[];if(typeof d.content=="string")d.content&&r.push({text:d.content});else for(let o of d.content)switch(o.type){case"text":o.text&&r.push({text:o.text});break;case"thinking":o.source&&x(o.source,t)&&o.signature?r.push({reasoningContent:{reasoningText:{text:o.thinking,signature:o.signature}}}):o.thinking&&r.push({text:`<prior_reasoning>
|
|
3
3
|
${o.thinking}
|
|
4
4
|
</prior_reasoning>`});break;case"redacted_thinking":o.source&&x(o.source,t)&&r.push({reasoningContent:{redactedContent:Buffer.from(o.data,"base64")}});break;case"tool_use":r.push({toolUse:{toolUseId:o.id,name:o.name,input:k(o.input)}});break;case"tool_result":{let n=[];if(typeof o.content=="string")n.push({text:o.content||"(empty tool result)"});else for(let a of o.content)n.push(...a.type==="text"?[{text:a.text||"(empty tool result)"}]:await D(a,i));r.push({toolResult:{toolUseId:o.tool_use_id,content:n.length?n:[{text:"(empty tool result)"}],status:o.is_error?"error":"success"}});break}case"image":r.push(...await D(o,i));break;case"cache-boundary":e&&!R()&&r.length&&r.push({cachePoint:{type:"default"}});break}if(!r.length)continue;let f=d.role==="assistant"?"assistant":"user",m=l.at(-1);m?.role===f?m.content.push(...r):l.push({role:f,content:r})}return l}h($,"projectBedrockMessages");import{Readable as F}from"node:stream";function M(s){let t;return{metadata:{handlerProtocol:"h1"},destroy(){t?.destroy(),t=void 0},async handle(e){s?.throwIfAborted();let i=new URL(`${e.protocol}//${e.hostname}${e.port?`:${e.port}`:""}${e.path}`);for(let[d,r]of Object.entries(e.query??{}))for(let f of Array.isArray(r)?r:[r])f!=null&&i.searchParams.append(d,f);if(e.body!==void 0&&typeof e.body!="string"&&!(e.body instanceof Uint8Array))throw new Error("Unexpected Bedrock request body.");let l=await j(i.href,{method:e.method,headers:e.headers,body:e.body,signal:s,redirect:"error"});return t=l.body?F.fromWeb(l.body):F.from([]),{response:{statusCode:l.status,headers:Object.fromEntries(l.headers.entries()),body:t}}}}}h(M,"bedrockHttpHandler");function N(s){let t=s?.cacheDetails?C(s.cacheWriteInputTokens,Object.fromEntries(s.cacheDetails.map(e=>[e.ttl??"unknown",e.inputTokens]))):void 0;return S(s?{inputTokens:s.inputTokens??0,outputTokens:s.outputTokens??0,totalTokens:s.totalTokens??0,cachedReadTokens:s.cacheReadInputTokens,cachedWriteTokens:s.cacheWriteInputTokens,...t?{cachedWriteTokensByTtl:t}:{}}:void 0)}h(N,"usageFrom");var H=class extends O{static{h(this,"KodaXBedrockProvider")}async invoke(t){if(this.cloud.service!=="bedrock")throw this.protocolError("Bedrock requires a region.");let e=A(this.name);if(e.type==="api-key")throw this.protocolError("Bedrock requires AWS credentials or a Bedrock bearer token.");let[{BedrockRuntimeClient:i,ConverseCommand:l,ConverseStreamCommand:d},{SignatureV4:r,clearCredentialCache:f}]=await Promise.all([import("@aws-sdk/client-bedrock-runtime"),import("@smithy/signature-v4")]),m=e.type==="aws",o=h(async()=>{throw new Error("Ambient cloud credentials are not authorized.")},"deny"),n=this.cloud.region,a=e.type==="aws"?{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken}:void 0,c=new i({region:n,endpoint:this.config.baseUrl,maxAttempts:1,useFipsEndpoint:!1,useDualstackEndpoint:!1,credentials:a??o,signer:a?async()=>{let p=new r({credentials:a,region:n,service:"bedrock",sha256:c.config.sha256});return{async sign(...u){try{return await p.sign(...u)}finally{f()}}}}:void 0,token:m?o:{token:e.token},authSchemePreference:[m?"sigv4":"httpBearerAuth"],httpAuthSchemeProvider:h(()=>m?[{schemeId:"aws.auth#sigv4",signingProperties:{name:"bedrock",region:n},propertiesExtractor:h((p,u)=>({signingProperties:{config:p,context:u}}),"propertiesExtractor")}]:[{schemeId:"smithy.api#httpBearerAuth"}],"httpAuthSchemeProvider"),requestHandler:M(t.signal)});try{let p=this.thinkingConfig(t);p.additionalModelRequestFields&&typeof p.additionalModelRequestFields=="object"?w(p.additionalModelRequestFields,t.profile,t.options,this.name,!0):t.options?.thinkingDisplay!==void 0&&w({},t.profile,t.options,this.name,!0);let u=await T({modelId:t.model,messages:await $(t.messages,t.source,this.config.promptCacheAffinity===!0,this.getCapabilityProfile(t.options?.modelOverride).multimodalSupport!=="none"),...t.system?{system:[{text:t.system}]}:{},inferenceConfig:{maxTokens:t.maxOutputTokens},...t.tools.length?{toolConfig:{tools:t.tools.map(y=>{let E=U(y,t.toolCapabilities,this.name);return{toolSpec:{name:y.name,description:y.description,inputSchema:{json:k(E.input_schema)},...E.strict?{strict:!0}:{}}}}),...t.options?.forcedToolName?{toolChoice:{tool:{name:t.options.forcedToolName}}}:{}}}:{},...p},"bedrock");if(t.streaming){let y=await c.send(new d(u),{abortSignal:t.signal});return await this.consume(y.stream,t)}let g=await c.send(new l(u),{abortSignal:t.signal});t.signal?.throwIfAborted();let B=N(g.usage);if(b(B),g.output?.message?.role!=="assistant"||!["end_turn","tool_use","stop_sequence"].includes(g.stopReason??""))throw this.protocolError(`Bedrock response did not complete: ${g.stopReason??"missing stopReason"}`);return this.finish(t,this.parseContent(g.output.message.content??[],t),B,g.stopReason)}catch(p){if(p&&typeof p=="object"&&"$metadata"in p){let u=p.$metadata,g="$response"in p?p.$response:void 0;Object.assign(p,{status:u?.httpStatusCode,headers:g?.headers})}throw p}finally{c.destroy(),f()}}async consume(t,e){if(!t)throw this.protocolError("Bedrock returned no EventStream.");let i=new Map,l=!1,d,r,f=h(o=>{if(!Number.isSafeInteger(o)||o<0)throw this.protocolError("Invalid Bedrock content block index.");return o},"indexOf");for await(let o of t)if(I(o),e.signal?.throwIfAborted(),e.options?.onHeartbeat?.(),o.messageStart){if(l||o.messageStart.role!=="assistant")throw this.protocolError("Invalid Bedrock message start.");l=!0}else if(o.metadata)r=N(o.metadata.usage)??r,b(r);else if(o.messageStop){if(!l||d||[...i.values()].some(n=>!n.stopped))throw this.protocolError("Bedrock stopped before completing its blocks.");d=o.messageStop.stopReason}else if(o.contentBlockStart){if(!l||d)throw this.protocolError("Bedrock block outside an active message.");let n=f(o.contentBlockStart.contentBlockIndex),a=o.contentBlockStart.start?.toolUse;if(i.has(n)||!a?.toolUseId||!a.name)throw this.protocolError("Unsupported or duplicate Bedrock content block start.");i.set(n,{kind:"tool",id:a.toolUseId,name:a.name,input:"",stopped:!1})}else if(o.contentBlockDelta){if(!l||d)throw this.protocolError("Bedrock delta outside an active message.");let n=f(o.contentBlockDelta.contentBlockIndex),a=o.contentBlockDelta.delta,c=i.get(n);if(c?.stopped)throw this.protocolError("Bedrock delta after block stop.");if(typeof a?.text=="string"){if(c||(c={kind:"text",text:"",stopped:!1},i.set(n,c)),c.kind!=="text")throw this.protocolError("Bedrock changed a block type.");c.text+=a.text,e.options?.onTextDelta?.(a.text)}else if(a?.toolUse){if(c?.kind!=="tool"||typeof a.toolUse.input!="string")throw this.protocolError("Bedrock tool delta has no complete start.");c.input+=a.toolUse.input,e.options?.onToolInputDelta?.(c.name,a.toolUse.input,{toolId:c.id})}else if(a?.reasoningContent){if(c||(c={kind:"reasoning",text:"",signature:"",redacted:[],stopped:!1},i.set(n,c)),c.kind!=="reasoning")throw this.protocolError("Bedrock changed a block type.");let p=a.reasoningContent;if(p.redactedContent&&(c.text||c.signature)||!p.redactedContent&&c.redacted.length)throw this.protocolError("Bedrock mixed redacted and signed reasoning.");if(p.redactedContent)c.redacted.push(p.redactedContent);else if(typeof p.text=="string")c.text+=p.text,e.options?.onThinkingDelta?.(p.text);else if(typeof p.signature=="string")c.signature+=p.signature;else throw this.protocolError("Unsupported Bedrock reasoning delta.")}else throw this.protocolError("Unsupported Bedrock content delta.")}else if(o.contentBlockStop){let n=i.get(f(o.contentBlockStop.contentBlockIndex));if(!l||d||!n||n.stopped)throw this.protocolError("Invalid Bedrock content block stop.");n.stopped=!0}else{let n=Object.keys(o)[0]??"unknown",a=Object.values(o)[0],c=a&&typeof a=="object"&&"message"in a&&typeof a.message=="string"?a.message:`Bedrock event ${n}`;throw Object.assign(new Error(c),{status:n==="throttlingException"?429:n==="validationException"?400:500})}if(e.signal?.throwIfAborted(),!l||!d)throw this.protocolError("Stream incomplete: Bedrock ended without messageStop.",!0);if(!["end_turn","tool_use","stop_sequence"].includes(d))throw this.protocolError(`Bedrock response did not complete: ${d}`);let m=[...i].sort(([o],[n])=>o-n).map(([o,n],a)=>{if(o!==a||!n.stopped)throw this.protocolError("Bedrock returned incomplete or missing blocks.");if(n.kind==="text")return{text:n.text};if(n.kind==="reasoning")return{reasoningContent:n.redacted.length?{redactedContent:Buffer.concat(n.redacted)}:{reasoningText:{text:n.text,signature:n.signature||void 0}}};let c;try{c=JSON.parse(n.input||"{}")}catch{throw this.protocolError("Bedrock returned invalid final tool arguments.")}return{toolUse:{toolUseId:n.id,name:n.name,input:k(c)}}});return this.finish(e,this.parseContent(m,e),r,d)}thinkingConfig(t){if(t.profile?.effortStrategy==="bedrock-openai-effort"||t.profile?.effortStrategy==="bedrock-openai-nested-effort"){let e=t.disabled?"none":t.effort;return e?(t.sentReasoningEffort=e,{additionalModelRequestFields:t.profile.effortStrategy==="bedrock-openai-effort"?{reasoning_effort:e}:{reasoning:{effort:e}}}):{}}if(t.profile?.effortStrategy==="provider-budget"){let e=t.effort?t.profile.budgetByEffort?.[t.effort]:void 0,i=e===void 0?void 0:this.boundThinkingBudget(t,e);if(t.disabled)return t.sentReasoningEffort="none",{additionalModelRequestFields:{thinking:{type:"disabled"}}};if(i!==void 0){if(!Number.isSafeInteger(i)||i<=0||i>=t.maxOutputTokens)throw this.protocolError("Bedrock thinking budget must be positive and smaller than max output tokens.");return t.sentReasoningEffort=t.effort,{additionalModelRequestFields:{thinking:{type:"enabled",budget_tokens:i}}}}}if(t.profile?.effortStrategy==="bedrock-anthropic-effort"){if(t.disabled)return t.sentReasoningEffort="none",{additionalModelRequestFields:{thinking:{type:"disabled"}}};if(t.effort)return t.sentReasoningEffort=t.effort,{additionalModelRequestFields:{thinking:{type:"adaptive"},output_config:{effort:t.effort}}}}return{}}parseContent(t,e){let i=[],l=new Set;for(let d of t)if(typeof d.text=="string")i.push({type:"text",text:d.text});else if(d.reasoningContent?.reasoningText){let r=d.reasoningContent.reasoningText;i.push({type:"thinking",thinking:r.text??"",signature:r.signature,source:e.source})}else if(d.reasoningContent?.redactedContent)i.push({type:"redacted_thinking",data:Buffer.from(d.reasoningContent.redactedContent).toString("base64"),source:e.source});else if(d.toolUse){let r=d.toolUse;if(!r.toolUseId||!r.name||!r.input||typeof r.input!="object"||Array.isArray(r.input)||l.has(r.toolUseId))throw this.protocolError("Bedrock returned an invalid or duplicate tool call.");l.add(r.toolUseId),i.push({type:"tool_use",id:r.toolUseId,name:r.name,input:r.input})}else throw this.protocolError("Unsupported Bedrock response content.");return i}};export{H as KodaXBedrockProvider};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{c as T}from"./chunk-2HH5AS7E.js";import{a as s}from"./chunk-V4WSBIXB.js";var o=class extends Error{constructor(r,n,i=200,d,c){super(n);this.code=r;this.httpStatus=i;this.data=d;this.headers=c;this.name="A2AError"}code;httpStatus;data;headers;static{s(this,"A2AError")}};function ae(e){return e instanceof Error?e.message:String(e)}s(ae,"errorMessage");var L=["apiKeySecurityScheme","httpAuthSecurityScheme","oauth2SecurityScheme","openIdConnectSecurityScheme","mtlsSecurityScheme"],U=["authorizationCode","clientCredentials","implicit","password","deviceCode"],P=/^[\x21\x23-\x5B\x5D-\x7E]+$/u;function w(e,t){if(!P.test(e))throw new Error(`${t} must be an RFC 6749 scope-token.`)}s(w,"assertOAuthScopeToken");function ue(e,t){let r=e.split(" ");for(let n of r)w(n,t);return[...new Set(r)]}s(ue,"parseOAuthScopeValue");function pe(e,t){if(!Array.isArray(e))throw new Error(`${t} must be an array of strings.`);let r=e.map((n,i)=>{if(typeof n!="string")throw new Error(`${t}[${i}] must be a string.`);return w(n,`${t}[${i}]`),n});if(new Set(r).size!==r.length)throw new Error(`${t} must not contain duplicates.`);return r}s(pe,"parseOAuthScopeList");function A(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}s(A,"isRecord");function l(e,t){if(typeof e!="string"||e.trim().length===0)throw new Error(`${t} must be a non-empty string.`);return e}s(l,"requireNonEmptyString");function j(e,t){if(e!==void 0)return l(e,t)}s(j,"optionalString");function R(e,t){return l(e,t).trim()}s(R,"trimmedUri");function N(e){return/^[A-Za-z][A-Za-z0-9+.-]*:\/\/([^/?#]*)/u.exec(e)?.[1]?.includes("@")===!0}s(N,"hasAuthorityUserinfo");function D(e){let t=e.toLowerCase().replace(/^\[|\]$/gu,"");return t==="localhost"||t==="127.0.0.1"||t==="::1"}s(D,"isExactOAuthLoopbackHostname");function I(e,t){let r=R(e,t);if(!/^https?:\/\/([^/?#]*)/iu.exec(r)?.[1])throw new Error(`${t} must be an absolute HTTP(S) URL.`);let i;try{i=new URL(r)}catch{throw new Error(`${t} must be an absolute HTTP(S) URL.`)}if(N(r)||i.username||i.password||r.includes("#"))throw new Error(`${t} must not contain userinfo or a fragment.`);if(i.protocol==="http:"&&!D(i.hostname))throw new Error(`${t} must use HTTPS or exact loopback HTTP.`);return{raw:r,url:i}}s(I,"secureOAuthHttpUrl");function ye(e,t){let r=I(e,t);if(r.raw.includes("?"))throw new Error(`${t} must not contain a query or fragment.`);return r.raw}s(ye,"parseOAuthIssuerIdentifier");function F(e,t){return I(e,t).url}s(F,"parseOAuthEndpointUrl");function Ae(e,t){let r=R(e,t);if(!/^[A-Za-z][A-Za-z0-9+.-]*:/u.test(r))throw new Error(`${t} must be an absolute URI.`);try{new URL(r)}catch{throw new Error(`${t} must be an absolute URI.`)}if(r.includes("#"))throw new Error(`${t} must not contain a fragment.`);return r}s(Ae,"parseOAuthResourceIdentifier");function x(e,t){return F(e,t).href}s(x,"absoluteHttpUrl");function H(e,t){if(!A(e))throw new Error(`${t} must be a scope-description object.`);return Object.entries(e).map(([r,n])=>{if(r.trim().length===0||typeof n!="string")throw new Error(`${t} must map non-empty scope names to descriptions.`);return w(r,`${t}.${r}`),r})}s(H,"parseScopes");function z(e,t){if(!A(t))throw new Error(`securitySchemes.${e}.httpAuthSecurityScheme must be an object.`);let r=l(t.scheme,`securitySchemes.${e}.httpAuthSecurityScheme.scheme`),n=j(t.bearerFormat,`securitySchemes.${e}.httpAuthSecurityScheme.bearerFormat`);return r.toLowerCase()!=="bearer"?{name:e,kind:"unsupported",protocol:`http:${r.toLowerCase()}`}:{name:e,kind:"http-bearer",...n?{bearerFormat:n}:{}}}s(z,"parseHttpScheme");function J(e,t){let r=t.flows;if(!A(r))throw new Error(`securitySchemes.${e}.oauth2SecurityScheme.flows must be an object.`);let n=U.filter(u=>r[u]!==void 0);if(n.length!==1)throw new Error(`securitySchemes.${e}.oauth2SecurityScheme.flows must contain exactly one OAuth flow.`);let i=n[0],d=r[i];if(!A(d))throw new Error(`securitySchemes.${e}.oauth2SecurityScheme.flows.${i} must be an object.`);let c=H(d.scopes,`securitySchemes.${e}.oauth2SecurityScheme.flows.${i}.scopes`);if(i==="clientCredentials"){let u=x(d.tokenUrl,`securitySchemes.${e}.oauth2SecurityScheme.flows.clientCredentials.tokenUrl`);return{name:e,kind:"oauth2-client-credentials",tokenUrl:u,scopes:c}}return{name:e,kind:"unsupported",protocol:`oauth2:${i}`,oauthScopes:c}}s(J,"parseOAuthFlow");function B(e,t,r){if(!A(r))throw new Error(`securitySchemes.${e}.${t} must be an object.`);if(t==="apiKeySecurityScheme"){let n=l(r.location,`securitySchemes.${e}.${t}.location`);if(!["query","header","cookie"].includes(n))throw new Error(`securitySchemes.${e}.${t}.location must be query, header, or cookie.`);return l(r.name,`securitySchemes.${e}.${t}.name`),{name:e,kind:"unsupported",protocol:"api-key"}}return t==="openIdConnectSecurityScheme"?(x(r.openIdConnectUrl,`securitySchemes.${e}.${t}.openIdConnectUrl`),{name:e,kind:"unsupported",protocol:"openid-connect",acceptsOAuthScopes:!0}):{name:e,kind:"unsupported",protocol:"mutual-tls"}}s(B,"parseUnsupportedScheme");function Z(e,t){if(!A(t))throw new Error(`securitySchemes.${e} must be an object.`);let r=L.filter(i=>t[i]!==void 0);if(r.length!==1)throw new Error(`securitySchemes.${e} must contain exactly one security scheme.`);let n=r[0];if(n==="httpAuthSecurityScheme")return z(e,t[n]);if(n==="oauth2SecurityScheme"){let i=t[n];if(!A(i))throw new Error(`securitySchemes.${e}.${n} must be an object.`);return J(e,i)}return B(e,n,t[n])}s(Z,"parseScheme");function V(e){if(e===void 0)return{};if(!A(e))throw new Error("securitySchemes must be an object.");return Object.fromEntries(Object.entries(e).map(([t,r])=>{if(t.trim().length===0)throw new Error("securitySchemes names must not be empty.");return[t,Z(t,r)]}))}s(V,"parseSchemes");function Y(e,t){if(!A(e))throw new Error(`${t} must be a StringList object.`);if(e.list===void 0)return[];if(!Array.isArray(e.list)||!e.list.every(r=>typeof r=="string"&&r.trim().length>0))throw new Error(`${t}.list must be an array of non-empty strings.`);if(new Set(e.list).size!==e.list.length)throw new Error(`${t}.list must not contain duplicate scopes.`);for(let r of e.list)w(r,`${t}.list`);return e.list}s(Y,"parseScopeList");function G(e,t){if(e.kind==="oauth2-client-credentials"||e.kind==="unsupported"&&e.oauthScopes!==void 0){let r=e.kind==="oauth2-client-credentials"?e.scopes:e.oauthScopes??[];for(let n of t)if(!r.includes(n))throw new Error(`scope "${n}" is not declared by security scheme "${e.name}".`);return}if(t.length>0&&!(e.kind==="unsupported"&&e.acceptsOAuthScopes))throw new Error(`security scheme "${e.name}" does not accept OAuth scopes.`)}s(G,"validateRequiredScopes");function Q(e,t,r){if(!A(e))throw new Error(`securityRequirements[${t}] must be an object.`);let n=e.schemes;if(n!==void 0&&!A(n))throw new Error(`securityRequirements[${t}].schemes must be an object.`);return{schemes:Object.entries(n??{}).map(([c,u])=>{if(!Object.hasOwn(r,c))throw new Error(`securityRequirements[${t}] references unknown security scheme "${c}".`);let S=r[c],b=Y(u,`securityRequirements[${t}].schemes.${c}`);return G(S,b),{scheme:S,scopes:b}})}}s(Q,"parseRequirement");function C(e,t){let r=V(e);if(t===void 0)return{schemes:r,requirements:[]};if(!Array.isArray(t))throw new Error("securityRequirements must be an array.");return{schemes:r,requirements:t.map((n,i)=>Q(n,i,r))}}s(C,"parseA2ASecurity");function W(e,t){let{scheme:r,scopes:n}=t;return r.kind!=="unsupported"&&e.schemeName===r.name&&e.kind===r.kind&&n.every(i=>e.scopes?.includes(i)===!0)}s(W,"capabilityMatches");function me(e,t){return X(e,t)[0]??null}s(me,"selectA2ASecurityRequirement");function X(e,t){return(e.requirements.length===0?[{schemes:[]}]:e.requirements).filter(n=>n.schemes.every(i=>t.some(d=>W(d,i))))}s(X,"satisfiableA2ASecurityRequirements");var v=new Set(["TASK_STATE_UNSPECIFIED","TASK_STATE_SUBMITTED","TASK_STATE_WORKING","TASK_STATE_COMPLETED","TASK_STATE_FAILED","TASK_STATE_CANCELED","TASK_STATE_INPUT_REQUIRED","TASK_STATE_REJECTED","TASK_STATE_AUTH_REQUIRED"]);function a(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}s(a,"isRecord");function $(e){if(e===null)return;let t=e.split(";",1)[0]?.trim().toLowerCase();return t&&!/\s/u.test(t)?t:void 0}s($,"mediaTypeEssence");function le(e){let t=$(e);return t==="application/json"||/^application\/[!#$%&'*+\-.^_`|~0-9a-z]+\+json$/u.test(t??"")}s(le,"isJsonMediaType");function we(e){return $(e)==="text/event-stream"}s(we,"isEventStreamMediaType");function y(e,t,r){let n=e[t];if(typeof n!="string"||n.trim().length===0)throw new o(-32602,`${r}.${t} must be a non-empty string.`);return n}s(y,"requiredString");function p(e,t){let r=e[t];return typeof r=="string"&&r.length>0?r:void 0}s(p,"optionalString");function h(e,t){if(!Array.isArray(e)||!e.every(r=>typeof r=="string"))throw new o(-32602,`${t} must be a string array.`);return e}s(h,"stringArray");function ee(e){if(!a(e))throw new o(-32602,"Agent Card interface is invalid.");return{url:y(e,"url","interface"),protocolBinding:y(e,"protocolBinding","interface"),protocolVersion:y(e,"protocolVersion","interface"),...p(e,"tenant")?{tenant:p(e,"tenant")}:{}}}s(ee,"parseInterface");function q(e,t,r){try{C(e,t)}catch(n){let i=n instanceof Error?n.message:String(n);throw new o(-32602,`${r} is invalid: ${i}`)}}s(q,"validateSecurity");function te(e,t){if(!a(e))throw new o(-32602,"Agent Card skill is invalid.");return e.securityRequirements!==void 0&&q(t,e.securityRequirements,"skill.securityRequirements"),{id:y(e,"id","skill"),name:y(e,"name","skill"),description:y(e,"description","skill"),tags:h(e.tags,"skill.tags"),...Array.isArray(e.examples)?{examples:h(e.examples,"skill.examples")}:{},...Array.isArray(e.inputModes)?{inputModes:h(e.inputModes,"skill.inputModes")}:{},...Array.isArray(e.outputModes)?{outputModes:h(e.outputModes,"skill.outputModes")}:{},...Array.isArray(e.securityRequirements)?{securityRequirements:e.securityRequirements.filter(a)}:{}}}s(te,"parseSkill");function re(e){if(!a(e))throw new o(-32602,"Agent Card extension is invalid.");let t=y(e,"uri","extension");try{new URL(t)}catch{throw new o(-32602,"Agent Card extension.uri must be an absolute URI.")}if(e.description!==void 0&&typeof e.description!="string")throw new o(-32602,"Agent Card extension.description must be a string.");if(e.required!==void 0&&typeof e.required!="boolean")throw new o(-32602,"Agent Card extension.required must be a boolean.");if(e.params!==void 0&&!a(e.params))throw new o(-32602,"Agent Card extension.params must be an object.");return{uri:t,...typeof e.description=="string"?{description:e.description}:{},...typeof e.required=="boolean"?{required:e.required}:{},...a(e.params)?{params:e.params}:{}}}s(re,"parseExtension");function ke(e){if(!a(e))throw new o(-32602,"Agent Card must be an object.");let t=e.supportedInterfaces,r=e.skills;if(!Array.isArray(t)||t.length===0)throw new o(-32602,"Agent Card must declare supportedInterfaces.");if(!Array.isArray(r))throw new o(-32602,"Agent Card must declare skills.");if(!a(e.capabilities))throw new o(-32602,"Agent Card capabilities are invalid.");if(e.capabilities.extensions!==void 0&&!Array.isArray(e.capabilities.extensions))throw new o(-32602,"Agent Card capabilities.extensions must be an array.");return q(e.securitySchemes,e.securityRequirements,"Agent Card security declaration"),{name:y(e,"name","Agent Card"),description:y(e,"description","Agent Card"),supportedInterfaces:t.map(ee),version:y(e,"version","Agent Card"),capabilities:{...typeof e.capabilities.streaming=="boolean"?{streaming:e.capabilities.streaming}:{},...typeof e.capabilities.pushNotifications=="boolean"?{pushNotifications:e.capabilities.pushNotifications}:{},...typeof e.capabilities.extendedAgentCard=="boolean"?{extendedAgentCard:e.capabilities.extendedAgentCard}:{},...Array.isArray(e.capabilities.extensions)?{extensions:e.capabilities.extensions.map(re)}:{}},...a(e.securitySchemes)?{securitySchemes:e.securitySchemes}:{},...Array.isArray(e.securityRequirements)?{securityRequirements:e.securityRequirements.filter(a)}:{},defaultInputModes:h(e.defaultInputModes,"Agent Card defaultInputModes"),defaultOutputModes:h(e.defaultOutputModes,"Agent Card defaultOutputModes"),skills:r.map(n=>te(n,e.securitySchemes))}}s(ke,"parseA2AAgentCard");function M(e){if(!a(e))throw new o(-32602,"Message Part must be an object.");let t=["text","raw","url","data"].filter(n=>e[n]!==void 0);if(t.length!==1)throw new o(-32602,"Message Part must contain exactly one content field.");let r=t[0];if(r!=="data"&&typeof e[r]!="string")throw new o(-32602,`Message Part ${r} content must be a string.`);return{...typeof e.text=="string"?{text:e.text}:{},...typeof e.raw=="string"?{raw:e.raw}:{},...typeof e.url=="string"?{url:e.url}:{},...e.data!==void 0?{data:e.data}:{},...a(e.metadata)?{metadata:e.metadata}:{},...p(e,"filename")?{filename:p(e,"filename")}:{},...p(e,"mediaType")?{mediaType:p(e,"mediaType")}:{}}}s(M,"parseA2APart");function k(e){if(!a(e))throw new o(-32602,"Message must be an object.");if(e.role!=="ROLE_USER"&&e.role!=="ROLE_AGENT")throw new o(-32602,"Message role is invalid.");if(!Array.isArray(e.parts)||e.parts.length===0)throw new o(-32602,"Message parts must not be empty.");return{messageId:y(e,"messageId","Message"),role:e.role,parts:e.parts.map(M),...p(e,"contextId")?{contextId:p(e,"contextId")}:{},...p(e,"taskId")?{taskId:p(e,"taskId")}:{},...a(e.metadata)?{metadata:e.metadata}:{}}}s(k,"parseA2AMessage");function ne(e){if(!a(e)||!Array.isArray(e.parts)||e.parts.length===0)throw new o(-32603,"A2A artifact is invalid.");return{artifactId:y(e,"artifactId","Artifact"),parts:e.parts.map(M),...p(e,"name")?{name:p(e,"name")}:{},...p(e,"description")?{description:p(e,"description")}:{},...a(e.metadata)?{metadata:e.metadata}:{}}}s(ne,"parseArtifact");function O(e){if(!a(e)||!a(e.status))throw new o(-32603,"A2A task is invalid.");let t=e.status.state;if(typeof t!="string")throw new o(-32603,"A2A task state is invalid.");let r=v.has(t)?t:"TASK_STATE_UNSPECIFIED";return{id:y(e,"id","Task"),contextId:p(e,"contextId")??"",status:{state:r,...e.status.message!==void 0?{message:k(e.status.message)}:{},...p(e.status,"timestamp")?{timestamp:p(e.status,"timestamp")}:{}},...Array.isArray(e.artifacts)?{artifacts:e.artifacts.map(ne)}:{},...Array.isArray(e.history)?{history:e.history.map(k)}:{},...a(e.metadata)?{metadata:e.metadata}:{}}}s(O,"parseA2ATask");function Ee(e){if(!a(e)||e.jsonrpc!=="2.0")throw new o(-32600,"Invalid JSON-RPC request.");if(typeof e.id!="string"&&typeof e.id!="number")throw new o(-32600,"JSON-RPC request id is required.");return{jsonrpc:"2.0",id:e.id,method:y(e,"method","JSON-RPC request"),...a(e.params)?{params:e.params}:{}}}s(Ee,"parseJsonRpcRequest");import{createHash as se}from"node:crypto";var g="realm-subject-tenant-v1";function K(e){return se("sha256").update(e).digest("hex")}s(K,"sha256");function Ie(e){return K(`${e.subject}\0${e.tenant??""}`)}s(Ie,"legacyA2APrincipalKey");function xe(e){return K(JSON.stringify([e.securityRealm,e.subject,e.tenant??null]))}s(xe,"realmA2APrincipalKey");import f from"node:fs";import E from"node:path";function m(e){return structuredClone(e)}s(m,"clone");function ie(e){if(!a(e))throw new Error("A2A task store record must be an object.");for(let r of["taskId","contextId","principalKey","runtimeIdentity","sessionId","createdAt","updatedAt"])if(typeof e[r]!="string")throw new Error(`A2A task store record has invalid ${r}.`);if(!a(e.messageDigests)||!Object.values(e.messageDigests).every(r=>typeof r=="string"))throw new Error("A2A task store message digests are invalid.");if(!Array.isArray(e.runIds)||!e.runIds.every(r=>typeof r=="string"))throw new Error("A2A task store run IDs are invalid.");if(!Array.isArray(e.history))throw new Error("A2A task store history is invalid.");if(e.principalKeyScheme!==void 0&&e.principalKeyScheme!==g)throw new Error("A2A task store principal key scheme is unsupported.");if(!Number.isSafeInteger(e.eventSeq))throw new Error("A2A task store event cursors are invalid.");let t=e.pendingUserInput;if(t!==void 0&&(!a(t)||typeof t.requestId!="string"||!Number.isSafeInteger(t.revision)||typeof t.runId!="string"||typeof t.kind!="string"))throw new Error("A2A task store pending user input is invalid.");if(e.acceptedOutputModes!==void 0&&(!Array.isArray(e.acceptedOutputModes)||!e.acceptedOutputModes.every(r=>typeof r=="string")))throw new Error("A2A task store accepted output modes are invalid.");return{taskId:e.taskId,contextId:e.contextId,principalKey:e.principalKey,...e.principalKeyScheme===g?{principalKeyScheme:g}:{},runtimeIdentity:e.runtimeIdentity,sessionId:e.sessionId,...typeof e.workspaceRoot=="string"?{workspaceRoot:e.workspaceRoot}:{},...typeof e.executionPolicyRevision=="string"?{executionPolicyRevision:e.executionPolicyRevision}:{},messageDigests:e.messageDigests,runIds:e.runIds,task:O(e.task),history:e.history.map(k),createdAt:e.createdAt,updatedAt:e.updatedAt,eventSeq:e.eventSeq,runtimeEventCount:Number.isSafeInteger(e.runtimeEventCount)?e.runtimeEventCount:0,runtimeEventBytes:Number.isSafeInteger(e.runtimeEventBytes)?e.runtimeEventBytes:0,...e.acceptedOutputModes!==void 0?{acceptedOutputModes:e.acceptedOutputModes}:{},...t!==void 0?{pendingUserInput:{requestId:t.requestId,revision:t.revision,runId:t.runId,kind:t.kind}}:{}}}s(ie,"parseRecord");function oe(e){let t=JSON.parse(e);if(!Array.isArray(t))throw new Error("A2A task store root must be an array.");let r=t.map(ie);if(new Set(r.map(n=>n.taskId)).size!==r.length)throw new Error("A2A snapshot contains duplicate task IDs.");return r}s(oe,"parseA2ATaskStoreSnapshot");var _=class{static{s(this,"A2AFileTaskStore")}#e=new Map;#t=new Map;#r;#s;#n;constructor(t){let r=E.resolve(t);f.mkdirSync(r,{recursive:!0,mode:448}),this.#r=E.join(r,"tasks.json"),this.#s=E.join(r,".server.lock"),this.#n=this.acquireLock();try{let n=!1;try{f.lstatSync(`${this.#r}.repair-fence`),n=!0}catch(i){if(i.code!=="ENOENT")throw i}if(n)throw new Error("A2A storage repair is unverified; inspect its receipt before enabling task effects.");this.load()}catch(n){try{this.#n.release()}catch(i){throw new AggregateError([n,i],"A2A storage initialization and lock cleanup failed.")}throw n}try{f.rmSync(E.join(r,"runtime-cursors"),{recursive:!0,force:!0})}catch{}}get(t){let r=this.#e.get(t);return r?m(r):void 0}findByMessage(t,r){for(let n of this.#e.values())if(n.principalKey===t&&n.messageDigests[r]!==void 0)return m(n)}list(t){return[...this.#e.values()].filter(r=>r.principalKey===t).sort((r,n)=>n.updatedAt.localeCompare(r.updatedAt)||n.taskId.localeCompare(r.taskId)).map(m)}all(){return[...this.#e.values()].map(m)}save(t){let r=m(t),n=this.#e.get(t.taskId);this.#e.set(t.taskId,r);try{this.persist()}catch(i){throw n?this.#e.set(t.taskId,n):this.#e.delete(t.taskId),i}for(let i of this.#t.get(t.taskId)??[])i(m(r));return m(r)}pruneTerminal(t,r){let n=[...this.#e.values()].filter(d=>d.principalKey===t).sort((d,c)=>d.updatedAt.localeCompare(c.updatedAt)),i=[];for(;n.length>r;){let d=n.findIndex(u=>u.task.status.state==="TASK_STATE_COMPLETED"||u.task.status.state==="TASK_STATE_FAILED"||u.task.status.state==="TASK_STATE_CANCELED"||u.task.status.state==="TASK_STATE_REJECTED");if(d<0)break;let[c]=n.splice(d,1);if(!c)break;this.#e.delete(c.taskId),this.#t.delete(c.taskId),i.push(m(c))}return i.length>0&&this.persist(),i}migrateUnversionedPrincipalKeys(t){let r=0,n=0,i=0,d=[];for(let[c,u]of this.#e){if(u.principalKeyScheme!==void 0)continue;let S=t.legacyToCurrent.get(u.principalKey);S!==void 0?(r+=1,d.push([c,{...u,principalKey:S,principalKeyScheme:g}])):t.currentKeys.has(u.principalKey)?(n+=1,d.push([c,{...u,principalKeyScheme:g}])):i+=1}if(t.apply&&d.length>0){for(let[c,u]of d)this.#e.set(c,u);this.persist()}return{matchedLegacyTaskCount:r,matchedCurrentTaskCount:n,unmatchedUnversionedTaskCount:i}}subscribe(t,r){let n=this.#t.get(t)??new Set;return n.add(r),this.#t.set(t,n),()=>{n.delete(r),n.size===0&&this.#t.delete(t)}}close(){this.#t.clear(),this.#n.release()}acquireLock(){let t=T(this.#s,{legacyPidRecord:!0});if(!t)throw new Error("A2A task store is already owned by another server or has unverified lock ownership.");return t}load(){if(!f.existsSync(this.#r))return;let t;try{t=oe(f.readFileSync(this.#r,"utf8"))}catch(r){throw new Error(`Failed to read A2A task store: ${r instanceof Error?r.message:String(r)}`)}for(let r of t)this.#e.set(r.taskId,r)}persist(){let t=`${this.#r}.${process.pid}.tmp`;f.writeFileSync(t,`${JSON.stringify([...this.#e.values()],null,2)}
|
|
2
|
+
import{c as T}from"./chunk-DAQGOWKD.js";import{a as s}from"./chunk-V4WSBIXB.js";var o=class extends Error{constructor(r,n,i=200,d,c){super(n);this.code=r;this.httpStatus=i;this.data=d;this.headers=c;this.name="A2AError"}code;httpStatus;data;headers;static{s(this,"A2AError")}};function ae(e){return e instanceof Error?e.message:String(e)}s(ae,"errorMessage");var L=["apiKeySecurityScheme","httpAuthSecurityScheme","oauth2SecurityScheme","openIdConnectSecurityScheme","mtlsSecurityScheme"],U=["authorizationCode","clientCredentials","implicit","password","deviceCode"],P=/^[\x21\x23-\x5B\x5D-\x7E]+$/u;function w(e,t){if(!P.test(e))throw new Error(`${t} must be an RFC 6749 scope-token.`)}s(w,"assertOAuthScopeToken");function ue(e,t){let r=e.split(" ");for(let n of r)w(n,t);return[...new Set(r)]}s(ue,"parseOAuthScopeValue");function pe(e,t){if(!Array.isArray(e))throw new Error(`${t} must be an array of strings.`);let r=e.map((n,i)=>{if(typeof n!="string")throw new Error(`${t}[${i}] must be a string.`);return w(n,`${t}[${i}]`),n});if(new Set(r).size!==r.length)throw new Error(`${t} must not contain duplicates.`);return r}s(pe,"parseOAuthScopeList");function A(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}s(A,"isRecord");function l(e,t){if(typeof e!="string"||e.trim().length===0)throw new Error(`${t} must be a non-empty string.`);return e}s(l,"requireNonEmptyString");function j(e,t){if(e!==void 0)return l(e,t)}s(j,"optionalString");function R(e,t){return l(e,t).trim()}s(R,"trimmedUri");function N(e){return/^[A-Za-z][A-Za-z0-9+.-]*:\/\/([^/?#]*)/u.exec(e)?.[1]?.includes("@")===!0}s(N,"hasAuthorityUserinfo");function D(e){let t=e.toLowerCase().replace(/^\[|\]$/gu,"");return t==="localhost"||t==="127.0.0.1"||t==="::1"}s(D,"isExactOAuthLoopbackHostname");function I(e,t){let r=R(e,t);if(!/^https?:\/\/([^/?#]*)/iu.exec(r)?.[1])throw new Error(`${t} must be an absolute HTTP(S) URL.`);let i;try{i=new URL(r)}catch{throw new Error(`${t} must be an absolute HTTP(S) URL.`)}if(N(r)||i.username||i.password||r.includes("#"))throw new Error(`${t} must not contain userinfo or a fragment.`);if(i.protocol==="http:"&&!D(i.hostname))throw new Error(`${t} must use HTTPS or exact loopback HTTP.`);return{raw:r,url:i}}s(I,"secureOAuthHttpUrl");function ye(e,t){let r=I(e,t);if(r.raw.includes("?"))throw new Error(`${t} must not contain a query or fragment.`);return r.raw}s(ye,"parseOAuthIssuerIdentifier");function F(e,t){return I(e,t).url}s(F,"parseOAuthEndpointUrl");function Ae(e,t){let r=R(e,t);if(!/^[A-Za-z][A-Za-z0-9+.-]*:/u.test(r))throw new Error(`${t} must be an absolute URI.`);try{new URL(r)}catch{throw new Error(`${t} must be an absolute URI.`)}if(r.includes("#"))throw new Error(`${t} must not contain a fragment.`);return r}s(Ae,"parseOAuthResourceIdentifier");function x(e,t){return F(e,t).href}s(x,"absoluteHttpUrl");function H(e,t){if(!A(e))throw new Error(`${t} must be a scope-description object.`);return Object.entries(e).map(([r,n])=>{if(r.trim().length===0||typeof n!="string")throw new Error(`${t} must map non-empty scope names to descriptions.`);return w(r,`${t}.${r}`),r})}s(H,"parseScopes");function z(e,t){if(!A(t))throw new Error(`securitySchemes.${e}.httpAuthSecurityScheme must be an object.`);let r=l(t.scheme,`securitySchemes.${e}.httpAuthSecurityScheme.scheme`),n=j(t.bearerFormat,`securitySchemes.${e}.httpAuthSecurityScheme.bearerFormat`);return r.toLowerCase()!=="bearer"?{name:e,kind:"unsupported",protocol:`http:${r.toLowerCase()}`}:{name:e,kind:"http-bearer",...n?{bearerFormat:n}:{}}}s(z,"parseHttpScheme");function J(e,t){let r=t.flows;if(!A(r))throw new Error(`securitySchemes.${e}.oauth2SecurityScheme.flows must be an object.`);let n=U.filter(u=>r[u]!==void 0);if(n.length!==1)throw new Error(`securitySchemes.${e}.oauth2SecurityScheme.flows must contain exactly one OAuth flow.`);let i=n[0],d=r[i];if(!A(d))throw new Error(`securitySchemes.${e}.oauth2SecurityScheme.flows.${i} must be an object.`);let c=H(d.scopes,`securitySchemes.${e}.oauth2SecurityScheme.flows.${i}.scopes`);if(i==="clientCredentials"){let u=x(d.tokenUrl,`securitySchemes.${e}.oauth2SecurityScheme.flows.clientCredentials.tokenUrl`);return{name:e,kind:"oauth2-client-credentials",tokenUrl:u,scopes:c}}return{name:e,kind:"unsupported",protocol:`oauth2:${i}`,oauthScopes:c}}s(J,"parseOAuthFlow");function B(e,t,r){if(!A(r))throw new Error(`securitySchemes.${e}.${t} must be an object.`);if(t==="apiKeySecurityScheme"){let n=l(r.location,`securitySchemes.${e}.${t}.location`);if(!["query","header","cookie"].includes(n))throw new Error(`securitySchemes.${e}.${t}.location must be query, header, or cookie.`);return l(r.name,`securitySchemes.${e}.${t}.name`),{name:e,kind:"unsupported",protocol:"api-key"}}return t==="openIdConnectSecurityScheme"?(x(r.openIdConnectUrl,`securitySchemes.${e}.${t}.openIdConnectUrl`),{name:e,kind:"unsupported",protocol:"openid-connect",acceptsOAuthScopes:!0}):{name:e,kind:"unsupported",protocol:"mutual-tls"}}s(B,"parseUnsupportedScheme");function Z(e,t){if(!A(t))throw new Error(`securitySchemes.${e} must be an object.`);let r=L.filter(i=>t[i]!==void 0);if(r.length!==1)throw new Error(`securitySchemes.${e} must contain exactly one security scheme.`);let n=r[0];if(n==="httpAuthSecurityScheme")return z(e,t[n]);if(n==="oauth2SecurityScheme"){let i=t[n];if(!A(i))throw new Error(`securitySchemes.${e}.${n} must be an object.`);return J(e,i)}return B(e,n,t[n])}s(Z,"parseScheme");function V(e){if(e===void 0)return{};if(!A(e))throw new Error("securitySchemes must be an object.");return Object.fromEntries(Object.entries(e).map(([t,r])=>{if(t.trim().length===0)throw new Error("securitySchemes names must not be empty.");return[t,Z(t,r)]}))}s(V,"parseSchemes");function Y(e,t){if(!A(e))throw new Error(`${t} must be a StringList object.`);if(e.list===void 0)return[];if(!Array.isArray(e.list)||!e.list.every(r=>typeof r=="string"&&r.trim().length>0))throw new Error(`${t}.list must be an array of non-empty strings.`);if(new Set(e.list).size!==e.list.length)throw new Error(`${t}.list must not contain duplicate scopes.`);for(let r of e.list)w(r,`${t}.list`);return e.list}s(Y,"parseScopeList");function G(e,t){if(e.kind==="oauth2-client-credentials"||e.kind==="unsupported"&&e.oauthScopes!==void 0){let r=e.kind==="oauth2-client-credentials"?e.scopes:e.oauthScopes??[];for(let n of t)if(!r.includes(n))throw new Error(`scope "${n}" is not declared by security scheme "${e.name}".`);return}if(t.length>0&&!(e.kind==="unsupported"&&e.acceptsOAuthScopes))throw new Error(`security scheme "${e.name}" does not accept OAuth scopes.`)}s(G,"validateRequiredScopes");function Q(e,t,r){if(!A(e))throw new Error(`securityRequirements[${t}] must be an object.`);let n=e.schemes;if(n!==void 0&&!A(n))throw new Error(`securityRequirements[${t}].schemes must be an object.`);return{schemes:Object.entries(n??{}).map(([c,u])=>{if(!Object.hasOwn(r,c))throw new Error(`securityRequirements[${t}] references unknown security scheme "${c}".`);let S=r[c],b=Y(u,`securityRequirements[${t}].schemes.${c}`);return G(S,b),{scheme:S,scopes:b}})}}s(Q,"parseRequirement");function C(e,t){let r=V(e);if(t===void 0)return{schemes:r,requirements:[]};if(!Array.isArray(t))throw new Error("securityRequirements must be an array.");return{schemes:r,requirements:t.map((n,i)=>Q(n,i,r))}}s(C,"parseA2ASecurity");function W(e,t){let{scheme:r,scopes:n}=t;return r.kind!=="unsupported"&&e.schemeName===r.name&&e.kind===r.kind&&n.every(i=>e.scopes?.includes(i)===!0)}s(W,"capabilityMatches");function me(e,t){return X(e,t)[0]??null}s(me,"selectA2ASecurityRequirement");function X(e,t){return(e.requirements.length===0?[{schemes:[]}]:e.requirements).filter(n=>n.schemes.every(i=>t.some(d=>W(d,i))))}s(X,"satisfiableA2ASecurityRequirements");var v=new Set(["TASK_STATE_UNSPECIFIED","TASK_STATE_SUBMITTED","TASK_STATE_WORKING","TASK_STATE_COMPLETED","TASK_STATE_FAILED","TASK_STATE_CANCELED","TASK_STATE_INPUT_REQUIRED","TASK_STATE_REJECTED","TASK_STATE_AUTH_REQUIRED"]);function a(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}s(a,"isRecord");function $(e){if(e===null)return;let t=e.split(";",1)[0]?.trim().toLowerCase();return t&&!/\s/u.test(t)?t:void 0}s($,"mediaTypeEssence");function le(e){let t=$(e);return t==="application/json"||/^application\/[!#$%&'*+\-.^_`|~0-9a-z]+\+json$/u.test(t??"")}s(le,"isJsonMediaType");function we(e){return $(e)==="text/event-stream"}s(we,"isEventStreamMediaType");function y(e,t,r){let n=e[t];if(typeof n!="string"||n.trim().length===0)throw new o(-32602,`${r}.${t} must be a non-empty string.`);return n}s(y,"requiredString");function p(e,t){let r=e[t];return typeof r=="string"&&r.length>0?r:void 0}s(p,"optionalString");function h(e,t){if(!Array.isArray(e)||!e.every(r=>typeof r=="string"))throw new o(-32602,`${t} must be a string array.`);return e}s(h,"stringArray");function ee(e){if(!a(e))throw new o(-32602,"Agent Card interface is invalid.");return{url:y(e,"url","interface"),protocolBinding:y(e,"protocolBinding","interface"),protocolVersion:y(e,"protocolVersion","interface"),...p(e,"tenant")?{tenant:p(e,"tenant")}:{}}}s(ee,"parseInterface");function q(e,t,r){try{C(e,t)}catch(n){let i=n instanceof Error?n.message:String(n);throw new o(-32602,`${r} is invalid: ${i}`)}}s(q,"validateSecurity");function te(e,t){if(!a(e))throw new o(-32602,"Agent Card skill is invalid.");return e.securityRequirements!==void 0&&q(t,e.securityRequirements,"skill.securityRequirements"),{id:y(e,"id","skill"),name:y(e,"name","skill"),description:y(e,"description","skill"),tags:h(e.tags,"skill.tags"),...Array.isArray(e.examples)?{examples:h(e.examples,"skill.examples")}:{},...Array.isArray(e.inputModes)?{inputModes:h(e.inputModes,"skill.inputModes")}:{},...Array.isArray(e.outputModes)?{outputModes:h(e.outputModes,"skill.outputModes")}:{},...Array.isArray(e.securityRequirements)?{securityRequirements:e.securityRequirements.filter(a)}:{}}}s(te,"parseSkill");function re(e){if(!a(e))throw new o(-32602,"Agent Card extension is invalid.");let t=y(e,"uri","extension");try{new URL(t)}catch{throw new o(-32602,"Agent Card extension.uri must be an absolute URI.")}if(e.description!==void 0&&typeof e.description!="string")throw new o(-32602,"Agent Card extension.description must be a string.");if(e.required!==void 0&&typeof e.required!="boolean")throw new o(-32602,"Agent Card extension.required must be a boolean.");if(e.params!==void 0&&!a(e.params))throw new o(-32602,"Agent Card extension.params must be an object.");return{uri:t,...typeof e.description=="string"?{description:e.description}:{},...typeof e.required=="boolean"?{required:e.required}:{},...a(e.params)?{params:e.params}:{}}}s(re,"parseExtension");function ke(e){if(!a(e))throw new o(-32602,"Agent Card must be an object.");let t=e.supportedInterfaces,r=e.skills;if(!Array.isArray(t)||t.length===0)throw new o(-32602,"Agent Card must declare supportedInterfaces.");if(!Array.isArray(r))throw new o(-32602,"Agent Card must declare skills.");if(!a(e.capabilities))throw new o(-32602,"Agent Card capabilities are invalid.");if(e.capabilities.extensions!==void 0&&!Array.isArray(e.capabilities.extensions))throw new o(-32602,"Agent Card capabilities.extensions must be an array.");return q(e.securitySchemes,e.securityRequirements,"Agent Card security declaration"),{name:y(e,"name","Agent Card"),description:y(e,"description","Agent Card"),supportedInterfaces:t.map(ee),version:y(e,"version","Agent Card"),capabilities:{...typeof e.capabilities.streaming=="boolean"?{streaming:e.capabilities.streaming}:{},...typeof e.capabilities.pushNotifications=="boolean"?{pushNotifications:e.capabilities.pushNotifications}:{},...typeof e.capabilities.extendedAgentCard=="boolean"?{extendedAgentCard:e.capabilities.extendedAgentCard}:{},...Array.isArray(e.capabilities.extensions)?{extensions:e.capabilities.extensions.map(re)}:{}},...a(e.securitySchemes)?{securitySchemes:e.securitySchemes}:{},...Array.isArray(e.securityRequirements)?{securityRequirements:e.securityRequirements.filter(a)}:{},defaultInputModes:h(e.defaultInputModes,"Agent Card defaultInputModes"),defaultOutputModes:h(e.defaultOutputModes,"Agent Card defaultOutputModes"),skills:r.map(n=>te(n,e.securitySchemes))}}s(ke,"parseA2AAgentCard");function M(e){if(!a(e))throw new o(-32602,"Message Part must be an object.");let t=["text","raw","url","data"].filter(n=>e[n]!==void 0);if(t.length!==1)throw new o(-32602,"Message Part must contain exactly one content field.");let r=t[0];if(r!=="data"&&typeof e[r]!="string")throw new o(-32602,`Message Part ${r} content must be a string.`);return{...typeof e.text=="string"?{text:e.text}:{},...typeof e.raw=="string"?{raw:e.raw}:{},...typeof e.url=="string"?{url:e.url}:{},...e.data!==void 0?{data:e.data}:{},...a(e.metadata)?{metadata:e.metadata}:{},...p(e,"filename")?{filename:p(e,"filename")}:{},...p(e,"mediaType")?{mediaType:p(e,"mediaType")}:{}}}s(M,"parseA2APart");function k(e){if(!a(e))throw new o(-32602,"Message must be an object.");if(e.role!=="ROLE_USER"&&e.role!=="ROLE_AGENT")throw new o(-32602,"Message role is invalid.");if(!Array.isArray(e.parts)||e.parts.length===0)throw new o(-32602,"Message parts must not be empty.");return{messageId:y(e,"messageId","Message"),role:e.role,parts:e.parts.map(M),...p(e,"contextId")?{contextId:p(e,"contextId")}:{},...p(e,"taskId")?{taskId:p(e,"taskId")}:{},...a(e.metadata)?{metadata:e.metadata}:{}}}s(k,"parseA2AMessage");function ne(e){if(!a(e)||!Array.isArray(e.parts)||e.parts.length===0)throw new o(-32603,"A2A artifact is invalid.");return{artifactId:y(e,"artifactId","Artifact"),parts:e.parts.map(M),...p(e,"name")?{name:p(e,"name")}:{},...p(e,"description")?{description:p(e,"description")}:{},...a(e.metadata)?{metadata:e.metadata}:{}}}s(ne,"parseArtifact");function O(e){if(!a(e)||!a(e.status))throw new o(-32603,"A2A task is invalid.");let t=e.status.state;if(typeof t!="string")throw new o(-32603,"A2A task state is invalid.");let r=v.has(t)?t:"TASK_STATE_UNSPECIFIED";return{id:y(e,"id","Task"),contextId:p(e,"contextId")??"",status:{state:r,...e.status.message!==void 0?{message:k(e.status.message)}:{},...p(e.status,"timestamp")?{timestamp:p(e.status,"timestamp")}:{}},...Array.isArray(e.artifacts)?{artifacts:e.artifacts.map(ne)}:{},...Array.isArray(e.history)?{history:e.history.map(k)}:{},...a(e.metadata)?{metadata:e.metadata}:{}}}s(O,"parseA2ATask");function Ee(e){if(!a(e)||e.jsonrpc!=="2.0")throw new o(-32600,"Invalid JSON-RPC request.");if(typeof e.id!="string"&&typeof e.id!="number")throw new o(-32600,"JSON-RPC request id is required.");return{jsonrpc:"2.0",id:e.id,method:y(e,"method","JSON-RPC request"),...a(e.params)?{params:e.params}:{}}}s(Ee,"parseJsonRpcRequest");import{createHash as se}from"node:crypto";var g="realm-subject-tenant-v1";function K(e){return se("sha256").update(e).digest("hex")}s(K,"sha256");function Ie(e){return K(`${e.subject}\0${e.tenant??""}`)}s(Ie,"legacyA2APrincipalKey");function xe(e){return K(JSON.stringify([e.securityRealm,e.subject,e.tenant??null]))}s(xe,"realmA2APrincipalKey");import f from"node:fs";import E from"node:path";function m(e){return structuredClone(e)}s(m,"clone");function ie(e){if(!a(e))throw new Error("A2A task store record must be an object.");for(let r of["taskId","contextId","principalKey","runtimeIdentity","sessionId","createdAt","updatedAt"])if(typeof e[r]!="string")throw new Error(`A2A task store record has invalid ${r}.`);if(!a(e.messageDigests)||!Object.values(e.messageDigests).every(r=>typeof r=="string"))throw new Error("A2A task store message digests are invalid.");if(!Array.isArray(e.runIds)||!e.runIds.every(r=>typeof r=="string"))throw new Error("A2A task store run IDs are invalid.");if(!Array.isArray(e.history))throw new Error("A2A task store history is invalid.");if(e.principalKeyScheme!==void 0&&e.principalKeyScheme!==g)throw new Error("A2A task store principal key scheme is unsupported.");if(!Number.isSafeInteger(e.eventSeq))throw new Error("A2A task store event cursors are invalid.");let t=e.pendingUserInput;if(t!==void 0&&(!a(t)||typeof t.requestId!="string"||!Number.isSafeInteger(t.revision)||typeof t.runId!="string"||typeof t.kind!="string"))throw new Error("A2A task store pending user input is invalid.");if(e.acceptedOutputModes!==void 0&&(!Array.isArray(e.acceptedOutputModes)||!e.acceptedOutputModes.every(r=>typeof r=="string")))throw new Error("A2A task store accepted output modes are invalid.");return{taskId:e.taskId,contextId:e.contextId,principalKey:e.principalKey,...e.principalKeyScheme===g?{principalKeyScheme:g}:{},runtimeIdentity:e.runtimeIdentity,sessionId:e.sessionId,...typeof e.workspaceRoot=="string"?{workspaceRoot:e.workspaceRoot}:{},...typeof e.executionPolicyRevision=="string"?{executionPolicyRevision:e.executionPolicyRevision}:{},messageDigests:e.messageDigests,runIds:e.runIds,task:O(e.task),history:e.history.map(k),createdAt:e.createdAt,updatedAt:e.updatedAt,eventSeq:e.eventSeq,runtimeEventCount:Number.isSafeInteger(e.runtimeEventCount)?e.runtimeEventCount:0,runtimeEventBytes:Number.isSafeInteger(e.runtimeEventBytes)?e.runtimeEventBytes:0,...e.acceptedOutputModes!==void 0?{acceptedOutputModes:e.acceptedOutputModes}:{},...t!==void 0?{pendingUserInput:{requestId:t.requestId,revision:t.revision,runId:t.runId,kind:t.kind}}:{}}}s(ie,"parseRecord");function oe(e){let t=JSON.parse(e);if(!Array.isArray(t))throw new Error("A2A task store root must be an array.");let r=t.map(ie);if(new Set(r.map(n=>n.taskId)).size!==r.length)throw new Error("A2A snapshot contains duplicate task IDs.");return r}s(oe,"parseA2ATaskStoreSnapshot");var _=class{static{s(this,"A2AFileTaskStore")}#e=new Map;#t=new Map;#r;#s;#n;constructor(t){let r=E.resolve(t);f.mkdirSync(r,{recursive:!0,mode:448}),this.#r=E.join(r,"tasks.json"),this.#s=E.join(r,".server.lock"),this.#n=this.acquireLock();try{let n=!1;try{f.lstatSync(`${this.#r}.repair-fence`),n=!0}catch(i){if(i.code!=="ENOENT")throw i}if(n)throw new Error("A2A storage repair is unverified; inspect its receipt before enabling task effects.");this.load()}catch(n){try{this.#n.release()}catch(i){throw new AggregateError([n,i],"A2A storage initialization and lock cleanup failed.")}throw n}try{f.rmSync(E.join(r,"runtime-cursors"),{recursive:!0,force:!0})}catch{}}get(t){let r=this.#e.get(t);return r?m(r):void 0}findByMessage(t,r){for(let n of this.#e.values())if(n.principalKey===t&&n.messageDigests[r]!==void 0)return m(n)}list(t){return[...this.#e.values()].filter(r=>r.principalKey===t).sort((r,n)=>n.updatedAt.localeCompare(r.updatedAt)||n.taskId.localeCompare(r.taskId)).map(m)}all(){return[...this.#e.values()].map(m)}save(t){let r=m(t),n=this.#e.get(t.taskId);this.#e.set(t.taskId,r);try{this.persist()}catch(i){throw n?this.#e.set(t.taskId,n):this.#e.delete(t.taskId),i}for(let i of this.#t.get(t.taskId)??[])i(m(r));return m(r)}pruneTerminal(t,r){let n=[...this.#e.values()].filter(d=>d.principalKey===t).sort((d,c)=>d.updatedAt.localeCompare(c.updatedAt)),i=[];for(;n.length>r;){let d=n.findIndex(u=>u.task.status.state==="TASK_STATE_COMPLETED"||u.task.status.state==="TASK_STATE_FAILED"||u.task.status.state==="TASK_STATE_CANCELED"||u.task.status.state==="TASK_STATE_REJECTED");if(d<0)break;let[c]=n.splice(d,1);if(!c)break;this.#e.delete(c.taskId),this.#t.delete(c.taskId),i.push(m(c))}return i.length>0&&this.persist(),i}migrateUnversionedPrincipalKeys(t){let r=0,n=0,i=0,d=[];for(let[c,u]of this.#e){if(u.principalKeyScheme!==void 0)continue;let S=t.legacyToCurrent.get(u.principalKey);S!==void 0?(r+=1,d.push([c,{...u,principalKey:S,principalKeyScheme:g}])):t.currentKeys.has(u.principalKey)?(n+=1,d.push([c,{...u,principalKeyScheme:g}])):i+=1}if(t.apply&&d.length>0){for(let[c,u]of d)this.#e.set(c,u);this.persist()}return{matchedLegacyTaskCount:r,matchedCurrentTaskCount:n,unmatchedUnversionedTaskCount:i}}subscribe(t,r){let n=this.#t.get(t)??new Set;return n.add(r),this.#t.set(t,n),()=>{n.delete(r),n.size===0&&this.#t.delete(t)}}close(){this.#t.clear(),this.#n.release()}acquireLock(){let t=T(this.#s,{legacyPidRecord:!0});if(!t)throw new Error("A2A task store is already owned by another server or has unverified lock ownership.");return t}load(){if(!f.existsSync(this.#r))return;let t;try{t=oe(f.readFileSync(this.#r,"utf8"))}catch(r){throw new Error(`Failed to read A2A task store: ${r instanceof Error?r.message:String(r)}`)}for(let r of t)this.#e.set(r.taskId,r)}persist(){let t=`${this.#r}.${process.pid}.tmp`;f.writeFileSync(t,`${JSON.stringify([...this.#e.values()],null,2)}
|
|
3
3
|
`,{encoding:"utf8",mode:384}),f.renameSync(t,this.#r)}};export{g as a,Ie as b,xe as c,o as d,ae as e,w as f,ue as g,pe as h,l as i,D as j,ye as k,F as l,Ae as m,C as n,me as o,X as p,a as q,le as r,we as s,ke as t,M as u,k as v,O as w,Ee as x,oe as y,_ as z};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{a as R}from"./chunk-GZUWQZJD.js";import{a as I}from"./chunk-TQ475LOI.js";import{a as x}from"./chunk-65652LR4.js";import{ma as M}from"./chunk-
|
|
2
|
+
import{a as R}from"./chunk-GZUWQZJD.js";import{a as I}from"./chunk-TQ475LOI.js";import{a as x}from"./chunk-65652LR4.js";import{ma as M}from"./chunk-DAQGOWKD.js";import{a as d}from"./chunk-V4WSBIXB.js";import{isDeepStrictEqual as O}from"node:util";import{randomUUID as A}from"node:crypto";function j(s){let f=new Map,r,y,p=!1;function S(n){y=n}d(S,"update");async function v(n,u,t,a=!1){if(!Number.isSafeInteger(u)||u<0||u>n.events.length)throw new Error("Invalid Script observation cursor.");if(t!==void 0&&(!Number.isSafeInteger(t)||t<0||t>6e4))throw new Error("yield_time_ms must be an integer from 0 to 60000.");let l;try{await Promise.race([n.promise,...a?[n.yieldPromise]:[],...t===void 0?[]:[new Promise(i=>{l=setTimeout(i,t)})]])}finally{l&&clearTimeout(l)}if(n.failure)throw n.failure;let g=n.events.slice(u),h=n.result,e=new Set(n.events.flatMap(i=>"receipt"in i?[i.receipt.id]:[])),o=[...new Map(n.events.flatMap(i=>"call"in i&&!e.has(i.call.id)?[[i.call.id,i.call]]:[])).values()].map(i=>({...i,status:n.finished?"unknown":"pending"}));return{...h,cellId:n.id,status:h?.status??(n.controller.signal.aborted?"cancelling":"running"),cleanupComplete:n.finished,cursor:n.events.length,receipts:g.flatMap(i=>"receipt"in i?[i.receipt]:[]),outputs:g.flatMap(i=>"output"in i?[i.output]:[]),...o.length?{pendingCalls:o}:{},hadToolErrors:h?.hadToolErrors??n.events.some(i=>"receipt"in i&&i.receipt.result.isError===!0)}}return d(v,"observe"),{update:S,get active(){return r!==void 0&&!r.finished},async start(n,u,t){if(p)throw new Error("Script Run scope is closed.");if(r&&!r.finished)throw new Error("A Script cell is still running; use script_wait before starting another.");if(t!==void 0&&(!Number.isSafeInteger(t)||t<0||t>6e4))throw new Error("yield_time_ms must be an integer from 0 to 60000.");S(u);let a=A(),l=new AbortController,g=u.abortSignal?AbortSignal.any([u.abortSignal,l.signal]):l.signal,h=!1,e,c=new Promise(b=>{e=b}),o=[],i={...u,abortSignal:g,get transcript(){return y?.transcript??u.transcript}},_=Promise.resolve().then(()=>s(n,i,{cellId:a,storedValues:f,onCall:d(b=>{o.push({call:b})},"onCall"),onReceipt:d(b=>{o.push({receipt:b})},"onReceipt"),onOutput:d(b=>{o.push({output:b})},"onOutput"),onYield:d(()=>{h=!0,e()},"onYield")})),m={id:a,controller:l,events:o,promise:_,yieldPromise:c,finished:!1};r=m,_.then(b=>{m.result=b,m.finished=!0},b=>{m.failure=b,m.finished=!0,p=!0});let w=await v(m,0,t,!0);return t===void 0&&!h&&m.result?m.result:w},async wait(n,u,t=0,a=1e4,l=!1){if(S(u),!r||r.id!==n)throw new Error("Script cell is not active or most recently completed in this Run; read durable receipts instead.");if(!Number.isSafeInteger(t)||t<0||t>r.events.length||!Number.isSafeInteger(a)||a<0||a>6e4)throw new Error("Invalid Script observation cursor or yield_time_ms.");return l&&r.controller.abort("User requested Script cancellation"),v(r,t,a)},async beforeNative(n){if(S(n),!r||r.finished)return;let u=n.abortSignal;u?.throwIfAborted();let t,a=new Promise((l,g)=>{t=d(()=>g(u?.reason??new Error("Cancelled")),"abort")});u?.addEventListener("abort",t,{once:!0});try{await Promise.race([r.promise,a])}finally{u?.removeEventListener("abort",t)}},async close(){p=!0;let n=r!==void 0&&!r.finished;r?.controller.abort("Parent Run ended");try{await r?.promise}finally{f.clear()}if(n&&!y?.abortSignal?.aborted)throw new Error("Run ended with an unfinished Script cell; cancelled and drained it. Inspect durable receipts before continuing.")}}}d(j,"createScriptModelSession");var C="script_exec",E={timeoutMs:6e4,memoryBytes:32*1024*1024,maxCalls:64,maxTransferBytes:1024*1024},J=new WeakMap,T=new WeakMap;async function F(s){let f=T.get(s);if(f)try{await f.close()}finally{T.delete(s)}}d(F,"closeScriptModelSession");function k(s,f=!1){return x("t12.agent-runtime/script/model.0")+(f?"Native tool_call({name,input}) can call these same tools without a Script cell; use whichever fits the task. ":"")+`Use native bash for background commands. Limits: ${E.timeoutMs/1e3}s cell deadline (admitted host calls drain before return), ${E.maxCalls} attempted calls, ${E.memoryBytes/1024/1024}MiB VM memory, ${E.maxTransferBytes/1024/1024}MiB per transfer.
|
|
3
3
|
Callable contracts (JSON Schema):
|
|
4
4
|
`+s.map(r=>`tools[${JSON.stringify(r.name)}](input): ${JSON.stringify(r)}`).join(`
|
|
5
5
|
`)}d(k,"buildScriptModelDescription");function P(s,f){let r=J.get(s);return r&&f.some(y=>y.name===C&&y.description===r.entry.description&&O(y.input_schema,r.entry.input_schema))?r:void 0}d(P,"getScriptModelContracts");function B(s,f=!1,r=!1){let y=s.receipts.map(({id:t,name:a,result:l})=>{let g=l.metadata?.scriptModelContent,h={cell_id:s.cellId,call_id:t},e=f&&!l.isError&&typeof g=="string"?{...l,content:g,contentOmitted:!0,original:h}:l;if(r&&l.sourceContent!==void 0){let c=l.sourceContent,o=typeof c=="string"?c.trim()?c:void 0:c.length?JSON.stringify(c).slice(1,-1):void 0,i=o!==void 0&&(typeof c=="string"?typeof e.content=="string"?e.content.includes(o):e.content.some(m=>m.type==="text"&&m.text.includes(o)):typeof e.content!="string"&&JSON.stringify(e.content).includes(o)),_={sourceContentOmitted:!0,original:h};if(i&&Buffer.byteLength(JSON.stringify(_))<Buffer.byteLength(JSON.stringify({sourceContent:c}))){let{sourceContent:m,...w}=e;e={...w,..._}}}if(r&&l.data?.kind==="text"){let{text:c,...o}=l.data;return{id:t,name:a,result:{...e,data:{...o,textOmitted:!0,original:h}}}}if(r&&l.data?.kind==="json"){let c=l.data.value,o=c===null?void 0:typeof c=="string"?c.trim()?c:void 0:JSON.stringify(c);if(o&&(typeof e.content=="string"?e.content.includes(o):e.content.some(_=>_.type==="text"&&_.text.includes(o)))){let _={kind:"json",valueOmitted:!0,original:h};if(Buffer.byteLength(JSON.stringify(_))<Buffer.byteLength(JSON.stringify(l.data)))return{id:t,name:a,result:{...e,data:_}}}}return{id:t,name:a,result:e}}),p=JSON.stringify({...s,receipts:y});if(f)return p;let S=d(t=>{for(let a of y){if(O(t,a.result))return{id:a.id,field:"result"};if(O(t,a.result.content))return{id:a.id,field:"content"}}},"findReference"),v=S(s.value),n;if(v){let{value:t,...a}=s;n={...a,receipts:y,value_from_receipt:v}}else if(s.value&&typeof s.value=="object"&&!Array.isArray(s.value)){let t=Object.entries(s.value),a=t.flatMap(([g,h])=>{let e=S(h);return e?[[g,e]]:[]});if(!a.length)return p;let l=new Set(a.map(([g])=>g));n={...s,receipts:y,value:Object.fromEntries(t.filter(([g])=>!l.has(g))),value_fields_from_receipts:Object.fromEntries(a)}}else return p;let u=JSON.stringify({...n,value_reference_note:x("t12.agent-runtime/script/model.1")});return u.length<p.length?u:p}d(B,"serializeModelReceipt");function G(s,f,r,y,p){if(s.tools?.some(e=>[C,"script_read","script_wait"].includes(e.name)))throw new Error("Script entry conflicts with a host tool.");let S=Object.freeze(r.map(e=>({...e,input_schema:structuredClone(e.input_schema)}))),v=!1,n=j(y);function u(e,c){let o=e.receipts.flatMap(m=>typeof m.result.content=="string"?[]:m.result.content.filter(w=>w.type==="image")),i=p!==void 0&&e.cellId!==void 0,_=B(e,c&&i,i);return{content:o.length?[{type:"text",text:_},...o]:_,isError:!["completed","running","cancelling"].includes(e.status)||e.hadToolErrors,metadata:{scriptCellStatus:e.status,scriptReadPaths:e.receipts.flatMap(m=>{let w=m.result.metadata?.toolCall,b=w?.name??m.name,N=(w?.input??m.input).path;return b==="read"&&!m.result.isError&&typeof N=="string"?[N]:[]}),...e.status==="cancelled"?{cancelled:!0}:{}}}}d(u,"render");let t={name:C,description:k(S,s.tools?.some(e=>e.name==="tool_call")),input_schema:{type:"object",properties:{code:{type:"string",description:"Async function body. Await or return async helper calls before the cell body finishes; return a JSON value."},yield_time_ms:{type:"integer",minimum:0,maximum:6e4,description:"Observation window only; a running cell continues until its independent deadline or cancellation."},selected_output:{type:"boolean",description:"Return your selected value and mandatory notes; unclassified tool output remains complete."}},required:["code"]},requiresSerialExecution:d(()=>!0,"requiresSerialExecution"),execute:d(async(e,c)=>{if(v)return{content:"[Tool Error] Script closed after a host failure. Inspect durable receipts before starting a new Run; do not replay effects.",isError:!0};if(n.active)return{content:"[Tool Error] A Script cell is still running; use script_wait before starting another.",isError:!0};if(typeof e.code!="string")return{content:"[Tool Error] code must be a string.",isError:!0};try{I(e.code,E)}catch(i){return{content:`[Tool Error] ${String(i)}`,isError:!0}}if(e.yield_time_ms!==void 0&&(typeof e.yield_time_ms!="number"||!Number.isSafeInteger(e.yield_time_ms)||e.yield_time_ms<0||e.yield_time_ms>6e4))return{content:"[Tool Error] yield_time_ms must be an integer from 0 to 60000.",isError:!0};let o;try{o=await n.start(e.code,c,e.yield_time_ms)}catch(i){throw v=!0,i}return u(o,e.selected_output===!0)},"execute")},a={name:"script_read",description:"Read a complete original Script call receipt in this Session, including actual arguments and result. Follow nextOffset with offset; unknown means no settled evidence, never automatic replay.",input_schema:{type:"object",properties:{cell_id:{type:"string"},call_id:{type:"integer"},offset:{type:"integer"}},required:["cell_id","call_id"]},execute:d(async(e,c)=>{if(n.update(c),typeof e.cell_id!="string"||typeof e.call_id!="number"||e.offset!==void 0&&typeof e.offset!="number")return{content:"[Tool Error] Invalid Script receipt reference.",isError:!0};try{return{content:JSON.stringify(await p(e.cell_id,e.call_id,e.offset))}}catch(o){return{content:`[Tool Error] ${String(o)}`,isError:!0}}},"execute")},l={name:"script_wait",description:"Observe the active or last completed cell. Reuse a cursor to reread output; use the returned cursor for new output. cancel requests cancellation; cleanupComplete alone confirms drain. Observation timeouts do not extend the cell deadline.",input_schema:{type:"object",properties:{cell_id:{type:"string"},cursor:{type:"integer"},yield_time_ms:{type:"integer",minimum:0,maximum:6e4},cancel:{type:"boolean"},selected_output:{type:"boolean"}},required:["cell_id"]},requiresSerialExecution:d(()=>!0,"requiresSerialExecution"),execute:d(async(e,c)=>{if(typeof e.cell_id!="string"||e.cursor!==void 0&&typeof e.cursor!="number"||e.yield_time_ms!==void 0&&typeof e.yield_time_ms!="number")return{content:"[Tool Error] Invalid Script observation arguments.",isError:!0};try{return u(await n.wait(e.cell_id,c,e.cursor,e.yield_time_ms,e.cancel===!0),e.selected_output===!0)}catch(o){return{content:`[Tool Error] ${String(o)}`,isError:!0}}},"execute")},g=(s.tools??[]).map(e=>M(e)?{...e,execute:d(async(c,o)=>(await n.beforeNative(o),e.execute(c,o)),"execute")}:e),h=R(Object.freeze({...s,tools:[...g,t,l,...p?[a]:[]]}),f);return T.set(h,n),J.set(h,{entry:{name:t.name,description:t.description,input_schema:structuredClone(t.input_schema)},leaves:S}),h}d(G,"withScriptModelTool");function H(s,f){let r=P(s,f),y=r&&new Set(r.leaves.map(p=>p.name));return y?f.filter(p=>p.name==="bash"||!y.has(p.name)):f}d(H,"projectScriptModelTools");function K(s,f){return f.some(r=>r.name==="read")||P(s,f)?.leaves.some(r=>r.name==="read")===!0}d(K,"canReadWithModelTools");export{C as a,E as b,F as c,k as d,P as e,G as f,H as g,K as h};
|