@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.
Files changed (79) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/src/capture-server/index.js +1 -1
  3. package/dist/src/runner/mergeAdapterSignals.d.ts +23 -0
  4. package/dist/src/runner/mergeAdapterSignals.js +45 -3
  5. package/dist/src/scaffolds/mcp-loop/loop.js +3 -3
  6. package/node_modules/@pome-sh/sdk/dist/check-state-path.d.ts +71 -0
  7. package/node_modules/@pome-sh/sdk/dist/check-state-path.js +200 -0
  8. package/node_modules/@pome-sh/sdk/dist/check-state-path.js.map +1 -0
  9. package/node_modules/@pome-sh/sdk/dist/checks.d.ts +2 -0
  10. package/node_modules/@pome-sh/sdk/dist/checks.js +5 -0
  11. package/node_modules/@pome-sh/sdk/dist/checks.js.map +1 -1
  12. package/node_modules/@pome-sh/sdk/dist/recorder.d.ts +10 -1
  13. package/node_modules/@pome-sh/sdk/dist/recorder.js +11 -2
  14. package/node_modules/@pome-sh/sdk/dist/recorder.js.map +1 -1
  15. package/node_modules/@pome-sh/sdk/package.json +2 -2
  16. package/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +111 -24
  17. package/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +3 -3
  18. package/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -1
  19. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +6 -3
  20. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +7 -2
  21. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -1
  22. package/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +1 -1
  23. package/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -1
  24. package/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +68 -4
  25. package/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +19 -5
  26. package/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -1
  27. package/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +60 -28
  28. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js +81 -10
  29. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  30. package/node_modules/@pome-sh/shared-types/package.json +1 -1
  31. package/node_modules/@pome-sh/shared-types/trace-contract.json +49 -1
  32. package/node_modules/@pome-sh/twin-github/dist/src/check-issues.js +35 -9
  33. package/node_modules/@pome-sh/twin-github/dist/src/check-issues.js.map +1 -1
  34. package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.js +21 -5
  35. package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.js.map +1 -1
  36. package/node_modules/@pome-sh/twin-github/dist/src/check-repos.js +26 -6
  37. package/node_modules/@pome-sh/twin-github/dist/src/check-repos.js.map +1 -1
  38. package/node_modules/@pome-sh/twin-github/dist/src/check-state.d.ts +20 -1
  39. package/node_modules/@pome-sh/twin-github/dist/src/check-state.js +62 -10
  40. package/node_modules/@pome-sh/twin-github/dist/src/check-state.js.map +1 -1
  41. package/node_modules/@pome-sh/twin-github/package.json +3 -3
  42. package/node_modules/@pome-sh/twin-gmail/CHANGELOG.md +29 -0
  43. package/node_modules/@pome-sh/twin-gmail/dist/src/check-drafts.js +19 -4
  44. package/node_modules/@pome-sh/twin-gmail/dist/src/check-drafts.js.map +1 -1
  45. package/node_modules/@pome-sh/twin-gmail/dist/src/check-labels.js +15 -4
  46. package/node_modules/@pome-sh/twin-gmail/dist/src/check-labels.js.map +1 -1
  47. package/node_modules/@pome-sh/twin-gmail/dist/src/check-messages.js +19 -3
  48. package/node_modules/@pome-sh/twin-gmail/dist/src/check-messages.js.map +1 -1
  49. package/node_modules/@pome-sh/twin-gmail/dist/src/check-state.d.ts +26 -1
  50. package/node_modules/@pome-sh/twin-gmail/dist/src/check-state.js +52 -16
  51. package/node_modules/@pome-sh/twin-gmail/dist/src/check-state.js.map +1 -1
  52. package/node_modules/@pome-sh/twin-gmail/package.json +2 -2
  53. package/node_modules/@pome-sh/twin-linear/CHANGELOG.md +29 -0
  54. package/node_modules/@pome-sh/twin-linear/dist/src/check-comments.js +15 -3
  55. package/node_modules/@pome-sh/twin-linear/dist/src/check-comments.js.map +1 -1
  56. package/node_modules/@pome-sh/twin-linear/dist/src/check-issues.js +31 -4
  57. package/node_modules/@pome-sh/twin-linear/dist/src/check-issues.js.map +1 -1
  58. package/node_modules/@pome-sh/twin-linear/dist/src/check-state.d.ts +27 -2
  59. package/node_modules/@pome-sh/twin-linear/dist/src/check-state.js +73 -20
  60. package/node_modules/@pome-sh/twin-linear/dist/src/check-state.js.map +1 -1
  61. package/node_modules/@pome-sh/twin-linear/package.json +2 -2
  62. package/node_modules/@pome-sh/twin-slack/dist/src/check-messages.js +28 -7
  63. package/node_modules/@pome-sh/twin-slack/dist/src/check-messages.js.map +1 -1
  64. package/node_modules/@pome-sh/twin-slack/dist/src/check-secrets.js +16 -3
  65. package/node_modules/@pome-sh/twin-slack/dist/src/check-secrets.js.map +1 -1
  66. package/node_modules/@pome-sh/twin-slack/dist/src/check-state.d.ts +26 -1
  67. package/node_modules/@pome-sh/twin-slack/dist/src/check-state.js +31 -4
  68. package/node_modules/@pome-sh/twin-slack/dist/src/check-state.js.map +1 -1
  69. package/node_modules/@pome-sh/twin-slack/package.json +3 -3
  70. package/node_modules/@pome-sh/twin-stripe/dist/src/check-payments.d.ts +1 -1
  71. package/node_modules/@pome-sh/twin-stripe/dist/src/check-payments.js +16 -0
  72. package/node_modules/@pome-sh/twin-stripe/dist/src/check-payments.js.map +1 -1
  73. package/node_modules/@pome-sh/twin-stripe/dist/src/check-refunds.js +11 -3
  74. package/node_modules/@pome-sh/twin-stripe/dist/src/check-refunds.js.map +1 -1
  75. package/node_modules/@pome-sh/twin-stripe/dist/src/check-state.d.ts +25 -1
  76. package/node_modules/@pome-sh/twin-stripe/dist/src/check-state.js +31 -3
  77. package/node_modules/@pome-sh/twin-stripe/dist/src/check-state.js.map +1 -1
  78. package/node_modules/@pome-sh/twin-stripe/package.json +3 -3
  79. 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 { found: state.channels.filter((channel) => isPublicChannel(channel) === true) };
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 hit = state.channels.find((channel) => (channel.name ?? "").toLowerCase() === target);
88
- return hit ? { found: hit } : { missing: `channel_not_found ("${name}")` };
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;AAuD5C,MAAM,KAAK,GAAG,CAAC,IAAyC,EAAW,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC;AAElG;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjF,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IACnE,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;AAC1F,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAsB,EACtB,IAAY;IAEZ,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;IAC5F,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,IAAI,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IAC1D,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAChD,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.0",
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.10.0",
38
- "@pome-sh/shared-types": "0.13.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
  },
@@ -1,5 +1,5 @@
1
1
  import type { Check } from "./check-kind.js";
2
- import type { StripeCheckState } from "./check-state.js";
2
+ import { type StripeCheckState } from "./check-state.js";
3
3
  export declare const paymentIntentAmount: Check<{
4
4
  amount: string;
5
5
  }>;
@@ -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":"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"}
1
+ {"version":3,"file":"check-payments.js","sourceRoot":"","sources":["../../src/check-payments.ts"],"names":[],"mappings":"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"}
@@ -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 { passed: false, status: "skipped", reason: rows.missing };
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 { passed: false, status: "skipped", reason: rows.missing };
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":"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"}
1
+ {"version":3,"file":"check-refunds.js","sourceRoot":"","sources":["../../src/check-refunds.ts"],"names":[],"mappings":"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"}
@@ -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 hit = state.charges.find((charge) => charge.id === chargeId);
75
- return hit ? { found: hit } : { missing: `charge_not_found ("${chargeId}")` };
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
- return { found: state.refunds.filter((refund) => refund.charge === chargeId) };
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;AA2ExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAuB,EACvB,QAAgB;IAEhB,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAClE,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,QAAQ,IAAI,EAAE,CAAC;AAChF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAuB,EACvB,QAAgB;IAEhB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,SAAS,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAClE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;AACjF,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-stripe",
3
- "version": "0.4.1",
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.10.0",
57
- "@pome-sh/shared-types": "0.13.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.18.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.10.0",
69
- "@pome-sh/shared-types": "0.13.0",
70
- "@pome-sh/twin-gmail": "0.3.0",
71
- "@pome-sh/twin-github": "0.8.0",
72
- "@pome-sh/twin-linear": "0.3.0",
73
- "@pome-sh/twin-slack": "0.3.0",
74
- "@pome-sh/twin-stripe": "0.4.1",
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",