agentfootprint 9.40.0 → 9.41.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 (87) hide show
  1. package/AGENTS.md +1 -1
  2. package/CLAUDE.md +2 -1
  3. package/ai-instructions/claude-code/SKILL.md +1 -1
  4. package/dist/adapters/memory/agentcore.js +3 -1
  5. package/dist/adapters/memory/agentcore.js.map +1 -1
  6. package/dist/artifacts/conformance/cases.js +840 -0
  7. package/dist/artifacts/conformance/cases.js.map +1 -0
  8. package/dist/artifacts/conformance/index.js +18 -0
  9. package/dist/artifacts/conformance/index.js.map +1 -0
  10. package/dist/artifacts/conformance/run.js +223 -0
  11. package/dist/artifacts/conformance/run.js.map +1 -0
  12. package/dist/artifacts/conformance/types.js +11 -0
  13. package/dist/artifacts/conformance/types.js.map +1 -0
  14. package/dist/artifacts/index.js +10 -1
  15. package/dist/artifacts/index.js.map +1 -1
  16. package/dist/core/Agent.js +86 -0
  17. package/dist/core/Agent.js.map +1 -1
  18. package/dist/core/agent/runManifest.js +102 -0
  19. package/dist/core/agent/runManifest.js.map +1 -0
  20. package/dist/esm/adapters/memory/agentcore.js +3 -1
  21. package/dist/esm/adapters/memory/agentcore.js.map +1 -1
  22. package/dist/esm/artifacts/conformance/cases.d.ts +23 -0
  23. package/dist/esm/artifacts/conformance/cases.js +837 -0
  24. package/dist/esm/artifacts/conformance/cases.js.map +1 -0
  25. package/dist/esm/artifacts/conformance/index.d.ts +11 -0
  26. package/dist/esm/artifacts/conformance/index.js +11 -0
  27. package/dist/esm/artifacts/conformance/index.js.map +1 -0
  28. package/dist/esm/artifacts/conformance/run.d.ts +47 -0
  29. package/dist/esm/artifacts/conformance/run.js +217 -0
  30. package/dist/esm/artifacts/conformance/run.js.map +1 -0
  31. package/dist/esm/artifacts/conformance/types.d.ts +197 -0
  32. package/dist/esm/artifacts/conformance/types.js +10 -0
  33. package/dist/esm/artifacts/conformance/types.js.map +1 -0
  34. package/dist/esm/artifacts/index.d.ts +1 -0
  35. package/dist/esm/artifacts/index.js +5 -0
  36. package/dist/esm/artifacts/index.js.map +1 -1
  37. package/dist/esm/core/Agent.d.ts +26 -0
  38. package/dist/esm/core/Agent.js +86 -0
  39. package/dist/esm/core/Agent.js.map +1 -1
  40. package/dist/esm/core/agent/runManifest.d.ts +80 -0
  41. package/dist/esm/core/agent/runManifest.js +98 -0
  42. package/dist/esm/core/agent/runManifest.js.map +1 -0
  43. package/dist/esm/events/payloads.d.ts +159 -0
  44. package/dist/esm/events/registry.d.ts +3 -1
  45. package/dist/esm/events/registry.js +2 -0
  46. package/dist/esm/events/registry.js.map +1 -1
  47. package/dist/esm/index.d.ts +1 -0
  48. package/dist/esm/index.js +7 -0
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/memory/define.js +12 -0
  51. package/dist/esm/memory/define.js.map +1 -1
  52. package/dist/esm/memory/define.types.d.ts +27 -0
  53. package/dist/esm/memory/define.types.js.map +1 -1
  54. package/dist/esm/strategies/attach.js.map +1 -1
  55. package/dist/events/registry.js +2 -0
  56. package/dist/events/registry.js.map +1 -1
  57. package/dist/index.js +23 -12
  58. package/dist/index.js.map +1 -1
  59. package/dist/memory/define.js +12 -0
  60. package/dist/memory/define.js.map +1 -1
  61. package/dist/memory/define.types.js.map +1 -1
  62. package/dist/strategies/attach.js.map +1 -1
  63. package/dist/types/adapters/memory/agentcore.d.ts.map +1 -1
  64. package/dist/types/artifacts/conformance/cases.d.ts +24 -0
  65. package/dist/types/artifacts/conformance/cases.d.ts.map +1 -0
  66. package/dist/types/artifacts/conformance/index.d.ts +12 -0
  67. package/dist/types/artifacts/conformance/index.d.ts.map +1 -0
  68. package/dist/types/artifacts/conformance/run.d.ts +48 -0
  69. package/dist/types/artifacts/conformance/run.d.ts.map +1 -0
  70. package/dist/types/artifacts/conformance/types.d.ts +198 -0
  71. package/dist/types/artifacts/conformance/types.d.ts.map +1 -0
  72. package/dist/types/artifacts/index.d.ts +1 -0
  73. package/dist/types/artifacts/index.d.ts.map +1 -1
  74. package/dist/types/core/Agent.d.ts +26 -0
  75. package/dist/types/core/Agent.d.ts.map +1 -1
  76. package/dist/types/core/agent/runManifest.d.ts +81 -0
  77. package/dist/types/core/agent/runManifest.d.ts.map +1 -0
  78. package/dist/types/events/payloads.d.ts +159 -0
  79. package/dist/types/events/payloads.d.ts.map +1 -1
  80. package/dist/types/events/registry.d.ts +3 -1
  81. package/dist/types/events/registry.d.ts.map +1 -1
  82. package/dist/types/index.d.ts +1 -0
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/dist/types/memory/define.d.ts.map +1 -1
  85. package/dist/types/memory/define.types.d.ts +27 -0
  86. package/dist/types/memory/define.types.d.ts.map +1 -1
  87. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cases.js","sourceRoot":"","sources":["../../../../src/artifacts/conformance/cases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * artifacts/conformance — the battery a store must pass to claim
3
+ * {@link ArtifactStore}.
4
+ *
5
+ * Re-exported from `agentfootprint`, so an out-of-tree store imports it
6
+ * exactly the way it imports the port it is implementing. See the README
7
+ * beside this file for why it exists and how to run it.
8
+ */
9
+ export { artifactStoreConformance } from './cases.js';
10
+ export { formatArtifactStoreReport, runArtifactStoreCase, runArtifactStoreConformance, } from './run.js';
11
+ export type { ArtifactConformanceKit, ArtifactStoreCase, ArtifactStoreCaseName, ArtifactStoreHarness, ArtifactStoreHarnessHook, ArtifactStoreMember, ArtifactStoreOutcome, ArtifactStoreReport, } from './types.js';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * artifacts/conformance — the battery a store must pass to claim
3
+ * {@link ArtifactStore}.
4
+ *
5
+ * Re-exported from `agentfootprint`, so an out-of-tree store imports it
6
+ * exactly the way it imports the port it is implementing. See the README
7
+ * beside this file for why it exists and how to run it.
8
+ */
9
+ export { artifactStoreConformance } from './cases.js';
10
+ export { formatArtifactStoreReport, runArtifactStoreCase, runArtifactStoreConformance, } from './run.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/artifacts/conformance/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,UAAU,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * artifacts/conformance/run — running the battery, and saying honestly how it
3
+ * went.
4
+ *
5
+ * The runner owns exactly three decisions, and all three are about the ways a
6
+ * case can NOT run:
7
+ *
8
+ * 1. the case is about an OPTIONAL port member this store does not implement
9
+ * (`putStream` / `getStream`) → `'not-applicable'`, naming the member.
10
+ * Feature detection, which is the port's own rule applied to its own
11
+ * battery.
12
+ * 2. the store implements it and cannot satisfy the case, and the harness said
13
+ * so by name → `'declared'`, carrying the reason. It is run ANYWAY, so a
14
+ * declaration that has quietly become untrue is visible rather than
15
+ * permanent.
16
+ * 3. the case needs a harness hook nobody supplied and nobody declared →
17
+ * `'failed'`. This is the one that matters: an undeclared skip is a pass
18
+ * with the evidence removed, which is the same shape as every defect a
19
+ * conformance battery exists to catch.
20
+ */
21
+ import type { ArtifactStoreCase, ArtifactStoreHarness, ArtifactStoreOutcome, ArtifactStoreReport } from './types.js';
22
+ /**
23
+ * Run ONE case against one store, building and disposing the store around it.
24
+ *
25
+ * Exported because a test framework wants one assertion per case: iterate
26
+ * {@link artifactStoreConformance}, call this, and turn the outcome into an
27
+ * `it()`. That gives per-case granularity in any framework without this module
28
+ * knowing what a framework is.
29
+ */
30
+ export declare function runArtifactStoreCase(testCase: ArtifactStoreCase, harness: ArtifactStoreHarness): Promise<ArtifactStoreOutcome>;
31
+ /**
32
+ * Run the whole battery against one store and report.
33
+ *
34
+ * @example Claiming the port for a store of your own
35
+ * const report = await runArtifactStoreConformance({
36
+ * name: 'ourOwnArtifacts',
37
+ * createStore: () => ourOwnArtifacts({ bucket }),
38
+ * disposeStore: (store) => store.close(),
39
+ * });
40
+ * if (!report.ok) throw new Error(formatArtifactStoreReport(report));
41
+ */
42
+ export declare function runArtifactStoreConformance(harness: ArtifactStoreHarness): Promise<ArtifactStoreReport>;
43
+ /**
44
+ * The report as something to put in a failure message or a log — one line per
45
+ * case, with the reason a case did not simply pass.
46
+ */
47
+ export declare function formatArtifactStoreReport(report: ArtifactStoreReport): string;
@@ -0,0 +1,217 @@
1
+ /**
2
+ * artifacts/conformance/run — running the battery, and saying honestly how it
3
+ * went.
4
+ *
5
+ * The runner owns exactly three decisions, and all three are about the ways a
6
+ * case can NOT run:
7
+ *
8
+ * 1. the case is about an OPTIONAL port member this store does not implement
9
+ * (`putStream` / `getStream`) → `'not-applicable'`, naming the member.
10
+ * Feature detection, which is the port's own rule applied to its own
11
+ * battery.
12
+ * 2. the store implements it and cannot satisfy the case, and the harness said
13
+ * so by name → `'declared'`, carrying the reason. It is run ANYWAY, so a
14
+ * declaration that has quietly become untrue is visible rather than
15
+ * permanent.
16
+ * 3. the case needs a harness hook nobody supplied and nobody declared →
17
+ * `'failed'`. This is the one that matters: an undeclared skip is a pass
18
+ * with the evidence removed, which is the same shape as every defect a
19
+ * conformance battery exists to catch.
20
+ */
21
+ import { artifactStoreConformance } from './cases.js';
22
+ /** Unique enough that two runs against one shared backend cannot collide. */
23
+ let counter = 0;
24
+ /**
25
+ * The kit one case gets, plus the stores it opened through it.
26
+ *
27
+ * A case that asks for a bounded store gets a SECOND store, and something has
28
+ * to close it. The runner keeps the list and disposes it in the same `finally`
29
+ * as the case's own store — a handle leaked by a failing case surfaces three
30
+ * cases later as a confusing second failure.
31
+ */
32
+ function kitFor(harness, opened) {
33
+ const token = `cnf-${Date.now().toString(36)}-${(++counter).toString(36)}`;
34
+ let nth = 0;
35
+ const kit = {
36
+ harness,
37
+ token,
38
+ scope: (suffix) => ({ conversationId: `${token}-${(++nth).toString(36)}-${suffix}` }),
39
+ now: async (store) => {
40
+ // The port has no clock verb, and it does not need one: every mint
41
+ // stamps `createdAt` from the store's own calendar. The probe is put
42
+ // into its own scope and deleted, so it cannot be seen by a listing case
43
+ // or counted by a budget.
44
+ const scope = { conversationId: `${token}-clock-probe` };
45
+ const { meta } = await store.put(scope, {
46
+ kind: 'conformance/clock-probe',
47
+ mediaType: 'text/plain',
48
+ data: '.',
49
+ });
50
+ await store.delete(scope, meta.ref);
51
+ return meta.createdAt;
52
+ },
53
+ // The two hook wrappers are reachable only from cases that named the hook
54
+ // in `harnessNeeds`, which the runner checked before calling `run` — the
55
+ // refusal below is the belt for a case that forgot to say so, and it names
56
+ // the fix rather than throwing a TypeError from inside a store.
57
+ advance: async (store, ms) => {
58
+ if (harness.advanceTime === undefined)
59
+ throw missingHook('advanceTime');
60
+ await harness.advanceTime(store, ms);
61
+ },
62
+ corrupt: async (store, scope, ref) => {
63
+ if (harness.corrupt === undefined)
64
+ throw missingHook('corrupt');
65
+ await harness.corrupt(store, scope, ref);
66
+ },
67
+ bounded: async (maxBytesPerScope) => {
68
+ if (harness.boundedStore === undefined)
69
+ throw missingHook('boundedStore');
70
+ const store = await harness.boundedStore(maxBytesPerScope);
71
+ opened.push(store);
72
+ return store;
73
+ },
74
+ };
75
+ return { kit };
76
+ }
77
+ function missingHook(hook) {
78
+ return new Error(`[conformance] a case reached for harness.${hook}() without listing it in its own ` +
79
+ `\`harnessNeeds\`, so the runner could not check for it up front. Add ` +
80
+ `\`harnessNeeds: ['${hook}']\` to the case.`);
81
+ }
82
+ /** Is this member there to be called? The same detection every consumer uses. */
83
+ function has(store, member) {
84
+ return typeof store[member] === 'function';
85
+ }
86
+ /** What a harness has to add to run a case it currently cannot. */
87
+ const HOOK_HELP = {
88
+ advanceTime: 'move this store’s clock forward (an injected clock is one line)',
89
+ corrupt: 'replace one artifact’s stored payload behind the store’s back',
90
+ boundedStore: 'build a store whose per-scope byte budget is the number given',
91
+ };
92
+ /**
93
+ * Run ONE case against one store, building and disposing the store around it.
94
+ *
95
+ * Exported because a test framework wants one assertion per case: iterate
96
+ * {@link artifactStoreConformance}, call this, and turn the outcome into an
97
+ * `it()`. That gives per-case granularity in any framework without this module
98
+ * knowing what a framework is.
99
+ */
100
+ export async function runArtifactStoreCase(testCase, harness) {
101
+ const head = { case: testCase.name, law: testCase.law };
102
+ const declaredReason = harness.declared?.[testCase.name];
103
+ const opened = [];
104
+ let store;
105
+ try {
106
+ store = await harness.createStore();
107
+ for (const member of testCase.members ?? []) {
108
+ // Not applicable BEFORE declared: a store that does not implement
109
+ // `getStream` at all has nothing to declare about it, and reporting a
110
+ // declaration there would make the store look like it fell short of
111
+ // something the port never asked it for.
112
+ if (!has(store, member))
113
+ return { ...head, status: 'not-applicable', missing: member };
114
+ }
115
+ for (const hook of testCase.harnessNeeds ?? []) {
116
+ if (harness[hook] !== undefined)
117
+ continue;
118
+ if (declaredReason !== undefined) {
119
+ return { ...head, status: 'declared', reason: declaredReason, stillFails: true };
120
+ }
121
+ return {
122
+ ...head,
123
+ status: 'failed',
124
+ error: new Error(`[conformance] '${testCase.name}' needs harness.${hook}() and this harness has ` +
125
+ `none — so the case did not run, and a case that did not run must never look ` +
126
+ `like one that passed. Supply the hook (${HOOK_HELP[hook]}), or DECLARE this ` +
127
+ `case by name with the reason your store cannot:\n` +
128
+ ` declared: { '${testCase.name}': 'why not' }`),
129
+ };
130
+ }
131
+ const { kit } = kitFor(harness, opened);
132
+ await testCase.run(store, kit);
133
+ }
134
+ catch (err) {
135
+ const error = err instanceof Error ? err : new Error(String(err));
136
+ // A declared case that still fails is the harness telling the truth.
137
+ if (declaredReason !== undefined) {
138
+ return { ...head, status: 'declared', reason: declaredReason, stillFails: true };
139
+ }
140
+ return { ...head, status: 'failed', error };
141
+ }
142
+ finally {
143
+ for (const extra of [...opened, ...(store === undefined ? [] : [store])]) {
144
+ try {
145
+ await harness.disposeStore?.(extra);
146
+ }
147
+ catch {
148
+ /* A store that could not be torn down must not rewrite the verdict of
149
+ the case that was using it — the case's own result is the finding. */
150
+ }
151
+ }
152
+ }
153
+ // It PASSED. If it was declared, the declaration is stale — worth saying,
154
+ // because a suppression nobody revisits is how a fixed defect keeps its
155
+ // exemption and a real one inherits it later.
156
+ if (declaredReason !== undefined) {
157
+ return { ...head, status: 'declared', reason: declaredReason, stillFails: false };
158
+ }
159
+ return { ...head, status: 'passed' };
160
+ }
161
+ /**
162
+ * Run the whole battery against one store and report.
163
+ *
164
+ * @example Claiming the port for a store of your own
165
+ * const report = await runArtifactStoreConformance({
166
+ * name: 'ourOwnArtifacts',
167
+ * createStore: () => ourOwnArtifacts({ bucket }),
168
+ * disposeStore: (store) => store.close(),
169
+ * });
170
+ * if (!report.ok) throw new Error(formatArtifactStoreReport(report));
171
+ */
172
+ export async function runArtifactStoreConformance(harness) {
173
+ const outcomes = [];
174
+ for (const testCase of artifactStoreConformance) {
175
+ outcomes.push(await runArtifactStoreCase(testCase, harness));
176
+ }
177
+ const count = (status) => outcomes.filter((outcome) => outcome.status === status).length;
178
+ const failed = count('failed');
179
+ return {
180
+ store: harness.name,
181
+ outcomes,
182
+ passed: count('passed'),
183
+ notApplicable: count('not-applicable'),
184
+ declared: count('declared'),
185
+ failed,
186
+ ok: failed === 0,
187
+ };
188
+ }
189
+ /**
190
+ * The report as something to put in a failure message or a log — one line per
191
+ * case, with the reason a case did not simply pass.
192
+ */
193
+ export function formatArtifactStoreReport(report) {
194
+ const lines = [
195
+ `ArtifactStore conformance — ${report.store}: ${report.passed} passed, ` +
196
+ `${report.declared} declared, ${report.notApplicable} n/a, ${report.failed} FAILED`,
197
+ ];
198
+ for (const outcome of report.outcomes) {
199
+ if (outcome.status === 'passed') {
200
+ lines.push(` ok ${outcome.case}`);
201
+ }
202
+ else if (outcome.status === 'not-applicable') {
203
+ lines.push(` n/a ${outcome.case} — no ${outcome.missing}() on this store`);
204
+ }
205
+ else if (outcome.status === 'declared') {
206
+ lines.push(` declared ${outcome.case} — ${outcome.reason}` +
207
+ (outcome.stillFails ? '' : ' [STALE: it passes now]'));
208
+ }
209
+ else {
210
+ lines.push(` FAILED ${outcome.case}`);
211
+ lines.push(` law: ${outcome.law}`);
212
+ lines.push(` ${outcome.error.message.split('\n').join('\n ')}`);
213
+ }
214
+ }
215
+ return lines.join('\n');
216
+ }
217
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/artifacts/conformance/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,197 @@
1
+ /**
2
+ * artifacts/conformance/types — what a store presents to the battery, and what
3
+ * the battery hands back.
4
+ *
5
+ * The sibling of `hosting/conformance/types`, applied to the claim-check port
6
+ * for the same reason: five stores, five sets of doubles, and a flaw in the
7
+ * PORT's semantics would be invisible to all of them at once.
8
+ */
9
+ import type { ArtifactRef, ArtifactScope, ArtifactStore } from '../types.js';
10
+ /**
11
+ * Every case in the battery, by name.
12
+ *
13
+ * A closed union on purpose. A harness DECLARES the cases it cannot satisfy by
14
+ * writing their names down, and a name that is a free-form string is a name
15
+ * that goes stale silently — a declaration for a case that was renamed would
16
+ * keep suppressing nothing at all, which is the same shape as the bug this
17
+ * whole battery exists to catch.
18
+ */
19
+ export type ArtifactStoreCaseName = 'put-mints-a-ticket-head-describes-get-redeems' | 'payloads-round-trip-as-the-value-they-were-given' | 'refs-are-minted-never-derived-from-the-payload' | 'a-ref-alone-opens-nothing' | 'confusable-scopes-are-not-one-scope' | 'missing-expired-and-foreign-scope-are-one-absence' | 'expiry-is-stated-at-mint-never-sprung' | 'delete-removes-and-deleting-an-absence-is-agreement' | 'list-pages-newest-first-and-carries-no-payload' | 'awkward-scope-values-are-names-not-paths' | 'oversized-payload-is-refused-before-the-write' | 'parent-refs-are-proven-at-mint' | 'malformed-puts-are-refused-by-name' | 'refusals-carry-no-payload-and-no-scope' | 'digest-is-minted-over-the-payload-and-rides-the-ticket' | 'get-refuses-a-payload-that-no-longer-matches-its-digest' | 'get-stream-does-not-verify-the-digest' | 'streamed-put-round-trips-and-declares-its-bytes' | 'streaming-members-are-feature-detected';
20
+ /**
21
+ * Members a case cannot run without.
22
+ *
23
+ * `putStream` and `getStream` are OPTIONAL on the port — a store that cannot
24
+ * move a payload without holding it whole leaves them ABSENT rather than
25
+ * faking one — so a store that lacks one is not failing anything, and a case
26
+ * about it is reported `'not-applicable'` rather than passed or failed. That
27
+ * is the port's own feature-detection rule, applied to its own battery.
28
+ */
29
+ export type ArtifactStoreMember = 'putStream' | 'getStream';
30
+ /**
31
+ * Harness hooks a case cannot run without.
32
+ *
33
+ * Each one is something no store can be asked to do through the port itself:
34
+ * move its clock, damage its own bytes, or come into being with a different
35
+ * budget. There is no portable way to do any of them, so they are the
36
+ * harness's job — and a case that needs one nobody supplied FAILS rather than
37
+ * skipping (see {@link ArtifactStoreOutcome}).
38
+ */
39
+ export type ArtifactStoreHarnessHook = 'advanceTime' | 'corrupt' | 'boundedStore';
40
+ /**
41
+ * How the battery reaches one store.
42
+ *
43
+ * A factory rather than an instance, because most of the battery needs a store
44
+ * with NOTHING in it — a listing case that saw another case's rows would be
45
+ * asserting on somebody else's fixtures — and because a store that has been
46
+ * closed, or whose directory was removed, cannot be reset in place. One store
47
+ * per case, disposed after it, is the only shape that holds for a `Map`, a
48
+ * directory, an embedded database and a bucket at once.
49
+ */
50
+ export interface ArtifactStoreHarness {
51
+ /** What this store is called in a report. */
52
+ readonly name: string;
53
+ /**
54
+ * A fresh store holding no artifacts. Called once per case.
55
+ *
56
+ * May be sync or async: some stores open a file, some await a connection,
57
+ * and a battery that demanded one shape would exclude half the stores it is
58
+ * here to check.
59
+ */
60
+ createStore(): ArtifactStore | Promise<ArtifactStore>;
61
+ /**
62
+ * Release what `createStore` (or {@link boundedStore}) acquired. Called
63
+ * after every case, including the ones that failed — a store left open by a
64
+ * failing case is a handle leak that surfaces three cases later as a
65
+ * confusing second failure.
66
+ */
67
+ disposeStore?(store: ArtifactStore): void | Promise<void>;
68
+ /**
69
+ * Move THIS store's clock forward by `ms`.
70
+ *
71
+ * Expiry is the one law that cannot be observed without time passing, and
72
+ * sleeping for it would make the battery slow enough that somebody deletes
73
+ * the case. A store built on an injectable clock implements this in one
74
+ * line; a store whose time comes from a service it does not control must
75
+ * DECLARE the cases below by name.
76
+ */
77
+ advanceTime?(store: ArtifactStore, ms: number): void | Promise<void>;
78
+ /**
79
+ * Replace one artifact's stored PAYLOAD with different, well-formed bytes,
80
+ * behind the store's back — the artifact must still be readable, just no
81
+ * longer what was put.
82
+ *
83
+ * There is no portable way to do this — it is a poke at the file, the row,
84
+ * or the object — so it is the harness's job. It is what makes the integrity
85
+ * law observable at all: `get` re-hashes and must refuse. A store nothing
86
+ * outside it can reach must DECLARE those cases with the reason.
87
+ */
88
+ corrupt?(store: ArtifactStore, scope: ArtifactScope, ref: ArtifactRef): void | Promise<void>;
89
+ /**
90
+ * A fresh, empty store whose per-scope byte budget is `maxBytesPerScope`.
91
+ *
92
+ * The ceiling law needs a ceiling small enough to hit in a test, and a
93
+ * budget is configuration rather than a verb — there is no way to ask for it
94
+ * through the port. A store with no configurable ceiling declares the case.
95
+ */
96
+ boundedStore?(maxBytesPerScope: number): ArtifactStore | Promise<ArtifactStore>;
97
+ /**
98
+ * Cases this store cannot satisfy, BY NAME, each with the reason.
99
+ *
100
+ * The reason is required, and it is the point. A store may legitimately be
101
+ * unable to satisfy a case — a `Map` closed over by its factory genuinely
102
+ * cannot be corrupted from outside — and the honest way to record that is a
103
+ * sentence somebody can disagree with. A silent skip is a pass with the
104
+ * evidence removed.
105
+ *
106
+ * A declared case still RUNS. If it turns out to pass, the report says so,
107
+ * and the declaration is stale: a gate that absolves itself is worth
108
+ * catching, and so is a gate nobody needed.
109
+ */
110
+ readonly declared?: Partial<Record<ArtifactStoreCaseName, string>>;
111
+ }
112
+ /** The helpers a case is handed, beside the store. */
113
+ export interface ArtifactConformanceKit {
114
+ /**
115
+ * A scope nothing else in this run uses. Cases address their own scope so
116
+ * two batteries pointed at one shared backend cannot read each other's rows.
117
+ */
118
+ scope(suffix: string): ArtifactScope;
119
+ /**
120
+ * The unique token behind {@link scope}, for the cases that build their own
121
+ * scope TUPLES — the confusable pairs mean nothing if a helper rewrites the
122
+ * very fields whose spelling is under test.
123
+ */
124
+ readonly token: string;
125
+ /**
126
+ * The STORE's own idea of now, read the only way the port exposes it: mint a
127
+ * throwaway artifact in a private scope and read the `createdAt` it stamped.
128
+ *
129
+ * A store on an injected clock and a store on the wall clock are both
130
+ * entitled to their own calendar, so a case that computed an expiry from
131
+ * `Date.now()` would state a time the store may consider the distant future
132
+ * — and then pass by never expiring anything.
133
+ */
134
+ now(store: ArtifactStore): Promise<number>;
135
+ /** Move the store's clock. Present only where the case declared the hook. */
136
+ advance(store: ArtifactStore, ms: number): Promise<void>;
137
+ /** Damage a stored payload. Present only where the case declared the hook. */
138
+ corrupt(store: ArtifactStore, scope: ArtifactScope, ref: ArtifactRef): Promise<void>;
139
+ /** A second store with a small byte budget; disposed with the case's own. */
140
+ bounded(maxBytesPerScope: number): Promise<ArtifactStore>;
141
+ /** The harness, for a case that wants to name it in a message. */
142
+ readonly harness: ArtifactStoreHarness;
143
+ }
144
+ /** One case in the battery. */
145
+ export interface ArtifactStoreCase {
146
+ readonly name: ArtifactStoreCaseName;
147
+ /** The law it holds, in one sentence — printed beside a failure. */
148
+ readonly law: string;
149
+ /** Optional port members without which this case does not apply. */
150
+ readonly members?: readonly ArtifactStoreMember[];
151
+ /** Harness hooks without which this case cannot run at all. */
152
+ readonly harnessNeeds?: readonly ArtifactStoreHarnessHook[];
153
+ run(store: ArtifactStore, kit: ArtifactConformanceKit): Promise<void>;
154
+ }
155
+ /**
156
+ * How one case came out.
157
+ *
158
+ * - `'passed'` — the store holds the law.
159
+ * - `'not-applicable'` — the case is about an OPTIONAL member this store does
160
+ * not implement. Feature detection, not a gap.
161
+ * - `'declared'` — the store implements the member and cannot satisfy the
162
+ * case, and said so by name. `stillFails: false` means the declaration is
163
+ * stale: it passes now.
164
+ * - `'failed'` — including "needed a harness hook nobody provided and nobody
165
+ * declared", because an undeclared skip is exactly what this battery
166
+ * refuses to let look like a pass.
167
+ */
168
+ export type ArtifactStoreOutcome = {
169
+ readonly case: ArtifactStoreCaseName;
170
+ readonly law: string;
171
+ } & ({
172
+ readonly status: 'passed';
173
+ } | {
174
+ readonly status: 'not-applicable';
175
+ readonly missing: ArtifactStoreMember;
176
+ } | {
177
+ readonly status: 'declared';
178
+ readonly reason: string;
179
+ readonly stillFails: boolean;
180
+ } | {
181
+ readonly status: 'failed';
182
+ readonly error: Error;
183
+ });
184
+ /** What one store's whole run came to. */
185
+ export interface ArtifactStoreReport {
186
+ /** The harness name. */
187
+ readonly store: string;
188
+ readonly outcomes: readonly ArtifactStoreOutcome[];
189
+ readonly passed: number;
190
+ readonly notApplicable: number;
191
+ readonly declared: number;
192
+ readonly failed: number;
193
+ /** True when nothing failed. Declarations do not make a store
194
+ * non-conformant — they make it conformant WITH STATED LIMITS, which is a
195
+ * different claim, and the report prints both. */
196
+ readonly ok: boolean;
197
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * artifacts/conformance/types — what a store presents to the battery, and what
3
+ * the battery hands back.
4
+ *
5
+ * The sibling of `hosting/conformance/types`, applied to the claim-check port
6
+ * for the same reason: five stores, five sets of doubles, and a flaw in the
7
+ * PORT's semantics would be invisible to all of them at once.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/artifacts/conformance/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -22,4 +22,5 @@ export { bindArtifacts, unconfiguredArtifacts, type ArtifactEventFact, type Arti
22
22
  export { assertToolWants, resolveToolWants, wantsNeedsStoreRefusal, type ToolWants, type WantsRefusal, type WantsResolution, } from './wants.js';
23
23
  export { PRESENT_TOOL_NAME, presentArtifact, type PresentOutcome, type PresentSnapshot, type PresentedResult, } from './present.js';
24
24
  export { recordingPutInput, RECORDING_ARTIFACT_KIND, RECORDING_MEDIA_TYPE, UnserializableRecordingError, type RecordingMintFacts, } from './recordingArtifact.js';
25
+ export { artifactStoreConformance, formatArtifactStoreReport, runArtifactStoreCase, runArtifactStoreConformance, type ArtifactConformanceKit, type ArtifactStoreCase, type ArtifactStoreCaseName, type ArtifactStoreHarness, type ArtifactStoreHarnessHook, type ArtifactStoreMember, type ArtifactStoreOutcome, type ArtifactStoreReport, } from './conformance/index.js';
25
26
  export { assertArtifactPlacement, isPlacedToolResult, placedResultKind, placedToolResult, type ArtifactPlacement, type PlacedToolResult, } from './placement.js';
@@ -21,5 +21,10 @@ export { bindArtifacts, unconfiguredArtifacts, } from './capability.js';
21
21
  export { assertToolWants, resolveToolWants, wantsNeedsStoreRefusal, } from './wants.js';
22
22
  export { PRESENT_TOOL_NAME, presentArtifact, } from './present.js';
23
23
  export { recordingPutInput, RECORDING_ARTIFACT_KIND, RECORDING_MEDIA_TYPE, UnserializableRecordingError, } from './recordingArtifact.js';
24
+ // The battery a store must pass to CLAIM the port, exported beside the port
25
+ // itself so an out-of-tree store imports the check the same way it imports the
26
+ // interface it is implementing. Imports no test framework — a case throws to
27
+ // fail. See conformance/README.md.
28
+ export { artifactStoreConformance, formatArtifactStoreReport, runArtifactStoreCase, runArtifactStoreConformance, } from './conformance/index.js';
24
29
  export { assertArtifactPlacement, isPlacedToolResult, placedResultKind, placedToolResult, } from './placement.js';
25
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/artifacts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GAetB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EACL,iBAAiB,EACjB,oCAAoC,GAGrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,2BAA2B,GAE5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,4BAA4B,GAG7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GAId,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,qBAAqB,GAQtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,sBAAsB,GAIvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,eAAe,GAIhB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,GAE7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/artifacts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GAetB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EACL,iBAAiB,EACjB,oCAAoC,GAGrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,2BAA2B,GAE5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,4BAA4B,GAG7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GAId,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,qBAAqB,GAQtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,sBAAsB,GAIvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,iBAAiB,EACjB,eAAe,GAIhB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,GAE7B,MAAM,wBAAwB,CAAC;AAChC,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAC7E,mCAAmC;AACnC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,GAS5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC"}