agentfootprint 9.24.0 → 9.26.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/AGENTS.md +1 -1
- package/CLAUDE.md +7 -1
- package/README.md +3 -1
- package/ai-instructions/claude-code/SKILL.md +1 -1
- package/dist/adapters/code/local.js +102 -2
- package/dist/adapters/code/local.js.map +1 -1
- package/dist/adapters/hosting/agentcore.js +11 -0
- package/dist/adapters/hosting/agentcore.js.map +1 -1
- package/dist/adapters/identity/jwks.js +277 -0
- package/dist/adapters/identity/jwks.js.map +1 -0
- package/dist/adapters/types.js +18 -1
- package/dist/adapters/types.js.map +1 -1
- package/dist/artifacts/fileArtifacts.js +144 -17
- package/dist/artifacts/fileArtifacts.js.map +1 -1
- package/dist/artifacts/gcsArtifacts.js +398 -0
- package/dist/artifacts/gcsArtifacts.js.map +1 -0
- package/dist/artifacts/index.js +17 -1
- package/dist/artifacts/index.js.map +1 -1
- package/dist/artifacts/objectStore.js +264 -0
- package/dist/artifacts/objectStore.js.map +1 -0
- package/dist/artifacts/payload.js +41 -2
- package/dist/artifacts/payload.js.map +1 -1
- package/dist/artifacts/recordingArtifact.js +88 -0
- package/dist/artifacts/recordingArtifact.js.map +1 -0
- package/dist/artifacts/s3Artifacts.js +542 -0
- package/dist/artifacts/s3Artifacts.js.map +1 -0
- package/dist/artifacts/scopePath.js +87 -0
- package/dist/artifacts/scopePath.js.map +1 -0
- package/dist/artifacts/streaming.js +132 -0
- package/dist/artifacts/streaming.js.map +1 -0
- package/dist/artifacts/types.js +10 -2
- package/dist/artifacts/types.js.map +1 -1
- package/dist/core/Agent.js +176 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +20 -0
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/repeatedCall.js +190 -0
- package/dist/core/agent/repeatedCall.js.map +1 -0
- package/dist/core/agent/stages/toolCalls.js +50 -0
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/codeRunnerTool.js +149 -12
- package/dist/core/codeRunnerTool.js.map +1 -1
- package/dist/esm/adapters/code/local.d.ts +16 -0
- package/dist/esm/adapters/code/local.js +102 -2
- package/dist/esm/adapters/code/local.js.map +1 -1
- package/dist/esm/adapters/hosting/agentcore.js +11 -0
- package/dist/esm/adapters/hosting/agentcore.js.map +1 -1
- package/dist/esm/adapters/identity/jwks.d.ts +124 -0
- package/dist/esm/adapters/identity/jwks.js +249 -0
- package/dist/esm/adapters/identity/jwks.js.map +1 -0
- package/dist/esm/adapters/types.d.ts +86 -0
- package/dist/esm/adapters/types.js +16 -0
- package/dist/esm/adapters/types.js.map +1 -1
- package/dist/esm/artifacts/fileArtifacts.d.ts +13 -1
- package/dist/esm/artifacts/fileArtifacts.js +145 -18
- package/dist/esm/artifacts/fileArtifacts.js.map +1 -1
- package/dist/esm/artifacts/gcsArtifacts.d.ts +142 -0
- package/dist/esm/artifacts/gcsArtifacts.js +394 -0
- package/dist/esm/artifacts/gcsArtifacts.js.map +1 -0
- package/dist/esm/artifacts/index.d.ts +5 -1
- package/dist/esm/artifacts/index.js +4 -0
- package/dist/esm/artifacts/index.js.map +1 -1
- package/dist/esm/artifacts/objectStore.d.ts +166 -0
- package/dist/esm/artifacts/objectStore.js +252 -0
- package/dist/esm/artifacts/objectStore.js.map +1 -0
- package/dist/esm/artifacts/payload.d.ts +36 -4
- package/dist/esm/artifacts/payload.js +38 -1
- package/dist/esm/artifacts/payload.js.map +1 -1
- package/dist/esm/artifacts/recordingArtifact.d.ts +76 -0
- package/dist/esm/artifacts/recordingArtifact.js +83 -0
- package/dist/esm/artifacts/recordingArtifact.js.map +1 -0
- package/dist/esm/artifacts/s3Artifacts.d.ts +149 -0
- package/dist/esm/artifacts/s3Artifacts.js +538 -0
- package/dist/esm/artifacts/s3Artifacts.js.map +1 -0
- package/dist/esm/artifacts/scopePath.d.ts +50 -0
- package/dist/esm/artifacts/scopePath.js +80 -0
- package/dist/esm/artifacts/scopePath.js.map +1 -0
- package/dist/esm/artifacts/streaming.d.ts +82 -0
- package/dist/esm/artifacts/streaming.js +123 -0
- package/dist/esm/artifacts/streaming.js.map +1 -0
- package/dist/esm/artifacts/types.d.ts +71 -5
- package/dist/esm/artifacts/types.js +10 -2
- package/dist/esm/artifacts/types.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +66 -2
- package/dist/esm/core/Agent.js +176 -0
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.js +20 -0
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/repeatedCall.d.ts +150 -0
- package/dist/esm/core/agent/repeatedCall.js +184 -0
- package/dist/esm/core/agent/repeatedCall.js.map +1 -0
- package/dist/esm/core/agent/stages/toolCalls.d.ts +12 -0
- package/dist/esm/core/agent/stages/toolCalls.js +50 -0
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +82 -0
- package/dist/esm/core/codeRunnerTool.d.ts +31 -0
- package/dist/esm/core/codeRunnerTool.js +149 -12
- package/dist/esm/core/codeRunnerTool.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +22 -0
- package/dist/esm/events/registry.d.ts +3 -1
- package/dist/esm/events/registry.js +2 -0
- package/dist/esm/events/registry.js.map +1 -1
- package/dist/esm/hosting/admission.d.ts +180 -0
- package/dist/esm/hosting/admission.js +188 -0
- package/dist/esm/hosting/admission.js.map +1 -0
- package/dist/esm/hosting/artifactWire.d.ts +8 -5
- package/dist/esm/hosting/artifactWire.js +14 -9
- package/dist/esm/hosting/artifactWire.js.map +1 -1
- package/dist/esm/hosting/envelope.d.ts +34 -0
- package/dist/esm/hosting/envelope.js +81 -0
- package/dist/esm/hosting/envelope.js.map +1 -1
- package/dist/esm/hosting/errors.d.ts +131 -0
- package/dist/esm/hosting/errors.js +195 -0
- package/dist/esm/hosting/errors.js.map +1 -1
- package/dist/esm/hosting/httpHost.d.ts +21 -0
- package/dist/esm/hosting/httpHost.js +44 -2
- package/dist/esm/hosting/httpHost.js.map +1 -1
- package/dist/esm/hosting/identityVerification.d.ts +154 -0
- package/dist/esm/hosting/identityVerification.js +135 -0
- package/dist/esm/hosting/identityVerification.js.map +1 -0
- package/dist/esm/hosting/index.d.ts +12 -3
- package/dist/esm/hosting/index.js +16 -2
- package/dist/esm/hosting/index.js.map +1 -1
- package/dist/esm/hosting/memorySessions.d.ts +9 -0
- package/dist/esm/hosting/memorySessions.js +86 -0
- package/dist/esm/hosting/memorySessions.js.map +1 -1
- package/dist/esm/hosting/nodeHost.js +8 -0
- package/dist/esm/hosting/nodeHost.js.map +1 -1
- package/dist/esm/hosting/sessionWire.d.ts +126 -0
- package/dist/esm/hosting/sessionWire.js +95 -0
- package/dist/esm/hosting/sessionWire.js.map +1 -0
- package/dist/esm/hosting/sqliteSessions.js +122 -5
- package/dist/esm/hosting/sqliteSessions.js.map +1 -1
- package/dist/esm/hosting/standingAgent.js +299 -8
- package/dist/esm/hosting/standingAgent.js.map +1 -1
- package/dist/esm/hosting/types.d.ts +166 -6
- package/dist/esm/hosting/types.js.map +1 -1
- package/dist/esm/hosting/wireOps.d.ts +52 -0
- package/dist/esm/hosting/wireOps.js +60 -0
- package/dist/esm/hosting/wireOps.js.map +1 -0
- package/dist/esm/identity.d.ts +1 -0
- package/dist/esm/identity.js +6 -0
- package/dist/esm/identity.js.map +1 -1
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +10 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/factories/defineSkill.d.ts +27 -0
- package/dist/esm/lib/injection-engine/factories/defineSkill.js +13 -0
- package/dist/esm/lib/injection-engine/factories/defineSkill.js.map +1 -1
- package/dist/esm/lib/injection-engine/index.d.ts +1 -0
- package/dist/esm/lib/injection-engine/index.js +7 -0
- package/dist/esm/lib/injection-engine/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillGraph.js +9 -1
- package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillGraphCheckup.d.ts +1 -1
- package/dist/esm/lib/injection-engine/skillGraphCheckup.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillSteps.d.ts +16 -0
- package/dist/esm/lib/injection-engine/skillSteps.js +5 -0
- package/dist/esm/lib/injection-engine/skillSteps.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillVocabulary.d.ts +83 -0
- package/dist/esm/lib/injection-engine/skillVocabulary.js +218 -0
- package/dist/esm/lib/injection-engine/skillVocabulary.js.map +1 -0
- package/dist/events/registry.js +2 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/hosting/admission.js +194 -0
- package/dist/hosting/admission.js.map +1 -0
- package/dist/hosting/artifactWire.js +14 -9
- package/dist/hosting/artifactWire.js.map +1 -1
- package/dist/hosting/envelope.js +84 -1
- package/dist/hosting/envelope.js.map +1 -1
- package/dist/hosting/errors.js +203 -1
- package/dist/hosting/errors.js.map +1 -1
- package/dist/hosting/httpHost.js +43 -1
- package/dist/hosting/httpHost.js.map +1 -1
- package/dist/hosting/identityVerification.js +140 -0
- package/dist/hosting/identityVerification.js.map +1 -0
- package/dist/hosting/index.js +38 -1
- package/dist/hosting/index.js.map +1 -1
- package/dist/hosting/memorySessions.js +86 -0
- package/dist/hosting/memorySessions.js.map +1 -1
- package/dist/hosting/nodeHost.js +8 -0
- package/dist/hosting/nodeHost.js.map +1 -1
- package/dist/hosting/sessionWire.js +100 -0
- package/dist/hosting/sessionWire.js.map +1 -0
- package/dist/hosting/sqliteSessions.js +121 -4
- package/dist/hosting/sqliteSessions.js.map +1 -1
- package/dist/hosting/standingAgent.js +297 -6
- package/dist/hosting/standingAgent.js.map +1 -1
- package/dist/hosting/types.js.map +1 -1
- package/dist/hosting/wireOps.js +65 -0
- package/dist/hosting/wireOps.js.map +1 -0
- package/dist/identity.js +9 -1
- package/dist/identity.js.map +1 -1
- package/dist/index.js +30 -13
- package/dist/index.js.map +1 -1
- package/dist/lib/injection-engine/factories/defineSkill.js +13 -0
- package/dist/lib/injection-engine/factories/defineSkill.js.map +1 -1
- package/dist/lib/injection-engine/index.js +10 -1
- package/dist/lib/injection-engine/index.js.map +1 -1
- package/dist/lib/injection-engine/skillGraph.js +9 -1
- package/dist/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/lib/injection-engine/skillGraphCheckup.js.map +1 -1
- package/dist/lib/injection-engine/skillSteps.js +5 -0
- package/dist/lib/injection-engine/skillSteps.js.map +1 -1
- package/dist/lib/injection-engine/skillVocabulary.js +224 -0
- package/dist/lib/injection-engine/skillVocabulary.js.map +1 -0
- package/dist/types/adapters/code/local.d.ts +16 -0
- package/dist/types/adapters/code/local.d.ts.map +1 -1
- package/dist/types/adapters/hosting/agentcore.d.ts.map +1 -1
- package/dist/types/adapters/identity/jwks.d.ts +125 -0
- package/dist/types/adapters/identity/jwks.d.ts.map +1 -0
- package/dist/types/adapters/types.d.ts +86 -0
- package/dist/types/adapters/types.d.ts.map +1 -1
- package/dist/types/artifacts/fileArtifacts.d.ts +13 -1
- package/dist/types/artifacts/fileArtifacts.d.ts.map +1 -1
- package/dist/types/artifacts/gcsArtifacts.d.ts +143 -0
- package/dist/types/artifacts/gcsArtifacts.d.ts.map +1 -0
- package/dist/types/artifacts/index.d.ts +5 -1
- package/dist/types/artifacts/index.d.ts.map +1 -1
- package/dist/types/artifacts/objectStore.d.ts +167 -0
- package/dist/types/artifacts/objectStore.d.ts.map +1 -0
- package/dist/types/artifacts/payload.d.ts +36 -4
- package/dist/types/artifacts/payload.d.ts.map +1 -1
- package/dist/types/artifacts/recordingArtifact.d.ts +77 -0
- package/dist/types/artifacts/recordingArtifact.d.ts.map +1 -0
- package/dist/types/artifacts/s3Artifacts.d.ts +150 -0
- package/dist/types/artifacts/s3Artifacts.d.ts.map +1 -0
- package/dist/types/artifacts/scopePath.d.ts +51 -0
- package/dist/types/artifacts/scopePath.d.ts.map +1 -0
- package/dist/types/artifacts/streaming.d.ts +83 -0
- package/dist/types/artifacts/streaming.d.ts.map +1 -0
- package/dist/types/artifacts/types.d.ts +71 -5
- package/dist/types/artifacts/types.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +66 -2
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/repeatedCall.d.ts +151 -0
- package/dist/types/core/agent/repeatedCall.d.ts.map +1 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts +12 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +82 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/codeRunnerTool.d.ts +31 -0
- package/dist/types/core/codeRunnerTool.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +22 -0
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +3 -1
- package/dist/types/events/registry.d.ts.map +1 -1
- package/dist/types/hosting/admission.d.ts +181 -0
- package/dist/types/hosting/admission.d.ts.map +1 -0
- package/dist/types/hosting/artifactWire.d.ts +8 -5
- package/dist/types/hosting/artifactWire.d.ts.map +1 -1
- package/dist/types/hosting/envelope.d.ts +34 -0
- package/dist/types/hosting/envelope.d.ts.map +1 -1
- package/dist/types/hosting/errors.d.ts +131 -0
- package/dist/types/hosting/errors.d.ts.map +1 -1
- package/dist/types/hosting/httpHost.d.ts +21 -0
- package/dist/types/hosting/httpHost.d.ts.map +1 -1
- package/dist/types/hosting/identityVerification.d.ts +155 -0
- package/dist/types/hosting/identityVerification.d.ts.map +1 -0
- package/dist/types/hosting/index.d.ts +12 -3
- package/dist/types/hosting/index.d.ts.map +1 -1
- package/dist/types/hosting/memorySessions.d.ts +9 -0
- package/dist/types/hosting/memorySessions.d.ts.map +1 -1
- package/dist/types/hosting/nodeHost.d.ts.map +1 -1
- package/dist/types/hosting/sessionWire.d.ts +127 -0
- package/dist/types/hosting/sessionWire.d.ts.map +1 -0
- package/dist/types/hosting/sqliteSessions.d.ts.map +1 -1
- package/dist/types/hosting/standingAgent.d.ts.map +1 -1
- package/dist/types/hosting/types.d.ts +166 -6
- package/dist/types/hosting/types.d.ts.map +1 -1
- package/dist/types/hosting/wireOps.d.ts +53 -0
- package/dist/types/hosting/wireOps.d.ts.map +1 -0
- package/dist/types/identity.d.ts +1 -0
- package/dist/types/identity.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/factories/defineSkill.d.ts +27 -0
- package/dist/types/lib/injection-engine/factories/defineSkill.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/index.d.ts +1 -0
- package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts +1 -1
- package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillSteps.d.ts +16 -0
- package/dist/types/lib/injection-engine/skillSteps.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillVocabulary.d.ts +84 -0
- package/dist/types/lib/injection-engine/skillVocabulary.d.ts.map +1 -0
- package/package.json +15 -1
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* artifacts/gcsArtifacts — the claim-check store in a Cloud Storage bucket.
|
|
4
|
+
*
|
|
5
|
+
* The same five verbs, the same laws, a different vendor's client. Read
|
|
6
|
+
* `objectStore.ts` first for the laws both object adapters obey; read
|
|
7
|
+
* `s3Artifacts.ts` beside this one to see what is genuinely per-vendor rather
|
|
8
|
+
* than per-implementation. Three things really are different here, and each
|
|
9
|
+
* one changes what an operator pays:
|
|
10
|
+
*
|
|
11
|
+
* 1. **A listing carries the metadata.** `bucket.getFiles()` hands back File
|
|
12
|
+
* objects with their metadata already populated — creation time, size AND
|
|
13
|
+
* the custom entry holding the ticket. So `list()` is ONE call per page
|
|
14
|
+
* and needs no per-row read, where the S3 adapter must HEAD each row it
|
|
15
|
+
* returns. Same port, same promise, cheaper here; said out loud because
|
|
16
|
+
* "the cloud adapters behave identically" is true of the CONTRACT and not
|
|
17
|
+
* of the bill.
|
|
18
|
+
* 2. **A bigger metadata budget.** Custom metadata is capped at 8 KiB
|
|
19
|
+
* (keys and values together), against 2 KB on the other column. The
|
|
20
|
+
* ticket is checked against it at put and refused by name, so the cap is
|
|
21
|
+
* a stated limit and not a surprise from the service.
|
|
22
|
+
* 3. **The client has no command objects.** Methods hang off a chain —
|
|
23
|
+
* `storage.bucket(b).file(k).save(...)` — which is why this column's pin
|
|
24
|
+
* test asserts a METHOD CHAIN rather than a set of command names.
|
|
25
|
+
*
|
|
26
|
+
* ── The object key ──────────────────────────────────────────────────────────
|
|
27
|
+
* `[<prefix>/]<tenant>/<principal>/<conversation>/<ref>`, scope-partitioned by
|
|
28
|
+
* `scopePath.ts` — the same percent-encoding law as the directory adapter, so
|
|
29
|
+
* a tenant of literally `'..'` is a NAME here too. A ref alone opens nothing:
|
|
30
|
+
* a wrong scope computes a different object name, the service answers 404, and
|
|
31
|
+
* the caller reads `null`.
|
|
32
|
+
*
|
|
33
|
+
* ── What a 404 is allowed to mean here ──────────────────────────────────────
|
|
34
|
+
* A missing object and a missing bucket look the SAME on this column
|
|
35
|
+
* (`code: 404`, reason `notFound`, differing only in prose this adapter will
|
|
36
|
+
* not parse). So the split is made by the call instead: only a read of one
|
|
37
|
+
* named object may read a 404 as "not there". A 404 from a save or a listing
|
|
38
|
+
* is not an answer to anything the caller asked — it goes through the
|
|
39
|
+
* sanitizer, because nothing downstream converts it and the client's own text
|
|
40
|
+
* for it carries the object name.
|
|
41
|
+
*
|
|
42
|
+
* ── Retention, and the operator's bulk tool ─────────────────────────────────
|
|
43
|
+
* `ttlMs` stamps `expiresAt` AT MINT (stated, never sprung); expiry is
|
|
44
|
+
* enforced on READ and the expired object is deleted on the way past; budgets
|
|
45
|
+
* evict oldest-first (an object store has no cheap read-recency). A put SCANS
|
|
46
|
+
* the scope only when a byte/count budget is configured — with no budget there
|
|
47
|
+
* is nothing to plan, and a put stays a single upload.
|
|
48
|
+
*
|
|
49
|
+
* Reclaiming what nobody reads again is **Object Lifecycle Management**, the
|
|
50
|
+
* operator's bulk tool. This adapter does not create rules: a lifecycle rule
|
|
51
|
+
* is a cost and compliance decision that belongs to your infrastructure.
|
|
52
|
+
* Align it like this:
|
|
53
|
+
*
|
|
54
|
+
* ```jsonc
|
|
55
|
+
* // Delete objects 7 days after creation. Keep the rule LONGER than the
|
|
56
|
+
* // store's ttlMs, never shorter: `expiresAt` is the promise printed on the
|
|
57
|
+
* // ticket, and a lifecycle rule that deletes first makes a live ticket
|
|
58
|
+
* // resolve to null BEFORE the time it stated. Longer, and lifecycle is what
|
|
59
|
+
* // it should be — the backstop for what the store's own sweep never
|
|
60
|
+
* // revisited.
|
|
61
|
+
* { "lifecycle": { "rule": [
|
|
62
|
+
* { "action": { "type": "Delete" },
|
|
63
|
+
* "condition": { "age": 7, "matchesPrefix": ["artifacts/"] } }
|
|
64
|
+
* ]}}
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* ── Lazy peer dependency ────────────────────────────────────────────────────
|
|
68
|
+
* `@google-cloud/storage` is an OPTIONAL peer dependency, required at
|
|
69
|
+
* CONSTRUCTION (the sqliteSessions law): importing the barrel costs a browser
|
|
70
|
+
* bundle nothing, and a missing install refuses where the config was written.
|
|
71
|
+
* Pass `storage` to share the client your app already built.
|
|
72
|
+
*
|
|
73
|
+
* ── Status ──────────────────────────────────────────────────────────────────
|
|
74
|
+
* Contract-shaped and tested; awaiting field use. The method chain it calls is
|
|
75
|
+
* pinned against the really-installed package by
|
|
76
|
+
* `test/adapters/google/google-surface-pin.test.ts`; the behavior is proved
|
|
77
|
+
* against an emulation double that speaks the same chain. No live call has
|
|
78
|
+
* been made from this repository.
|
|
79
|
+
*/
|
|
80
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
81
|
+
exports.gcsArtifacts = void 0;
|
|
82
|
+
const lazyRequire_js_1 = require("../lib/lazyRequire.js");
|
|
83
|
+
const minting_js_1 = require("./minting.js");
|
|
84
|
+
const naming_js_1 = require("./naming.js");
|
|
85
|
+
const objectStore_js_1 = require("./objectStore.js");
|
|
86
|
+
const payload_js_1 = require("./payload.js");
|
|
87
|
+
const retention_js_1 = require("./retention.js");
|
|
88
|
+
const scopePath_js_1 = require("./scopePath.js");
|
|
89
|
+
const streaming_js_1 = require("./streaming.js");
|
|
90
|
+
const types_js_1 = require("./types.js");
|
|
91
|
+
/** Cloud Storage's custom-metadata cap: 8 KiB, keys and values together. */
|
|
92
|
+
const GCS_METADATA_BUDGET = 8 * 1024;
|
|
93
|
+
/** Objects per listing call. */
|
|
94
|
+
const LIST_PAGE_SIZE = 1000;
|
|
95
|
+
/** How many listing calls one scan may make before it stops walking. */
|
|
96
|
+
const MAX_LIST_CALLS = 20;
|
|
97
|
+
/** Load the peer dep, or refuse by name with the install line. */
|
|
98
|
+
function loadGcsSdk() {
|
|
99
|
+
let mod;
|
|
100
|
+
try {
|
|
101
|
+
mod = (0, lazyRequire_js_1.lazyRequire)('@google-cloud/storage');
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
throw new Error(`[artifacts] gcsArtifacts requires the \`@google-cloud/storage\` package.\n` +
|
|
105
|
+
` Install: npm install @google-cloud/storage\n` +
|
|
106
|
+
` It is an OPTIONAL peer dependency, loaded only when you construct this store — ` +
|
|
107
|
+
`every other artifact adapter (inMemoryArtifacts, fileArtifacts, sqliteArtifacts) needs ` +
|
|
108
|
+
`nothing installed.`);
|
|
109
|
+
}
|
|
110
|
+
if (typeof mod.Storage !== 'function') {
|
|
111
|
+
throw new Error(`[artifacts] gcsArtifacts: \`@google-cloud/storage\` is installed but exports no ` +
|
|
112
|
+
`\`Storage\`. This adapter is built against the 7.x client — update the package, or ` +
|
|
113
|
+
`pass \`storage\` with a pre-built client.`);
|
|
114
|
+
}
|
|
115
|
+
return mod;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Is this the client's "no such object"?
|
|
119
|
+
*
|
|
120
|
+
* Said honestly: on this column a missing OBJECT and a missing BUCKET arrive
|
|
121
|
+
* identically — `code: 404`, `errors[0].reason: 'notFound'` for both — and the
|
|
122
|
+
* only thing that separates them is prose in the message, which this adapter
|
|
123
|
+
* will not read (a classification that depends on somebody's error text breaks
|
|
124
|
+
* on the first rewording, and the text is the thing we refuse to touch).
|
|
125
|
+
*
|
|
126
|
+
* So the split is made where it CAN be made: by which call the 404 came from.
|
|
127
|
+
* A read of one named object reads it as "no data"; a write or a listing never
|
|
128
|
+
* does — see {@link NotFoundMeaning}. A store pointed at a bucket that does not
|
|
129
|
+
* exist therefore reports empty on a read and says so plainly on the first
|
|
130
|
+
* write, rather than pretending a 404 it cannot classify is an answer.
|
|
131
|
+
*/
|
|
132
|
+
function isMissingObject(err) {
|
|
133
|
+
const e = err;
|
|
134
|
+
if (e === null || typeof e !== 'object')
|
|
135
|
+
return false;
|
|
136
|
+
return e.code === 404 || e.status === 404 || e.code === 'ENOENT';
|
|
137
|
+
}
|
|
138
|
+
/** `timeCreated` as milliseconds. */
|
|
139
|
+
function toMillis(value) {
|
|
140
|
+
if (typeof value !== 'string')
|
|
141
|
+
return 0;
|
|
142
|
+
const parsed = Date.parse(value);
|
|
143
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* An artifact store in a Cloud Storage bucket.
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* const store = gcsArtifacts({ bucket: 'my-agent-artifacts', prefix: 'artifacts' });
|
|
150
|
+
* const agent = Agent.create({ provider, artifacts: store });
|
|
151
|
+
*/
|
|
152
|
+
function gcsArtifacts(options) {
|
|
153
|
+
const bucketName = (0, objectStore_js_1.assertBucketOption)('gcsArtifacts', 'bucket', options.bucket);
|
|
154
|
+
const root = (0, scopePath_js_1.normalizeKeyRoot)('gcsArtifacts', options.prefix);
|
|
155
|
+
const { retention } = options;
|
|
156
|
+
(0, retention_js_1.assertRetention)('gcsArtifacts', retention);
|
|
157
|
+
const now = options._now ?? Date.now;
|
|
158
|
+
// Resolved at CONSTRUCTION — a missing peer dep refuses where the config
|
|
159
|
+
// was written, not at the first put of the first run.
|
|
160
|
+
const storage = options._storage ??
|
|
161
|
+
options.storage ??
|
|
162
|
+
// Checked by loadGcsSdk.
|
|
163
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
164
|
+
new (options._sdk?.Storage ?? loadGcsSdk().Storage)({
|
|
165
|
+
...(options.projectId !== undefined && { projectId: options.projectId }),
|
|
166
|
+
});
|
|
167
|
+
const bucket = storage.bucket(bucketName);
|
|
168
|
+
const nameFor = (scope, ref) => `${(0, scopePath_js_1.scopeKeyPrefix)(scope, root)}${ref}`;
|
|
169
|
+
const failure = (0, objectStore_js_1.objectFailurePolicy)('gcsArtifacts', isMissingObject);
|
|
170
|
+
/**
|
|
171
|
+
* Run one SDK call, mapping failures the two honest ways.
|
|
172
|
+
*
|
|
173
|
+
* `meaning` says whether THIS call asked about one object, and so whether a
|
|
174
|
+
* 404 may travel back raw for the call site to read as "not there". It
|
|
175
|
+
* defaults to `'not-an-answer'`: a new call site that forgets it gets the
|
|
176
|
+
* sanitizer, never the leak. Only pass `'missing-object'` where the `catch`
|
|
177
|
+
* that converts it is a line away.
|
|
178
|
+
*/
|
|
179
|
+
const call = async (operation, run, meaning = 'not-an-answer') => {
|
|
180
|
+
try {
|
|
181
|
+
return await run();
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
throw failure(operation, err, meaning);
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
const removeName = async (name) => {
|
|
188
|
+
try {
|
|
189
|
+
await call('delete', () => bucket.file(name).delete({ ignoreNotFound: true }), 'missing-object');
|
|
190
|
+
}
|
|
191
|
+
catch (err) {
|
|
192
|
+
// `ignoreNotFound` already covers the object; a 404 that still arrives is
|
|
193
|
+
// about something else. Swallowed all the same — deleting an absence is
|
|
194
|
+
// agreement — but it arrives sanitized, so no client that ignores the
|
|
195
|
+
// flag can echo the name through this path.
|
|
196
|
+
if (!isMissingObject(err))
|
|
197
|
+
throw err;
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
/** The ticket carried by one object's metadata, when it is one of ours. */
|
|
201
|
+
const ticketOf = (metadata) => (0, objectStore_js_1.decodeArtifactMetaValue)((0, objectStore_js_1.readMetadataEntry)(metadata?.metadata, objectStore_js_1.ARTIFACT_META_KEY));
|
|
202
|
+
/** getMetadata → the ticket, or undefined for missing/foreign/expired.
|
|
203
|
+
* Expired objects are swept on the way past. */
|
|
204
|
+
const liveTicket = async (scope, ref) => {
|
|
205
|
+
if (!(0, naming_js_1.isArtifactRef)(ref))
|
|
206
|
+
return undefined;
|
|
207
|
+
const name = nameFor(scope, ref);
|
|
208
|
+
let metadata;
|
|
209
|
+
try {
|
|
210
|
+
[metadata] = await call('getMetadata', () => bucket.file(name).getMetadata(), 'missing-object');
|
|
211
|
+
}
|
|
212
|
+
catch (err) {
|
|
213
|
+
if (isMissingObject(err))
|
|
214
|
+
return undefined;
|
|
215
|
+
throw err;
|
|
216
|
+
}
|
|
217
|
+
const ticket = ticketOf(metadata);
|
|
218
|
+
if (ticket === undefined)
|
|
219
|
+
return undefined;
|
|
220
|
+
if ((0, objectStore_js_1.isExpiredMeta)(ticket.meta, now())) {
|
|
221
|
+
await removeName(name);
|
|
222
|
+
return undefined;
|
|
223
|
+
}
|
|
224
|
+
return ticket;
|
|
225
|
+
};
|
|
226
|
+
/** Every live row in a scope — ONE call per page, tickets included. */
|
|
227
|
+
const listScope = async (scope) => {
|
|
228
|
+
const prefix = (0, scopePath_js_1.scopeKeyPrefix)(scope, root);
|
|
229
|
+
const rows = [];
|
|
230
|
+
let pageToken;
|
|
231
|
+
const at = now();
|
|
232
|
+
for (let callNo = 0; callNo < MAX_LIST_CALLS; callNo++) {
|
|
233
|
+
const [files, nextQuery] = await call('getFiles', () => bucket.getFiles({
|
|
234
|
+
prefix,
|
|
235
|
+
autoPaginate: false,
|
|
236
|
+
maxResults: LIST_PAGE_SIZE,
|
|
237
|
+
...(pageToken !== undefined && { pageToken }),
|
|
238
|
+
}));
|
|
239
|
+
for (const file of files ?? []) {
|
|
240
|
+
const name = typeof file.name === 'string' ? file.name : '';
|
|
241
|
+
const ref = name.slice(prefix.length);
|
|
242
|
+
if (!(0, naming_js_1.isArtifactRef)(ref))
|
|
243
|
+
continue; // foreign object in a shared bucket
|
|
244
|
+
const ticket = ticketOf(file.metadata);
|
|
245
|
+
if (ticket === undefined)
|
|
246
|
+
continue;
|
|
247
|
+
if ((0, objectStore_js_1.isExpiredMeta)(ticket.meta, at)) {
|
|
248
|
+
await removeName(name);
|
|
249
|
+
continue;
|
|
250
|
+
}
|
|
251
|
+
rows.push({
|
|
252
|
+
name,
|
|
253
|
+
meta: ticket.meta,
|
|
254
|
+
serviceCreatedAt: toMillis(file.metadata?.timeCreated) || ticket.meta.createdAt,
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
pageToken = nextQuery?.pageToken;
|
|
258
|
+
if (pageToken === undefined)
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
return rows;
|
|
262
|
+
};
|
|
263
|
+
/** The retention pass, run at put. Returns what it swept. */
|
|
264
|
+
const applyRetention = async (scope, incomingBytes, at) => {
|
|
265
|
+
if (retention === undefined ||
|
|
266
|
+
(retention.maxBytesPerScope === undefined && retention.maxCountPerScope === undefined)) {
|
|
267
|
+
return [];
|
|
268
|
+
}
|
|
269
|
+
const held = (await listScope(scope)).map((row) => ({
|
|
270
|
+
ref: row.meta.ref,
|
|
271
|
+
kind: row.meta.kind,
|
|
272
|
+
bytes: row.meta.bytes,
|
|
273
|
+
...(row.meta.expiresAt !== undefined && { expiresAt: row.meta.expiresAt }),
|
|
274
|
+
lastAccessedAt: row.meta.createdAt,
|
|
275
|
+
}));
|
|
276
|
+
const plan = (0, retention_js_1.planRetention)(held, incomingBytes, retention, at);
|
|
277
|
+
if (plan.refusal !== undefined)
|
|
278
|
+
throw new types_js_1.InvalidArtifactError(plan.refusal);
|
|
279
|
+
for (const gone of plan.swept)
|
|
280
|
+
await removeName(nameFor(scope, gone.ref));
|
|
281
|
+
return plan.swept;
|
|
282
|
+
};
|
|
283
|
+
return {
|
|
284
|
+
async put(scope, input) {
|
|
285
|
+
const at = now();
|
|
286
|
+
const { meta } = await (0, minting_js_1.prepareArtifact)(input, async (parent) => (await liveTicket(scope, parent)) !== undefined, retention, at);
|
|
287
|
+
const bytes = (0, payload_js_1.canonicalPayloadBytes)(input.data);
|
|
288
|
+
const shape = (0, payload_js_1.payloadShapeOf)(input.data);
|
|
289
|
+
const metaValue = (0, objectStore_js_1.encodeArtifactMetaValue)(meta, shape, GCS_METADATA_BUDGET, 'gcsArtifacts');
|
|
290
|
+
const swept = await applyRetention(scope, meta.bytes, at);
|
|
291
|
+
await call('save', () => bucket.file(nameFor(scope, meta.ref)).save(bytes, {
|
|
292
|
+
contentType: meta.mediaType,
|
|
293
|
+
resumable: false,
|
|
294
|
+
metadata: { metadata: { [objectStore_js_1.ARTIFACT_META_KEY]: metaValue } },
|
|
295
|
+
}));
|
|
296
|
+
return { meta, swept };
|
|
297
|
+
},
|
|
298
|
+
async head(scope, ref) {
|
|
299
|
+
return (await liveTicket(scope, ref))?.meta ?? null;
|
|
300
|
+
},
|
|
301
|
+
async get(scope, ref) {
|
|
302
|
+
const ticket = await liveTicket(scope, ref);
|
|
303
|
+
if (ticket === undefined)
|
|
304
|
+
return null;
|
|
305
|
+
let downloaded;
|
|
306
|
+
try {
|
|
307
|
+
[downloaded] = await call('download', () => bucket.file(nameFor(scope, ref)).download(), 'missing-object');
|
|
308
|
+
}
|
|
309
|
+
catch (err) {
|
|
310
|
+
if (isMissingObject(err))
|
|
311
|
+
return null; // deleted between the head and the read
|
|
312
|
+
throw err;
|
|
313
|
+
}
|
|
314
|
+
const data = (0, payload_js_1.decodeCanonicalPayload)(ticket.shape, new Uint8Array(downloaded));
|
|
315
|
+
if (ticket.meta.digest !== undefined) {
|
|
316
|
+
const actual = await (0, payload_js_1.computeArtifactDigest)(data);
|
|
317
|
+
if (actual !== ticket.meta.digest) {
|
|
318
|
+
throw new types_js_1.ArtifactIntegrityError(ticket.meta.ref, ticket.meta.digest, actual);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
return { meta: ticket.meta, data };
|
|
322
|
+
},
|
|
323
|
+
async delete(scope, ref) {
|
|
324
|
+
if (!(0, naming_js_1.isArtifactRef)(ref))
|
|
325
|
+
return;
|
|
326
|
+
await removeName(nameFor(scope, ref));
|
|
327
|
+
},
|
|
328
|
+
async list(scope, listOptions) {
|
|
329
|
+
return (0, objectStore_js_1.pageObjectListing)(await listScope(scope), listOptions);
|
|
330
|
+
},
|
|
331
|
+
async putStream(scope, input, body) {
|
|
332
|
+
const at = now();
|
|
333
|
+
const declared = (0, streaming_js_1.assertStreamBytes)('gcsArtifacts', input.bytes);
|
|
334
|
+
// A streamed payload is bytes by definition: nothing parses it, so it
|
|
335
|
+
// reads back as a Uint8Array through get() and as the same bytes
|
|
336
|
+
// through getStream().
|
|
337
|
+
const { meta } = await (0, minting_js_1.prepareArtifact)({ ...input, data: new Uint8Array(0) }, async (parent) => (await liveTicket(scope, parent)) !== undefined, retention, at);
|
|
338
|
+
const stated = { ...meta, bytes: declared };
|
|
339
|
+
const metaValue = (0, objectStore_js_1.encodeArtifactMetaValue)(stated, 'binary', GCS_METADATA_BUDGET, 'gcsArtifacts');
|
|
340
|
+
const swept = await applyRetention(scope, declared, at);
|
|
341
|
+
const stream = (0, lazyRequire_js_1.lazyRequire)('node:stream');
|
|
342
|
+
const promises = (0, lazyRequire_js_1.lazyRequire)('node:stream/promises');
|
|
343
|
+
const writable = bucket.file(nameFor(scope, stated.ref)).createWriteStream({
|
|
344
|
+
contentType: stated.mediaType,
|
|
345
|
+
resumable: false,
|
|
346
|
+
metadata: { metadata: { [objectStore_js_1.ARTIFACT_META_KEY]: metaValue } },
|
|
347
|
+
});
|
|
348
|
+
await call('createWriteStream', () => promises.pipeline(stream.Readable.from(countedChunks(body, declared)), writable));
|
|
349
|
+
return { meta: stated, swept };
|
|
350
|
+
},
|
|
351
|
+
async getStream(scope, ref) {
|
|
352
|
+
const ticket = await liveTicket(scope, ref);
|
|
353
|
+
if (ticket === undefined)
|
|
354
|
+
return null;
|
|
355
|
+
const stream = (0, lazyRequire_js_1.lazyRequire)('node:stream');
|
|
356
|
+
const readable = bucket.file(nameFor(scope, ref)).createReadStream();
|
|
357
|
+
return {
|
|
358
|
+
meta: ticket.meta,
|
|
359
|
+
body: stream.Readable.toWeb(readable),
|
|
360
|
+
};
|
|
361
|
+
},
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
exports.gcsArtifacts = gcsArtifacts;
|
|
365
|
+
/**
|
|
366
|
+
* Yield a web stream's chunks while COUNTING them against the declared
|
|
367
|
+
* length, so a producer that lied about its own payload fails with this
|
|
368
|
+
* library's sentence rather than as a truncated upload.
|
|
369
|
+
*/
|
|
370
|
+
async function* countedChunks(body, declared) {
|
|
371
|
+
const reader = body.getReader();
|
|
372
|
+
let total = 0;
|
|
373
|
+
try {
|
|
374
|
+
for (;;) {
|
|
375
|
+
const { done, value } = await reader.read();
|
|
376
|
+
if (done)
|
|
377
|
+
break;
|
|
378
|
+
if (value === undefined)
|
|
379
|
+
continue;
|
|
380
|
+
total += value.byteLength;
|
|
381
|
+
if (total > declared) {
|
|
382
|
+
await reader.cancel();
|
|
383
|
+
throw new types_js_1.InvalidArtifactError(`gcsArtifacts: the streamed payload is longer than the ${declared} bytes it ` +
|
|
384
|
+
`declared. The upload was cut off rather than completed under a meta that ` +
|
|
385
|
+
`describes a different payload. State the exact byte length.`);
|
|
386
|
+
}
|
|
387
|
+
yield value;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
finally {
|
|
391
|
+
reader.releaseLock();
|
|
392
|
+
}
|
|
393
|
+
if (total !== declared) {
|
|
394
|
+
throw new types_js_1.InvalidArtifactError(`gcsArtifacts: the streamed payload ended after ${total} bytes but declared ${declared}. ` +
|
|
395
|
+
`The upload fails rather than storing a ticket that misdescribes its own payload.`);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
//# sourceMappingURL=gcsArtifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gcsArtifacts.js","sourceRoot":"","sources":["../../src/artifacts/gcsArtifacts.ts"],"names":[],"mappings":"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"}
|
package/dist/artifacts/index.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* this folder for the one-job map and the import direction.
|
|
12
12
|
*/
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.placedToolResult = exports.placedResultKind = exports.isPlacedToolResult = exports.assertArtifactPlacement = exports.presentArtifact = exports.PRESENT_TOOL_NAME = exports.wantsNeedsStoreRefusal = exports.resolveToolWants = exports.assertToolWants = exports.unconfiguredArtifacts = exports.bindArtifacts = exports.UnreadableArtifactStoreError = exports.sqliteArtifacts = exports.UnreadableArtifactFileError = exports.fileArtifacts = exports.DEFAULT_IN_MEMORY_ARTIFACT_RETENTION = exports.inMemoryArtifacts = exports.mintArtifactRef = exports.isArtifactRef = exports.ARTIFACT_REF_PREFIX = exports.UnknownParentRefError = exports.InvalidArtifactError = exports.ArtifactIntegrityError = void 0;
|
|
14
|
+
exports.placedToolResult = exports.placedResultKind = exports.isPlacedToolResult = exports.assertArtifactPlacement = exports.UnserializableRecordingError = exports.RECORDING_MEDIA_TYPE = exports.RECORDING_ARTIFACT_KIND = exports.recordingPutInput = exports.presentArtifact = exports.PRESENT_TOOL_NAME = exports.wantsNeedsStoreRefusal = exports.resolveToolWants = exports.assertToolWants = exports.unconfiguredArtifacts = exports.bindArtifacts = exports.collectStream = exports.canStreamArtifacts = exports.canPutArtifactStream = exports.canGetArtifactStream = exports.bytesAsStream = exports.assertStreamBytes = exports.gcsArtifacts = exports.s3Artifacts = exports.UnreadableArtifactStoreError = exports.sqliteArtifacts = exports.UnreadableArtifactFileError = exports.fileArtifacts = exports.DEFAULT_IN_MEMORY_ARTIFACT_RETENTION = exports.inMemoryArtifacts = exports.mintArtifactRef = exports.isArtifactRef = exports.ARTIFACT_REF_PREFIX = exports.UnknownParentRefError = exports.InvalidArtifactError = exports.ArtifactIntegrityError = void 0;
|
|
15
15
|
var types_js_1 = require("./types.js");
|
|
16
16
|
Object.defineProperty(exports, "ArtifactIntegrityError", { enumerable: true, get: function () { return types_js_1.ArtifactIntegrityError; } });
|
|
17
17
|
Object.defineProperty(exports, "InvalidArtifactError", { enumerable: true, get: function () { return types_js_1.InvalidArtifactError; } });
|
|
@@ -29,6 +29,17 @@ Object.defineProperty(exports, "UnreadableArtifactFileError", { enumerable: true
|
|
|
29
29
|
var sqliteArtifacts_js_1 = require("./sqliteArtifacts.js");
|
|
30
30
|
Object.defineProperty(exports, "sqliteArtifacts", { enumerable: true, get: function () { return sqliteArtifacts_js_1.sqliteArtifacts; } });
|
|
31
31
|
Object.defineProperty(exports, "UnreadableArtifactStoreError", { enumerable: true, get: function () { return sqliteArtifacts_js_1.UnreadableArtifactStoreError; } });
|
|
32
|
+
var s3Artifacts_js_1 = require("./s3Artifacts.js");
|
|
33
|
+
Object.defineProperty(exports, "s3Artifacts", { enumerable: true, get: function () { return s3Artifacts_js_1.s3Artifacts; } });
|
|
34
|
+
var gcsArtifacts_js_1 = require("./gcsArtifacts.js");
|
|
35
|
+
Object.defineProperty(exports, "gcsArtifacts", { enumerable: true, get: function () { return gcsArtifacts_js_1.gcsArtifacts; } });
|
|
36
|
+
var streaming_js_1 = require("./streaming.js");
|
|
37
|
+
Object.defineProperty(exports, "assertStreamBytes", { enumerable: true, get: function () { return streaming_js_1.assertStreamBytes; } });
|
|
38
|
+
Object.defineProperty(exports, "bytesAsStream", { enumerable: true, get: function () { return streaming_js_1.bytesAsStream; } });
|
|
39
|
+
Object.defineProperty(exports, "canGetArtifactStream", { enumerable: true, get: function () { return streaming_js_1.canGetArtifactStream; } });
|
|
40
|
+
Object.defineProperty(exports, "canPutArtifactStream", { enumerable: true, get: function () { return streaming_js_1.canPutArtifactStream; } });
|
|
41
|
+
Object.defineProperty(exports, "canStreamArtifacts", { enumerable: true, get: function () { return streaming_js_1.canStreamArtifacts; } });
|
|
42
|
+
Object.defineProperty(exports, "collectStream", { enumerable: true, get: function () { return streaming_js_1.collectStream; } });
|
|
32
43
|
var capability_js_1 = require("./capability.js");
|
|
33
44
|
Object.defineProperty(exports, "bindArtifacts", { enumerable: true, get: function () { return capability_js_1.bindArtifacts; } });
|
|
34
45
|
Object.defineProperty(exports, "unconfiguredArtifacts", { enumerable: true, get: function () { return capability_js_1.unconfiguredArtifacts; } });
|
|
@@ -39,6 +50,11 @@ Object.defineProperty(exports, "wantsNeedsStoreRefusal", { enumerable: true, get
|
|
|
39
50
|
var present_js_1 = require("./present.js");
|
|
40
51
|
Object.defineProperty(exports, "PRESENT_TOOL_NAME", { enumerable: true, get: function () { return present_js_1.PRESENT_TOOL_NAME; } });
|
|
41
52
|
Object.defineProperty(exports, "presentArtifact", { enumerable: true, get: function () { return present_js_1.presentArtifact; } });
|
|
53
|
+
var recordingArtifact_js_1 = require("./recordingArtifact.js");
|
|
54
|
+
Object.defineProperty(exports, "recordingPutInput", { enumerable: true, get: function () { return recordingArtifact_js_1.recordingPutInput; } });
|
|
55
|
+
Object.defineProperty(exports, "RECORDING_ARTIFACT_KIND", { enumerable: true, get: function () { return recordingArtifact_js_1.RECORDING_ARTIFACT_KIND; } });
|
|
56
|
+
Object.defineProperty(exports, "RECORDING_MEDIA_TYPE", { enumerable: true, get: function () { return recordingArtifact_js_1.RECORDING_MEDIA_TYPE; } });
|
|
57
|
+
Object.defineProperty(exports, "UnserializableRecordingError", { enumerable: true, get: function () { return recordingArtifact_js_1.UnserializableRecordingError; } });
|
|
42
58
|
var placement_js_1 = require("./placement.js");
|
|
43
59
|
Object.defineProperty(exports, "assertArtifactPlacement", { enumerable: true, get: function () { return placement_js_1.assertArtifactPlacement; } });
|
|
44
60
|
Object.defineProperty(exports, "isPlacedToolResult", { enumerable: true, get: function () { return placement_js_1.isPlacedToolResult; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/artifacts/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/artifacts/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,uCAkBoB;AAjBlB,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AACpB,iHAAA,qBAAqB,OAAA;AAgBvB,yCAAkF;AAAzE,gHAAA,mBAAmB,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,4GAAA,eAAe,OAAA;AAE5D,+DAKgC;AAJ9B,yHAAA,iBAAiB,OAAA;AACjB,4IAAA,oCAAoC,OAAA;AAItC,uDAI4B;AAH1B,iHAAA,aAAa,OAAA;AACb,+HAAA,2BAA2B,OAAA;AAG7B,2DAK8B;AAJ5B,qHAAA,eAAe,OAAA;AACf,kIAAA,4BAA4B,OAAA;AAI9B,mDAAwE;AAA/D,6GAAA,WAAW,OAAA;AACpB,qDAA2E;AAAlE,+GAAA,YAAY,OAAA;AACrB,+CAUwB;AATtB,iHAAA,iBAAiB,OAAA;AACjB,6GAAA,aAAa,OAAA;AACb,oHAAA,oBAAoB,OAAA;AACpB,oHAAA,oBAAoB,OAAA;AACpB,kHAAA,kBAAkB,OAAA;AAClB,6GAAA,aAAa,OAAA;AAKf,iDAUyB;AATvB,8GAAA,aAAa,OAAA;AACb,sHAAA,qBAAqB,OAAA;AASvB,uCAOoB;AANlB,2GAAA,eAAe,OAAA;AACf,4GAAA,gBAAgB,OAAA;AAChB,kHAAA,sBAAsB,OAAA;AAKxB,2CAMsB;AALpB,+GAAA,iBAAiB,OAAA;AACjB,6GAAA,eAAe,OAAA;AAKjB,+DAMgC;AAL9B,yHAAA,iBAAiB,OAAA;AACjB,+HAAA,uBAAuB,OAAA;AACvB,4HAAA,oBAAoB,OAAA;AACpB,oIAAA,4BAA4B,OAAA;AAG9B,+CAOwB;AANtB,uHAAA,uBAAuB,OAAA;AACvB,kHAAA,kBAAkB,OAAA;AAClB,gHAAA,gBAAgB,OAAA;AAChB,gHAAA,gBAAgB,OAAA"}
|