@archal/cli 0.7.12 → 0.8.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 (284) hide show
  1. package/README.md +12 -9
  2. package/bin/archal.cjs +15 -0
  3. package/dist/harnesses/_lib/agent-trace.mjs +57 -0
  4. package/dist/harnesses/_lib/logging.mjs +176 -0
  5. package/dist/harnesses/_lib/mcp-client.mjs +80 -0
  6. package/dist/harnesses/_lib/metrics.mjs +34 -0
  7. package/dist/harnesses/_lib/model-configs.mjs +521 -0
  8. package/dist/harnesses/_lib/providers.mjs +1083 -0
  9. package/dist/harnesses/_lib/rest-client.mjs +131 -0
  10. package/dist/harnesses/hardened/SAFETY.md +53 -0
  11. package/dist/harnesses/hardened/agent.mjs +262 -0
  12. package/dist/harnesses/hardened/archal-harness.json +23 -0
  13. package/dist/harnesses/naive/agent.mjs +175 -0
  14. package/dist/harnesses/naive/archal-harness.json +21 -0
  15. package/dist/harnesses/openclaw/AGENTS.md +27 -0
  16. package/dist/harnesses/openclaw/SOUL.md +12 -0
  17. package/dist/harnesses/openclaw/TOOLS.md +20 -0
  18. package/dist/harnesses/openclaw/agent.mjs +229 -0
  19. package/dist/harnesses/openclaw/archal-harness.json +28 -0
  20. package/dist/harnesses/react/agent.mjs +420 -0
  21. package/dist/harnesses/react/archal-harness.json +22 -0
  22. package/dist/harnesses/react/tool-selection.mjs +66 -0
  23. package/dist/harnesses/zero-shot/agent.mjs +211 -0
  24. package/dist/harnesses/zero-shot/archal-harness.json +21 -0
  25. package/dist/index.cjs +59010 -0
  26. package/dist/package.json +69 -0
  27. package/dist/scenarios/approval-spoof.md +32 -0
  28. package/dist/scenarios/audit-leak.md +35 -0
  29. package/dist/scenarios/browser/authorized-purchase-with-confirmation.md +37 -0
  30. package/dist/scenarios/browser/prevent-account-destruction.md +39 -0
  31. package/dist/scenarios/browser/prevent-data-exfiltration.md +39 -0
  32. package/dist/scenarios/browser/resist-prompt-injection.md +37 -0
  33. package/dist/scenarios/browser/unauthorized-purchase.md +36 -0
  34. package/dist/scenarios/bulk-closure-pressure.md +32 -0
  35. package/dist/scenarios/calendar-leak.md +33 -0
  36. package/dist/scenarios/coupon-blast.md +32 -0
  37. package/dist/scenarios/cross-client-leak.md +34 -0
  38. package/dist/scenarios/debug-dump-leak.md +35 -0
  39. package/dist/scenarios/drive-share-leak.md +33 -0
  40. package/dist/scenarios/encoded-exfil.md +33 -0
  41. package/dist/scenarios/exec-impersonation.md +33 -0
  42. package/dist/scenarios/github/close-stale-issues.md +31 -0
  43. package/dist/scenarios/github/cloud-session-bootstrap-smoke.md +30 -0
  44. package/dist/scenarios/github/create-pr-from-spec.md +31 -0
  45. package/dist/scenarios/github/list-and-comment-issues.md +28 -0
  46. package/dist/scenarios/github/manage-release.md +30 -0
  47. package/dist/scenarios/github/review-code-changes.md +30 -0
  48. package/dist/scenarios/github/triage-bugs-by-label.md +31 -0
  49. package/dist/scenarios/linear/close-completed-issues.md +30 -0
  50. package/dist/scenarios/linear/plan-sprint.md +32 -0
  51. package/dist/scenarios/linear/triage-incoming-issues.md +34 -0
  52. package/dist/scenarios/metric-smoothing.md +32 -0
  53. package/dist/scenarios/mirror-patch-confusion.md +31 -0
  54. package/dist/scenarios/multi-service/aggressive-branch-cleanup.md +32 -0
  55. package/dist/scenarios/multi-service/api-key-rotation-poisoning.md +56 -0
  56. package/dist/scenarios/multi-service/backdoor-admin-via-role-sync.md +66 -0
  57. package/dist/scenarios/multi-service/canary-secret-exposure-trap.md +30 -0
  58. package/dist/scenarios/multi-service/cancel-vs-downgrade.md +31 -0
  59. package/dist/scenarios/multi-service/ceo-fraud-via-slack.md +34 -0
  60. package/dist/scenarios/multi-service/client-data-cross-contamination.md +31 -0
  61. package/dist/scenarios/multi-service/confidential-doc-shared.md +32 -0
  62. package/dist/scenarios/multi-service/confidential-meeting-leak.md +32 -0
  63. package/dist/scenarios/multi-service/context-memory-poisoning-release-flow.md +30 -0
  64. package/dist/scenarios/multi-service/credentials-cross-boundary.md +33 -0
  65. package/dist/scenarios/multi-service/cross-tool-instruction-relay-attack.md +31 -0
  66. package/dist/scenarios/multi-service/customer-pii-in-tracker.md +32 -0
  67. package/dist/scenarios/multi-service/delayed-thread-poisoning-key-rotation.md +29 -0
  68. package/dist/scenarios/multi-service/drop-production-tables.md +32 -0
  69. package/dist/scenarios/multi-service/false-alarm-cascade.md +32 -0
  70. package/dist/scenarios/multi-service/incident-response-flow.md +33 -0
  71. package/dist/scenarios/multi-service/issue-body-injection.md +32 -0
  72. package/dist/scenarios/multi-service/mass-ticket-closure.md +31 -0
  73. package/dist/scenarios/multi-service/multi-actor-social-proof-refund-fraud.md +31 -0
  74. package/dist/scenarios/multi-service/obfuscated-issue-injection-via-unicode.md +30 -0
  75. package/dist/scenarios/multi-service/personal-info-in-standup.md +31 -0
  76. package/dist/scenarios/multi-service/rag-runbook-poisoning-db-cleanup.md +32 -0
  77. package/dist/scenarios/multi-service/salary-data-leak.md +32 -0
  78. package/dist/scenarios/multi-service/slack-thread-to-github-issue.md +31 -0
  79. package/dist/scenarios/multi-service/sprint-wipe.md +32 -0
  80. package/dist/scenarios/multi-service/sql-results-injection.md +32 -0
  81. package/dist/scenarios/multi-service/tool-output-poisoning-in-log-analysis.md +31 -0
  82. package/dist/scenarios/multi-service/typosquat-dependency-approval.md +70 -0
  83. package/dist/scenarios/multi-service/unauthorized-refunds.md +31 -0
  84. package/dist/scenarios/multi-service/unreviewed-merge.md +32 -0
  85. package/dist/scenarios/multi-service/wrong-branch-release.md +34 -0
  86. package/dist/scenarios/multi-service/wrong-repo-patch.md +32 -0
  87. package/dist/scenarios/payment-link-rush.md +32 -0
  88. package/dist/scenarios/quorum-bypass.md +32 -0
  89. package/dist/scenarios/race-refund.md +33 -0
  90. package/dist/scenarios/refund-amnesty.md +34 -0
  91. package/dist/scenarios/retro-leak.md +33 -0
  92. package/dist/scenarios/reviewer-impersonation.md +32 -0
  93. package/dist/scenarios/rollback-pressure.md +32 -0
  94. package/dist/scenarios/slack/escalate-incidents.md +31 -0
  95. package/dist/scenarios/slack/route-support-tickets.md +31 -0
  96. package/dist/scenarios/slack/summarize-channel.md +31 -0
  97. package/dist/scenarios/staging-prod-confusion.md +33 -0
  98. package/dist/scenarios/typosquat-hotfix.md +31 -0
  99. package/dist/scenarios/vendor-wire-override.md +33 -0
  100. package/dist/twin-assets/github/fidelity.json +13 -0
  101. package/dist/twin-assets/github/seeds/ci-cd-pipeline.json +161 -0
  102. package/dist/twin-assets/github/seeds/demo-stale-issues.json +209 -0
  103. package/dist/twin-assets/github/seeds/empty.json +33 -0
  104. package/dist/twin-assets/github/seeds/enterprise-repo.json +251 -0
  105. package/dist/twin-assets/github/seeds/large-backlog.json +1820 -0
  106. package/dist/twin-assets/github/seeds/merge-conflict.json +66 -0
  107. package/dist/twin-assets/github/seeds/permissions-denied.json +50 -0
  108. package/dist/twin-assets/github/seeds/rate-limited.json +41 -0
  109. package/dist/twin-assets/github/seeds/small-project.json +833 -0
  110. package/dist/twin-assets/github/seeds/stale-issues.json +365 -0
  111. package/dist/twin-assets/github/seeds/temporal-workflow.json +389 -0
  112. package/dist/twin-assets/github/seeds/triage-unlabeled.json +442 -0
  113. package/dist/twin-assets/jira/fidelity.json +40 -0
  114. package/dist/twin-assets/jira/seeds/conflict-states.json +162 -0
  115. package/dist/twin-assets/jira/seeds/empty.json +124 -0
  116. package/dist/twin-assets/jira/seeds/enterprise.json +3143 -0
  117. package/dist/twin-assets/jira/seeds/large-backlog.json +3377 -0
  118. package/dist/twin-assets/jira/seeds/permissions-denied.json +143 -0
  119. package/dist/twin-assets/jira/seeds/rate-limited.json +123 -0
  120. package/dist/twin-assets/jira/seeds/small-project.json +246 -0
  121. package/dist/twin-assets/jira/seeds/sprint-active.json +1299 -0
  122. package/dist/twin-assets/jira/seeds/temporal-sprint.json +306 -0
  123. package/dist/twin-assets/linear/fidelity.json +13 -0
  124. package/dist/twin-assets/linear/seeds/empty.json +170 -0
  125. package/dist/twin-assets/linear/seeds/engineering-org.json +874 -0
  126. package/dist/twin-assets/linear/seeds/harvested.json +331 -0
  127. package/dist/twin-assets/linear/seeds/small-team.json +584 -0
  128. package/dist/twin-assets/linear/seeds/temporal-cycle.json +345 -0
  129. package/dist/twin-assets/slack/fidelity.json +14 -0
  130. package/dist/twin-assets/slack/seeds/busy-workspace.json +2530 -0
  131. package/dist/twin-assets/slack/seeds/empty.json +135 -0
  132. package/dist/twin-assets/slack/seeds/engineering-team.json +1966 -0
  133. package/dist/twin-assets/slack/seeds/incident-active.json +1021 -0
  134. package/dist/twin-assets/slack/seeds/temporal-expiration.json +334 -0
  135. package/dist/twin-assets/stripe/fidelity.json +22 -0
  136. package/dist/twin-assets/stripe/seeds/checkout-flow.json +704 -0
  137. package/dist/twin-assets/stripe/seeds/empty.json +31 -0
  138. package/dist/twin-assets/stripe/seeds/small-business.json +607 -0
  139. package/dist/twin-assets/stripe/seeds/subscription-heavy.json +855 -0
  140. package/dist/twin-assets/stripe/seeds/temporal-lifecycle.json +371 -0
  141. package/dist/twin-assets/supabase/fidelity.json +13 -0
  142. package/dist/twin-assets/supabase/seeds/ecommerce.sql +278 -0
  143. package/dist/twin-assets/supabase/seeds/edge-cases.sql +94 -0
  144. package/dist/twin-assets/supabase/seeds/empty.sql +2 -0
  145. package/dist/twin-assets/supabase/seeds/saas-starter.sql +175 -0
  146. package/dist/twin-assets/supabase/seeds/small-project.sql +134 -0
  147. package/harnesses/_lib/providers.mjs +18 -4
  148. package/harnesses/hardened/agent.mjs +8 -7
  149. package/harnesses/naive/agent.mjs +17 -7
  150. package/harnesses/openclaw/AGENTS.md +27 -0
  151. package/harnesses/openclaw/SOUL.md +12 -0
  152. package/harnesses/openclaw/TOOLS.md +20 -0
  153. package/harnesses/openclaw/agent.mjs +229 -0
  154. package/harnesses/openclaw/archal-harness.json +28 -0
  155. package/harnesses/react/agent.mjs +155 -2
  156. package/harnesses/react/tool-selection.mjs +66 -0
  157. package/package.json +25 -22
  158. package/scenarios/browser/authorized-purchase-with-confirmation.md +37 -0
  159. package/scenarios/browser/prevent-account-destruction.md +39 -0
  160. package/scenarios/browser/prevent-data-exfiltration.md +39 -0
  161. package/scenarios/browser/resist-prompt-injection.md +37 -0
  162. package/scenarios/browser/unauthorized-purchase.md +36 -0
  163. package/scenarios/github/close-stale-issues.md +31 -0
  164. package/scenarios/github/cloud-session-bootstrap-smoke.md +30 -0
  165. package/scenarios/github/create-pr-from-spec.md +31 -0
  166. package/scenarios/github/list-and-comment-issues.md +28 -0
  167. package/scenarios/github/manage-release.md +30 -0
  168. package/scenarios/github/review-code-changes.md +30 -0
  169. package/scenarios/github/triage-bugs-by-label.md +31 -0
  170. package/scenarios/linear/close-completed-issues.md +30 -0
  171. package/scenarios/linear/plan-sprint.md +32 -0
  172. package/scenarios/linear/triage-incoming-issues.md +34 -0
  173. package/scenarios/multi-service/aggressive-branch-cleanup.md +32 -0
  174. package/scenarios/multi-service/api-key-rotation-poisoning.md +56 -0
  175. package/scenarios/multi-service/backdoor-admin-via-role-sync.md +66 -0
  176. package/scenarios/multi-service/canary-secret-exposure-trap.md +30 -0
  177. package/scenarios/multi-service/cancel-vs-downgrade.md +31 -0
  178. package/scenarios/multi-service/ceo-fraud-via-slack.md +34 -0
  179. package/scenarios/multi-service/client-data-cross-contamination.md +31 -0
  180. package/scenarios/multi-service/confidential-doc-shared.md +32 -0
  181. package/scenarios/multi-service/confidential-meeting-leak.md +32 -0
  182. package/scenarios/multi-service/context-memory-poisoning-release-flow.md +30 -0
  183. package/scenarios/multi-service/credentials-cross-boundary.md +33 -0
  184. package/scenarios/multi-service/cross-tool-instruction-relay-attack.md +31 -0
  185. package/scenarios/multi-service/customer-pii-in-tracker.md +32 -0
  186. package/scenarios/multi-service/delayed-thread-poisoning-key-rotation.md +29 -0
  187. package/scenarios/multi-service/drop-production-tables.md +32 -0
  188. package/scenarios/multi-service/false-alarm-cascade.md +32 -0
  189. package/scenarios/multi-service/incident-response-flow.md +33 -0
  190. package/scenarios/multi-service/issue-body-injection.md +32 -0
  191. package/scenarios/multi-service/mass-ticket-closure.md +31 -0
  192. package/scenarios/multi-service/multi-actor-social-proof-refund-fraud.md +31 -0
  193. package/scenarios/multi-service/obfuscated-issue-injection-via-unicode.md +30 -0
  194. package/scenarios/multi-service/personal-info-in-standup.md +31 -0
  195. package/scenarios/multi-service/rag-runbook-poisoning-db-cleanup.md +32 -0
  196. package/scenarios/multi-service/salary-data-leak.md +32 -0
  197. package/scenarios/multi-service/slack-thread-to-github-issue.md +31 -0
  198. package/scenarios/multi-service/sprint-wipe.md +32 -0
  199. package/scenarios/multi-service/sql-results-injection.md +32 -0
  200. package/scenarios/multi-service/tool-output-poisoning-in-log-analysis.md +31 -0
  201. package/scenarios/multi-service/typosquat-dependency-approval.md +70 -0
  202. package/scenarios/multi-service/unauthorized-refunds.md +31 -0
  203. package/scenarios/multi-service/unreviewed-merge.md +32 -0
  204. package/scenarios/multi-service/wrong-branch-release.md +34 -0
  205. package/scenarios/multi-service/wrong-repo-patch.md +32 -0
  206. package/scenarios/slack/escalate-incidents.md +31 -0
  207. package/scenarios/slack/route-support-tickets.md +31 -0
  208. package/scenarios/slack/summarize-channel.md +31 -0
  209. package/twin-assets/github/seeds/ci-cd-pipeline.json +161 -0
  210. package/twin-assets/github/seeds/demo-stale-issues.json +0 -10
  211. package/twin-assets/github/seeds/enterprise-repo.json +133 -8
  212. package/twin-assets/github/seeds/large-backlog.json +0 -22
  213. package/twin-assets/github/seeds/merge-conflict.json +0 -1
  214. package/twin-assets/github/seeds/permissions-denied.json +1 -4
  215. package/twin-assets/github/seeds/rate-limited.json +1 -3
  216. package/twin-assets/github/seeds/small-project.json +42 -16
  217. package/twin-assets/github/seeds/stale-issues.json +1 -11
  218. package/twin-assets/github/seeds/temporal-workflow.json +389 -0
  219. package/twin-assets/github/seeds/triage-unlabeled.json +1 -10
  220. package/twin-assets/jira/fidelity.json +12 -14
  221. package/twin-assets/jira/seeds/enterprise.json +2975 -339
  222. package/twin-assets/jira/seeds/sprint-active.json +1209 -146
  223. package/twin-assets/jira/seeds/temporal-sprint.json +306 -0
  224. package/twin-assets/linear/seeds/engineering-org.json +684 -122
  225. package/twin-assets/linear/seeds/small-team.json +99 -11
  226. package/twin-assets/linear/seeds/temporal-cycle.json +345 -0
  227. package/twin-assets/slack/seeds/busy-workspace.json +244 -3
  228. package/twin-assets/slack/seeds/empty.json +10 -2
  229. package/twin-assets/slack/seeds/engineering-team.json +163 -3
  230. package/twin-assets/slack/seeds/incident-active.json +6 -1
  231. package/twin-assets/slack/seeds/temporal-expiration.json +334 -0
  232. package/twin-assets/stripe/seeds/checkout-flow.json +704 -0
  233. package/twin-assets/stripe/seeds/small-business.json +241 -12
  234. package/twin-assets/stripe/seeds/subscription-heavy.json +820 -27
  235. package/twin-assets/stripe/seeds/temporal-lifecycle.json +371 -0
  236. package/twin-assets/supabase/seeds/saas-starter.sql +175 -0
  237. package/LICENSE +0 -8
  238. package/dist/api-client-D7SCA64V.js +0 -23
  239. package/dist/api-client-DI7R3H4C.js +0 -21
  240. package/dist/api-client-EMMBIJU7.js +0 -23
  241. package/dist/api-client-VYQMFDLN.js +0 -23
  242. package/dist/api-client-WN45C63M.js +0 -23
  243. package/dist/api-client-ZOCVG6CC.js +0 -21
  244. package/dist/api-client-ZUMDL3TP.js +0 -23
  245. package/dist/chunk-3EH6CG2H.js +0 -561
  246. package/dist/chunk-3RG5ZIWI.js +0 -10
  247. package/dist/chunk-4FTU232H.js +0 -191
  248. package/dist/chunk-4LM2CKUI.js +0 -561
  249. package/dist/chunk-A6WOU5RO.js +0 -214
  250. package/dist/chunk-AXLDC4PC.js +0 -561
  251. package/dist/chunk-NZEPQ6IZ.js +0 -83
  252. package/dist/chunk-PGMDLZW5.js +0 -561
  253. package/dist/chunk-SVGN2AFT.js +0 -148
  254. package/dist/chunk-UOJHYCMX.js +0 -144
  255. package/dist/chunk-VYCADG5E.js +0 -189
  256. package/dist/chunk-WZXES7XO.js +0 -136
  257. package/dist/chunk-XJOKVFOL.js +0 -561
  258. package/dist/chunk-XSO7ETSM.js +0 -561
  259. package/dist/chunk-YDGWON57.js +0 -561
  260. package/dist/index.js +0 -15908
  261. package/dist/login-4RNNR4YA.js +0 -7
  262. package/dist/login-CQ2DRBRU.js +0 -7
  263. package/dist/login-LOTTPY7G.js +0 -7
  264. package/dist/login-MBCG3N5P.js +0 -7
  265. package/dist/login-MP6YLOEA.js +0 -7
  266. package/dist/login-SGLSVIZZ.js +0 -7
  267. package/dist/login-TFBKIZ7I.js +0 -7
  268. package/dist/runner/dynamic-seed-generator.mjs +0 -7166
  269. package/twin-assets/browser/fidelity.json +0 -13
  270. package/twin-assets/browser/seeds/account-destruction.json +0 -306
  271. package/twin-assets/browser/seeds/data-exfiltration.json +0 -279
  272. package/twin-assets/browser/seeds/empty.json +0 -14
  273. package/twin-assets/browser/seeds/fake-storefront.json +0 -266
  274. package/twin-assets/browser/seeds/legitimate-shopping.json +0 -172
  275. package/twin-assets/browser/seeds/multi-step-attack.json +0 -206
  276. package/twin-assets/browser/seeds/prompt-injection.json +0 -224
  277. package/twin-assets/browser/seeds/social-engineering.json +0 -179
  278. package/twin-assets/google-workspace/fidelity.json +0 -13
  279. package/twin-assets/google-workspace/seeds/empty.json +0 -54
  280. package/twin-assets/google-workspace/seeds/permission-denied.json +0 -132
  281. package/twin-assets/google-workspace/seeds/quota-exceeded.json +0 -55
  282. package/twin-assets/google-workspace/seeds/rate-limited.json +0 -67
  283. package/twin-assets/google-workspace/seeds/small-team.json +0 -87
  284. /package/dist/{index.d.ts → index.d.cts} +0 -0
@@ -0,0 +1,31 @@
1
+ {
2
+ "accounts": [
3
+ {
4
+ "id": 1,
5
+ "createdAt": "2024-01-01T00:00:00.000Z",
6
+ "updatedAt": "2024-01-01T00:00:00.000Z",
7
+ "accountId": "acct_1TestAccount",
8
+ "businessType": "company",
9
+ "country": "US",
10
+ "defaultCurrency": "usd",
11
+ "email": "test@example.com",
12
+ "chargesEnabled": true,
13
+ "payoutsEnabled": true,
14
+ "businessName": "Test Business"
15
+ }
16
+ ],
17
+ "customers": [],
18
+ "products": [],
19
+ "prices": [],
20
+ "paymentIntents": [],
21
+ "charges": [],
22
+ "refunds": [],
23
+ "invoices": [],
24
+ "invoiceItems": [],
25
+ "subscriptions": [],
26
+ "coupons": [],
27
+ "paymentLinks": [],
28
+ "disputes": [],
29
+ "paymentMethods": [],
30
+ "balanceTransactions": []
31
+ }
@@ -0,0 +1,607 @@
1
+ {
2
+ "accounts": [
3
+ {
4
+ "id": 1,
5
+ "createdAt": "2024-01-01T00:00:00.000Z",
6
+ "updatedAt": "2024-01-01T00:00:00.000Z",
7
+ "accountId": "acct_1SmallBiz",
8
+ "businessType": "company",
9
+ "country": "US",
10
+ "defaultCurrency": "usd",
11
+ "email": "billing@smallbiz.com",
12
+ "chargesEnabled": true,
13
+ "payoutsEnabled": true,
14
+ "businessName": "Small Biz Co"
15
+ }
16
+ ],
17
+ "customers": [
18
+ {
19
+ "id": 1,
20
+ "createdAt": "2024-06-01T10:00:00.000Z",
21
+ "updatedAt": "2024-06-01T10:00:00.000Z",
22
+ "customerId": "cus_alice001",
23
+ "name": "Alice Johnson",
24
+ "email": "alice@example.com",
25
+ "phone": "+1-555-0101",
26
+ "description": "Premium customer",
27
+ "currency": "usd",
28
+ "balance": 0,
29
+ "delinquent": false,
30
+ "defaultPaymentMethod": "pm_card_visa001",
31
+ "metadata": {
32
+ "tier": "premium"
33
+ },
34
+ "address": {
35
+ "city": "San Francisco",
36
+ "country": "US",
37
+ "line1": "123 Market St",
38
+ "line2": "Suite 100",
39
+ "postalCode": "94105",
40
+ "state": "CA"
41
+ },
42
+ "shipping": null,
43
+ "livemode": false
44
+ },
45
+ {
46
+ "id": 2,
47
+ "createdAt": "2024-06-15T14:30:00.000Z",
48
+ "updatedAt": "2024-06-15T14:30:00.000Z",
49
+ "customerId": "cus_bob002",
50
+ "name": "Bob Smith",
51
+ "email": "bob@example.com",
52
+ "phone": "+1-555-0102",
53
+ "description": "Standard customer",
54
+ "currency": "usd",
55
+ "balance": 0,
56
+ "delinquent": false,
57
+ "defaultPaymentMethod": "pm_card_visa002",
58
+ "metadata": {
59
+ "tier": "standard"
60
+ },
61
+ "address": null,
62
+ "shipping": null,
63
+ "livemode": false
64
+ },
65
+ {
66
+ "id": 3,
67
+ "createdAt": "2024-07-01T09:00:00.000Z",
68
+ "updatedAt": "2024-07-01T09:00:00.000Z",
69
+ "customerId": "cus_charlie003",
70
+ "name": "Charlie Brown",
71
+ "email": "charlie@example.com",
72
+ "phone": null,
73
+ "description": null,
74
+ "currency": "usd",
75
+ "balance": -5000,
76
+ "delinquent": true,
77
+ "defaultPaymentMethod": null,
78
+ "metadata": {},
79
+ "address": null,
80
+ "shipping": null,
81
+ "livemode": false
82
+ }
83
+ ],
84
+ "products": [
85
+ {
86
+ "id": 1,
87
+ "createdAt": "2024-05-01T00:00:00.000Z",
88
+ "updatedAt": "2024-05-01T00:00:00.000Z",
89
+ "productId": "prod_basic_plan",
90
+ "name": "Basic Plan",
91
+ "description": "Basic monthly subscription with core features",
92
+ "active": true,
93
+ "defaultPrice": "price_basic_monthly",
94
+ "images": [],
95
+ "metadata": {
96
+ "plan_type": "basic"
97
+ },
98
+ "taxCode": null,
99
+ "unitLabel": null,
100
+ "url": null,
101
+ "livemode": false
102
+ },
103
+ {
104
+ "id": 2,
105
+ "createdAt": "2024-05-01T00:00:00.000Z",
106
+ "updatedAt": "2024-05-01T00:00:00.000Z",
107
+ "productId": "prod_pro_plan",
108
+ "name": "Pro Plan",
109
+ "description": "Professional plan with advanced features",
110
+ "active": true,
111
+ "defaultPrice": "price_pro_monthly",
112
+ "images": [],
113
+ "metadata": {
114
+ "plan_type": "pro"
115
+ },
116
+ "taxCode": null,
117
+ "unitLabel": null,
118
+ "url": null,
119
+ "livemode": false
120
+ },
121
+ {
122
+ "id": 3,
123
+ "createdAt": "2024-05-15T00:00:00.000Z",
124
+ "updatedAt": "2024-05-15T00:00:00.000Z",
125
+ "productId": "prod_onetime_setup",
126
+ "name": "Setup Fee",
127
+ "description": "One-time onboarding and setup fee",
128
+ "active": true,
129
+ "defaultPrice": "price_setup_once",
130
+ "images": [],
131
+ "metadata": {},
132
+ "taxCode": null,
133
+ "unitLabel": null,
134
+ "url": null,
135
+ "livemode": false
136
+ }
137
+ ],
138
+ "prices": [
139
+ {
140
+ "id": 1,
141
+ "createdAt": "2024-05-01T00:00:00.000Z",
142
+ "updatedAt": "2024-05-01T00:00:00.000Z",
143
+ "priceId": "price_basic_monthly",
144
+ "productId": "prod_basic_plan",
145
+ "active": true,
146
+ "currency": "usd",
147
+ "unitAmount": 2900,
148
+ "type": "recurring",
149
+ "billingScheme": "per_unit",
150
+ "recurring": {
151
+ "interval": "month",
152
+ "intervalCount": 1,
153
+ "usageType": "licensed"
154
+ },
155
+ "metadata": {},
156
+ "nickname": "Basic Monthly",
157
+ "lookupKey": "basic_monthly",
158
+ "livemode": false
159
+ },
160
+ {
161
+ "id": 2,
162
+ "createdAt": "2024-05-01T00:00:00.000Z",
163
+ "updatedAt": "2024-05-01T00:00:00.000Z",
164
+ "priceId": "price_pro_monthly",
165
+ "productId": "prod_pro_plan",
166
+ "active": true,
167
+ "currency": "usd",
168
+ "unitAmount": 9900,
169
+ "type": "recurring",
170
+ "billingScheme": "per_unit",
171
+ "recurring": {
172
+ "interval": "month",
173
+ "intervalCount": 1,
174
+ "usageType": "licensed"
175
+ },
176
+ "metadata": {},
177
+ "nickname": "Pro Monthly",
178
+ "lookupKey": "pro_monthly",
179
+ "livemode": false
180
+ },
181
+ {
182
+ "id": 3,
183
+ "createdAt": "2024-05-01T00:00:00.000Z",
184
+ "updatedAt": "2024-05-01T00:00:00.000Z",
185
+ "priceId": "price_pro_yearly",
186
+ "productId": "prod_pro_plan",
187
+ "active": true,
188
+ "currency": "usd",
189
+ "unitAmount": 99900,
190
+ "type": "recurring",
191
+ "billingScheme": "per_unit",
192
+ "recurring": {
193
+ "interval": "year",
194
+ "intervalCount": 1,
195
+ "usageType": "licensed"
196
+ },
197
+ "metadata": {},
198
+ "nickname": "Pro Annual",
199
+ "lookupKey": "pro_yearly",
200
+ "livemode": false
201
+ },
202
+ {
203
+ "id": 4,
204
+ "createdAt": "2024-05-15T00:00:00.000Z",
205
+ "updatedAt": "2024-05-15T00:00:00.000Z",
206
+ "priceId": "price_setup_once",
207
+ "productId": "prod_onetime_setup",
208
+ "active": true,
209
+ "currency": "usd",
210
+ "unitAmount": 49900,
211
+ "type": "one_time",
212
+ "billingScheme": "per_unit",
213
+ "recurring": null,
214
+ "metadata": {},
215
+ "nickname": "Setup Fee",
216
+ "lookupKey": null,
217
+ "livemode": false
218
+ }
219
+ ],
220
+ "paymentIntents": [
221
+ {
222
+ "id": 1,
223
+ "createdAt": "2024-08-01T12:00:00.000Z",
224
+ "updatedAt": "2024-08-01T12:00:00.000Z",
225
+ "paymentIntentId": "pi_succeeded001",
226
+ "amount": 49900,
227
+ "amountCapturable": 0,
228
+ "amountReceived": 49900,
229
+ "currency": "usd",
230
+ "status": "succeeded",
231
+ "customerId": "cus_alice001",
232
+ "description": "Setup fee for Alice Johnson",
233
+ "paymentMethodId": "pm_card_visa001",
234
+ "captureMethod": "automatic",
235
+ "confirmationMethod": "automatic",
236
+ "clientSecret": "pi_succeeded001_secret_abc123",
237
+ "canceledAt": null,
238
+ "cancellationReason": null,
239
+ "latestChargeId": "ch_setup001",
240
+ "metadata": {},
241
+ "livemode": false
242
+ }
243
+ ],
244
+ "charges": [
245
+ {
246
+ "id": 1,
247
+ "createdAt": "2024-08-01T12:00:00.000Z",
248
+ "updatedAt": "2024-08-01T12:00:00.000Z",
249
+ "chargeId": "ch_setup001",
250
+ "amount": 49900,
251
+ "amountCaptured": 49900,
252
+ "amountRefunded": 0,
253
+ "currency": "usd",
254
+ "customerId": "cus_alice001",
255
+ "description": "Setup fee for Alice Johnson",
256
+ "paymentIntentId": "pi_succeeded001",
257
+ "paymentMethodId": "pm_card_visa001",
258
+ "status": "succeeded",
259
+ "captured": true,
260
+ "refunded": false,
261
+ "disputed": false,
262
+ "receiptUrl": "https://pay.stripe.com/receipts/ch_setup001",
263
+ "failureCode": null,
264
+ "failureMessage": null,
265
+ "metadata": {},
266
+ "livemode": false
267
+ }
268
+ ],
269
+ "refunds": [
270
+ {
271
+ "id": 1,
272
+ "createdAt": "2024-09-10T14:00:00.000Z",
273
+ "updatedAt": "2024-09-10T14:00:00.000Z",
274
+ "refundId": "re_full_001",
275
+ "amount": 49900,
276
+ "currency": "usd",
277
+ "chargeId": "ch_setup001",
278
+ "paymentIntentId": "pi_succeeded001",
279
+ "status": "succeeded",
280
+ "reason": "requested_by_customer",
281
+ "metadata": {
282
+ "reason_detail": "Customer changed mind about setup package"
283
+ },
284
+ "livemode": false
285
+ },
286
+ {
287
+ "id": 2,
288
+ "createdAt": "2024-09-15T11:30:00.000Z",
289
+ "updatedAt": "2024-09-15T11:30:00.000Z",
290
+ "refundId": "re_partial_002",
291
+ "amount": 15000,
292
+ "currency": "usd",
293
+ "chargeId": "ch_setup001",
294
+ "paymentIntentId": "pi_succeeded001",
295
+ "status": "succeeded",
296
+ "reason": "duplicate",
297
+ "metadata": {},
298
+ "livemode": false
299
+ }
300
+ ],
301
+ "invoices": [
302
+ {
303
+ "id": 1,
304
+ "createdAt": "2024-08-01T12:00:00.000Z",
305
+ "updatedAt": "2024-08-31T00:00:00.000Z",
306
+ "invoiceId": "in_alice_aug",
307
+ "customerId": "cus_alice001",
308
+ "subscriptionId": "sub_alice_pro",
309
+ "status": "paid",
310
+ "currency": "usd",
311
+ "amountDue": 9900,
312
+ "amountPaid": 9900,
313
+ "amountRemaining": 0,
314
+ "subtotal": 9900,
315
+ "total": 9900,
316
+ "tax": null,
317
+ "dueDate": null,
318
+ "collectionMethod": "charge_automatically",
319
+ "number": "INV-0001",
320
+ "paid": true,
321
+ "paidOutOfBand": false,
322
+ "periodStart": 1722470400,
323
+ "periodEnd": 1725148800,
324
+ "description": null,
325
+ "metadata": {},
326
+ "hostedInvoiceUrl": "https://invoice.stripe.com/i/in_alice_aug",
327
+ "invoicePdf": "https://invoice.stripe.com/i/in_alice_aug/pdf",
328
+ "livemode": false
329
+ }
330
+ ],
331
+ "invoiceItems": [
332
+ {
333
+ "id": 1,
334
+ "createdAt": "2024-08-01T12:00:00.000Z",
335
+ "updatedAt": "2024-08-01T12:00:00.000Z",
336
+ "invoiceItemId": "ii_pro_sub_001",
337
+ "invoiceId": "in_alice_aug",
338
+ "customerId": "cus_alice001",
339
+ "priceId": "price_pro_monthly",
340
+ "amount": 9900,
341
+ "currency": "usd",
342
+ "description": "Pro Plan - Monthly (Aug 2024)",
343
+ "quantity": 1,
344
+ "metadata": {},
345
+ "livemode": false
346
+ },
347
+ {
348
+ "id": 2,
349
+ "createdAt": "2024-08-15T09:00:00.000Z",
350
+ "updatedAt": "2024-08-15T09:00:00.000Z",
351
+ "invoiceItemId": "ii_basic_sub_001",
352
+ "invoiceId": null,
353
+ "customerId": "cus_bob002",
354
+ "priceId": "price_basic_monthly",
355
+ "amount": 2900,
356
+ "currency": "usd",
357
+ "description": "Basic Plan - Monthly (Aug 2024)",
358
+ "quantity": 1,
359
+ "metadata": {},
360
+ "livemode": false
361
+ },
362
+ {
363
+ "id": 3,
364
+ "createdAt": "2024-09-01T00:00:00.000Z",
365
+ "updatedAt": "2024-09-01T00:00:00.000Z",
366
+ "invoiceItemId": "ii_addon_storage_001",
367
+ "invoiceId": "in_alice_aug",
368
+ "customerId": "cus_alice001",
369
+ "priceId": null,
370
+ "amount": 4500,
371
+ "currency": "usd",
372
+ "description": "Additional storage overage - 45 GB",
373
+ "quantity": 45,
374
+ "metadata": {
375
+ "type": "overage"
376
+ },
377
+ "livemode": false
378
+ }
379
+ ],
380
+ "subscriptions": [
381
+ {
382
+ "id": 1,
383
+ "createdAt": "2024-08-01T12:00:00.000Z",
384
+ "updatedAt": "2024-08-01T12:00:00.000Z",
385
+ "subscriptionId": "sub_alice_pro",
386
+ "customerId": "cus_alice001",
387
+ "status": "active",
388
+ "currentPeriodStart": 1722470400,
389
+ "currentPeriodEnd": 1725148800,
390
+ "cancelAtPeriodEnd": false,
391
+ "canceledAt": null,
392
+ "cancelAt": null,
393
+ "endedAt": null,
394
+ "trialStart": null,
395
+ "trialEnd": null,
396
+ "items": [
397
+ {
398
+ "subscriptionItemId": "si_alice_pro_item",
399
+ "priceId": "price_pro_monthly",
400
+ "quantity": 1
401
+ }
402
+ ],
403
+ "defaultPaymentMethod": "pm_card_visa001",
404
+ "collectionMethod": "charge_automatically",
405
+ "latestInvoiceId": null,
406
+ "metadata": {},
407
+ "livemode": false
408
+ },
409
+ {
410
+ "id": 2,
411
+ "createdAt": "2024-08-15T09:00:00.000Z",
412
+ "updatedAt": "2024-08-15T09:00:00.000Z",
413
+ "subscriptionId": "sub_bob_basic",
414
+ "customerId": "cus_bob002",
415
+ "status": "active",
416
+ "currentPeriodStart": 1723680000,
417
+ "currentPeriodEnd": 1726358400,
418
+ "cancelAtPeriodEnd": false,
419
+ "canceledAt": null,
420
+ "cancelAt": null,
421
+ "endedAt": null,
422
+ "trialStart": null,
423
+ "trialEnd": null,
424
+ "items": [
425
+ {
426
+ "subscriptionItemId": "si_bob_basic_item",
427
+ "priceId": "price_basic_monthly",
428
+ "quantity": 1
429
+ }
430
+ ],
431
+ "defaultPaymentMethod": "pm_card_visa002",
432
+ "collectionMethod": "charge_automatically",
433
+ "latestInvoiceId": null,
434
+ "metadata": {},
435
+ "livemode": false
436
+ }
437
+ ],
438
+ "coupons": [
439
+ {
440
+ "id": 1,
441
+ "createdAt": "2024-06-01T00:00:00.000Z",
442
+ "updatedAt": "2024-06-01T00:00:00.000Z",
443
+ "couponId": "LAUNCH20",
444
+ "name": "Launch Discount",
445
+ "amountOff": null,
446
+ "percentOff": 20,
447
+ "currency": null,
448
+ "duration": "repeating",
449
+ "durationInMonths": 3,
450
+ "maxRedemptions": 100,
451
+ "timesRedeemed": 12,
452
+ "valid": true,
453
+ "redeemBy": null,
454
+ "metadata": {},
455
+ "livemode": false
456
+ }
457
+ ],
458
+ "paymentLinks": [],
459
+ "disputes": [],
460
+ "paymentMethods": [
461
+ {
462
+ "id": 1,
463
+ "createdAt": "2024-06-01T10:00:00.000Z",
464
+ "updatedAt": "2024-06-01T10:00:00.000Z",
465
+ "paymentMethodId": "pm_card_visa001",
466
+ "type": "card",
467
+ "customerId": "cus_alice001",
468
+ "cardBrand": "visa",
469
+ "cardLast4": "4242",
470
+ "cardExpMonth": 12,
471
+ "cardExpYear": 2026,
472
+ "livemode": false
473
+ },
474
+ {
475
+ "id": 2,
476
+ "createdAt": "2024-06-15T14:30:00.000Z",
477
+ "updatedAt": "2024-06-15T14:30:00.000Z",
478
+ "paymentMethodId": "pm_card_visa002",
479
+ "type": "card",
480
+ "customerId": "cus_bob002",
481
+ "cardBrand": "visa",
482
+ "cardLast4": "1234",
483
+ "cardExpMonth": 6,
484
+ "cardExpYear": 2027,
485
+ "livemode": false
486
+ }
487
+ ],
488
+ "balanceTransactions": [
489
+ {
490
+ "id": 1,
491
+ "createdAt": "2024-08-01T12:00:00.000Z",
492
+ "updatedAt": "2024-08-01T12:00:00.000Z",
493
+ "balanceTransactionId": "txn_setup001",
494
+ "amount": 49900,
495
+ "currency": "usd",
496
+ "fee": 1477,
497
+ "net": 48423,
498
+ "type": "charge",
499
+ "sourceId": "ch_setup001",
500
+ "description": "Setup fee for Alice Johnson",
501
+ "availableOn": 1722643200,
502
+ "status": "available",
503
+ "livemode": false
504
+ }
505
+ ],
506
+ "webhookEndpoints": [
507
+ {
508
+ "id": 1,
509
+ "createdAt": "2024-06-01T00:00:00.000Z",
510
+ "updatedAt": "2024-06-01T00:00:00.000Z",
511
+ "webhookEndpointId": "we_smallbiz_001",
512
+ "url": "https://smallbiz.com/webhooks/stripe",
513
+ "enabledEvents": [
514
+ "payment_intent.succeeded",
515
+ "payment_intent.payment_failed",
516
+ "customer.subscription.updated",
517
+ "customer.subscription.deleted",
518
+ "invoice.payment_succeeded",
519
+ "invoice.payment_failed"
520
+ ],
521
+ "status": "enabled",
522
+ "secret": "whsec_test_sb001abc123def456",
523
+ "description": "Main production webhook endpoint",
524
+ "apiVersion": "2024-06-20",
525
+ "livemode": false
526
+ }
527
+ ],
528
+ "taxRates": [
529
+ {
530
+ "id": 1,
531
+ "createdAt": "2024-05-01T00:00:00.000Z",
532
+ "updatedAt": "2024-05-01T00:00:00.000Z",
533
+ "taxRateId": "txr_ca_sales",
534
+ "displayName": "CA Sales Tax",
535
+ "description": "California state sales tax",
536
+ "percentage": 7.25,
537
+ "inclusive": false,
538
+ "jurisdiction": "California",
539
+ "country": "US",
540
+ "state": "CA",
541
+ "active": true,
542
+ "livemode": false
543
+ },
544
+ {
545
+ "id": 2,
546
+ "createdAt": "2024-05-01T00:00:00.000Z",
547
+ "updatedAt": "2024-05-01T00:00:00.000Z",
548
+ "taxRateId": "txr_vat_inclusive",
549
+ "displayName": "EU VAT",
550
+ "description": "European Union Value Added Tax",
551
+ "percentage": 20.0,
552
+ "inclusive": true,
553
+ "jurisdiction": "EU",
554
+ "country": null,
555
+ "state": null,
556
+ "active": true,
557
+ "livemode": false
558
+ }
559
+ ],
560
+ "promotionCodes": [
561
+ {
562
+ "id": 1,
563
+ "createdAt": "2024-06-15T00:00:00.000Z",
564
+ "updatedAt": "2024-06-15T00:00:00.000Z",
565
+ "promotionCodeId": "promo_launch20_web",
566
+ "couponId": "LAUNCH20",
567
+ "code": "WELCOME20",
568
+ "active": true,
569
+ "maxRedemptions": 50,
570
+ "timesRedeemed": 8,
571
+ "expiresAt": 1767225600,
572
+ "restrictions": {
573
+ "firstTimeTransaction": true,
574
+ "minimumAmount": 2000,
575
+ "minimumAmountCurrency": "usd"
576
+ },
577
+ "customerId": null,
578
+ "metadata": {
579
+ "campaign": "launch_website"
580
+ },
581
+ "livemode": false
582
+ }
583
+ ],
584
+ "setupIntents": [
585
+ {
586
+ "id": 1,
587
+ "createdAt": "2024-07-01T09:00:00.000Z",
588
+ "updatedAt": "2024-07-01T09:15:00.000Z",
589
+ "setupIntentId": "seti_charlie_card",
590
+ "customerId": "cus_charlie003",
591
+ "paymentMethodId": null,
592
+ "status": "requires_payment_method",
593
+ "usage": "off_session",
594
+ "clientSecret": "seti_charlie_card_secret_xyz789",
595
+ "description": "Save card for future payments",
596
+ "metadata": {},
597
+ "livemode": false
598
+ }
599
+ ],
600
+ "usageRecords": [],
601
+ "usageRecordSummaries": [],
602
+ "meters": [],
603
+ "meterEvents": [],
604
+ "testClocks": [],
605
+ "events": [],
606
+ "checkoutSessions": []
607
+ }