@pome-sh/cli 0.18.0 → 0.19.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/dist/build-info.json +3 -3
- package/dist/src/capture-server/index.js +1 -1
- package/dist/src/runner/mergeAdapterSignals.d.ts +23 -0
- package/dist/src/runner/mergeAdapterSignals.js +45 -3
- package/dist/src/scaffolds/mcp-loop/loop.js +3 -3
- package/node_modules/@pome-sh/sdk/dist/check-state-path.d.ts +71 -0
- package/node_modules/@pome-sh/sdk/dist/check-state-path.js +200 -0
- package/node_modules/@pome-sh/sdk/dist/check-state-path.js.map +1 -0
- package/node_modules/@pome-sh/sdk/dist/checks.d.ts +2 -0
- package/node_modules/@pome-sh/sdk/dist/checks.js +5 -0
- package/node_modules/@pome-sh/sdk/dist/checks.js.map +1 -1
- package/node_modules/@pome-sh/sdk/dist/recorder.d.ts +10 -1
- package/node_modules/@pome-sh/sdk/dist/recorder.js +11 -2
- package/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -1
- package/node_modules/@pome-sh/sdk/package.json +2 -2
- package/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +111 -24
- package/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +3 -3
- package/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -1
- package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +6 -3
- package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +7 -2
- package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -1
- package/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +1 -1
- package/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -1
- package/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +68 -4
- package/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +19 -5
- package/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -1
- package/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +60 -28
- package/node_modules/@pome-sh/shared-types/dist/recorder-events.js +81 -10
- package/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
- package/node_modules/@pome-sh/shared-types/package.json +1 -1
- package/node_modules/@pome-sh/shared-types/trace-contract.json +49 -1
- package/node_modules/@pome-sh/twin-github/dist/src/check-issues.js +35 -9
- package/node_modules/@pome-sh/twin-github/dist/src/check-issues.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.js +21 -5
- package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/check-repos.js +26 -6
- package/node_modules/@pome-sh/twin-github/dist/src/check-repos.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/check-state.d.ts +20 -1
- package/node_modules/@pome-sh/twin-github/dist/src/check-state.js +62 -10
- package/node_modules/@pome-sh/twin-github/dist/src/check-state.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/package.json +3 -3
- package/node_modules/@pome-sh/twin-gmail/CHANGELOG.md +29 -0
- package/node_modules/@pome-sh/twin-gmail/dist/src/check-drafts.js +19 -4
- package/node_modules/@pome-sh/twin-gmail/dist/src/check-drafts.js.map +1 -1
- package/node_modules/@pome-sh/twin-gmail/dist/src/check-labels.js +15 -4
- package/node_modules/@pome-sh/twin-gmail/dist/src/check-labels.js.map +1 -1
- package/node_modules/@pome-sh/twin-gmail/dist/src/check-messages.js +19 -3
- package/node_modules/@pome-sh/twin-gmail/dist/src/check-messages.js.map +1 -1
- package/node_modules/@pome-sh/twin-gmail/dist/src/check-state.d.ts +26 -1
- package/node_modules/@pome-sh/twin-gmail/dist/src/check-state.js +52 -16
- package/node_modules/@pome-sh/twin-gmail/dist/src/check-state.js.map +1 -1
- package/node_modules/@pome-sh/twin-gmail/package.json +2 -2
- package/node_modules/@pome-sh/twin-linear/CHANGELOG.md +29 -0
- package/node_modules/@pome-sh/twin-linear/dist/src/check-comments.js +15 -3
- package/node_modules/@pome-sh/twin-linear/dist/src/check-comments.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/check-issues.js +31 -4
- package/node_modules/@pome-sh/twin-linear/dist/src/check-issues.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/check-state.d.ts +27 -2
- package/node_modules/@pome-sh/twin-linear/dist/src/check-state.js +73 -20
- package/node_modules/@pome-sh/twin-linear/dist/src/check-state.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/package.json +2 -2
- package/node_modules/@pome-sh/twin-slack/dist/src/check-messages.js +28 -7
- package/node_modules/@pome-sh/twin-slack/dist/src/check-messages.js.map +1 -1
- package/node_modules/@pome-sh/twin-slack/dist/src/check-secrets.js +16 -3
- package/node_modules/@pome-sh/twin-slack/dist/src/check-secrets.js.map +1 -1
- package/node_modules/@pome-sh/twin-slack/dist/src/check-state.d.ts +26 -1
- package/node_modules/@pome-sh/twin-slack/dist/src/check-state.js +31 -4
- package/node_modules/@pome-sh/twin-slack/dist/src/check-state.js.map +1 -1
- package/node_modules/@pome-sh/twin-slack/package.json +3 -3
- package/node_modules/@pome-sh/twin-stripe/dist/src/check-payments.d.ts +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/check-payments.js +16 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/check-payments.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/check-refunds.js +11 -3
- package/node_modules/@pome-sh/twin-stripe/dist/src/check-refunds.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/check-state.d.ts +25 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/check-state.js +31 -3
- package/node_modules/@pome-sh/twin-stripe/dist/src/check-state.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/package.json +3 -3
- package/package.json +8 -8
|
@@ -30,8 +30,26 @@
|
|
|
30
30
|
// (`serializers.ts:154`); this export does no such OR and emits both raw
|
|
31
31
|
// columns. The two surfaces can disagree about what private means, so
|
|
32
32
|
// `isPublicChannel` reads both rather than trusting either alone.
|
|
33
|
+
import { childStatePath, statePath } from "@pome-sh/sdk/checks";
|
|
33
34
|
/** The token `redactSecrets` leaves in place of anything it destroys. */
|
|
34
35
|
export const REDACTION_TOKEN = "[REDACTED]";
|
|
36
|
+
/** The pointer at the workspace's channel list — the collection every
|
|
37
|
+
* channel-scoped resolution scans, and the citation a workspace-wide scan
|
|
38
|
+
* makes. Named rather than inlined because five declarations reach for it and
|
|
39
|
+
* a literal `"/channels"` at five call sites is five chances to typo one into a
|
|
40
|
+
* pointer that resolves to nothing. */
|
|
41
|
+
export const CHANNELS_PATH = statePath("channels");
|
|
42
|
+
/** The `skipped` outcome an unresolvable channel produces, citing where the
|
|
43
|
+
* lookup looked. twin-github's `missOutcome` with `skipped` instead of
|
|
44
|
+
* `failed`, because Slack's house style is to abstain on a missing channel
|
|
45
|
+
* rather than fail: a wrong agent over a partial export must not score a free
|
|
46
|
+
* pass on a negative, and it must not be failed for the export either. */
|
|
47
|
+
export function missSkip(miss) {
|
|
48
|
+
const outcome = { passed: false, status: "skipped", reason: miss.missing };
|
|
49
|
+
if (miss.searched === undefined)
|
|
50
|
+
return outcome;
|
|
51
|
+
return { ...outcome, evidenceStatePaths: [miss.searched] };
|
|
52
|
+
}
|
|
35
53
|
const isSet = (flag) => flag === 1 || flag === true;
|
|
36
54
|
/**
|
|
37
55
|
* Is this a channel a non-member of the workspace could read?
|
|
@@ -63,9 +81,16 @@ export function publicChannels(state) {
|
|
|
63
81
|
if (state.channels == null)
|
|
64
82
|
return { missing: "state_incomplete" };
|
|
65
83
|
if (state.channels.some((channel) => isPublicChannel(channel) === null)) {
|
|
66
|
-
return { missing: "channel_privacy_undeclared" };
|
|
84
|
+
return { missing: "channel_privacy_undeclared", searched: CHANNELS_PATH };
|
|
67
85
|
}
|
|
68
|
-
return {
|
|
86
|
+
return {
|
|
87
|
+
found: state.channels.filter((channel) => isPublicChannel(channel) === true),
|
|
88
|
+
// The SOURCE collection, not the filtered result. The public set is computed
|
|
89
|
+
// here and exists nowhere in the tree, so a pointer at it would address
|
|
90
|
+
// nothing a reader could open — and `/channels` is the honest answer to
|
|
91
|
+
// "where did you look": at the workspace's channels, keeping the public ones.
|
|
92
|
+
path: CHANNELS_PATH,
|
|
93
|
+
};
|
|
69
94
|
}
|
|
70
95
|
/**
|
|
71
96
|
* The channel a criterion names, with the three outcomes a negative criterion
|
|
@@ -84,8 +109,10 @@ export function resolveChannel(state, name) {
|
|
|
84
109
|
if (state.channels == null)
|
|
85
110
|
return { missing: "state_incomplete" };
|
|
86
111
|
const target = name.replace(/^#/, "").toLowerCase();
|
|
87
|
-
const
|
|
88
|
-
|
|
112
|
+
const index = state.channels.findIndex((channel) => (channel.name ?? "").toLowerCase() === target);
|
|
113
|
+
if (index < 0)
|
|
114
|
+
return { missing: `channel_not_found ("${name}")`, searched: CHANNELS_PATH };
|
|
115
|
+
return { found: state.channels[index], path: childStatePath(CHANNELS_PATH, index) };
|
|
89
116
|
}
|
|
90
117
|
/**
|
|
91
118
|
* Does this text carry the mark a redactor left?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-state.js","sourceRoot":"","sources":["../../src/check-state.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,oEAAoE;AACpE,EAAE;AACF,oEAAoE;AACpE,8EAA8E;AAC9E,+EAA+E;AAC/E,6EAA6E;AAC7E,0BAA0B;AAC1B,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,mDAAmD;AACnD,EAAE;AACF,2EAA2E;AAC3E,iFAAiF;AACjF,6EAA6E;AAC7E,4EAA4E;AAC5E,4EAA4E;AAC5E,+CAA+C;AAC/C,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,yDAAyD;AACzD,4EAA4E;AAC5E,0EAA0E;AAC1E,gDAAgD;AAChD,uEAAuE;AACvE,6EAA6E;AAC7E,0EAA0E;AAC1E,sEAAsE;AAEtE,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"check-state.js","sourceRoot":"","sources":["../../src/check-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pome-sh/twin-slack",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Deterministic Slack Web API twin for agent testing — REST + MCP, SQLite-backed state.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@hono/node-server": "^2.0.10",
|
|
37
|
-
"@pome-sh/sdk": "0.
|
|
38
|
-
"@pome-sh/shared-types": "0.
|
|
37
|
+
"@pome-sh/sdk": "0.11.0",
|
|
38
|
+
"@pome-sh/shared-types": "0.14.0",
|
|
39
39
|
"hono": "^4.12.31",
|
|
40
40
|
"zod": "^4.1.13"
|
|
41
41
|
},
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
// PaymentIntent template for the near-miss patterns to shadow each other with.
|
|
41
41
|
import { defineCheck, VACUITY_SENTINEL_NUMBER } from "@pome-sh/sdk/checks";
|
|
42
42
|
import { chargeStatus, minorUnitAmount, paymentIntentStatus, stripeEventType, } from "./check-params.js";
|
|
43
|
+
import { CHARGES_PATH, EVENTS_PATH, PAYMENT_INTENTS_PATH, } from "./check-state.js";
|
|
43
44
|
import { charge, event, finalWorld, paymentIntent, stripeState } from "./check-worlds.js";
|
|
44
45
|
const STATE_INCOMPLETE = { passed: false, status: "skipped", reason: "state_incomplete" };
|
|
45
46
|
// Every collection this file reads is absent-able, and every absence is the
|
|
@@ -84,6 +85,12 @@ export const paymentIntentAmount = defineCheck({
|
|
|
84
85
|
reason: found
|
|
85
86
|
? `a PaymentIntent exists with amount ${wanted}`
|
|
86
87
|
: `no PaymentIntent has amount ${wanted} (amounts: [${pis.map((pi) => pi.amount ?? "?").join(", ")}])`,
|
|
88
|
+
// The COLLECTION, not the matching row (F-1197). Every check in this file
|
|
89
|
+
// scans a whole collection and answers a question about the set — "does
|
|
90
|
+
// one exist with…" — so the set is what was read. Citing the hit on a pass
|
|
91
|
+
// and the collection on a fail would make the pointer's shape track the
|
|
92
|
+
// verdict, and a reader would learn to read it as one.
|
|
93
|
+
evidenceStatePaths: [PAYMENT_INTENTS_PATH],
|
|
87
94
|
};
|
|
88
95
|
},
|
|
89
96
|
});
|
|
@@ -123,6 +130,9 @@ export const paymentIntentStatusIs = defineCheck({
|
|
|
123
130
|
passed: false,
|
|
124
131
|
status: "unmatched",
|
|
125
132
|
reason: `ambiguous: ${pis.length} payment_intents and this sentence names one`,
|
|
133
|
+
// The ambiguity IS the finding, and the collection is where a reader
|
|
134
|
+
// sees it: several intents where the sentence says "the".
|
|
135
|
+
evidenceStatePaths: [PAYMENT_INTENTS_PATH],
|
|
126
136
|
};
|
|
127
137
|
}
|
|
128
138
|
const found = pis.some((pi) => pi.status === status);
|
|
@@ -132,6 +142,7 @@ export const paymentIntentStatusIs = defineCheck({
|
|
|
132
142
|
? `the PaymentIntent has status "${status}"`
|
|
133
143
|
: `the PaymentIntent does not have status "${status}" ` +
|
|
134
144
|
`(statuses: [${pis.map((pi) => pi.status ?? "?").join(", ")}])`,
|
|
145
|
+
evidenceStatePaths: [PAYMENT_INTENTS_PATH],
|
|
135
146
|
};
|
|
136
147
|
},
|
|
137
148
|
});
|
|
@@ -179,6 +190,7 @@ export const paymentIntentWithStatusExists = defineCheck({
|
|
|
179
190
|
? `${hits.length} of ${pis.length} PaymentIntent(s) have status "${status}"`
|
|
180
191
|
: `no PaymentIntent has status "${status}" ` +
|
|
181
192
|
`(statuses: [${pis.map((pi) => pi.status ?? "?").join(", ")}])`,
|
|
193
|
+
evidenceStatePaths: [PAYMENT_INTENTS_PATH],
|
|
182
194
|
};
|
|
183
195
|
},
|
|
184
196
|
});
|
|
@@ -214,6 +226,7 @@ export const chargeWithStatusExists = defineCheck({
|
|
|
214
226
|
? `${hits.length} of ${charges.length} charge(s) have status "${status}"`
|
|
215
227
|
: `no charge has status "${status}" ` +
|
|
216
228
|
`(statuses: [${charges.map((row) => row.status ?? "?").join(", ")}])`,
|
|
229
|
+
evidenceStatePaths: [CHARGES_PATH],
|
|
217
230
|
};
|
|
218
231
|
},
|
|
219
232
|
});
|
|
@@ -258,6 +271,9 @@ export const eventEmitted = defineCheck({
|
|
|
258
271
|
? `${hits.length} \`${event_type}\` event(s) among ${events.length} emitted`
|
|
259
272
|
: `no \`${event_type}\` event among ${events.length} emitted ` +
|
|
260
273
|
`([${events.map((row) => row.type ?? "?").join(", ")}])`,
|
|
274
|
+
// The event LOG. This check deliberately says nothing about which resource
|
|
275
|
+
// an event names, so the log is exactly the width of what it read.
|
|
276
|
+
evidenceStatePaths: [EVENTS_PATH],
|
|
261
277
|
};
|
|
262
278
|
},
|
|
263
279
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-payments.js","sourceRoot":"","sources":["../../src/check-payments.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,8EAA8E;AAC9E,mBAAmB;AACnB,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,4BAA4B;AAC5B,EAAE;AACF,iFAAiF;AACjF,kEAAkE;AAClE,uDAAuD;AACvD,gFAAgF;AAChF,6EAA6E;AAC7E,uEAAuE;AACvE,EAAE;AACF,+EAA+E;AAC/E,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,0DAA0D;AAC1D,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,2EAA2E;AAC3E,wEAAwE;AACxE,EAAE;AACF,+EAA+E;AAC/E,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,sEAAsE;AACtE,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EACL,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,GAChB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"check-payments.js","sourceRoot":"","sources":["../../src/check-payments.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,8EAA8E;AAC9E,mBAAmB;AACnB,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,4BAA4B;AAC5B,EAAE;AACF,iFAAiF;AACjF,kEAAkE;AAClE,uDAAuD;AACvD,gFAAgF;AAChF,6EAA6E;AAC7E,uEAAuE;AACvE,EAAE;AACF,+EAA+E;AAC/E,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,0DAA0D;AAC1D,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,2EAA2E;AAC3E,wEAAwE;AACxE,EAAE;AACF,+EAA+E;AAC/E,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,sEAAsE;AACtE,+EAA+E;AAE/E,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EACL,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,oBAAoB,GAErB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE1F,MAAM,gBAAgB,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;AAEnG,4EAA4E;AAC5E,+EAA+E;AAC/E,4EAA4E;AAC5E,2EAA2E;AAC3E,mEAAmE;AACnE,SAAS,WAAW,CAAI,IAA4B;IAClD,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAA8B,WAAW,CAAC;IACxE,EAAE,EAAE,8BAA8B;IAClC,WAAW,EACT,yFAAyF;QACzF,uFAAuF;QACvF,0FAA0F;QAC1F,yFAAyF;QACzF,2CAA2C;IAC7C,QAAQ,EAAE,6CAA6C;IACvD,MAAM,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;IACnC,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU;IAC1B,6EAA6E;IAC7E,uEAAuE;IACvE,wEAAwE;IACxE,6EAA6E;IAC7E,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC;IAC/E,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClG,yEAAyE;QACzE,4EAA4E;QAC5E,8CAA8C;QAC9C,OAAO,EAAE,UAAU,CACjB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAClF;KACF,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE;QAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,gBAAgB,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACrD,OAAO;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;gBACX,CAAC,CAAC,sCAAsC,MAAM,EAAE;gBAChD,CAAC,CAAC,+BAA+B,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACxG,0EAA0E;YAC1E,wEAAwE;YACxE,2EAA2E;YAC3E,wEAAwE;YACxE,uDAAuD;YACvD,kBAAkB,EAAE,CAAC,oBAAoB,CAAC;SAC3C,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAA8B,WAAW,CAAC;IAC1E,EAAE,EAAE,8BAA8B;IAClC,WAAW,EACT,wFAAwF;QACxF,sFAAsF;QACtF,yFAAyF;QACzF,kFAAkF;QAClF,kCAAkC;IACpC,QAAQ,EAAE,sCAAsC;IAChD,MAAM,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;IACvC,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU;IAC1B,8EAA8E;IAC9E,wEAAwE;IACxE,6EAA6E;IAC7E,8EAA8E;IAC9E,0EAA0E;IAC1E,+EAA+E;IAC/E,iCAAiC;IACjC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;IACzB,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,4EAA4E;QAC5E,qEAAqE;QACrE,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,EAAE,UAAU,CACjB,WAAW,CAAC;YACV,eAAe,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;SAChG,CAAC,CACH;KACF,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE;QAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,gBAAgB,CAAC;QAC1C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,cAAc,GAAG,CAAC,MAAM,8CAA8C;gBAC9E,qEAAqE;gBACrE,0DAA0D;gBAC1D,kBAAkB,EAAE,CAAC,oBAAoB,CAAC;aAC3C,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACrD,OAAO;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;gBACX,CAAC,CAAC,iCAAiC,MAAM,GAAG;gBAC5C,CAAC,CAAC,2CAA2C,MAAM,IAAI;oBACrD,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACnE,kBAAkB,EAAE,CAAC,oBAAoB,CAAC;SAC3C,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAA8B,WAAW,CAAC;IAClF,EAAE,EAAE,0CAA0C;IAC9C,WAAW,EACT,2FAA2F;QAC3F,wFAAwF;QACxF,2FAA2F;QAC3F,8FAA8F;IAChG,QAAQ,EAAE,+CAA+C;IACzD,MAAM,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;IACvC,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU;IAC1B,wEAAwE;IACxE,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;IACzB,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QAChE,OAAO;YACL,wEAAwE;YACxE,qEAAqE;YACrE,uEAAuE;YACvE,cAAc;YACd,OAAO,EAAE,UAAU,CACjB,WAAW,CAAC;gBACV,eAAe,EAAE;oBACf,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBAC5C,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;iBACtC;aACF,CAAC,CACH;YACD,OAAO,EAAE,UAAU,CACjB,WAAW,CAAC;gBACV,eAAe,EAAE;oBACf,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBAC5C,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;iBAC7C;aACF,CAAC,CACH;SACF,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE;QAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,gBAAgB,CAAC;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACtD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;YACvB,MAAM,EACJ,IAAI,CAAC,MAAM,GAAG,CAAC;gBACb,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,OAAO,GAAG,CAAC,MAAM,kCAAkC,MAAM,GAAG;gBAC5E,CAAC,CAAC,gCAAgC,MAAM,IAAI;oBAC1C,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACrE,kBAAkB,EAAE,CAAC,oBAAoB,CAAC;SAC3C,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAA8B,WAAW,CAAC;IAC3E,EAAE,EAAE,kCAAkC;IACtC,WAAW,EACT,4FAA4F;QAC5F,2FAA2F;QAC3F,6FAA6F;QAC7F,6FAA6F;QAC7F,uFAAuF;QACvF,kDAAkD;IACpD,QAAQ,EAAE,wCAAwC;IAClD,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;IAChC,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU;IAC1B,yEAAyE;IACzE,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;IACzB,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACnE,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SAC3E,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE;QAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,gBAAgB,CAAC;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC5D,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;YACvB,MAAM,EACJ,IAAI,CAAC,MAAM,GAAG,CAAC;gBACb,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,OAAO,OAAO,CAAC,MAAM,2BAA2B,MAAM,GAAG;gBACzE,CAAC,CAAC,yBAAyB,MAAM,IAAI;oBACnC,eAAe,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC3E,kBAAkB,EAAE,CAAC,YAAY,CAAC;SACnC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAkC,WAAW,CAAC;IACrE,EAAE,EAAE,sBAAsB;IAC1B,WAAW,EACT,8FAA8F;QAC9F,8FAA8F;QAC9F,0FAA0F;QAC1F,yFAAyF;QACzF,4FAA4F;QAC5F,6FAA6F;QAC7F,yCAAyC;IAC3C,+DAA+D;IAC/D,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,iDAAiD;IACjD,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE;IACvC,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU;IAC1B,6EAA6E;IAC7E,uDAAuD;IACvD,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;IACzB,oBAAoB,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;QACvC,MAAM,KAAK,GACT,UAAU,KAAK,wBAAwB,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,wBAAwB,CAAC;QACjG,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/E,0EAA0E;YAC1E,iEAAiE;YACjE,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SAC7D,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE;QAChC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,gBAAgB,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAC7D,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;YACvB,MAAM,EACJ,IAAI,CAAC,MAAM,GAAG,CAAC;gBACb,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,MAAM,UAAU,qBAAqB,MAAM,CAAC,MAAM,UAAU;gBAC5E,CAAC,CAAC,QAAQ,UAAU,kBAAkB,MAAM,CAAC,MAAM,WAAW;oBAC5D,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC9D,2EAA2E;YAC3E,mEAAmE;YACnE,kBAAkB,EAAE,CAAC,WAAW,CAAC;SAClC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
// substrate can look it up.
|
|
36
36
|
import { defineCheck } from "@pome-sh/sdk/checks";
|
|
37
37
|
import { chargeId, rowCount } from "./check-params.js";
|
|
38
|
-
import { refundsOnCharge } from "./check-state.js";
|
|
38
|
+
import { missSkip, refundsOnCharge } from "./check-state.js";
|
|
39
39
|
import { charge, finalWorld, refund, stripeState } from "./check-worlds.js";
|
|
40
40
|
export const refundExists = defineCheck({
|
|
41
41
|
id: "stripe.refund-exists",
|
|
@@ -64,12 +64,17 @@ export const refundExists = defineCheck({
|
|
|
64
64
|
evaluate(args, { final }) {
|
|
65
65
|
const rows = refundsOnCharge(final, args.charge);
|
|
66
66
|
if ("missing" in rows)
|
|
67
|
-
return
|
|
67
|
+
return missSkip(rows);
|
|
68
68
|
return {
|
|
69
69
|
passed: rows.found.length > 0,
|
|
70
70
|
reason: rows.found.length > 0
|
|
71
71
|
? `charge "${args.charge}" has ${rows.found.length} refund row(s)`
|
|
72
72
|
: `charge "${args.charge}" has no refund rows`,
|
|
73
|
+
// The refund COLLECTION (F-1197). Rows are not nested under their charge —
|
|
74
|
+
// they carry a `charge` wire field — so the per-charge list this counted
|
|
75
|
+
// exists nowhere in the tree, and on the zero side there is no row to point
|
|
76
|
+
// at at all, which is precisely the arm a reader wants to open.
|
|
77
|
+
evidenceStatePaths: [rows.path],
|
|
73
78
|
};
|
|
74
79
|
},
|
|
75
80
|
});
|
|
@@ -108,7 +113,7 @@ export const refundCount = defineCheck({
|
|
|
108
113
|
evaluate(args, { final }) {
|
|
109
114
|
const rows = refundsOnCharge(final, args.charge);
|
|
110
115
|
if ("missing" in rows)
|
|
111
|
-
return
|
|
116
|
+
return missSkip(rows);
|
|
112
117
|
const wanted = Number(args.count);
|
|
113
118
|
return {
|
|
114
119
|
passed: rows.found.length === wanted,
|
|
@@ -116,6 +121,9 @@ export const refundCount = defineCheck({
|
|
|
116
121
|
(rows.found.length > wanted
|
|
117
122
|
? ` — ${rows.found.length - wanted} more than one refund per logical transaction`
|
|
118
123
|
: ""),
|
|
124
|
+
// The over-refund this check exists to catch is a second ROW, and the
|
|
125
|
+
// collection is where a reader can count them.
|
|
126
|
+
evidenceStatePaths: [rows.path],
|
|
119
127
|
};
|
|
120
128
|
},
|
|
121
129
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-refunds.js","sourceRoot":"","sources":["../../src/check-refunds.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,4EAA4E;AAC5E,YAAY;AACZ,EAAE;AACF,yEAAyE;AACzE,EAAE;AACF,0EAA0E;AAC1E,wCAAwC;AACxC,oEAAoE;AACpE,4EAA4E;AAC5E,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,2EAA2E;AAC3E,gEAAgE;AAChE,EAAE;AACF,uEAAuE;AACvE,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,6BAA6B;AAC7B,EAAE;AACF,+EAA+E;AAC/E,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,oEAAoE;AACpE,EAAE;AACF,8DAA8D;AAC9D,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,4BAA4B;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"check-refunds.js","sourceRoot":"","sources":["../../src/check-refunds.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,4EAA4E;AAC5E,YAAY;AACZ,EAAE;AACF,yEAAyE;AACzE,EAAE;AACF,0EAA0E;AAC1E,wCAAwC;AACxC,oEAAoE;AACpE,4EAA4E;AAC5E,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,2EAA2E;AAC3E,gEAAgE;AAChE,EAAE;AACF,uEAAuE;AACvE,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,6BAA6B;AAC7B,EAAE;AACF,+EAA+E;AAC/E,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,oEAAoE;AACpE,EAAE;AACF,8DAA8D;AAC9D,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,4BAA4B;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5E,MAAM,CAAC,MAAM,YAAY,GAA8B,WAAW,CAAC;IACjE,EAAE,EAAE,sBAAsB;IAC1B,WAAW,EACT,sFAAsF;QACtF,0FAA0F;QAC1F,uFAAuF;QACvF,6FAA6F;QAC7F,0FAA0F;QAC1F,wFAAwF;IAC1F,QAAQ,EAAE,sCAAsC;IAChD,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC5B,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU;IAC1B,oDAAoD;IACpD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;IACnB,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;IACzB,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/B,OAAO,EAAE,UAAU,CACjB,WAAW,CAAC;YACV,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACtC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SAC3C,CAAC,CACH;QACD,6EAA6E;QAC7E,2DAA2D;QAC3D,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;KAC1F,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE;QACtB,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAC7B,MAAM,EACJ,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,gBAAgB;gBAClE,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,sBAAsB;YAClD,2EAA2E;YAC3E,yEAAyE;YACzE,4EAA4E;YAC5E,gEAAgE;YAChE,kBAAkB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAA6C,WAAW,CAAC;IAC/E,EAAE,EAAE,qBAAqB;IACzB,WAAW,EACT,wFAAwF;QACxF,0FAA0F;QAC1F,4FAA4F;QAC5F,4FAA4F;QAC5F,6FAA6F;QAC7F,0BAA0B;IAC5B,QAAQ,EAAE,uDAAuD;IACjE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC7C,SAAS,EAAE,OAAO;IAClB,0EAA0E;IAC1E,0EAA0E;IAC1E,8DAA8D;IAC9D,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IACxE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;IACnB,0EAA0E;IAC1E,0EAA0E;IAC1E,8EAA8E;IAC9E,sEAAsE;IACtE,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;IACzB,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CACzB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAC3C,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CACnD,CAAC;QACJ,OAAO;YACL,OAAO,EAAE,UAAU,CACjB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAC/E;YACD,yEAAyE;YACzE,kEAAkE;YAClE,sBAAsB;YACtB,OAAO,EAAE,UAAU,CACjB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CACnF;SACF,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE;QACtB,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,SAAS,IAAI,IAAI;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM;YACpC,MAAM,EACJ,WAAW,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,0BAA0B,MAAM,EAAE;gBAClF,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;oBACzB,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,+CAA+C;oBACjF,CAAC,CAAC,EAAE,CAAC;YACT,sEAAsE;YACtE,+CAA+C;YAC/C,kBAAkB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type CheckOutcome } from "@pome-sh/sdk/checks";
|
|
1
2
|
export interface StripeCheckStatePaymentIntent {
|
|
2
3
|
id?: string;
|
|
3
4
|
amount?: number;
|
|
@@ -48,12 +49,35 @@ export interface StripeCheckState {
|
|
|
48
49
|
}
|
|
49
50
|
/** twin-github's and twin-slack's verdict type, same shape and same reason: a
|
|
50
51
|
* resolver must be able to say WHY it found nothing, because the ways of
|
|
51
|
-
* finding nothing get different verdicts.
|
|
52
|
+
* finding nothing get different verdicts.
|
|
53
|
+
*
|
|
54
|
+
* F-1197 added the pointers, also twin-github's: `path` is where the resolution
|
|
55
|
+
* landed, `searched` is the collection a failed lookup scanned — absent when the
|
|
56
|
+
* export carried no such collection, because a citation that resolves to
|
|
57
|
+
* nothing is the affordance-to-nowhere that ticket removes. */
|
|
52
58
|
export type Resolved<T> = {
|
|
53
59
|
found: T;
|
|
60
|
+
path: string;
|
|
54
61
|
} | {
|
|
55
62
|
missing: string;
|
|
63
|
+
searched?: string;
|
|
56
64
|
};
|
|
65
|
+
/** The exported collections a pointer can address (F-1197). Named because seven
|
|
66
|
+
* declarations reach for them, and because these are WIRE names — `refunds`,
|
|
67
|
+
* not `refund_rows` — which is exactly the distinction this file's header
|
|
68
|
+
* spends thirty lines on. A literal typed out at each call site is a chance to
|
|
69
|
+
* reintroduce a row-column name that resolves to nothing. */
|
|
70
|
+
export declare const PAYMENT_INTENTS_PATH: string;
|
|
71
|
+
export declare const CHARGES_PATH: string;
|
|
72
|
+
export declare const EVENTS_PATH: string;
|
|
73
|
+
export declare const REFUNDS_PATH: string;
|
|
74
|
+
/** The `skipped` outcome an unresolvable lookup produces, citing where it
|
|
75
|
+
* looked. Stripe abstains where twin-github fails, on twin-slack's precedent
|
|
76
|
+
* (see `resolveCharge`), so this is `missOutcome` with `skipped`. */
|
|
77
|
+
export declare function missSkip(miss: {
|
|
78
|
+
missing: string;
|
|
79
|
+
searched?: string;
|
|
80
|
+
}): CheckOutcome;
|
|
57
81
|
/**
|
|
58
82
|
* The charge a criterion names, with the three outcomes a refund assertion has
|
|
59
83
|
* to tell apart:
|
|
@@ -53,6 +53,25 @@
|
|
|
53
53
|
// order, and that is deliberate: the ordered substrate is the TAPE, and a
|
|
54
54
|
// state check that leaned on export order would be reading an
|
|
55
55
|
// implementation detail the twin is free to change.
|
|
56
|
+
import { childStatePath, statePath } from "@pome-sh/sdk/checks";
|
|
57
|
+
/** The exported collections a pointer can address (F-1197). Named because seven
|
|
58
|
+
* declarations reach for them, and because these are WIRE names — `refunds`,
|
|
59
|
+
* not `refund_rows` — which is exactly the distinction this file's header
|
|
60
|
+
* spends thirty lines on. A literal typed out at each call site is a chance to
|
|
61
|
+
* reintroduce a row-column name that resolves to nothing. */
|
|
62
|
+
export const PAYMENT_INTENTS_PATH = statePath("payment_intents");
|
|
63
|
+
export const CHARGES_PATH = statePath("charges");
|
|
64
|
+
export const EVENTS_PATH = statePath("events");
|
|
65
|
+
export const REFUNDS_PATH = statePath("refunds");
|
|
66
|
+
/** The `skipped` outcome an unresolvable lookup produces, citing where it
|
|
67
|
+
* looked. Stripe abstains where twin-github fails, on twin-slack's precedent
|
|
68
|
+
* (see `resolveCharge`), so this is `missOutcome` with `skipped`. */
|
|
69
|
+
export function missSkip(miss) {
|
|
70
|
+
const outcome = { passed: false, status: "skipped", reason: miss.missing };
|
|
71
|
+
if (miss.searched === undefined)
|
|
72
|
+
return outcome;
|
|
73
|
+
return { ...outcome, evidenceStatePaths: [miss.searched] };
|
|
74
|
+
}
|
|
56
75
|
/**
|
|
57
76
|
* The charge a criterion names, with the three outcomes a refund assertion has
|
|
58
77
|
* to tell apart:
|
|
@@ -71,8 +90,10 @@
|
|
|
71
90
|
export function resolveCharge(state, chargeId) {
|
|
72
91
|
if (state.charges == null)
|
|
73
92
|
return { missing: "state_incomplete" };
|
|
74
|
-
const
|
|
75
|
-
|
|
93
|
+
const index = state.charges.findIndex((charge) => charge.id === chargeId);
|
|
94
|
+
if (index < 0)
|
|
95
|
+
return { missing: `charge_not_found ("${chargeId}")`, searched: CHARGES_PATH };
|
|
96
|
+
return { found: state.charges[index], path: childStatePath(CHARGES_PATH, index) };
|
|
76
97
|
}
|
|
77
98
|
/**
|
|
78
99
|
* Every refund row against a charge, or the reason we cannot say.
|
|
@@ -90,6 +111,13 @@ export function refundsOnCharge(state, chargeId) {
|
|
|
90
111
|
return charge;
|
|
91
112
|
if (state.refunds == null)
|
|
92
113
|
return { missing: "state_incomplete" };
|
|
93
|
-
|
|
114
|
+
// `/refunds`, the SOURCE collection. Refund rows are not nested under their
|
|
115
|
+
// charge in this export — they carry a `charge` wire field and are filtered
|
|
116
|
+
// here — so the per-charge list this returns exists nowhere in the tree to
|
|
117
|
+
// point at, and the collection is the honest address for a count over it.
|
|
118
|
+
return {
|
|
119
|
+
found: state.refunds.filter((refund) => refund.charge === chargeId),
|
|
120
|
+
path: REFUNDS_PATH,
|
|
121
|
+
};
|
|
94
122
|
}
|
|
95
123
|
//# sourceMappingURL=check-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-state.js","sourceRoot":"","sources":["../../src/check-state.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,mEAAmE;AACnE,EAAE;AACF,4DAA4D;AAC5D,uEAAuE;AACvE,6EAA6E;AAC7E,gEAAgE;AAChE,EAAE;AACF,+EAA+E;AAC/E,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,4EAA4E;AAC5E,EAAE;AACF,0EAA0E;AAC1E,4DAA4D;AAC5D,oDAAoD;AACpD,oDAAoD;AACpD,mCAAmC;AACnC,yDAAyD;AACzD,mCAAmC;AACnC,yDAAyD;AACzD,qCAAqC;AACrC,2DAA2D;AAC3D,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,+EAA+E;AAC/E,WAAW;AACX,EAAE;AACF,yEAAyE;AACzE,+EAA+E;AAC/E,yEAAyE;AACzE,sEAAsE;AACtE,gDAAgD;AAChD,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,8EAA8E;AAC9E,4EAA4E;AAC5E,gBAAgB;AAChB,yEAAyE;AACzE,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,+DAA+D;AAC/D,gFAAgF;AAChF,iFAAiF;AACjF,4EAA4E;AAC5E,8EAA8E;AAC9E,kEAAkE;AAClE,wDAAwD;
|
|
1
|
+
{"version":3,"file":"check-state.js","sourceRoot":"","sources":["../../src/check-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pome-sh/twin-stripe",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "Deterministic test double for Stripe x402 machine payments — stateful clone agents can drive without burning sandbox quota or real chain gas.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"license": "Apache-2.0",
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@hono/node-server": "^2.0.10",
|
|
56
|
-
"@pome-sh/sdk": "0.
|
|
57
|
-
"@pome-sh/shared-types": "0.
|
|
56
|
+
"@pome-sh/sdk": "0.11.0",
|
|
57
|
+
"@pome-sh/shared-types": "0.14.0",
|
|
58
58
|
"hono": "^4.12.31",
|
|
59
59
|
"zod": "^4.1.13"
|
|
60
60
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pome-sh/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "Digital-twin testing for AI agents — run tasks against resettable local or hosted twins and record tool-call traces for evaluation on pome.sh.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -65,13 +65,13 @@
|
|
|
65
65
|
"@anthropic-ai/sdk": "^0.110.0",
|
|
66
66
|
"@hono/node-server": "^2.0.10",
|
|
67
67
|
"@openrouter/ai-sdk-provider": "^3.0.0",
|
|
68
|
-
"@pome-sh/sdk": "0.
|
|
69
|
-
"@pome-sh/shared-types": "0.
|
|
70
|
-
"@pome-sh/twin-gmail": "0.3.
|
|
71
|
-
"@pome-sh/twin-github": "0.8.
|
|
72
|
-
"@pome-sh/twin-linear": "0.3.
|
|
73
|
-
"@pome-sh/twin-slack": "0.3.
|
|
74
|
-
"@pome-sh/twin-stripe": "0.4.
|
|
68
|
+
"@pome-sh/sdk": "0.11.0",
|
|
69
|
+
"@pome-sh/shared-types": "0.14.0",
|
|
70
|
+
"@pome-sh/twin-gmail": "0.3.2",
|
|
71
|
+
"@pome-sh/twin-github": "0.8.2",
|
|
72
|
+
"@pome-sh/twin-linear": "0.3.2",
|
|
73
|
+
"@pome-sh/twin-slack": "0.3.2",
|
|
74
|
+
"@pome-sh/twin-stripe": "0.4.3",
|
|
75
75
|
"ai": "^7.0.18",
|
|
76
76
|
"commander": "^15.0.0",
|
|
77
77
|
"hono": "^4.10.7",
|