agentfootprint 10.6.0 → 10.7.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/CAPABILITIES.md +2 -0
- package/dist/artifacts/detailError.js +27 -0
- package/dist/artifacts/detailError.js.map +1 -0
- package/dist/artifacts/detailRequest.js +63 -0
- package/dist/artifacts/detailRequest.js.map +1 -0
- package/dist/artifacts/detailTypes.js +3 -0
- package/dist/artifacts/detailTypes.js.map +1 -0
- package/dist/artifacts/detailView.js +98 -0
- package/dist/artifacts/detailView.js.map +1 -0
- package/dist/core/Agent.js +1 -1
- package/dist/core/Agent.js.map +1 -1
- package/dist/debug.js.map +1 -1
- package/dist/esm/artifacts/detailError.d.ts +9 -0
- package/dist/esm/artifacts/detailError.js +21 -0
- package/dist/esm/artifacts/detailError.js.map +1 -0
- package/dist/esm/artifacts/detailRequest.d.ts +15 -0
- package/dist/esm/artifacts/detailRequest.js +58 -0
- package/dist/esm/artifacts/detailRequest.js.map +1 -0
- package/dist/esm/artifacts/detailTypes.d.ts +49 -0
- package/dist/esm/artifacts/detailTypes.js +2 -0
- package/dist/esm/artifacts/detailTypes.js.map +1 -0
- package/dist/esm/artifacts/detailView.d.ts +3 -0
- package/dist/esm/artifacts/detailView.js +94 -0
- package/dist/esm/artifacts/detailView.js.map +1 -0
- package/dist/esm/core/Agent.js +1 -1
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/debug.d.ts +1 -1
- package/dist/esm/debug.js.map +1 -1
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/traceToolNames.d.ts +1 -1
- package/dist/esm/lib/traceToolNames.js +3 -0
- package/dist/esm/lib/traceToolNames.js.map +1 -1
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.d.ts +3 -1
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js +46 -17
- package/dist/esm/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
- package/dist/esm/tools/artifactDetailTool.d.ts +26 -0
- package/dist/esm/tools/artifactDetailTool.js +91 -0
- package/dist/esm/tools/artifactDetailTool.js.map +1 -0
- package/dist/esm/trace-toolpack/causeLimits.d.ts +28 -0
- package/dist/esm/trace-toolpack/causeLimits.js +70 -0
- package/dist/esm/trace-toolpack/causeLimits.js.map +1 -0
- package/dist/esm/trace-toolpack/causeLoad.d.ts +6 -0
- package/dist/esm/trace-toolpack/causeLoad.js +23 -0
- package/dist/esm/trace-toolpack/causeLoad.js.map +1 -0
- package/dist/esm/trace-toolpack/causeReader.d.ts +6 -0
- package/dist/esm/trace-toolpack/causeReader.js +55 -0
- package/dist/esm/trace-toolpack/causeReader.js.map +1 -0
- package/dist/esm/trace-toolpack/causeResponse.d.ts +6 -0
- package/dist/esm/trace-toolpack/causeResponse.js +25 -0
- package/dist/esm/trace-toolpack/causeResponse.js.map +1 -0
- package/dist/esm/trace-toolpack/causeSnapshot.d.ts +5 -0
- package/dist/esm/trace-toolpack/causeSnapshot.js +55 -0
- package/dist/esm/trace-toolpack/causeSnapshot.js.map +1 -0
- package/dist/esm/trace-toolpack/causeTools.d.ts +6 -0
- package/dist/esm/trace-toolpack/causeTools.js +69 -0
- package/dist/esm/trace-toolpack/causeTools.js.map +1 -0
- package/dist/esm/trace-toolpack/causeTypes.d.ts +23 -0
- package/dist/esm/trace-toolpack/causeTypes.js +2 -0
- package/dist/esm/trace-toolpack/causeTypes.js.map +1 -0
- package/dist/esm/trace-toolpack/debugPrompt.d.ts +5 -1
- package/dist/esm/trace-toolpack/debugPrompt.js +6 -1
- package/dist/esm/trace-toolpack/debugPrompt.js.map +1 -1
- package/dist/esm/trace-toolpack/index.d.ts +1 -0
- package/dist/esm/trace-toolpack/index.js.map +1 -1
- package/dist/esm/trace-toolpack/innerDescent.d.ts +5 -3
- package/dist/esm/trace-toolpack/innerDescent.js +10 -8
- package/dist/esm/trace-toolpack/innerDescent.js.map +1 -1
- package/dist/esm/trace-toolpack/lazyToolpack.js +7 -3
- package/dist/esm/trace-toolpack/lazyToolpack.js.map +1 -1
- package/dist/esm/trace-toolpack/selfExplain.js +6 -1
- package/dist/esm/trace-toolpack/selfExplain.js.map +1 -1
- package/dist/esm/trace-toolpack/subflowRecords.js +22 -0
- package/dist/esm/trace-toolpack/subflowRecords.js.map +1 -1
- package/dist/esm/trace-toolpack/traceDebugAgent.d.ts +2 -0
- package/dist/esm/trace-toolpack/traceDebugAgent.js +9 -2
- package/dist/esm/trace-toolpack/traceDebugAgent.js.map +1 -1
- package/dist/esm/trace-toolpack/traceToolpack.d.ts +2 -2
- package/dist/esm/trace-toolpack/traceToolpack.js +28 -8
- package/dist/esm/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/esm/trace-toolpack/types.d.ts +6 -0
- package/dist/esm/trace-toolpack/types.js.map +1 -1
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/traceToolNames.js +3 -0
- package/dist/lib/traceToolNames.js.map +1 -1
- package/dist/recorders/observability/AgentThinkingTraceRecorder.js +46 -17
- package/dist/recorders/observability/AgentThinkingTraceRecorder.js.map +1 -1
- package/dist/tools/artifactDetailTool.js +95 -0
- package/dist/tools/artifactDetailTool.js.map +1 -0
- package/dist/trace-toolpack/causeLimits.js +74 -0
- package/dist/trace-toolpack/causeLimits.js.map +1 -0
- package/dist/trace-toolpack/causeLoad.js +50 -0
- package/dist/trace-toolpack/causeLoad.js.map +1 -0
- package/dist/trace-toolpack/causeReader.js +59 -0
- package/dist/trace-toolpack/causeReader.js.map +1 -0
- package/dist/trace-toolpack/causeResponse.js +30 -0
- package/dist/trace-toolpack/causeResponse.js.map +1 -0
- package/dist/trace-toolpack/causeSnapshot.js +59 -0
- package/dist/trace-toolpack/causeSnapshot.js.map +1 -0
- package/dist/trace-toolpack/causeTools.js +73 -0
- package/dist/trace-toolpack/causeTools.js.map +1 -0
- package/dist/trace-toolpack/causeTypes.js +3 -0
- package/dist/trace-toolpack/causeTypes.js.map +1 -0
- package/dist/trace-toolpack/debugPrompt.js +7 -2
- package/dist/trace-toolpack/debugPrompt.js.map +1 -1
- package/dist/trace-toolpack/index.js.map +1 -1
- package/dist/trace-toolpack/innerDescent.js +10 -8
- package/dist/trace-toolpack/innerDescent.js.map +1 -1
- package/dist/trace-toolpack/lazyToolpack.js +7 -3
- package/dist/trace-toolpack/lazyToolpack.js.map +1 -1
- package/dist/trace-toolpack/selfExplain.js +6 -1
- package/dist/trace-toolpack/selfExplain.js.map +1 -1
- package/dist/trace-toolpack/subflowRecords.js +22 -0
- package/dist/trace-toolpack/subflowRecords.js.map +1 -1
- package/dist/trace-toolpack/traceDebugAgent.js +8 -1
- package/dist/trace-toolpack/traceDebugAgent.js.map +1 -1
- package/dist/trace-toolpack/traceToolpack.js +28 -8
- package/dist/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/trace-toolpack/types.js.map +1 -1
- package/dist/types/artifacts/detailError.d.ts +10 -0
- package/dist/types/artifacts/detailError.d.ts.map +1 -0
- package/dist/types/artifacts/detailRequest.d.ts +16 -0
- package/dist/types/artifacts/detailRequest.d.ts.map +1 -0
- package/dist/types/artifacts/detailTypes.d.ts +50 -0
- package/dist/types/artifacts/detailTypes.d.ts.map +1 -0
- package/dist/types/artifacts/detailView.d.ts +4 -0
- package/dist/types/artifacts/detailView.d.ts.map +1 -0
- package/dist/types/debug.d.ts +1 -1
- package/dist/types/debug.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/traceToolNames.d.ts +1 -1
- package/dist/types/lib/traceToolNames.d.ts.map +1 -1
- package/dist/types/recorders/observability/AgentThinkingTraceRecorder.d.ts +3 -1
- package/dist/types/recorders/observability/AgentThinkingTraceRecorder.d.ts.map +1 -1
- package/dist/types/tools/artifactDetailTool.d.ts +27 -0
- package/dist/types/tools/artifactDetailTool.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeLimits.d.ts +29 -0
- package/dist/types/trace-toolpack/causeLimits.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeLoad.d.ts +7 -0
- package/dist/types/trace-toolpack/causeLoad.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeReader.d.ts +7 -0
- package/dist/types/trace-toolpack/causeReader.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeResponse.d.ts +7 -0
- package/dist/types/trace-toolpack/causeResponse.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeSnapshot.d.ts +6 -0
- package/dist/types/trace-toolpack/causeSnapshot.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeTools.d.ts +7 -0
- package/dist/types/trace-toolpack/causeTools.d.ts.map +1 -0
- package/dist/types/trace-toolpack/causeTypes.d.ts +24 -0
- package/dist/types/trace-toolpack/causeTypes.d.ts.map +1 -0
- package/dist/types/trace-toolpack/debugPrompt.d.ts +5 -1
- package/dist/types/trace-toolpack/debugPrompt.d.ts.map +1 -1
- package/dist/types/trace-toolpack/index.d.ts +1 -0
- package/dist/types/trace-toolpack/index.d.ts.map +1 -1
- package/dist/types/trace-toolpack/innerDescent.d.ts +5 -3
- package/dist/types/trace-toolpack/innerDescent.d.ts.map +1 -1
- package/dist/types/trace-toolpack/lazyToolpack.d.ts.map +1 -1
- package/dist/types/trace-toolpack/selfExplain.d.ts.map +1 -1
- package/dist/types/trace-toolpack/subflowRecords.d.ts.map +1 -1
- package/dist/types/trace-toolpack/traceDebugAgent.d.ts +2 -0
- package/dist/types/trace-toolpack/traceDebugAgent.d.ts.map +1 -1
- package/dist/types/trace-toolpack/traceToolpack.d.ts +2 -2
- package/dist/types/trace-toolpack/traceToolpack.d.ts.map +1 -1
- package/dist/types/trace-toolpack/types.d.ts +6 -0
- package/dist/types/trace-toolpack/types.d.ts.map +1 -1
- package/package.json +2 -2
package/CAPABILITIES.md
CHANGED
|
@@ -71,6 +71,7 @@ not in this table, search `src/index.ts` for the nearest noun before writing cod
|
|
|
71
71
|
| declaring an agent's whole setup as one named, versioned thing — a preset, a template, a blueprint, "the support agent we all use" | `defineAgentRecipe` + `AgentBuilder.recipe()` | `src/recipes/` | 9.48.0 |
|
|
72
72
|
| naming your own branches and nodes — which prefix is reserved, and telling framework plumbing from consumer structure in a trace | `RESERVED_SUBFLOW_PREFIX` + `isReservedSubflowSegment` | `src/lib/conventions.ts` | 9.49.0 |
|
|
73
73
|
| keeping a large tool result out of the model's context | `artifacts` (bare store, or `{ store, placement: { maxInlineChars }, recordings }` — `placement` omitted ⇒ never placed; `recordings: true` / `{ label }`, default off) + `wants` + `placement` | `src/artifacts/` | 9.21.0 |
|
|
74
|
+
| opening selected JSON from a host-admitted artifact without loading its whole payload into model context | `artifactDetailTool` + `ArtifactDetailError` — fresh host admission per call, small values, paginated child actions, whole-scalar omission and bounded context; no automatic store access, source read or claim authorization | `src/tools/artifactDetailTool.ts` | 10.7.0 |
|
|
74
75
|
| the ticket placement just minted being REFUSED by your own `wants` argument as a kind mismatch — because the mint says `tool-result/<toolName>` and your consumer says `dataset/rows` | `Tool.resultKind` + `placedResultKind(toolName, declared?)` (the mint speaks the consumer's vocabulary; the exact-match matcher is untouched) | `src/artifacts/placement.ts` | 9.70.0 |
|
|
75
76
|
| a viewer guessing which column of a dataset is time (epoch seconds under `ts`, wall-clock strings, a `bucket` column) and opening a series as a table | `timeAxis` on `PutArtifactInput` / `ArtifactMeta` (column · `'iso'`/`'epoch-s'`/`'epoch-ms'` · zone · interval · aggregate) + `readTimeAxis` + `describeTimeAxis` + `timeAxisIssues` (judged at mint, never repaired) | `src/time/axis.ts` | 9.128.0 |
|
|
76
77
|
| a chart or check comparing a dataset's time values as spellings — epoch seconds beside ISO strings, `+02:00` beside `Z`, a wall-clock string with no offset silently read as UTC, two `01:30` rows in the hour the clocks go back; a READ-SIDE view (the stored rows are never rewritten): UTC instants at one precision, sorted, each with its row; an offset-less value under a zone-less axis is counted (`status: 'naive-values'`) or refused (`naive: 'refuse'`), never read as UTC; a fall-back wall time placed by row order and noted, else counted `dstAmbiguous`; a skipped one `dstGap` (the axis is re-exported from `src/artifacts/`) | `normaliseInstants` + `NormalisedAxis` | `src/time/axis.ts` | 9.129.0 |
|
|
@@ -89,6 +90,7 @@ not in this table, search `src/index.ts` for the nearest noun before writing cod
|
|
|
89
90
|
| a skill wrongly activated by a keyword staying loaded for the whole turn — suspending/parking a map's prompt + tools when its contribution goes unused, WITHOUT touching its cursor, and re-engaging it on evidence | `.maps({ renewalGrace })` (default 3) + `MountedMap.nonParkable` + `advanceEngagement` + `agentfootprint.map.engaged/parked` + skip reason `'parked'` | `src/maps/` | 9.58.0 |
|
|
90
91
|
| a value that must say how it knows itself — an unknown count that can never render as zero | `Claim<T>` (`known`/`unknown`/`notApplicable`) | `src/lib/claim/claim.ts` | 9.58.0 |
|
|
91
92
|
| asking a debugging model "what did this run contradict itself about, and why?" — the Context Integrity findings, joined to the step that filed them | `find_context_errors` | `src/trace-toolpack/traceToolpack.ts` | 9.61.0 |
|
|
93
|
+
| reading abnormal nodes, recorded dependency roots and downstream impact with bounded public Foottrace queries, scoped proof IDs and explicit unknown coverage; optional host-authorized storage graph, including inner tool and subflow questions | `attention_list` / `root_cause` / `impact` + `TraceToolpackArtifacts.cause` + `TraceToolpackOptions.cause` | `src/trace-toolpack/causeTools.ts` | 10.7.0 |
|
|
92
94
|
| the model inventing an id or a reading that no tool ever returned — a deterministic fabrication detector on the final answer, with a posture for how hard it pushes back | `.namesAndNumbersFromEvidence()` + `posture` (`'assist'` record+flag, the default / `'guard'` one revision then ship flagged / `'rails'` refuse instead) + `shapes` + `exempt` + `minDigits` (default 4) + `nudge` (default off) | `src/core/agent/evidence/` | 9.35.0 |
|
|
93
95
|
| counting a HUMAN-VERIFIED value as ground for the choice-seam check — the person clicked a row, the app verified the cells against the artifact, and the id the model takes from that selection is not fabricated; the source label travels onto the record | `externalGrounds` + `ExternalGround` + `external_ground_used` | `src/integrity/unsupported-argument/check.ts` | 9.72.0 |
|
|
94
96
|
| a lookup tool that answers "nothing found" for EVERY id because a filter broke, and an agent reporting that absence as fact — the run itself produced the id, the lookup came back empty, and that PAIR is worth a look | `noticeEmptyLookups` + `readLookupResult` + `EMPTY_LOOKUP_CEILING` (dial default OFF and needs a tool declaring `argumentsFrom` too — two halves; kind `empty-lookup` at seam `write`, always `advisory: true`; empty = a zero-length ARRAY or an `absent()` envelope, every other shape files `not-applicable` and no finding; the ceiling is quoted verbatim into every message) | `src/integrity/empty-lookup/` | 9.77.0 |
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unavailableDetail = exports.invalidDetail = exports.ArtifactDetailError = void 0;
|
|
4
|
+
const messages = {
|
|
5
|
+
ERR_ARTIFACT_DETAIL_INVALID: 'Invalid artifact detail request.',
|
|
6
|
+
ERR_ARTIFACT_DETAIL_UNAVAILABLE: 'Artifact detail is unavailable.',
|
|
7
|
+
ERR_ARTIFACT_DETAIL_CANCELLED: 'Artifact detail request was cancelled.',
|
|
8
|
+
};
|
|
9
|
+
/** A bounded detail request was malformed, could not be admitted, or was cancelled. */
|
|
10
|
+
class ArtifactDetailError extends Error {
|
|
11
|
+
code;
|
|
12
|
+
constructor(code) {
|
|
13
|
+
super(messages[code]);
|
|
14
|
+
this.code = code;
|
|
15
|
+
this.name = 'ArtifactDetailError';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ArtifactDetailError = ArtifactDetailError;
|
|
19
|
+
function invalidDetail() {
|
|
20
|
+
throw new ArtifactDetailError('ERR_ARTIFACT_DETAIL_INVALID');
|
|
21
|
+
}
|
|
22
|
+
exports.invalidDetail = invalidDetail;
|
|
23
|
+
function unavailableDetail() {
|
|
24
|
+
throw new ArtifactDetailError('ERR_ARTIFACT_DETAIL_UNAVAILABLE');
|
|
25
|
+
}
|
|
26
|
+
exports.unavailableDetail = unavailableDetail;
|
|
27
|
+
//# sourceMappingURL=detailError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailError.js","sourceRoot":"","sources":["../../src/artifacts/detailError.ts"],"names":[],"mappings":";;;AAMA,MAAM,QAAQ,GAAG;IACf,2BAA2B,EAAE,kCAAkC;IAC/D,+BAA+B,EAAE,iCAAiC;IAClE,6BAA6B,EAAE,wCAAwC;CAC/D,CAAC;AAEX,uFAAuF;AACvF,MAAa,mBAAoB,SAAQ,KAAK;IACvB;IAArB,YAAqB,IAA6B;QAChD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QADH,SAAI,GAAJ,IAAI,CAAyB;QAEhD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC;AAED,SAAgB,aAAa;IAC3B,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;AAC/D,CAAC;AAFD,sCAEC;AAED,SAAgB,iBAAiB;IAC/B,MAAM,IAAI,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;AACnE,CAAC;AAFD,8CAEC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readDetailArgs = exports.detailTokens = exports.DETAIL_LIMITS = void 0;
|
|
4
|
+
const boundedJson_js_1 = require("../lib/boundedJson.js");
|
|
5
|
+
const naming_js_1 = require("./naming.js");
|
|
6
|
+
const detailError_js_1 = require("./detailError.js");
|
|
7
|
+
exports.DETAIL_LIMITS = Object.freeze({
|
|
8
|
+
inputBytes: 1024 * 1024,
|
|
9
|
+
contextBytes: 4096,
|
|
10
|
+
path: 2048,
|
|
11
|
+
depth: 16,
|
|
12
|
+
page: 20,
|
|
13
|
+
offset: 1_000_000,
|
|
14
|
+
valueBytes: 8192,
|
|
15
|
+
outputBytes: 12 * 1024,
|
|
16
|
+
reserveBytes: 512,
|
|
17
|
+
});
|
|
18
|
+
const forbidden = new Set(['__proto__', 'prototype', 'constructor']);
|
|
19
|
+
/** Strict pointer tokens, shared by request admission and child actions. */
|
|
20
|
+
function detailTokens(path) {
|
|
21
|
+
if (path === '')
|
|
22
|
+
return [];
|
|
23
|
+
if (!path.startsWith('/') || path.length > exports.DETAIL_LIMITS.path)
|
|
24
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
25
|
+
const parts = path.slice(1).split('/');
|
|
26
|
+
if (parts.length > exports.DETAIL_LIMITS.depth)
|
|
27
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
28
|
+
return parts.map((part) => {
|
|
29
|
+
// eslint-disable-next-line no-control-regex -- A pointer must not carry C0 or DEL controls.
|
|
30
|
+
if (/~(?![01])/.test(part) || /[\u0000-\u001f\u007f]/.test(part))
|
|
31
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
32
|
+
const key = part.replace(/~1/g, '/').replace(/~0/g, '~');
|
|
33
|
+
if (forbidden.has(key))
|
|
34
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
35
|
+
return key;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
exports.detailTokens = detailTokens;
|
|
39
|
+
function readDetailArgs(value) {
|
|
40
|
+
try {
|
|
41
|
+
const fields = (0, boundedJson_js_1.ownData)(value, ['ref', 'path', 'offset', 'limit']);
|
|
42
|
+
if (typeof fields.ref !== 'string' ||
|
|
43
|
+
!(0, naming_js_1.isArtifactRef)(fields.ref) ||
|
|
44
|
+
typeof fields.path !== 'string')
|
|
45
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
46
|
+
detailTokens(fields.path);
|
|
47
|
+
const offset = fields.offset === undefined ? 0 : fields.offset;
|
|
48
|
+
const limit = fields.limit === undefined ? exports.DETAIL_LIMITS.page : fields.limit;
|
|
49
|
+
if (!Number.isSafeInteger(offset) ||
|
|
50
|
+
Number(offset) < 0 ||
|
|
51
|
+
Number(offset) > exports.DETAIL_LIMITS.offset ||
|
|
52
|
+
!Number.isSafeInteger(limit) ||
|
|
53
|
+
Number(limit) < 1 ||
|
|
54
|
+
Number(limit) > exports.DETAIL_LIMITS.page)
|
|
55
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
56
|
+
return { ref: fields.ref, path: fields.path, offset: Number(offset), limit: Number(limit) };
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.readDetailArgs = readDetailArgs;
|
|
63
|
+
//# sourceMappingURL=detailRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailRequest.js","sourceRoot":"","sources":["../../src/artifacts/detailRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailTypes.js","sourceRoot":"","sources":["../../src/artifacts/detailTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectArtifactDetail = void 0;
|
|
4
|
+
const payload_js_1 = require("./payload.js");
|
|
5
|
+
const detailRequest_js_1 = require("./detailRequest.js");
|
|
6
|
+
const detailError_js_1 = require("./detailError.js");
|
|
7
|
+
const object = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
8
|
+
const container = (value) => object(value) || Array.isArray(value);
|
|
9
|
+
// The payload owner counts bare strings as text; a one-element JSON array also counts quotes.
|
|
10
|
+
const jsonBytes = (value) => (0, payload_js_1.measureArtifactBytes)([value]) - 2;
|
|
11
|
+
const kind = (value) => value === null
|
|
12
|
+
? 'null'
|
|
13
|
+
: Array.isArray(value)
|
|
14
|
+
? 'array'
|
|
15
|
+
: typeof value;
|
|
16
|
+
function select(root, path) {
|
|
17
|
+
let value = root;
|
|
18
|
+
for (const key of (0, detailRequest_js_1.detailTokens)(path)) {
|
|
19
|
+
if (Array.isArray(value) && !/^(0|[1-9]\d*)$/.test(key))
|
|
20
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
21
|
+
if (!container(value) || !Object.hasOwn(value, key))
|
|
22
|
+
return (0, detailError_js_1.unavailableDetail)();
|
|
23
|
+
value = Array.isArray(value) ? value[Number(key)] : value[key];
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
function childPath(parent, key) {
|
|
28
|
+
return `${parent}/${key.replace(/~/g, '~0').replace(/\//g, '~1')}`;
|
|
29
|
+
}
|
|
30
|
+
function bounded(value) {
|
|
31
|
+
if (jsonBytes(value) > detailRequest_js_1.DETAIL_LIMITS.outputBytes)
|
|
32
|
+
return (0, detailError_js_1.unavailableDetail)();
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
/** Navigate only detached ordinary JSON; this function reads no store and authorizes no claim. */
|
|
36
|
+
function projectArtifactDetail(root, args, tool, context) {
|
|
37
|
+
const value = select(root, args.path);
|
|
38
|
+
const base = {
|
|
39
|
+
ref: args.ref,
|
|
40
|
+
path: args.path,
|
|
41
|
+
kind: kind(value),
|
|
42
|
+
...(context === undefined ? {} : { context }),
|
|
43
|
+
};
|
|
44
|
+
const keys = container(value) ? Object.keys(value) : [];
|
|
45
|
+
const inline = { ...base, mode: 'value', value, complete: true };
|
|
46
|
+
if (args.offset === 0 &&
|
|
47
|
+
keys.length <= args.limit &&
|
|
48
|
+
jsonBytes(value) <= detailRequest_js_1.DETAIL_LIMITS.valueBytes &&
|
|
49
|
+
jsonBytes(inline) <= detailRequest_js_1.DETAIL_LIMITS.outputBytes)
|
|
50
|
+
return inline;
|
|
51
|
+
if (!container(value)) {
|
|
52
|
+
if (args.offset !== 0)
|
|
53
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
54
|
+
return bounded({
|
|
55
|
+
...base,
|
|
56
|
+
mode: 'scalar-omitted',
|
|
57
|
+
omitted: true,
|
|
58
|
+
scalarBytes: jsonBytes(value),
|
|
59
|
+
complete: false,
|
|
60
|
+
reason: 'Selected scalar exceeds the bounded view; no partial value was returned.',
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (args.offset > keys.length)
|
|
64
|
+
return (0, detailError_js_1.invalidDetail)();
|
|
65
|
+
const children = [];
|
|
66
|
+
const response = () => ({
|
|
67
|
+
...base,
|
|
68
|
+
mode: 'children',
|
|
69
|
+
children,
|
|
70
|
+
offset: args.offset,
|
|
71
|
+
shown: children.length,
|
|
72
|
+
total: keys.length,
|
|
73
|
+
complete: args.offset + children.length === keys.length,
|
|
74
|
+
...(args.offset + children.length < keys.length
|
|
75
|
+
? { nextOffset: args.offset + children.length }
|
|
76
|
+
: {}),
|
|
77
|
+
});
|
|
78
|
+
for (const key of keys.slice(args.offset, args.offset + args.limit)) {
|
|
79
|
+
const path = childPath(args.path, key);
|
|
80
|
+
(0, detailRequest_js_1.detailTokens)(path);
|
|
81
|
+
const child = Array.isArray(value) ? value[Number(key)] : value[key];
|
|
82
|
+
children.push({
|
|
83
|
+
path,
|
|
84
|
+
type: kind(child),
|
|
85
|
+
...(container(child) ? { count: Object.keys(child).length } : {}),
|
|
86
|
+
action: { tool, args: { ref: args.ref, path } },
|
|
87
|
+
});
|
|
88
|
+
if (jsonBytes(response()) > detailRequest_js_1.DETAIL_LIMITS.outputBytes - detailRequest_js_1.DETAIL_LIMITS.reserveBytes) {
|
|
89
|
+
children.pop();
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (!children.length && args.offset < keys.length)
|
|
94
|
+
return (0, detailError_js_1.unavailableDetail)();
|
|
95
|
+
return bounded(response());
|
|
96
|
+
}
|
|
97
|
+
exports.projectArtifactDetail = projectArtifactDetail;
|
|
98
|
+
//# sourceMappingURL=detailView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailView.js","sourceRoot":"","sources":["../../src/artifacts/detailView.ts"],"names":[],"mappings":"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"}
|
package/dist/core/Agent.js
CHANGED
|
@@ -4701,8 +4701,8 @@ class Agent extends RunnerBase_js_1.RunnerBase {
|
|
|
4701
4701
|
...(argumentSources && { argumentSources: true }),
|
|
4702
4702
|
...((this.answerValidationConfig !== undefined || governsOutput) && {
|
|
4703
4703
|
suppressDraftTokens: true,
|
|
4704
|
+
withholdDraftContent: true,
|
|
4704
4705
|
}),
|
|
4705
|
-
...(governsOutput && { withholdDraftContent: true }),
|
|
4706
4706
|
// Tool choice by classifier (9.105.0): the outcome row after the reply.
|
|
4707
4707
|
...(this.toolChoiceOptions !== undefined && { toolChoice: true }),
|
|
4708
4708
|
// The declared ontology (9.106.0): the piece served from the run
|