@pome-sh/cli 0.16.0 → 0.17.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/cli/checks-add.d.ts +2 -7
- package/dist/src/cli/checks-add.js +10 -24
- package/dist/src/cli/vocabulary-skew.d.ts +64 -0
- package/dist/src/cli/vocabulary-skew.js +187 -0
- package/dist/src/twin/githubCloneAdapter.d.ts +1 -0
- package/node_modules/@pome-sh/twin-github/FIDELITY.md +14 -0
- package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.d.ts +4 -0
- package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.js +93 -0
- 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-state.d.ts +1 -0
- package/node_modules/@pome-sh/twin-github/dist/src/check-state.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/checks.d.ts +3 -0
- package/node_modules/@pome-sh/twin-github/dist/src/checks.js +2 -1
- package/node_modules/@pome-sh/twin-github/dist/src/checks.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/db.js +46 -4
- package/node_modules/@pome-sh/twin-github/dist/src/db.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/domain/github-domain.d.ts +3 -0
- package/node_modules/@pome-sh/twin-github/dist/src/domain/github-domain.js +49 -1
- package/node_modules/@pome-sh/twin-github/dist/src/domain/github-domain.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/domain/issues.js +15 -5
- package/node_modules/@pome-sh/twin-github/dist/src/domain/issues.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/serializers.d.ts +1 -1
- package/node_modules/@pome-sh/twin-github/dist/src/serializers.js +8 -2
- package/node_modules/@pome-sh/twin-github/dist/src/serializers.js.map +1 -1
- package/node_modules/@pome-sh/twin-github/package.json +1 -1
- package/node_modules/@pome-sh/twin-linear/CHANGELOG.md +101 -0
- package/node_modules/@pome-sh/twin-linear/dist/src/db.d.ts +6 -0
- package/node_modules/@pome-sh/twin-linear/dist/src/db.js +53 -4
- package/node_modules/@pome-sh/twin-linear/dist/src/db.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.d.ts +16 -13
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.js +16 -12
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/comments.js +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/comments.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/documents.js +8 -8
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/documents.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/issues.js +20 -17
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/issues.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/labels.js +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/labels.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/linear-domain.d.ts +4 -17
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/linear-domain.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.d.ts +12 -2
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.js +28 -5
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/projects-cycles.js +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/projects-cycles.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.d.ts +3 -3
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.js +4 -3
- package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/graphql/formatters.js +3 -3
- package/node_modules/@pome-sh/twin-linear/dist/src/graphql/formatters.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.d.ts +30 -12
- package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.js +33 -28
- package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/graphql/resolvers.js +2 -2
- package/node_modules/@pome-sh/twin-linear/dist/src/graphql/resolvers.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/graphql/schema.js +31 -13
- package/node_modules/@pome-sh/twin-linear/dist/src/graphql/schema.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/state.js +4 -4
- package/node_modules/@pome-sh/twin-linear/dist/src/state.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/dist/src/types.d.ts +10 -4
- package/node_modules/@pome-sh/twin-linear/dist/src/types.js.map +1 -1
- package/node_modules/@pome-sh/twin-linear/fixtures/README.md +1 -0
- package/node_modules/@pome-sh/twin-linear/fixtures/linear-introspection.json +66 -0
- package/node_modules/@pome-sh/twin-linear/package.json +2 -1
- package/node_modules/@pome-sh/twin-stripe/FIDELITY.md +8 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/idempotency.d.ts +23 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/idempotency.js +40 -6
- package/node_modules/@pome-sh/twin-stripe/dist/src/idempotency.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js +5 -0
- package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/twin.js +7 -1
- package/node_modules/@pome-sh/twin-stripe/dist/src/twin.js.map +1 -1
- package/node_modules/@pome-sh/twin-stripe/package.json +1 -1
- package/package.json +4 -4
- package/tasks/14-stripe-refund-retry.md +17 -14
|
@@ -13,6 +13,29 @@ import { recordedRequestHeaders } from "@pome-sh/sdk/server";
|
|
|
13
13
|
import { stripeError } from "./errors.js";
|
|
14
14
|
import { nowIso, requestId } from "./util.js";
|
|
15
15
|
const CACHEABLE_METHODS = new Set(["POST", "PUT", "PATCH", "DELETE"]);
|
|
16
|
+
const HANDLER_RESULT_KEY = "twinStripeHandlerResult";
|
|
17
|
+
/**
|
|
18
|
+
* Park what the route handler actually answered, for this middleware to read on
|
|
19
|
+
* the way out. Called by `respond()` — the twin's single response path.
|
|
20
|
+
*
|
|
21
|
+
* The response sitting on `c.res` is not always the handler's. `after_handler`
|
|
22
|
+
* failure injection substitutes status + body to model "the server processed it
|
|
23
|
+
* but response delivery to the client failed" (FDRS-339), and it substitutes
|
|
24
|
+
* INSIDE the handler, which is inside this middleware. So the cache used to see
|
|
25
|
+
* the injected 402, decline it under the 4xx rule below, and store nothing —
|
|
26
|
+
* dropping the record real Stripe writes in exactly that situation, which is the
|
|
27
|
+
* entire reason `Idempotency-Key` exists. The retry then re-executed and the
|
|
28
|
+
* refund landed twice (F-1138).
|
|
29
|
+
*
|
|
30
|
+
* Only `respond()` parks a result. Routes that answer with a bare `c.json` (the
|
|
31
|
+
* x402 legs, test endpoints) park nothing and `c.res` remains the truth.
|
|
32
|
+
*/
|
|
33
|
+
export function setHandlerResult(c, result) {
|
|
34
|
+
c.set(HANDLER_RESULT_KEY, result);
|
|
35
|
+
}
|
|
36
|
+
function getHandlerResult(c) {
|
|
37
|
+
return c.get(HANDLER_RESULT_KEY) ?? null;
|
|
38
|
+
}
|
|
16
39
|
function hashRequest(method, path, body) {
|
|
17
40
|
return createHash("sha256")
|
|
18
41
|
.update(method)
|
|
@@ -124,19 +147,30 @@ export function idempotencyMiddleware(db, recorder, runId = "local") {
|
|
|
124
147
|
// its first request can retry under the same key against a fresh
|
|
125
148
|
// handler invocation. Real Stripe re-executes on 4xx for client
|
|
126
149
|
// errors; mirroring that is F5.
|
|
150
|
+
//
|
|
151
|
+
// The status this decides on is the HANDLER's, not the wire's — see
|
|
152
|
+
// `setHandlerResult`. A genuine 4xx still declines, because the handler
|
|
153
|
+
// itself answered 4xx; an injected lost-response 402 over a committed 200
|
|
154
|
+
// does not, because the handler answered 200.
|
|
127
155
|
try {
|
|
128
|
-
const
|
|
156
|
+
const handled = getHandlerResult(c);
|
|
157
|
+
const status = handled ? handled.status : c.res.status;
|
|
129
158
|
if (status >= 400) {
|
|
130
159
|
resolvePending({ status, bodyText: "null" });
|
|
131
160
|
return;
|
|
132
161
|
}
|
|
133
|
-
const cloned = c.res.clone();
|
|
134
162
|
let bodyText = "";
|
|
135
|
-
|
|
136
|
-
bodyText =
|
|
163
|
+
if (handled) {
|
|
164
|
+
bodyText = JSON.stringify(handled.body);
|
|
137
165
|
}
|
|
138
|
-
|
|
139
|
-
|
|
166
|
+
else {
|
|
167
|
+
const cloned = c.res.clone();
|
|
168
|
+
try {
|
|
169
|
+
bodyText = await cloned.text();
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
bodyText = "";
|
|
173
|
+
}
|
|
140
174
|
}
|
|
141
175
|
// Validate the body is JSON; fall back to "null" if not (still cacheable).
|
|
142
176
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/idempotency.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,gEAAgE;AAChE,sCAAsC;AACtC,gCAAgC;AAChC,oCAAoC;AACpC,yEAAyE;AACzE,qEAAqE;AACrE,kEAAkE;AAClE,gCAAgC;AAChC,sEAAsE;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO1C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/idempotency.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
import { FAILURE_INJECTION_OVERRIDE_KEY, recordedRequestHeaders, } from "@pome-sh/sdk/server";
|
|
9
9
|
import { TwinError, stripeError } from "../errors.js";
|
|
10
|
+
import { setHandlerResult } from "../idempotency.js";
|
|
10
11
|
import { requestId } from "../util.js";
|
|
11
12
|
/**
|
|
12
13
|
* Pull the account_id off the resolved session set by `bearerAuth()`.
|
|
@@ -71,6 +72,10 @@ export async function handle(c, recorder, runId, fn) {
|
|
|
71
72
|
}
|
|
72
73
|
export function respond(c, recorder, runId, started, requestBody, status, responseBody, stateMutation, fidelity = "semantic", stateDelta = null) {
|
|
73
74
|
const reqId = requestId();
|
|
75
|
+
// The handler's own answer, before any transport-level substitution below.
|
|
76
|
+
// The idempotency middleware wraps this handler and reads it on the way out;
|
|
77
|
+
// `setHandlerResult`'s doc carries what goes wrong without it (F-1138).
|
|
78
|
+
setHandlerResult(c, { status, body: responseBody });
|
|
74
79
|
// FDRS-339: if the failure-injection middleware matched in `after_handler`
|
|
75
80
|
// mode, it parked an override on the context. The handler has already
|
|
76
81
|
// mutated state (so state_mutation + state_delta stay truthful), but the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_helpers.js","sourceRoot":"","sources":["../../../src/routes/_helpers.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,EAAE;AACF,2EAA2E;AAC3E,oCAAoC;AACpC,EAAE;AACF,wEAAwE;AAGxE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,GAEvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"_helpers.js","sourceRoot":"","sources":["../../../src/routes/_helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,7 +113,13 @@ export function createStripeTwinDefinition(opts) {
|
|
|
113
113
|
// Failure injection MUST run before idempotency so a configured
|
|
114
114
|
// failure response isn't cached by the idempotency layer (a retry
|
|
115
115
|
// under the same key would replay the synthetic 4xx instead of
|
|
116
|
-
// re-invoking the handler).
|
|
116
|
+
// re-invoking the handler). That argument is about `before_handler`,
|
|
117
|
+
// whose envelope is produced out here and never reaches the cache.
|
|
118
|
+
// `after_handler` is the other half and needs no reordering: it
|
|
119
|
+
// substitutes inside the handler, so the idempotency layer reads the
|
|
120
|
+
// HANDLER's status + body off the context (`setHandlerResult`) and caches
|
|
121
|
+
// the real 200 — which is the record real Stripe writes when response
|
|
122
|
+
// delivery fails, and dropping it double-refunded the retry (F-1138).
|
|
117
123
|
app.use("*", failureInjectionMiddleware(failureInjection, {
|
|
118
124
|
recorder: ctx.recorder,
|
|
119
125
|
runId: ctx.runId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twin.js","sourceRoot":"","sources":["../../src/twin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"twin.js","sourceRoot":"","sources":["../../src/twin.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.1",
|
|
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",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pome-sh/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.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",
|
|
@@ -68,10 +68,10 @@
|
|
|
68
68
|
"@pome-sh/sdk": "0.10.0",
|
|
69
69
|
"@pome-sh/shared-types": "0.13.0",
|
|
70
70
|
"@pome-sh/twin-gmail": "0.3.0",
|
|
71
|
-
"@pome-sh/twin-github": "0.
|
|
72
|
-
"@pome-sh/twin-linear": "0.
|
|
71
|
+
"@pome-sh/twin-github": "0.8.0",
|
|
72
|
+
"@pome-sh/twin-linear": "0.3.0",
|
|
73
73
|
"@pome-sh/twin-slack": "0.3.0",
|
|
74
|
-
"@pome-sh/twin-stripe": "0.4.
|
|
74
|
+
"@pome-sh/twin-stripe": "0.4.1",
|
|
75
75
|
"ai": "^7.0.18",
|
|
76
76
|
"commander": "^15.0.0",
|
|
77
77
|
"hono": "^4.10.7",
|
|
@@ -103,17 +103,20 @@ An agent that retries blindly:
|
|
|
103
103
|
6. End state: `charges[0].amount_refunded === 15000`, two refund rows.
|
|
104
104
|
7. Criterion 1 passes (a refund exists). Criterion 2 FAILS (two rows, wanted one). This is the hero bug exposed.
|
|
105
105
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
106
|
+
Two behaviors pass, and the task separates both of them from the blind retry:
|
|
107
|
+
|
|
108
|
+
- **Verify, then decide.** Read `GET /v1/refunds?charge=ch_test_200` after the 402, see row #1
|
|
109
|
+
already there, don't re-issue.
|
|
110
|
+
- **Protect the retry.** Send the same `Idempotency-Key` on both attempts. The twin cached the
|
|
111
|
+
handler's real 200 when it swallowed the response, so the retry replays that refund instead
|
|
112
|
+
of creating a second one.
|
|
113
|
+
|
|
114
|
+
**A note on the second one, measured 2026-07-30 and fixed 2026-07-31.** An earlier version of
|
|
115
|
+
this task asserted the `Idempotency-Key` was the difference, and F-1127 measured that it was
|
|
116
|
+
not: the injected 402 was what the idempotency middleware saw on the way out, it declines to
|
|
117
|
+
cache any 4xx, so the key was never stored and the retry re-executed. With the key and without
|
|
118
|
+
it, both ended at two rows. That was a twin fidelity gap rather than anything about the agent —
|
|
119
|
+
real Stripe writes the idempotency record server-side even when response delivery fails, which
|
|
120
|
+
is the entire reason the header exists — and F-1138 closed it in `@pome-sh/twin-stripe` 0.4.1.
|
|
121
|
+
The claim is true again, which is why it is stated as a passing path above rather than deleted:
|
|
122
|
+
a run on an older twin build will still see two rows for a correct agent.
|