agentfootprint 9.24.0 → 9.25.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.
Files changed (115) hide show
  1. package/README.md +3 -1
  2. package/dist/artifacts/fileArtifacts.js +144 -17
  3. package/dist/artifacts/fileArtifacts.js.map +1 -1
  4. package/dist/artifacts/gcsArtifacts.js +398 -0
  5. package/dist/artifacts/gcsArtifacts.js.map +1 -0
  6. package/dist/artifacts/index.js +12 -1
  7. package/dist/artifacts/index.js.map +1 -1
  8. package/dist/artifacts/objectStore.js +264 -0
  9. package/dist/artifacts/objectStore.js.map +1 -0
  10. package/dist/artifacts/payload.js +41 -2
  11. package/dist/artifacts/payload.js.map +1 -1
  12. package/dist/artifacts/s3Artifacts.js +542 -0
  13. package/dist/artifacts/s3Artifacts.js.map +1 -0
  14. package/dist/artifacts/scopePath.js +87 -0
  15. package/dist/artifacts/scopePath.js.map +1 -0
  16. package/dist/artifacts/streaming.js +132 -0
  17. package/dist/artifacts/streaming.js.map +1 -0
  18. package/dist/artifacts/types.js +10 -2
  19. package/dist/artifacts/types.js.map +1 -1
  20. package/dist/core/agent/AgentBuilder.js +20 -0
  21. package/dist/core/agent/AgentBuilder.js.map +1 -1
  22. package/dist/esm/artifacts/fileArtifacts.d.ts +13 -1
  23. package/dist/esm/artifacts/fileArtifacts.js +145 -18
  24. package/dist/esm/artifacts/fileArtifacts.js.map +1 -1
  25. package/dist/esm/artifacts/gcsArtifacts.d.ts +142 -0
  26. package/dist/esm/artifacts/gcsArtifacts.js +394 -0
  27. package/dist/esm/artifacts/gcsArtifacts.js.map +1 -0
  28. package/dist/esm/artifacts/index.d.ts +4 -1
  29. package/dist/esm/artifacts/index.js +3 -0
  30. package/dist/esm/artifacts/index.js.map +1 -1
  31. package/dist/esm/artifacts/objectStore.d.ts +166 -0
  32. package/dist/esm/artifacts/objectStore.js +252 -0
  33. package/dist/esm/artifacts/objectStore.js.map +1 -0
  34. package/dist/esm/artifacts/payload.d.ts +36 -4
  35. package/dist/esm/artifacts/payload.js +38 -1
  36. package/dist/esm/artifacts/payload.js.map +1 -1
  37. package/dist/esm/artifacts/s3Artifacts.d.ts +149 -0
  38. package/dist/esm/artifacts/s3Artifacts.js +538 -0
  39. package/dist/esm/artifacts/s3Artifacts.js.map +1 -0
  40. package/dist/esm/artifacts/scopePath.d.ts +50 -0
  41. package/dist/esm/artifacts/scopePath.js +80 -0
  42. package/dist/esm/artifacts/scopePath.js.map +1 -0
  43. package/dist/esm/artifacts/streaming.d.ts +82 -0
  44. package/dist/esm/artifacts/streaming.js +123 -0
  45. package/dist/esm/artifacts/streaming.js.map +1 -0
  46. package/dist/esm/artifacts/types.d.ts +71 -5
  47. package/dist/esm/artifacts/types.js +10 -2
  48. package/dist/esm/artifacts/types.js.map +1 -1
  49. package/dist/esm/core/agent/AgentBuilder.js +20 -0
  50. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  51. package/dist/esm/index.d.ts +2 -1
  52. package/dist/esm/index.js +6 -1
  53. package/dist/esm/index.js.map +1 -1
  54. package/dist/esm/lib/injection-engine/factories/defineSkill.d.ts +27 -0
  55. package/dist/esm/lib/injection-engine/factories/defineSkill.js +13 -0
  56. package/dist/esm/lib/injection-engine/factories/defineSkill.js.map +1 -1
  57. package/dist/esm/lib/injection-engine/index.d.ts +1 -0
  58. package/dist/esm/lib/injection-engine/index.js +7 -0
  59. package/dist/esm/lib/injection-engine/index.js.map +1 -1
  60. package/dist/esm/lib/injection-engine/skillGraph.js +9 -1
  61. package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
  62. package/dist/esm/lib/injection-engine/skillGraphCheckup.d.ts +1 -1
  63. package/dist/esm/lib/injection-engine/skillGraphCheckup.js.map +1 -1
  64. package/dist/esm/lib/injection-engine/skillSteps.d.ts +16 -0
  65. package/dist/esm/lib/injection-engine/skillSteps.js +5 -0
  66. package/dist/esm/lib/injection-engine/skillSteps.js.map +1 -1
  67. package/dist/esm/lib/injection-engine/skillVocabulary.d.ts +83 -0
  68. package/dist/esm/lib/injection-engine/skillVocabulary.js +218 -0
  69. package/dist/esm/lib/injection-engine/skillVocabulary.js.map +1 -0
  70. package/dist/index.js +23 -13
  71. package/dist/index.js.map +1 -1
  72. package/dist/lib/injection-engine/factories/defineSkill.js +13 -0
  73. package/dist/lib/injection-engine/factories/defineSkill.js.map +1 -1
  74. package/dist/lib/injection-engine/index.js +10 -1
  75. package/dist/lib/injection-engine/index.js.map +1 -1
  76. package/dist/lib/injection-engine/skillGraph.js +9 -1
  77. package/dist/lib/injection-engine/skillGraph.js.map +1 -1
  78. package/dist/lib/injection-engine/skillGraphCheckup.js.map +1 -1
  79. package/dist/lib/injection-engine/skillSteps.js +5 -0
  80. package/dist/lib/injection-engine/skillSteps.js.map +1 -1
  81. package/dist/lib/injection-engine/skillVocabulary.js +224 -0
  82. package/dist/lib/injection-engine/skillVocabulary.js.map +1 -0
  83. package/dist/types/artifacts/fileArtifacts.d.ts +13 -1
  84. package/dist/types/artifacts/fileArtifacts.d.ts.map +1 -1
  85. package/dist/types/artifacts/gcsArtifacts.d.ts +143 -0
  86. package/dist/types/artifacts/gcsArtifacts.d.ts.map +1 -0
  87. package/dist/types/artifacts/index.d.ts +4 -1
  88. package/dist/types/artifacts/index.d.ts.map +1 -1
  89. package/dist/types/artifacts/objectStore.d.ts +167 -0
  90. package/dist/types/artifacts/objectStore.d.ts.map +1 -0
  91. package/dist/types/artifacts/payload.d.ts +36 -4
  92. package/dist/types/artifacts/payload.d.ts.map +1 -1
  93. package/dist/types/artifacts/s3Artifacts.d.ts +150 -0
  94. package/dist/types/artifacts/s3Artifacts.d.ts.map +1 -0
  95. package/dist/types/artifacts/scopePath.d.ts +51 -0
  96. package/dist/types/artifacts/scopePath.d.ts.map +1 -0
  97. package/dist/types/artifacts/streaming.d.ts +83 -0
  98. package/dist/types/artifacts/streaming.d.ts.map +1 -0
  99. package/dist/types/artifacts/types.d.ts +71 -5
  100. package/dist/types/artifacts/types.d.ts.map +1 -1
  101. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  102. package/dist/types/index.d.ts +2 -1
  103. package/dist/types/index.d.ts.map +1 -1
  104. package/dist/types/lib/injection-engine/factories/defineSkill.d.ts +27 -0
  105. package/dist/types/lib/injection-engine/factories/defineSkill.d.ts.map +1 -1
  106. package/dist/types/lib/injection-engine/index.d.ts +1 -0
  107. package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
  108. package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
  109. package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts +1 -1
  110. package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts.map +1 -1
  111. package/dist/types/lib/injection-engine/skillSteps.d.ts +16 -0
  112. package/dist/types/lib/injection-engine/skillSteps.d.ts.map +1 -1
  113. package/dist/types/lib/injection-engine/skillVocabulary.d.ts +84 -0
  114. package/dist/types/lib/injection-engine/skillVocabulary.d.ts.map +1 -0
  115. package/package.json +10 -1
package/README.md CHANGED
@@ -879,7 +879,9 @@ The flowchart, recorders, and tests don't change between dev and prod.
879
879
 
880
880
  **Operability**
881
881
  - Provider-agnostic prompt caching — declarative per-injection, per-iteration marker recomputation
882
- - Artifacts (the claim check) — tools check data into a governed store (`ctx.artifacts`; in-memory / file / SQLite) and the model routes ~26-char tickets instead of hauling payloads: `wants` resolves ref arguments at dispatch with teaching refusals, the placement threshold (`artifacts: { store, placement }`) auto-refs oversized tool results, and the auto-attached `present` tool hands a ref to the screen with a durable description snapshot — every mint / resolve / refusal / presentation a typed event
882
+ - Artifacts (the claim check) — tools check data into a governed store (`ctx.artifacts`; in-memory / file / SQLite / S3 / Cloud Storage) and the model routes ~26-char tickets instead of hauling payloads: `wants` resolves ref arguments at dispatch with teaching refusals, the placement threshold (`artifacts: { store, placement }`) auto-refs oversized tool results, and the auto-attached `present` tool hands a ref to the screen with a durable description snapshot — every mint / resolve / refusal / presentation a typed event
883
+ - Artifact stores everywhere the agent runs — one five-verb port, five adapters: `inMemoryArtifacts` · `fileArtifacts` · `sqliteArtifacts` · `s3Artifacts` · `gcsArtifacts`, all running the same contract suite. Scope-partitioned keys (a `..` tenant is a name, never a hop), the ticket as one metadata entry, digest verified on read, retention stated at mint. Optional `putStream` / `getStream` are **feature-detected** (`canStreamArtifacts`) — a store that cannot stream leaves them absent rather than faking it. The cloud adapters ship contract-shaped and tested, awaiting field use
884
+ - Skill artifact vocabularies — a skill or a step declares `produces` / `consumes` (artifact kinds), and `graph.checkup()` warns `artifact-kind-unsatisfied` when nothing on the agent claims to make what a consumer needs. Honest by construction: a warning, never an error, because it reads declarations only and artifacts outlive the turn that made them
883
885
  - Human-in-the-loop pause / resume — a tool calls `pauseHere(...)` (or `askHuman(...)`); `isPaused(result)` hands you a JSON-serializable checkpoint, and `agent.resume(checkpoint, input)` continues hours later on a different server
884
886
  - Resilience primitives — `withRetry`, `withFallback`, `withCircuitBreaker`, `.outputFallback`, `agent.resumeOnError`
885
887
  - 60+ typed observability events — `agent` · `composition` · `context` · `stream` · `tools` · `skill` · `memory` · `cache` · `cost` · `permission` · `eval` · `embedding` · `pause` · `error` · `fallback` · `resilience` · `reliability` · `risk`
@@ -14,7 +14,19 @@
14
14
  * claim, not a defence;
15
15
  * • the scope tuple — caller strings, so each segment is percent-encoded
16
16
  * before it becomes a directory name: `..`, `/` and `\` arrive as data
17
- * and land as literals, never as navigation.
17
+ * and land as literals, never as navigation. That encoding is
18
+ * `scopePath.ts`'s to own (9.25.0) — the object-store adapters partition
19
+ * their keys with the identical law, and one traversal defence that lives
20
+ * in two files is one that eventually differs in two files.
21
+ *
22
+ * ── Streaming (9.25.0) ─────────────────────────────────────────────────────
23
+ * This adapter implements the port's OPTIONAL `putStream`/`getStream`,
24
+ * because a directory can honestly do it: the bytes go to a sibling
25
+ * `<ref>.bin` as they arrive and the envelope records `payload: { shape:
26
+ * 'external' }`. The envelope is written LAST, so a crash mid-upload leaves an
27
+ * orphan `.bin` nobody can see rather than a ticket pointing at a payload that
28
+ * never finished. A streamed artifact reads back as a `Uint8Array` through
29
+ * `get()`, and `delete`/retention remove both files.
18
30
  *
19
31
  * ── What this adapter does NOT know ────────────────────────────────────────
20
32
  * A directory cannot cheaply know which artifact was READ last, so budget
@@ -33,6 +45,8 @@ const minting_js_1 = require("./minting.js");
33
45
  const naming_js_1 = require("./naming.js");
34
46
  const payload_js_1 = require("./payload.js");
35
47
  const retention_js_1 = require("./retention.js");
48
+ const scopePath_js_1 = require("./scopePath.js");
49
+ const streaming_js_1 = require("./streaming.js");
36
50
  const types_js_1 = require("./types.js");
37
51
  /** What one artifact file holds. `format` is bumped only for a change an
38
52
  * older reader could not survive; a newer number is refused, never half-read. */
@@ -73,18 +87,20 @@ function fileArtifacts(options) {
73
87
  const fs = (0, lazyRequire_js_1.lazyRequire)('node:fs');
74
88
  const path = (0, lazyRequire_js_1.lazyRequire)('node:path');
75
89
  fs.mkdirSync(directory, { recursive: true });
76
- /**
77
- * One RAW tuple field one directory name. Encoded from the FIELD, never
78
- * from the joined namespace (a tenant containing '/' must not become two
79
- * path segments), and with dots encoded too — `encodeURIComponent` leaves
80
- * `.` alone, so a tenant of literally `'..'` would otherwise survive as a
81
- * real parent-directory hop. After this, `..`, `/` and `\` are inert
82
- * directory NAMES (`%2E%2E`, `%2F`, `%5C`). Empty fields collapse to `_`,
83
- * mirroring `identityNamespace`'s stable layout.
84
- */
85
- const segment = (raw) => encodeURIComponent(raw === undefined || raw === '' ? '_' : raw).replace(/\./g, '%2E');
86
- const scopeDir = (scope) => path.join(directory, segment(scope.tenant), segment(scope.principal), segment(scope.conversationId));
90
+ // One RAW tuple field → one inert directory name. The law (encode the
91
+ // FIELD not the joined namespace; encode dots too, so a literal '..' is a
92
+ // NAME) is `scopePath.ts`'s shared with the object-store adapters rather
93
+ // than restated here.
94
+ const scopeDir = (scope) => path.join(directory, (0, scopePath_js_1.scopeSegment)(scope.tenant), (0, scopePath_js_1.scopeSegment)(scope.principal), (0, scopePath_js_1.scopeSegment)(scope.conversationId));
87
95
  const fileFor = (scope, ref) => path.join(scopeDir(scope), `${ref}.json`);
96
+ /** Where a STREAMED payload's bytes live: beside the envelope. */
97
+ const payloadFileFor = (scope, ref) => path.join(scopeDir(scope), `${ref}.bin`);
98
+ /** Remove an artifact's files — the envelope and, when it was streamed,
99
+ * the sibling payload. One remover, so no caller can forget half. */
100
+ const removeArtifactFiles = (scope, ref) => {
101
+ fs.rmSync(fileFor(scope, ref), { force: true });
102
+ fs.rmSync(payloadFileFor(scope, ref), { force: true });
103
+ };
88
104
  const readEnvelope = (file) => {
89
105
  let raw;
90
106
  try {
@@ -123,7 +139,7 @@ function fileArtifacts(options) {
123
139
  if (envelope === undefined)
124
140
  return undefined;
125
141
  if (envelope.meta.expiresAt !== undefined && envelope.meta.expiresAt <= now()) {
126
- fs.rmSync(file, { force: true });
142
+ removeArtifactFiles(scope, ref);
127
143
  return undefined;
128
144
  }
129
145
  return envelope;
@@ -150,7 +166,7 @@ function fileArtifacts(options) {
150
166
  if (envelope === undefined)
151
167
  continue;
152
168
  if (envelope.meta.expiresAt !== undefined && envelope.meta.expiresAt <= at) {
153
- fs.rmSync(path.join(dir, name), { force: true });
169
+ removeArtifactFiles(scope, ref);
154
170
  continue;
155
171
  }
156
172
  metas.push(envelope.meta);
@@ -173,7 +189,7 @@ function fileArtifacts(options) {
173
189
  if (plan.refusal !== undefined)
174
190
  throw new types_js_1.InvalidArtifactError(plan.refusal);
175
191
  for (const swept of plan.swept)
176
- fs.rmSync(fileFor(scope, swept.ref), { force: true });
192
+ removeArtifactFiles(scope, swept.ref);
177
193
  const envelope = {
178
194
  format: FILE_FORMAT,
179
195
  meta,
@@ -191,7 +207,14 @@ function fileArtifacts(options) {
191
207
  const envelope = liveEnvelope(scope, ref);
192
208
  if (envelope === undefined)
193
209
  return null;
194
- const data = (0, payload_js_1.decodeArtifactData)(envelope.payload);
210
+ // A STREAMED payload lives beside the envelope: this adapter is the one
211
+ // that knows where, so it reads the bytes rather than asking the shared
212
+ // decoder to reach a file it cannot see.
213
+ const data = envelope.payload.shape === 'external'
214
+ ? readPayloadFile(scope, envelope.meta.ref)
215
+ : (0, payload_js_1.decodeArtifactData)(envelope.payload);
216
+ if (data === undefined)
217
+ return null; // the sibling bytes are gone
195
218
  if (envelope.meta.digest !== undefined) {
196
219
  const actual = await (0, payload_js_1.computeArtifactDigest)(data);
197
220
  if (actual !== envelope.meta.digest) {
@@ -204,7 +227,7 @@ function fileArtifacts(options) {
204
227
  async delete(scope, ref) {
205
228
  if (!(0, naming_js_1.isArtifactRef)(ref))
206
229
  return;
207
- fs.rmSync(fileFor(scope, ref), { force: true });
230
+ removeArtifactFiles(scope, ref);
208
231
  },
209
232
  // eslint-disable-next-line @typescript-eslint/require-await
210
233
  async list(scope, listOptions) {
@@ -218,7 +241,111 @@ function fileArtifacts(options) {
218
241
  ...(nextOffset < all.length && { cursor: String(nextOffset) }),
219
242
  };
220
243
  },
244
+ /**
245
+ * The streamed put: bytes to `<ref>.bin` as they arrive, envelope LAST.
246
+ *
247
+ * The declared `bytes` is what retention plans against, and it is
248
+ * VERIFIED as the stream ends — a producer that said 10 MB and sent 11 is
249
+ * refused by name and leaves nothing behind, because a ticket that
250
+ * misdescribes its own payload is the accepted-and-silently-wrong failure
251
+ * this whole folder exists to prevent.
252
+ */
253
+ async putStream(scope, input, body) {
254
+ const at = now();
255
+ const declared = (0, streaming_js_1.assertStreamBytes)('fileArtifacts', input.bytes);
256
+ const { meta } = await (0, minting_js_1.prepareArtifact)({ ...input, data: new Uint8Array(0) }, (parent) => liveEnvelope(scope, parent) !== undefined, retention, at);
257
+ const stated = { ...meta, bytes: declared };
258
+ const rows = scopeMetas(scope).map((held) => ({
259
+ ref: held.ref,
260
+ kind: held.kind,
261
+ bytes: held.bytes,
262
+ ...(held.expiresAt !== undefined && { expiresAt: held.expiresAt }),
263
+ lastAccessedAt: held.createdAt,
264
+ }));
265
+ const plan = (0, retention_js_1.planRetention)(rows, declared, retention, at);
266
+ if (plan.refusal !== undefined)
267
+ throw new types_js_1.InvalidArtifactError(plan.refusal);
268
+ for (const swept of plan.swept)
269
+ removeArtifactFiles(scope, swept.ref);
270
+ fs.mkdirSync(scopeDir(scope), { recursive: true });
271
+ const payloadFile = payloadFileFor(scope, stated.ref);
272
+ const handle = fs.openSync(payloadFile, 'w');
273
+ let written = 0;
274
+ try {
275
+ const reader = body.getReader();
276
+ try {
277
+ for (;;) {
278
+ const { done, value } = await reader.read();
279
+ if (done)
280
+ break;
281
+ if (value === undefined)
282
+ continue;
283
+ written += value.byteLength;
284
+ if (written > declared) {
285
+ await reader.cancel();
286
+ break;
287
+ }
288
+ fs.writeSync(handle, value);
289
+ }
290
+ }
291
+ finally {
292
+ reader.releaseLock();
293
+ }
294
+ }
295
+ finally {
296
+ fs.closeSync(handle);
297
+ }
298
+ if (written !== declared) {
299
+ fs.rmSync(payloadFile, { force: true });
300
+ throw new types_js_1.InvalidArtifactError(`fileArtifacts: the streamed payload is ${written} bytes but declared ${declared}. ` +
301
+ `Nothing was stored: a ticket whose \`bytes\` misdescribes its own payload would ` +
302
+ `be believed by every later consumer. State the exact byte length.`);
303
+ }
304
+ // The envelope LAST: a crash before this line leaves an orphan .bin that
305
+ // no ref names, never a ticket pointing at an unfinished payload.
306
+ const envelope = {
307
+ format: FILE_FORMAT,
308
+ meta: stated,
309
+ payload: { shape: 'external', value: `${stated.ref}.bin` },
310
+ };
311
+ fs.writeFileSync(fileFor(scope, stated.ref), JSON.stringify(envelope));
312
+ return { meta: stated, swept: plan.swept };
313
+ },
314
+ /** The streamed read: the payload's canonical bytes, straight off disk
315
+ * for a streamed artifact, and as one chunk for an inline one (this
316
+ * store held it whole — it says so rather than pretending to be lazy). */
317
+ // eslint-disable-next-line @typescript-eslint/require-await
318
+ async getStream(scope, ref) {
319
+ const envelope = liveEnvelope(scope, ref);
320
+ if (envelope === undefined)
321
+ return null;
322
+ if (envelope.payload.shape === 'external') {
323
+ const file = payloadFileFor(scope, envelope.meta.ref);
324
+ if (!fs.existsSync(file))
325
+ return null;
326
+ const stream = (0, lazyRequire_js_1.lazyRequire)('node:stream');
327
+ return {
328
+ meta: envelope.meta,
329
+ body: stream.Readable.toWeb(fs.createReadStream(file)),
330
+ };
331
+ }
332
+ return {
333
+ meta: envelope.meta,
334
+ body: (0, streaming_js_1.bytesAsStream)((0, payload_js_1.canonicalPayloadBytes)((0, payload_js_1.decodeArtifactData)(envelope.payload))),
335
+ };
336
+ },
221
337
  };
338
+ /** The bytes of a streamed payload, or undefined when the sibling file is
339
+ * gone (an interrupted write, an external deletion) — which is "no data",
340
+ * the same answer a missing envelope gives. */
341
+ function readPayloadFile(scope, ref) {
342
+ try {
343
+ return new Uint8Array(fs.readFileSync(payloadFileFor(scope, ref)));
344
+ }
345
+ catch {
346
+ return undefined;
347
+ }
348
+ }
222
349
  }
223
350
  exports.fileArtifacts = fileArtifacts;
224
351
  function decodeCursor(cursor) {
@@ -1 +1 @@
1
- {"version":3,"file":"fileArtifacts.js","sourceRoot":"","sources":["../../src/artifacts/fileArtifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fileArtifacts.js","sourceRoot":"","sources":["../../src/artifacts/fileArtifacts.ts"],"names":[],"mappings":"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"}