@ic-reactor/mcp 0.0.0-stage → 0.0.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 (1041) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +108 -0
  2. package/.github/ISSUE_TEMPLATE/config.yml +8 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.yml +77 -0
  4. package/.github/actions/setup-rust-wasm/action.yml +25 -0
  5. package/.github/dependabot.yml +107 -0
  6. package/.github/workflows/auth-latest.yml +67 -0
  7. package/.github/workflows/b3pay-site.yml +49 -0
  8. package/.github/workflows/ci.yml +430 -0
  9. package/.github/workflows/codeql.yml +41 -0
  10. package/.github/workflows/dependency-review.yml +68 -0
  11. package/.github/workflows/docs-check.yml +98 -0
  12. package/.github/workflows/docs.yml +265 -0
  13. package/.github/workflows/e2e.yml +90 -0
  14. package/.github/workflows/examples-published.yml +97 -0
  15. package/.github/workflows/release.yml +326 -0
  16. package/.husky/pre-commit +12 -0
  17. package/.prettierignore +109 -0
  18. package/.prettierrc +6 -0
  19. package/AGENTS.md +103 -0
  20. package/CHANGELOG.md +3268 -0
  21. package/CLAUDE.md +93 -0
  22. package/CNAME +1 -0
  23. package/CODE_OF_CONDUCT.md +7 -0
  24. package/CONTRIBUTING.md +433 -0
  25. package/LICENSE +21 -0
  26. package/README.md +2 -2
  27. package/SECURITY.md +74 -0
  28. package/b3pay-module.json +194 -0
  29. package/docs/.remarkrc.json +10 -0
  30. package/docs/README.md +64 -0
  31. package/docs/astro.config.mjs +205 -0
  32. package/docs/favicon.svg +15 -0
  33. package/docs/package.json +39 -0
  34. package/docs/public/favicon.svg +15 -0
  35. package/docs/public/ic-reactor-social-card.png +0 -0
  36. package/docs/scripts/b3pay-static.mjs +22 -0
  37. package/docs/scripts/check-example-docs.mjs +214 -0
  38. package/docs/scripts/check-links.mjs +212 -0
  39. package/docs/scripts/fix-dist-links.js +125 -0
  40. package/docs/scripts/fix-frontmatter.js +71 -0
  41. package/docs/scripts/remove-redundant-h1.cjs +48 -0
  42. package/docs/scripts/rewrite-typedoc-links.js +110 -0
  43. package/docs/scripts/split-index.js +69 -0
  44. package/docs/src/assets/ic-reactor-hero-dark.svg +23 -0
  45. package/docs/src/assets/ic-reactor-hero-light.svg +23 -0
  46. package/docs/src/assets/ic-reactor-lockup-dark.svg +15 -0
  47. package/docs/src/assets/ic-reactor-lockup-light.svg +15 -0
  48. package/docs/src/assets/ic-reactor-mark-dark.svg +14 -0
  49. package/docs/src/assets/ic-reactor-mark-light.svg +14 -0
  50. package/docs/src/assets/layers/candid-core-layer-icon-dark.svg +4 -0
  51. package/docs/src/assets/layers/candid-core-layer-icon-light.svg +4 -0
  52. package/docs/src/assets/layers/candid-profile-layer-icon-dark.svg +4 -0
  53. package/docs/src/assets/layers/candid-profile-layer-icon-light.svg +4 -0
  54. package/docs/src/assets/layers/ic-reactor-layer-icon-dark.svg +4 -0
  55. package/docs/src/assets/layers/ic-reactor-layer-icon-light.svg +4 -0
  56. package/docs/src/components/LibraryCards.astro +172 -0
  57. package/docs/src/components/LibraryIcon.astro +28 -0
  58. package/docs/src/components/SiteTitle.astro +241 -0
  59. package/docs/src/content/docs/404.mdx +19 -0
  60. package/docs/src/content/docs/build/agent-tools.mdx +593 -0
  61. package/docs/src/content/docs/build/icrc1-wallet.mdx +619 -0
  62. package/docs/src/content/docs/build/ssr-per-user.mdx +552 -0
  63. package/docs/src/content/docs/examples/canister-studio.mdx +95 -0
  64. package/docs/src/content/docs/examples/icrc-ledger.mdx +45 -0
  65. package/docs/src/content/docs/examples/index.mdx +38 -0
  66. package/docs/src/content/docs/examples/next-ssr.mdx +73 -0
  67. package/docs/src/content/docs/examples/node-agent-tool.mdx +80 -0
  68. package/docs/src/content/docs/examples/vite-wallet.mdx +71 -0
  69. package/docs/src/content/docs/guides/auth.mdx +1181 -0
  70. package/docs/src/content/docs/guides/client.mdx +551 -0
  71. package/docs/src/content/docs/guides/deploy.mdx +180 -0
  72. package/docs/src/content/docs/guides/errors.mdx +475 -0
  73. package/docs/src/content/docs/guides/getting-started.mdx +620 -0
  74. package/docs/src/content/docs/guides/reads.mdx +586 -0
  75. package/docs/src/content/docs/guides/ssr.mdx +529 -0
  76. package/docs/src/content/docs/guides/testing.mdx +401 -0
  77. package/docs/src/content/docs/guides/values.mdx +261 -0
  78. package/docs/src/content/docs/guides/vite-plugin.mdx +690 -0
  79. package/docs/src/content/docs/guides/writes.mdx +572 -0
  80. package/docs/src/content/docs/ic-reactor/index.mdx +167 -0
  81. package/docs/src/content/docs/index.mdx +65 -0
  82. package/docs/src/content/docs/migrating-from-3.mdx +535 -0
  83. package/docs/src/content/docs/packages/core.mdx +186 -0
  84. package/docs/src/content/docs/packages/mcp.mdx +163 -0
  85. package/docs/src/content/docs/packages/react.mdx +207 -0
  86. package/docs/src/content/docs/packages/vite-plugin.mdx +73 -0
  87. package/docs/src/content/docs/versioning.mdx +104 -0
  88. package/docs/src/content.config.ts +7 -0
  89. package/docs/src/styles/custom.css +189 -0
  90. package/docs/tsconfig.typedoc.json +26 -0
  91. package/docs/typedoc-entry.ts +17 -0
  92. package/docs/typedoc.json +37 -0
  93. package/e2e/Cargo.lock +646 -0
  94. package/e2e/Cargo.toml +3 -0
  95. package/e2e/README.md +101 -0
  96. package/e2e/frontends/build.mjs +94 -0
  97. package/e2e/frontends/index.html +10 -0
  98. package/e2e/global-setup.ts +65 -0
  99. package/e2e/icp.yaml +38 -0
  100. package/e2e/package.json +40 -0
  101. package/e2e/setup.ts +6 -0
  102. package/e2e/src/actor/Cargo.toml +14 -0
  103. package/e2e/src/actor/hello_actor.did +10 -0
  104. package/e2e/src/actor/src/lib.rs +73 -0
  105. package/e2e/src/calls.test.ts +132 -0
  106. package/e2e/src/declarations/hello_actor.envelope.json +175 -0
  107. package/e2e/src/declarations/hello_actor.ts +15 -0
  108. package/e2e/src/errors.test.ts +107 -0
  109. package/e2e/src/frontend-headers.test.ts +253 -0
  110. package/e2e/src/identity.test.ts +61 -0
  111. package/e2e/src/react.test.tsx +59 -0
  112. package/e2e/src/replica.ts +70 -0
  113. package/e2e/src/vite-env.test.ts +108 -0
  114. package/e2e/test.sh +47 -0
  115. package/e2e/tsconfig.json +20 -0
  116. package/e2e/tsconfig.typecheck.json +9 -0
  117. package/e2e/vitest.config.ts +22 -0
  118. package/eslint.config.mjs +100 -0
  119. package/evals/PREREGISTRATION.md +1346 -0
  120. package/evals/README.md +756 -0
  121. package/evals/conditions/thin/condition.json +8 -0
  122. package/evals/conditions/thin/docs/candid-core-cli.README.md +90 -0
  123. package/evals/conditions/thin/docs/candid-core-schema.README.md +339 -0
  124. package/evals/conditions/thin/package.json +25 -0
  125. package/evals/conditions/thin/starter/src/generated/icrc1.ts +57 -0
  126. package/evals/conditions/thin-guide/condition.json +10 -0
  127. package/evals/conditions/thin-guide/docs/llms.txt +292 -0
  128. package/evals/conditions/v3/condition.json +9 -0
  129. package/evals/conditions/v3/docs/ic-reactor-core.llms.txt +232 -0
  130. package/evals/conditions/v3/docs/ic-reactor-react.llms.txt +280 -0
  131. package/evals/conditions/v3/docs/llms-full.txt +1053 -0
  132. package/evals/conditions/v3/package.json +26 -0
  133. package/evals/conditions/v3/starter/src/declarations/icrc1.did.d.ts +95 -0
  134. package/evals/conditions/v3/starter/src/declarations/icrc1.did.js +140 -0
  135. package/evals/conditions/v4/PORTING.md +384 -0
  136. package/evals/conditions/v4/README.md +106 -0
  137. package/evals/conditions/v4/condition.json +5 -0
  138. package/evals/conditions/v4/docs/llms.txt +323 -0
  139. package/evals/conditions/v4/package.json +27 -0
  140. package/evals/conditions/v4/starter/src/generated/icrc1.ts +78 -0
  141. package/evals/conditions/v4-proto/condition.json +6 -0
  142. package/evals/conditions/v4-proto/docs/llms.txt +291 -0
  143. package/evals/conditions/v4-proto/lib/SHIM-NOTES.md +20 -0
  144. package/evals/conditions/v4-proto/lib/package.json +27 -0
  145. package/evals/conditions/v4-proto/lib/src/client.ts +471 -0
  146. package/evals/conditions/v4-proto/lib/src/errors.ts +214 -0
  147. package/evals/conditions/v4-proto/lib/src/index.ts +36 -0
  148. package/evals/conditions/v4-proto/lib/src/principal.ts +175 -0
  149. package/evals/conditions/v4-proto/lib/src/service.ts +69 -0
  150. package/evals/conditions/v4-proto/lib/src/types.ts +174 -0
  151. package/evals/conditions/v4-proto/lib/test/runtime.test.ts +170 -0
  152. package/evals/conditions/v4-proto/lib/test/tsconfig.json +10 -0
  153. package/evals/conditions/v4-proto/lib/test/types.test-d.ts +145 -0
  154. package/evals/conditions/v4-proto/lib/test/vitest.config.mjs +8 -0
  155. package/evals/conditions/v4-proto/lib/tsconfig.json +17 -0
  156. package/evals/conditions/v4-proto/package.json +26 -0
  157. package/evals/conditions/v4-proto/starter/src/generated/icrc1.service.ts +19 -0
  158. package/evals/conditions/v4-proto/starter/src/generated/icrc1.ts +57 -0
  159. package/evals/drive.mjs +1221 -0
  160. package/evals/gate.mjs +161 -0
  161. package/evals/harness/aggregate.mjs +534 -0
  162. package/evals/harness/aggregate.test.mjs +344 -0
  163. package/evals/harness/assemble.mjs +216 -0
  164. package/evals/harness/assemble.test.mjs +143 -0
  165. package/evals/harness/auth.mjs +91 -0
  166. package/evals/harness/check-docs.mjs +157 -0
  167. package/evals/harness/declarations/icrc1.did.d.ts +95 -0
  168. package/evals/harness/declarations/icrc1.did.js +140 -0
  169. package/evals/harness/drive-auth.test.mjs +584 -0
  170. package/evals/harness/drive.test.mjs +509 -0
  171. package/evals/harness/fake-auth.ts +67 -0
  172. package/evals/harness/fake-ledger.ts +178 -0
  173. package/evals/harness/gate-plan.mjs +104 -0
  174. package/evals/harness/gate-plan.test.mjs +243 -0
  175. package/evals/harness/icrc1.did +88 -0
  176. package/evals/harness/judge.mjs +63 -0
  177. package/evals/harness/judge.test.mjs +81 -0
  178. package/evals/harness/leak-scan.mjs +1373 -0
  179. package/evals/harness/leak-scan.test.mjs +1300 -0
  180. package/evals/harness/probes/amounts.ts +14 -0
  181. package/evals/harness/probes/node-tool.probe.ts +48 -0
  182. package/evals/harness/probes/probe.mjs +149 -0
  183. package/evals/harness/probes/react-wallet.probe.ts +96 -0
  184. package/evals/harness/public/support/auth.ts +38 -0
  185. package/evals/harness/public/support/fake-replica.d.ts +28 -0
  186. package/evals/harness/public/support/fake-replica.js +434 -0
  187. package/evals/harness/public/support/ledger.idl.d.ts +95 -0
  188. package/evals/harness/public/support/ledger.idl.js +140 -0
  189. package/evals/harness/public/support/world.ts +179 -0
  190. package/evals/harness/runs.mjs +139 -0
  191. package/evals/harness/sandbox.mjs +88 -0
  192. package/evals/harness/sandbox.test.mjs +134 -0
  193. package/evals/harness/ship.mjs +264 -0
  194. package/evals/harness/ship.test.mjs +552 -0
  195. package/evals/harness/world.ts +291 -0
  196. package/evals/package.json +26 -0
  197. package/evals/pnpm-lock.yaml +1537 -0
  198. package/evals/pnpm-workspace.yaml +12 -0
  199. package/evals/results/2026-09-30T14-22-05-924Z/pilot.json +384 -0
  200. package/evals/results/2026-09-30T14-22-05-924Z/pilot.rescanned.json +404 -0
  201. package/evals/results/2026-09-30T14-22-05-924Z/pilot.rescanned.rescored.json +404 -0
  202. package/evals/results/2026-09-30T14-22-05-924Z/plan.json +240 -0
  203. package/evals/results/2026-09-30T14-22-05-924Z/summary.json +1800 -0
  204. package/evals/results/2026-09-30T14-22-05-924Z/summary.rescanned.json +1843 -0
  205. package/evals/results/2026-09-30T14-22-05-924Z/summary.rescanned.rescored.json +2100 -0
  206. package/evals/results/2026-09-30T15-48-23-343Z/pilot.json +404 -0
  207. package/evals/results/2026-09-30T15-48-23-343Z/pilot.rescored.json +404 -0
  208. package/evals/results/2026-09-30T15-48-23-343Z/plan.json +242 -0
  209. package/evals/results/2026-09-30T15-48-23-343Z/summary.json +1843 -0
  210. package/evals/results/2026-09-30T15-48-23-343Z/summary.rescored.json +2195 -0
  211. package/evals/results/2026-10-03-beta1-gate/pilot.json +162 -0
  212. package/evals/results/2026-10-03-beta1-gate/plan.json +141 -0
  213. package/evals/results/2026-10-03-beta1-gate/summary.json +983 -0
  214. package/evals/results/2026-10-05-ga-gate/contaminated-run.json +55 -0
  215. package/evals/results/2026-10-05-ga-gate/pilot.json +162 -0
  216. package/evals/results/2026-10-05-ga-gate/plan.json +457 -0
  217. package/evals/results/2026-10-05-ga-gate/summary.json +1037 -0
  218. package/evals/results/2026-10-05-ga-gate/summary.rescanned.json +1037 -0
  219. package/evals/results/README.md +31 -0
  220. package/evals/runs-pilot.log +150 -0
  221. package/evals/runs-pilot2.log +150 -0
  222. package/evals/score.mjs +256 -0
  223. package/evals/setup.mjs +547 -0
  224. package/evals/tasks/node-tool/faulty/thin-accepts-exponent/meta.json +5 -0
  225. package/evals/tasks/node-tool/faulty/thin-accepts-exponent/src/index.ts +121 -0
  226. package/evals/tasks/node-tool/faulty/thin-anonymous-transfer/meta.json +5 -0
  227. package/evals/tasks/node-tool/faulty/thin-anonymous-transfer/src/index.ts +116 -0
  228. package/evals/tasks/node-tool/faulty/thin-every-reject-may-have-executed/meta.json +9 -0
  229. package/evals/tasks/node-tool/faulty/thin-every-reject-may-have-executed/src/index.ts +118 -0
  230. package/evals/tasks/node-tool/faulty/thin-fetches-root-key-off-local/meta.json +5 -0
  231. package/evals/tasks/node-tool/faulty/thin-fetches-root-key-off-local/src/index.ts +118 -0
  232. package/evals/tasks/node-tool/faulty/thin-ignores-root-key/meta.json +5 -0
  233. package/evals/tasks/node-tool/faulty/thin-ignores-root-key/src/index.ts +117 -0
  234. package/evals/tasks/node-tool/faulty/thin-misclassifies-reject-codes/meta.json +9 -0
  235. package/evals/tasks/node-tool/faulty/thin-misclassifies-reject-codes/src/index.ts +119 -0
  236. package/evals/tasks/node-tool/faulty/thin-no-nat64-cap/meta.json +9 -0
  237. package/evals/tasks/node-tool/faulty/thin-no-nat64-cap/src/index.ts +118 -0
  238. package/evals/tasks/node-tool/faulty/thin-number-amount/meta.json +10 -0
  239. package/evals/tasks/node-tool/faulty/thin-number-amount/src/index.ts +117 -0
  240. package/evals/tasks/node-tool/faulty/thin-truncates-fraction-digits/meta.json +5 -0
  241. package/evals/tasks/node-tool/faulty/thin-truncates-fraction-digits/src/index.ts +120 -0
  242. package/evals/tasks/node-tool/faulty/thin-unvalidated-recipient/meta.json +5 -0
  243. package/evals/tasks/node-tool/faulty/thin-unvalidated-recipient/src/index.ts +118 -0
  244. package/evals/tasks/node-tool/faulty/v3-retry-call-errors/meta.json +11 -0
  245. package/evals/tasks/node-tool/faulty/v3-retry-call-errors/src/index.ts +149 -0
  246. package/evals/tasks/node-tool/faulty/v4-anonymous-identity-sent/meta.json +5 -0
  247. package/evals/tasks/node-tool/faulty/v4-anonymous-identity-sent/src/index.ts +71 -0
  248. package/evals/tasks/node-tool/faulty/v4-never-may-have-executed/meta.json +9 -0
  249. package/evals/tasks/node-tool/faulty/v4-never-may-have-executed/src/index.ts +84 -0
  250. package/evals/tasks/node-tool/faulty/v4-proto-never-may-have-executed/meta.json +9 -0
  251. package/evals/tasks/node-tool/faulty/v4-proto-never-may-have-executed/src/index.ts +72 -0
  252. package/evals/tasks/node-tool/faulty/v4-proto-refuses-nat64-max/meta.json +5 -0
  253. package/evals/tasks/node-tool/faulty/v4-proto-refuses-nat64-max/src/index.ts +72 -0
  254. package/evals/tasks/node-tool/faulty/v4-refuses-nat64-max/meta.json +5 -0
  255. package/evals/tasks/node-tool/faulty/v4-refuses-nat64-max/src/index.ts +84 -0
  256. package/evals/tasks/node-tool/hidden/node-tool.test.ts +312 -0
  257. package/evals/tasks/node-tool/prompt.md +55 -0
  258. package/evals/tasks/node-tool/prompt.minimal.md +30 -0
  259. package/evals/tasks/node-tool/solutions/thin/reference/src/index.ts +118 -0
  260. package/evals/tasks/node-tool/solutions/thin/reference-module-scope/src/index.ts +145 -0
  261. package/evals/tasks/node-tool/solutions/thin-guide/reference/src/index.ts +118 -0
  262. package/evals/tasks/node-tool/solutions/thin-guide/reference-module-scope/src/index.ts +145 -0
  263. package/evals/tasks/node-tool/solutions/v3/reference/src/index.ts +140 -0
  264. package/evals/tasks/node-tool/solutions/v3/reference-module-scope/src/index.ts +153 -0
  265. package/evals/tasks/node-tool/solutions/v4/reference/src/index.ts +84 -0
  266. package/evals/tasks/node-tool/solutions/v4/reference-module-scope/src/index.ts +105 -0
  267. package/evals/tasks/node-tool/solutions/v4-proto/reference/src/index.ts +72 -0
  268. package/evals/tasks/node-tool/solutions/v4-proto/reference-module-scope/src/index.ts +87 -0
  269. package/evals/tasks/node-tool/starter/src/contract.ts +31 -0
  270. package/evals/tasks/node-tool/starter/src/index.ts +7 -0
  271. package/evals/tasks/node-tool/starter/test/smoke.test.ts +22 -0
  272. package/evals/tasks/node-tool/starter/tsconfig.json +17 -0
  273. package/evals/tasks/node-tool/task.json +63 -0
  274. package/evals/tasks/react-wallet/faulty/thin-accepts-exponent/meta.json +5 -0
  275. package/evals/tasks/react-wallet/faulty/thin-accepts-exponent/src/Wallet.tsx +216 -0
  276. package/evals/tasks/react-wallet/faulty/thin-anonymous-transfer/meta.json +5 -0
  277. package/evals/tasks/react-wallet/faulty/thin-anonymous-transfer/src/Wallet.tsx +212 -0
  278. package/evals/tasks/react-wallet/faulty/thin-both-auth-buttons/meta.json +5 -0
  279. package/evals/tasks/react-wallet/faulty/thin-both-auth-buttons/src/Wallet.tsx +210 -0
  280. package/evals/tasks/react-wallet/faulty/thin-constant-balance-key/meta.json +8 -0
  281. package/evals/tasks/react-wallet/faulty/thin-constant-balance-key/src/Wallet.tsx +213 -0
  282. package/evals/tasks/react-wallet/faulty/thin-no-nat64-cap/meta.json +9 -0
  283. package/evals/tasks/react-wallet/faulty/thin-no-nat64-cap/src/Wallet.tsx +213 -0
  284. package/evals/tasks/react-wallet/faulty/thin-number-balance/meta.json +5 -0
  285. package/evals/tasks/react-wallet/faulty/thin-number-balance/src/Wallet.tsx +213 -0
  286. package/evals/tasks/react-wallet/faulty/thin-transfer-as-query/meta.json +5 -0
  287. package/evals/tasks/react-wallet/faulty/thin-transfer-as-query/src/Wallet.tsx +254 -0
  288. package/evals/tasks/react-wallet/faulty/thin-truncates-fraction-digits/meta.json +5 -0
  289. package/evals/tasks/react-wallet/faulty/thin-truncates-fraction-digits/src/Wallet.tsx +215 -0
  290. package/evals/tasks/react-wallet/faulty/thin-unguarded-balance-effect/meta.json +5 -0
  291. package/evals/tasks/react-wallet/faulty/thin-unguarded-balance-effect/src/Wallet.tsx +214 -0
  292. package/evals/tasks/react-wallet/faulty/v3-http-4xx-unknown/meta.json +5 -0
  293. package/evals/tasks/react-wallet/faulty/v3-http-4xx-unknown/src/Wallet.tsx +224 -0
  294. package/evals/tasks/react-wallet/faulty/v3-mutation-retry-3/meta.json +12 -0
  295. package/evals/tasks/react-wallet/faulty/v3-mutation-retry-3/src/Wallet.tsx +225 -0
  296. package/evals/tasks/react-wallet/faulty/v3-unknown-as-error/meta.json +11 -0
  297. package/evals/tasks/react-wallet/faulty/v3-unknown-as-error/src/Wallet.tsx +182 -0
  298. package/evals/tasks/react-wallet/faulty/v4-every-reject-unknown/meta.json +5 -0
  299. package/evals/tasks/react-wallet/faulty/v4-every-reject-unknown/src/Wallet.tsx +160 -0
  300. package/evals/tasks/react-wallet/faulty/v4-keep-previous-data/meta.json +5 -0
  301. package/evals/tasks/react-wallet/faulty/v4-keep-previous-data/src/Wallet.tsx +166 -0
  302. package/evals/tasks/react-wallet/faulty/v4-proto-every-reject-unknown/meta.json +5 -0
  303. package/evals/tasks/react-wallet/faulty/v4-proto-every-reject-unknown/src/Wallet.tsx +161 -0
  304. package/evals/tasks/react-wallet/faulty/v4-proto-keep-previous-data/meta.json +5 -0
  305. package/evals/tasks/react-wallet/faulty/v4-proto-keep-previous-data/src/Wallet.tsx +163 -0
  306. package/evals/tasks/react-wallet/faulty/v4-proto-retry-spread/meta.json +12 -0
  307. package/evals/tasks/react-wallet/faulty/v4-proto-retry-spread/src/Wallet.tsx +162 -0
  308. package/evals/tasks/react-wallet/faulty/v4-proto-status-not-idle/meta.json +5 -0
  309. package/evals/tasks/react-wallet/faulty/v4-proto-status-not-idle/src/Wallet.tsx +163 -0
  310. package/evals/tasks/react-wallet/faulty/v4-retry-spread/meta.json +12 -0
  311. package/evals/tasks/react-wallet/faulty/v4-retry-spread/src/Wallet.tsx +163 -0
  312. package/evals/tasks/react-wallet/faulty/v4-status-not-idle/meta.json +5 -0
  313. package/evals/tasks/react-wallet/faulty/v4-status-not-idle/src/Wallet.tsx +162 -0
  314. package/evals/tasks/react-wallet/hidden/react-wallet.test.ts +536 -0
  315. package/evals/tasks/react-wallet/prompt.md +88 -0
  316. package/evals/tasks/react-wallet/prompt.minimal.md +51 -0
  317. package/evals/tasks/react-wallet/solutions/thin/reference/src/Wallet.tsx +213 -0
  318. package/evals/tasks/react-wallet/solutions/thin/reference-module-scope/src/Wallet.tsx +227 -0
  319. package/evals/tasks/react-wallet/solutions/thin-guide/reference/src/Wallet.tsx +213 -0
  320. package/evals/tasks/react-wallet/solutions/thin-guide/reference-module-scope/src/Wallet.tsx +227 -0
  321. package/evals/tasks/react-wallet/solutions/v3/reference/src/Wallet.tsx +224 -0
  322. package/evals/tasks/react-wallet/solutions/v3/reference-module-scope/src/Wallet.tsx +230 -0
  323. package/evals/tasks/react-wallet/solutions/v4/reference/src/Wallet.tsx +160 -0
  324. package/evals/tasks/react-wallet/solutions/v4/reference-module-scope/src/Wallet.tsx +178 -0
  325. package/evals/tasks/react-wallet/solutions/v4-proto/reference/src/Wallet.tsx +161 -0
  326. package/evals/tasks/react-wallet/solutions/v4-proto/reference-module-scope/src/Wallet.tsx +161 -0
  327. package/evals/tasks/react-wallet/starter/src/Wallet.tsx +12 -0
  328. package/evals/tasks/react-wallet/starter/src/auth.ts +16 -0
  329. package/evals/tasks/react-wallet/starter/src/config.ts +14 -0
  330. package/evals/tasks/react-wallet/starter/src/ii-auth.ts +43 -0
  331. package/evals/tasks/react-wallet/starter/src/main.tsx +15 -0
  332. package/evals/tasks/react-wallet/starter/test/smoke.test.ts +34 -0
  333. package/evals/tasks/react-wallet/starter/tsconfig.json +18 -0
  334. package/evals/tasks/react-wallet/task.json +84 -0
  335. package/examples/canister-studio/.stackblitzrc +4 -0
  336. package/examples/canister-studio/README.md +183 -0
  337. package/examples/canister-studio/did/ckbtc_minter.did +806 -0
  338. package/examples/canister-studio/did/icp_ledger.did +586 -0
  339. package/examples/canister-studio/did/icrc1.did +88 -0
  340. package/examples/canister-studio/package.json +45 -0
  341. package/examples/canister-studio/scripts/smoke.ts +188 -0
  342. package/examples/canister-studio/src/calls/CacheKeyPanel.tsx +104 -0
  343. package/examples/canister-studio/src/calls/ConfirmWrite.tsx +265 -0
  344. package/examples/canister-studio/src/calls/ErrorPanel.test.tsx +113 -0
  345. package/examples/canister-studio/src/calls/ErrorPanel.tsx +214 -0
  346. package/examples/canister-studio/src/calls/MethodRunner.test.tsx +354 -0
  347. package/examples/canister-studio/src/calls/MethodRunner.tsx +57 -0
  348. package/examples/canister-studio/src/calls/ReadRunner.tsx +244 -0
  349. package/examples/canister-studio/src/calls/ResendPanel.tsx +165 -0
  350. package/examples/canister-studio/src/calls/ShareLink.tsx +59 -0
  351. package/examples/canister-studio/src/calls/WriteRunner.test.tsx +678 -0
  352. package/examples/canister-studio/src/calls/WriteRunner.tsx +670 -0
  353. package/examples/canister-studio/src/calls/dedupe.ts +189 -0
  354. package/examples/canister-studio/src/calls/error-info.ts +168 -0
  355. package/examples/canister-studio/src/calls/history.test.ts +284 -0
  356. package/examples/canister-studio/src/calls/history.ts +287 -0
  357. package/examples/canister-studio/src/calls/kinds.ts +68 -0
  358. package/examples/canister-studio/src/calls/prepare.ts +32 -0
  359. package/examples/canister-studio/src/calls/query-options.ts +30 -0
  360. package/examples/canister-studio/src/calls/read.ts +47 -0
  361. package/examples/canister-studio/src/calls/readback.ts +100 -0
  362. package/examples/canister-studio/src/calls/record.ts +123 -0
  363. package/examples/canister-studio/src/calls/safe-calls.test.ts +299 -0
  364. package/examples/canister-studio/src/calls/share.ts +46 -0
  365. package/examples/canister-studio/src/calls/testing/doubles.tsx +108 -0
  366. package/examples/canister-studio/src/calls/testing/fixtures.ts +185 -0
  367. package/examples/canister-studio/src/calls/useCanisterHandle.ts +35 -0
  368. package/examples/canister-studio/src/canisters/ckbtc_minter.envelope.json +4228 -0
  369. package/examples/canister-studio/src/canisters/ckbtc_minter.ts +868 -0
  370. package/examples/canister-studio/src/canisters/icp_ledger.envelope.json +3454 -0
  371. package/examples/canister-studio/src/canisters/icp_ledger.ts +584 -0
  372. package/examples/canister-studio/src/canisters/icrc1.envelope.json +840 -0
  373. package/examples/canister-studio/src/canisters/icrc1.ts +78 -0
  374. package/examples/canister-studio/src/components/ActionButton.tsx +32 -0
  375. package/examples/canister-studio/src/components/AppHeader.tsx +83 -0
  376. package/examples/canister-studio/src/components/AppShell.tsx +29 -0
  377. package/examples/canister-studio/src/components/AuthButton.tsx +79 -0
  378. package/examples/canister-studio/src/components/Badge.tsx +79 -0
  379. package/examples/canister-studio/src/components/CanisterHeader.tsx +200 -0
  380. package/examples/canister-studio/src/components/CanisterJump.tsx +130 -0
  381. package/examples/canister-studio/src/components/Card.tsx +64 -0
  382. package/examples/canister-studio/src/components/Code.tsx +101 -0
  383. package/examples/canister-studio/src/components/CopyButton.tsx +126 -0
  384. package/examples/canister-studio/src/components/Disclosure.tsx +34 -0
  385. package/examples/canister-studio/src/components/EmptyState.tsx +34 -0
  386. package/examples/canister-studio/src/components/MethodList.test.tsx +137 -0
  387. package/examples/canister-studio/src/components/MethodList.tsx +244 -0
  388. package/examples/canister-studio/src/components/Notice.tsx +36 -0
  389. package/examples/canister-studio/src/components/ProvenanceBadge.tsx +44 -0
  390. package/examples/canister-studio/src/components/RouteError.tsx +42 -0
  391. package/examples/canister-studio/src/components/SectionBoundary.tsx +76 -0
  392. package/examples/canister-studio/src/components/Spinner.tsx +33 -0
  393. package/examples/canister-studio/src/components/Tabs.tsx +96 -0
  394. package/examples/canister-studio/src/components/canister/CanisterLoadFailure.test.tsx +56 -0
  395. package/examples/canister-studio/src/components/canister/CanisterLoadFailure.tsx +165 -0
  396. package/examples/canister-studio/src/components/canister/CanisterNotFound.tsx +59 -0
  397. package/examples/canister-studio/src/components/canister/CanisterPending.tsx +33 -0
  398. package/examples/canister-studio/src/components/canister/MethodOverview.tsx +93 -0
  399. package/examples/canister-studio/src/components/canister/MethodWorkspace.test.tsx +201 -0
  400. package/examples/canister-studio/src/components/canister/MethodWorkspace.tsx +187 -0
  401. package/examples/canister-studio/src/components/canister/shared-call.test.ts +186 -0
  402. package/examples/canister-studio/src/components/canister/shared-call.ts +133 -0
  403. package/examples/canister-studio/src/components/canister/shared-link-loader.test.ts +116 -0
  404. package/examples/canister-studio/src/components/canister/use-canister-page.ts +44 -0
  405. package/examples/canister-studio/src/components/canister/workspace-key.test.ts +27 -0
  406. package/examples/canister-studio/src/components/canister/workspace-key.ts +36 -0
  407. package/examples/canister-studio/src/components/canister-id-input.ts +69 -0
  408. package/examples/canister-studio/src/components/canister-names.ts +11 -0
  409. package/examples/canister-studio/src/components/download.ts +34 -0
  410. package/examples/canister-studio/src/components/fallbacks.tsx +33 -0
  411. package/examples/canister-studio/src/components/helpers.test.ts +107 -0
  412. package/examples/canister-studio/src/components/history/HistoryList.tsx +284 -0
  413. package/examples/canister-studio/src/components/home/FeaturedLedger.tsx +149 -0
  414. package/examples/canister-studio/src/components/home/OpenCanister.tsx +99 -0
  415. package/examples/canister-studio/src/components/home/featured.test.tsx +92 -0
  416. package/examples/canister-studio/src/components/home/featured.ts +64 -0
  417. package/examples/canister-studio/src/components/interface/CandidTab.tsx +38 -0
  418. package/examples/canister-studio/src/components/interface/CompatReport.tsx +92 -0
  419. package/examples/canister-studio/src/components/interface/CompatibilityTab.tsx +190 -0
  420. package/examples/canister-studio/src/components/interface/ProjectTab.tsx +196 -0
  421. package/examples/canister-studio/src/components/interface/TypeScriptTab.tsx +114 -0
  422. package/examples/canister-studio/src/components/interface/tools.test.tsx +169 -0
  423. package/examples/canister-studio/src/components/modes.ts +31 -0
  424. package/examples/canister-studio/src/components/playground/MethodPicker.tsx +67 -0
  425. package/examples/canister-studio/src/components/playground/PlaygroundForms.tsx +112 -0
  426. package/examples/canister-studio/src/components/playground/PlaygroundTools.tsx +219 -0
  427. package/examples/canister-studio/src/components/playground/sample.ts +43 -0
  428. package/examples/canister-studio/src/components/playground/target.test.tsx +86 -0
  429. package/examples/canister-studio/src/components/primitives.test.tsx +121 -0
  430. package/examples/canister-studio/src/components/provenance.ts +38 -0
  431. package/examples/canister-studio/src/components/route-render.test.tsx +71 -0
  432. package/examples/canister-studio/src/components/use-task.ts +56 -0
  433. package/examples/canister-studio/src/components/wallet/BalancePanel.tsx +110 -0
  434. package/examples/canister-studio/src/components/wallet/LedgerSummary.tsx +63 -0
  435. package/examples/canister-studio/src/components/wallet/MinterPanel.tsx +255 -0
  436. package/examples/canister-studio/src/components/wallet/SendPanel.test.tsx +297 -0
  437. package/examples/canister-studio/src/components/wallet/SendPanel.tsx +446 -0
  438. package/examples/canister-studio/src/components/wallet/ledgers.test.ts +36 -0
  439. package/examples/canister-studio/src/components/wallet/ledgers.ts +111 -0
  440. package/examples/canister-studio/src/forms/JsonPanel.tsx +157 -0
  441. package/examples/canister-studio/src/forms/MethodForm.test.tsx +369 -0
  442. package/examples/canister-studio/src/forms/MethodForm.tsx +368 -0
  443. package/examples/canister-studio/src/forms/TypedForm.tsx +55 -0
  444. package/examples/canister-studio/src/forms/context.ts +62 -0
  445. package/examples/canister-studio/src/forms/convert.ts +131 -0
  446. package/examples/canister-studio/src/forms/edge.test.ts +252 -0
  447. package/examples/canister-studio/src/forms/engine.test.ts +358 -0
  448. package/examples/canister-studio/src/forms/engine.ts +1492 -0
  449. package/examples/canister-studio/src/forms/fields/BytesField.tsx +210 -0
  450. package/examples/canister-studio/src/forms/fields/Field.tsx +106 -0
  451. package/examples/canister-studio/src/forms/fields/FieldShell.tsx +101 -0
  452. package/examples/canister-studio/src/forms/fields/Group.tsx +74 -0
  453. package/examples/canister-studio/src/forms/fields/ListField.tsx +256 -0
  454. package/examples/canister-studio/src/forms/fields/Segmented.tsx +78 -0
  455. package/examples/canister-studio/src/forms/fields/TimestampField.tsx +108 -0
  456. package/examples/canister-studio/src/forms/fields/UnitsField.tsx +119 -0
  457. package/examples/canister-studio/src/forms/fields/composites.tsx +389 -0
  458. package/examples/canister-studio/src/forms/fields/leaves.tsx +350 -0
  459. package/examples/canister-studio/src/forms/fields.test.tsx +396 -0
  460. package/examples/canister-studio/src/forms/helpers.test.ts +225 -0
  461. package/examples/canister-studio/src/forms/hints.ts +128 -0
  462. package/examples/canister-studio/src/forms/json.ts +119 -0
  463. package/examples/canister-studio/src/forms/parsing.test.ts +217 -0
  464. package/examples/canister-studio/src/forms/useMethodForm.ts +251 -0
  465. package/examples/canister-studio/src/interface/browser.test.ts +23 -0
  466. package/examples/canister-studio/src/interface/browser.ts +153 -0
  467. package/examples/canister-studio/src/interface/cache.ts +68 -0
  468. package/examples/canister-studio/src/interface/cli-cache.test.ts +155 -0
  469. package/examples/canister-studio/src/interface/cli-cache.ts +125 -0
  470. package/examples/canister-studio/src/interface/compile.server.test.ts +198 -0
  471. package/examples/canister-studio/src/interface/compile.server.ts +262 -0
  472. package/examples/canister-studio/src/interface/compile.test.ts +108 -0
  473. package/examples/canister-studio/src/interface/compile.ts +305 -0
  474. package/examples/canister-studio/src/interface/docs.test.ts +75 -0
  475. package/examples/canister-studio/src/interface/docs.ts +100 -0
  476. package/examples/canister-studio/src/interface/functions.test.ts +42 -0
  477. package/examples/canister-studio/src/interface/functions.ts +200 -0
  478. package/examples/canister-studio/src/interface/live-candid.server.ts +91 -0
  479. package/examples/canister-studio/src/interface/live-loader.test.ts +515 -0
  480. package/examples/canister-studio/src/interface/live-loader.ts +364 -0
  481. package/examples/canister-studio/src/interface/load.test.ts +328 -0
  482. package/examples/canister-studio/src/interface/load.ts +249 -0
  483. package/examples/canister-studio/src/interface/read-candid.test.ts +185 -0
  484. package/examples/canister-studio/src/interface/read-candid.ts +233 -0
  485. package/examples/canister-studio/src/interface/server-result.ts +42 -0
  486. package/examples/canister-studio/src/interface/typed.ts +68 -0
  487. package/examples/canister-studio/src/interface/types.ts +121 -0
  488. package/examples/canister-studio/src/lib/format.test.ts +107 -0
  489. package/examples/canister-studio/src/lib/format.ts +139 -0
  490. package/examples/canister-studio/src/lib/hex.test.ts +43 -0
  491. package/examples/canister-studio/src/lib/hex.ts +33 -0
  492. package/examples/canister-studio/src/lib/ids.test.ts +70 -0
  493. package/examples/canister-studio/src/lib/ids.ts +93 -0
  494. package/examples/canister-studio/src/lib/reactor.test.ts +55 -0
  495. package/examples/canister-studio/src/lib/reactor.ts +55 -0
  496. package/examples/canister-studio/src/lib/registry.test.ts +74 -0
  497. package/examples/canister-studio/src/lib/registry.ts +238 -0
  498. package/examples/canister-studio/src/lib/schema.ts +148 -0
  499. package/examples/canister-studio/src/routeTree.gen.ts +227 -0
  500. package/examples/canister-studio/src/router.test.ts +290 -0
  501. package/examples/canister-studio/src/router.tsx +127 -0
  502. package/examples/canister-studio/src/routes/__root.tsx +58 -0
  503. package/examples/canister-studio/src/routes/canister.$canisterId.index.tsx +172 -0
  504. package/examples/canister-studio/src/routes/canister.$canisterId.interface.tsx +98 -0
  505. package/examples/canister-studio/src/routes/canister.$canisterId.tsx +91 -0
  506. package/examples/canister-studio/src/routes/history.tsx +55 -0
  507. package/examples/canister-studio/src/routes/index.tsx +169 -0
  508. package/examples/canister-studio/src/routes/playground.tsx +286 -0
  509. package/examples/canister-studio/src/routes/safety.tsx +57 -0
  510. package/examples/canister-studio/src/routes/wallet.tsx +213 -0
  511. package/examples/canister-studio/src/safety/LabTransferForm.tsx +84 -0
  512. package/examples/canister-studio/src/safety/RequestLog.tsx +79 -0
  513. package/examples/canister-studio/src/safety/SafetyLab.test.tsx +89 -0
  514. package/examples/canister-studio/src/safety/SafetyLab.tsx +140 -0
  515. package/examples/canister-studio/src/safety/ScenarioCard.tsx +262 -0
  516. package/examples/canister-studio/src/safety/lab-run.ts +283 -0
  517. package/examples/canister-studio/src/safety/mock-ledger.test.ts +99 -0
  518. package/examples/canister-studio/src/safety/mock-ledger.ts +263 -0
  519. package/examples/canister-studio/src/safety/scenarios.test.ts +157 -0
  520. package/examples/canister-studio/src/safety/scenarios.ts +924 -0
  521. package/examples/canister-studio/src/styles.css +3453 -0
  522. package/examples/canister-studio/src/styles.test.ts +46 -0
  523. package/examples/canister-studio/src/values/CallPreview.test.tsx +86 -0
  524. package/examples/canister-studio/src/values/CallPreview.tsx +148 -0
  525. package/examples/canister-studio/src/values/ErrValueView.tsx +66 -0
  526. package/examples/canister-studio/src/values/Inspector.tsx +133 -0
  527. package/examples/canister-studio/src/values/ReplyView.test.tsx +341 -0
  528. package/examples/canister-studio/src/values/ReplyView.tsx +164 -0
  529. package/examples/canister-studio/src/values/candid-text.test.ts +516 -0
  530. package/examples/canister-studio/src/values/candid-text.ts +479 -0
  531. package/examples/canister-studio/src/values/hints.ts +58 -0
  532. package/examples/canister-studio/src/values/json.test.ts +66 -0
  533. package/examples/canister-studio/src/values/json.ts +31 -0
  534. package/examples/canister-studio/src/values/leaves.tsx +309 -0
  535. package/examples/canister-studio/src/values/schema.test.ts +123 -0
  536. package/examples/canister-studio/src/values/schema.ts +78 -0
  537. package/examples/canister-studio/src/values/test-router.tsx +21 -0
  538. package/examples/canister-studio/src/values/tree.tsx +670 -0
  539. package/examples/canister-studio/src/values/use-sha256.ts +29 -0
  540. package/examples/canister-studio/tsconfig.json +20 -0
  541. package/examples/canister-studio/vite.config.ts +50 -0
  542. package/examples/canister-studio/vitest.config.ts +20 -0
  543. package/examples/icrc-ledger/.stackblitzrc +4 -0
  544. package/examples/icrc-ledger/README.md +100 -0
  545. package/examples/icrc-ledger/ckbtc_minter.did +12 -0
  546. package/examples/icrc-ledger/icp_ledger.did +147 -0
  547. package/examples/icrc-ledger/icrc1.did +88 -0
  548. package/examples/icrc-ledger/index.html +13 -0
  549. package/examples/icrc-ledger/package.json +40 -0
  550. package/examples/icrc-ledger/scripts/smoke.ts +151 -0
  551. package/examples/icrc-ledger/src/App.tsx +71 -0
  552. package/examples/icrc-ledger/src/ErrorPanel.tsx +105 -0
  553. package/examples/icrc-ledger/src/MainnetTab.tsx +450 -0
  554. package/examples/icrc-ledger/src/SandboxTab.test.tsx +379 -0
  555. package/examples/icrc-ledger/src/SandboxTab.tsx +761 -0
  556. package/examples/icrc-ledger/src/blocks.test.ts +247 -0
  557. package/examples/icrc-ledger/src/blocks.ts +140 -0
  558. package/examples/icrc-ledger/src/canisters/ckbtc_minter.envelope.json +96 -0
  559. package/examples/icrc-ledger/src/canisters/ckbtc_minter.ts +16 -0
  560. package/examples/icrc-ledger/src/canisters/icp_ledger.envelope.json +690 -0
  561. package/examples/icrc-ledger/src/canisters/icp_ledger.ts +223 -0
  562. package/examples/icrc-ledger/src/canisters/icrc1.envelope.json +840 -0
  563. package/examples/icrc-ledger/src/canisters/icrc1.ts +78 -0
  564. package/examples/icrc-ledger/src/format.test.ts +41 -0
  565. package/examples/icrc-ledger/src/format.ts +68 -0
  566. package/examples/icrc-ledger/src/ledger.ts +15 -0
  567. package/examples/icrc-ledger/src/main.tsx +10 -0
  568. package/examples/icrc-ledger/src/minter.ts +16 -0
  569. package/examples/icrc-ledger/src/sandbox.test.ts +464 -0
  570. package/examples/icrc-ledger/src/sandbox.ts +281 -0
  571. package/examples/icrc-ledger/src/styles.css +391 -0
  572. package/examples/icrc-ledger/src/transfer-form.test.ts +62 -0
  573. package/examples/icrc-ledger/src/transfer-form.ts +97 -0
  574. package/examples/icrc-ledger/tsconfig.json +19 -0
  575. package/examples/icrc-ledger/vite.config.ts +44 -0
  576. package/examples/icrc-ledger/vitest.config.ts +12 -0
  577. package/examples/next-ssr/.stackblitzrc +4 -0
  578. package/examples/next-ssr/README.md +112 -0
  579. package/examples/next-ssr/icrc1.did +88 -0
  580. package/examples/next-ssr/next.config.ts +10 -0
  581. package/examples/next-ssr/package.json +41 -0
  582. package/examples/next-ssr/scripts/smoke.ts +169 -0
  583. package/examples/next-ssr/src/app/account/CertifiedBalances.tsx +58 -0
  584. package/examples/next-ssr/src/app/account/account.test.tsx +165 -0
  585. package/examples/next-ssr/src/app/account/page.tsx +82 -0
  586. package/examples/next-ssr/src/app/api/balance/[ledger]/[principal]/route.ts +10 -0
  587. package/examples/next-ssr/src/app/globals.css +278 -0
  588. package/examples/next-ssr/src/app/layout.tsx +34 -0
  589. package/examples/next-ssr/src/app/page.tsx +46 -0
  590. package/examples/next-ssr/src/app/providers.browser.test.tsx +127 -0
  591. package/examples/next-ssr/src/app/providers.test.tsx +73 -0
  592. package/examples/next-ssr/src/app/providers.tsx +60 -0
  593. package/examples/next-ssr/src/canisters/icrc1.envelope.json +840 -0
  594. package/examples/next-ssr/src/canisters/icrc1.ts +78 -0
  595. package/examples/next-ssr/src/components/BalanceTable.tsx +43 -0
  596. package/examples/next-ssr/src/components/LedgerCard.test.tsx +96 -0
  597. package/examples/next-ssr/src/components/LedgerCard.tsx +230 -0
  598. package/examples/next-ssr/src/components/LedgerError.tsx +32 -0
  599. package/examples/next-ssr/src/components/LedgerSections.tsx +22 -0
  600. package/examples/next-ssr/src/components/MyBalances.test.tsx +253 -0
  601. package/examples/next-ssr/src/components/MyBalances.tsx +129 -0
  602. package/examples/next-ssr/src/components/SessionBadge.tsx +18 -0
  603. package/examples/next-ssr/src/components/hydration.test.tsx +259 -0
  604. package/examples/next-ssr/src/components/server-data.ts +10 -0
  605. package/examples/next-ssr/src/format.ts +46 -0
  606. package/examples/next-ssr/src/ledgers.ts +38 -0
  607. package/examples/next-ssr/src/server/balance-route.test.ts +151 -0
  608. package/examples/next-ssr/src/server/balance-route.ts +157 -0
  609. package/examples/next-ssr/src/server/error-summary.test.ts +34 -0
  610. package/examples/next-ssr/src/server/error-summary.ts +37 -0
  611. package/examples/next-ssr/src/server/parse-owner.test.ts +39 -0
  612. package/examples/next-ssr/src/server/parse-owner.ts +34 -0
  613. package/examples/next-ssr/src/server/prefetch-ledgers.test.ts +137 -0
  614. package/examples/next-ssr/src/server/prefetch-ledgers.ts +70 -0
  615. package/examples/next-ssr/src/server/read-balances.test.ts +103 -0
  616. package/examples/next-ssr/src/server/read-balances.ts +78 -0
  617. package/examples/next-ssr/src/server/request-client.rsc.test.tsx +110 -0
  618. package/examples/next-ssr/src/server/request-client.ts +24 -0
  619. package/examples/next-ssr/src/testing/mock-ledgers.ts +115 -0
  620. package/examples/next-ssr/src/testing/react-server-dom-turbopack.d.ts +15 -0
  621. package/examples/next-ssr/src/testing/setup.ts +10 -0
  622. package/examples/next-ssr/tsconfig.json +31 -0
  623. package/examples/next-ssr/vitest.config.ts +59 -0
  624. package/examples/node-agent-tool/.stackblitzrc +4 -0
  625. package/examples/node-agent-tool/README.md +165 -0
  626. package/examples/node-agent-tool/icp.yaml +11 -0
  627. package/examples/node-agent-tool/icrc1.did +88 -0
  628. package/examples/node-agent-tool/package.json +32 -0
  629. package/examples/node-agent-tool/src/canisters/icrc1.envelope.json +840 -0
  630. package/examples/node-agent-tool/src/canisters/icrc1.ts +78 -0
  631. package/examples/node-agent-tool/src/cli.test.ts +64 -0
  632. package/examples/node-agent-tool/src/cli.ts +23 -0
  633. package/examples/node-agent-tool/src/command-line.ts +159 -0
  634. package/examples/node-agent-tool/src/commands/balance.ts +73 -0
  635. package/examples/node-agent-tool/src/commands/demo.test.ts +51 -0
  636. package/examples/node-agent-tool/src/commands/demo.ts +359 -0
  637. package/examples/node-agent-tool/src/commands/info.ts +69 -0
  638. package/examples/node-agent-tool/src/commands/reads.test.ts +133 -0
  639. package/examples/node-agent-tool/src/commands/resend.test.ts +363 -0
  640. package/examples/node-agent-tool/src/commands/transfer.test.ts +313 -0
  641. package/examples/node-agent-tool/src/commands/transfer.ts +415 -0
  642. package/examples/node-agent-tool/src/commands/watch.test.ts +159 -0
  643. package/examples/node-agent-tool/src/commands/watch.ts +135 -0
  644. package/examples/node-agent-tool/src/commands/whoami.ts +36 -0
  645. package/examples/node-agent-tool/src/context.ts +20 -0
  646. package/examples/node-agent-tool/src/dispatch.ts +70 -0
  647. package/examples/node-agent-tool/src/failure.test.ts +59 -0
  648. package/examples/node-agent-tool/src/failure.ts +176 -0
  649. package/examples/node-agent-tool/src/identity.test.ts +242 -0
  650. package/examples/node-agent-tool/src/identity.ts +228 -0
  651. package/examples/node-agent-tool/src/input.ts +110 -0
  652. package/examples/node-agent-tool/src/ledgers.test.ts +74 -0
  653. package/examples/node-agent-tool/src/ledgers.ts +62 -0
  654. package/examples/node-agent-tool/src/mock-ledger.ts +211 -0
  655. package/examples/node-agent-tool/src/network.test.ts +128 -0
  656. package/examples/node-agent-tool/src/network.ts +101 -0
  657. package/examples/node-agent-tool/src/output.test.ts +208 -0
  658. package/examples/node-agent-tool/src/output.ts +163 -0
  659. package/examples/node-agent-tool/src/run.ts +73 -0
  660. package/examples/node-agent-tool/src/test-kit.ts +167 -0
  661. package/examples/node-agent-tool/tsconfig.json +18 -0
  662. package/examples/node-agent-tool/vitest.config.ts +8 -0
  663. package/examples/vite-wallet/.stackblitzrc +4 -0
  664. package/examples/vite-wallet/Cargo.lock +646 -0
  665. package/examples/vite-wallet/Cargo.toml +5 -0
  666. package/examples/vite-wallet/README.md +107 -0
  667. package/examples/vite-wallet/backend/Cargo.toml +12 -0
  668. package/examples/vite-wallet/backend/backend.did +37 -0
  669. package/examples/vite-wallet/backend/src/lib.rs +133 -0
  670. package/examples/vite-wallet/icp.yaml +44 -0
  671. package/examples/vite-wallet/index.html +13 -0
  672. package/examples/vite-wallet/ledger.did +54 -0
  673. package/examples/vite-wallet/package.json +46 -0
  674. package/examples/vite-wallet/public/.ic-assets.json5 +26 -0
  675. package/examples/vite-wallet/scripts/faucet-args.test.ts +30 -0
  676. package/examples/vite-wallet/scripts/faucet-args.ts +41 -0
  677. package/examples/vite-wallet/scripts/faucet.ts +41 -0
  678. package/examples/vite-wallet/src/AddressBook.test.tsx +191 -0
  679. package/examples/vite-wallet/src/AddressBook.tsx +147 -0
  680. package/examples/vite-wallet/src/App.tsx +53 -0
  681. package/examples/vite-wallet/src/Balance.test.tsx +57 -0
  682. package/examples/vite-wallet/src/Balance.tsx +58 -0
  683. package/examples/vite-wallet/src/EnvironmentPanel.test.tsx +83 -0
  684. package/examples/vite-wallet/src/EnvironmentPanel.tsx +103 -0
  685. package/examples/vite-wallet/src/ErrorNote.tsx +70 -0
  686. package/examples/vite-wallet/src/Profile.test.tsx +145 -0
  687. package/examples/vite-wallet/src/Profile.tsx +92 -0
  688. package/examples/vite-wallet/src/SendIcp.test.tsx +231 -0
  689. package/examples/vite-wallet/src/SendIcp.tsx +244 -0
  690. package/examples/vite-wallet/src/SendToContact.test.tsx +113 -0
  691. package/examples/vite-wallet/src/SendToContact.tsx +102 -0
  692. package/examples/vite-wallet/src/SignIn.test.tsx +106 -0
  693. package/examples/vite-wallet/src/SignIn.tsx +120 -0
  694. package/examples/vite-wallet/src/Wallet.test.tsx +89 -0
  695. package/examples/vite-wallet/src/account-switch.test.tsx +108 -0
  696. package/examples/vite-wallet/src/auth/dev-accounts.test.ts +113 -0
  697. package/examples/vite-wallet/src/auth/dev-accounts.ts +216 -0
  698. package/examples/vite-wallet/src/auth/local-page.test.ts +28 -0
  699. package/examples/vite-wallet/src/auth/local-page.ts +20 -0
  700. package/examples/vite-wallet/src/auth/wallet-auth.test.ts +159 -0
  701. package/examples/vite-wallet/src/auth/wallet-auth.ts +131 -0
  702. package/examples/vite-wallet/src/canisters/backend.envelope.json +275 -0
  703. package/examples/vite-wallet/src/canisters/backend.ts +58 -0
  704. package/examples/vite-wallet/src/canisters/ledger.envelope.json +451 -0
  705. package/examples/vite-wallet/src/canisters/ledger.ts +56 -0
  706. package/examples/vite-wallet/src/client.ts +45 -0
  707. package/examples/vite-wallet/src/main.tsx +18 -0
  708. package/examples/vite-wallet/src/optimistic-contacts.ts +113 -0
  709. package/examples/vite-wallet/src/refusal.ts +17 -0
  710. package/examples/vite-wallet/src/styles.css +282 -0
  711. package/examples/vite-wallet/src/test/test-wallet.tsx +322 -0
  712. package/examples/vite-wallet/src/token.ts +50 -0
  713. package/examples/vite-wallet/src/transfer.test.ts +178 -0
  714. package/examples/vite-wallet/src/transfer.ts +110 -0
  715. package/examples/vite-wallet/src/use-canisters.ts +49 -0
  716. package/examples/vite-wallet/tsconfig.json +19 -0
  717. package/examples/vite-wallet/vite.config.ts +47 -0
  718. package/examples/vite-wallet/vitest.config.ts +17 -0
  719. package/package.json +9 -4
  720. package/packages/core/.size-limit.js +47 -0
  721. package/packages/core/LICENSE +21 -0
  722. package/packages/core/README.md +84 -0
  723. package/packages/core/llms.txt +610 -0
  724. package/packages/core/package.json +89 -0
  725. package/packages/core/src/call.ts +961 -0
  726. package/packages/core/src/canister.ts +259 -0
  727. package/packages/core/src/client.ts +2061 -0
  728. package/packages/core/src/errors.ts +1079 -0
  729. package/packages/core/src/hydration.ts +239 -0
  730. package/packages/core/src/index.ts +23 -0
  731. package/packages/core/src/keys.ts +108 -0
  732. package/packages/core/src/management.ts +138 -0
  733. package/packages/core/src/network.ts +1020 -0
  734. package/packages/core/src/options.ts +1000 -0
  735. package/packages/core/src/runtime.ts +50 -0
  736. package/packages/core/src/testing/fake-replica.ts +1166 -0
  737. package/packages/core/src/testing/index.ts +16 -0
  738. package/packages/core/src/testing/test-auth.ts +340 -0
  739. package/packages/core/src/testing/test-client.ts +559 -0
  740. package/packages/core/src/types.ts +541 -0
  741. package/packages/core/src/units.ts +299 -0
  742. package/packages/core/src/version.ts +4 -0
  743. package/packages/core/tests/canister-helpers.ts +187 -0
  744. package/packages/core/tests/canister-id.test.ts +158 -0
  745. package/packages/core/tests/canister-unwrap.test.ts +94 -0
  746. package/packages/core/tests/canister.test-d.ts +406 -0
  747. package/packages/core/tests/canister.test.ts +1921 -0
  748. package/packages/core/tests/client-account-change.test.ts +131 -0
  749. package/packages/core/tests/client-agents.test.ts +402 -0
  750. package/packages/core/tests/client-auth-network.test.ts +719 -0
  751. package/packages/core/tests/client-disposed.test.ts +403 -0
  752. package/packages/core/tests/client-helpers.ts +136 -0
  753. package/packages/core/tests/client-hydration.test.ts +166 -0
  754. package/packages/core/tests/client-pinned.test.ts +626 -0
  755. package/packages/core/tests/client-session.test.ts +348 -0
  756. package/packages/core/tests/client.test-d.ts +181 -0
  757. package/packages/core/tests/client.test.ts +1162 -0
  758. package/packages/core/tests/encode.test.ts +171 -0
  759. package/packages/core/tests/env-canister-id.test.ts +666 -0
  760. package/packages/core/tests/env-cookie-copies.test.ts +182 -0
  761. package/packages/core/tests/error-guard.test.ts +222 -0
  762. package/packages/core/tests/errors.test-d.ts +280 -0
  763. package/packages/core/tests/errors.test.ts +1359 -0
  764. package/packages/core/tests/fixtures/README.md +28 -0
  765. package/packages/core/tests/fixtures/accounts.did +21 -0
  766. package/packages/core/tests/fixtures/accounts.envelope.json +367 -0
  767. package/packages/core/tests/fixtures/accounts.ts +26 -0
  768. package/packages/core/tests/fixtures/archive.did +31 -0
  769. package/packages/core/tests/fixtures/archive.envelope.json +259 -0
  770. package/packages/core/tests/fixtures/archive.ts +55 -0
  771. package/packages/core/tests/fixtures/icrc1.did +88 -0
  772. package/packages/core/tests/fixtures/icrc1.envelope.json +840 -0
  773. package/packages/core/tests/fixtures/icrc1.ts +78 -0
  774. package/packages/core/tests/fixtures/management.did +724 -0
  775. package/packages/core/tests/fixtures/management.envelope.json +4455 -0
  776. package/packages/core/tests/fixtures/management.ts +486 -0
  777. package/packages/core/tests/fixtures/shapes.did +33 -0
  778. package/packages/core/tests/fixtures/shapes.envelope.json +440 -0
  779. package/packages/core/tests/fixtures/shapes.ts +56 -0
  780. package/packages/core/tests/fixtures/skippable.did +15 -0
  781. package/packages/core/tests/fixtures/skippable.envelope.json +182 -0
  782. package/packages/core/tests/fixtures/skippable.ts +33 -0
  783. package/packages/core/tests/func.test.ts +154 -0
  784. package/packages/core/tests/identity-attributes.test.ts +214 -0
  785. package/packages/core/tests/keys.test.ts +289 -0
  786. package/packages/core/tests/management.test.ts +206 -0
  787. package/packages/core/tests/network-helpers.ts +121 -0
  788. package/packages/core/tests/network.test-d.ts +78 -0
  789. package/packages/core/tests/network.test.ts +1051 -0
  790. package/packages/core/tests/options.test.ts +1594 -0
  791. package/packages/core/tests/redirect-sign-in.test.ts +393 -0
  792. package/packages/core/tests/resend.test-d.ts +81 -0
  793. package/packages/core/tests/resend.test.ts +723 -0
  794. package/packages/core/tests/skip.test-d.ts +125 -0
  795. package/packages/core/tests/testing-entry.test.ts +73 -0
  796. package/packages/core/tests/testing-fake-replica.test.ts +1242 -0
  797. package/packages/core/tests/testing-test-auth.test-d.ts +84 -0
  798. package/packages/core/tests/testing-test-auth.test.ts +483 -0
  799. package/packages/core/tests/testing-test-client.test-d.ts +184 -0
  800. package/packages/core/tests/testing-test-client.test.ts +1272 -0
  801. package/packages/core/tests/time-realm.test.ts +63 -0
  802. package/packages/core/tests/time.test.ts +238 -0
  803. package/packages/core/tests/traps/README.md +39 -0
  804. package/packages/core/tests/traps/anonymous-write.test.ts +145 -0
  805. package/packages/core/tests/traps/classification-table.test.ts +256 -0
  806. package/packages/core/tests/traps/err-arm.test.ts +144 -0
  807. package/packages/core/tests/traps/fetch-spy.ts +39 -0
  808. package/packages/core/tests/traps/invalidation-after-write.test.ts +178 -0
  809. package/packages/core/tests/traps/ledger.ts +248 -0
  810. package/packages/core/tests/traps/root-key-off-local.test.ts +130 -0
  811. package/packages/core/tests/traps/stale-data-across-users.test.ts +173 -0
  812. package/packages/core/tests/traps/unresolved-name.test.ts +155 -0
  813. package/packages/core/tests/traps/update-as-query.test.ts +244 -0
  814. package/packages/core/tests/traps/update-not-resent.test.ts +126 -0
  815. package/packages/core/tests/traps/update-resent-when-never-delivered.test.ts +159 -0
  816. package/packages/core/tests/traps.test-d.ts +476 -0
  817. package/packages/core/tests/units.test-d.ts +118 -0
  818. package/packages/core/tests/units.test.ts +634 -0
  819. package/packages/core/tsconfig.json +19 -0
  820. package/packages/core/tsconfig.typecheck.json +16 -0
  821. package/packages/core/vitest.config.ts +13 -0
  822. package/packages/mcp/LICENSE +21 -0
  823. package/packages/mcp/README.md +189 -0
  824. package/packages/mcp/package.json +62 -0
  825. package/packages/mcp/src/candid/candid-text.test.ts +455 -0
  826. package/packages/mcp/src/candid/candid-text.ts +501 -0
  827. package/packages/mcp/src/candid/contract.test.ts +398 -0
  828. package/packages/mcp/src/candid/formats.ts +155 -0
  829. package/packages/mcp/src/candid/hex.ts +29 -0
  830. package/packages/mcp/src/candid/json-schema.test.ts +758 -0
  831. package/packages/mcp/src/candid/json-schema.ts +454 -0
  832. package/packages/mcp/src/candid/json.test.ts +1207 -0
  833. package/packages/mcp/src/candid/json.ts +1053 -0
  834. package/packages/mcp/src/candid/schema-walk.ts +189 -0
  835. package/packages/mcp/src/candid/type-text.test.ts +179 -0
  836. package/packages/mcp/src/candid/type-text.ts +238 -0
  837. package/packages/mcp/src/cli.ts +134 -0
  838. package/packages/mcp/src/identity.ts +188 -0
  839. package/packages/mcp/src/interface/cache.test.ts +48 -0
  840. package/packages/mcp/src/interface/cache.ts +68 -0
  841. package/packages/mcp/src/interface/cli-cache.test.ts +150 -0
  842. package/packages/mcp/src/interface/cli-cache.ts +122 -0
  843. package/packages/mcp/src/interface/compile-worker.test.ts +246 -0
  844. package/packages/mcp/src/interface/compile-worker.ts +290 -0
  845. package/packages/mcp/src/interface/compile.test.ts +155 -0
  846. package/packages/mcp/src/interface/compile.ts +281 -0
  847. package/packages/mcp/src/interface/docs.test.ts +105 -0
  848. package/packages/mcp/src/interface/docs.ts +86 -0
  849. package/packages/mcp/src/interface/fixtures/icrc1.did +88 -0
  850. package/packages/mcp/src/interface/hex.ts +8 -0
  851. package/packages/mcp/src/interface/ids.test.ts +71 -0
  852. package/packages/mcp/src/interface/ids.ts +87 -0
  853. package/packages/mcp/src/interface/loader.test.ts +804 -0
  854. package/packages/mcp/src/interface/loader.ts +519 -0
  855. package/packages/mcp/src/interface/read-candid.test.ts +300 -0
  856. package/packages/mcp/src/interface/read-candid.ts +259 -0
  857. package/packages/mcp/src/interface/types.ts +113 -0
  858. package/packages/mcp/src/network.ts +122 -0
  859. package/packages/mcp/src/options.ts +149 -0
  860. package/packages/mcp/src/server/approval.ts +159 -0
  861. package/packages/mcp/src/server/naming.ts +43 -0
  862. package/packages/mcp/src/server/results.ts +102 -0
  863. package/packages/mcp/src/server/server.ts +797 -0
  864. package/packages/mcp/src/server/tools.ts +116 -0
  865. package/packages/mcp/src/usage.ts +40 -0
  866. package/packages/mcp/tests/approval.test.ts +60 -0
  867. package/packages/mcp/tests/identity.test.ts +234 -0
  868. package/packages/mcp/tests/naming.test.ts +62 -0
  869. package/packages/mcp/tests/options.test.ts +140 -0
  870. package/packages/mcp/tests/server.test.ts +997 -0
  871. package/packages/mcp/tsconfig.json +19 -0
  872. package/packages/mcp/tsconfig.typecheck.json +10 -0
  873. package/packages/mcp/vitest.config.ts +10 -0
  874. package/packages/react/LICENSE +21 -0
  875. package/packages/react/README.md +328 -0
  876. package/packages/react/llms.txt +95 -0
  877. package/packages/react/package.json +95 -0
  878. package/packages/react/src/index.tsx +678 -0
  879. package/packages/react/tests/abandoned-render.test.tsx +816 -0
  880. package/packages/react/tests/auth.test.tsx +315 -0
  881. package/packages/react/tests/caller-keys.test.tsx +2334 -0
  882. package/packages/react/tests/client-time.test.ts +40 -0
  883. package/packages/react/tests/entry.test.ts +52 -0
  884. package/packages/react/tests/helpers.tsx +291 -0
  885. package/packages/react/tests/hydration.test.tsx +262 -0
  886. package/packages/react/tests/ownership.test.tsx +260 -0
  887. package/packages/react/tests/provider.server.test.tsx +169 -0
  888. package/packages/react/tests/query-client.test.tsx +107 -0
  889. package/packages/react/tests/strict-mode.test.tsx +288 -0
  890. package/packages/react/tests/suspense.test-d.tsx +357 -0
  891. package/packages/react/tests/two-query-cores.test.tsx +135 -0
  892. package/packages/react/tests/types.test-d.tsx +63 -0
  893. package/packages/react/tsconfig.json +23 -0
  894. package/packages/react/tsconfig.test.json +8 -0
  895. package/packages/react/tsconfig.typecheck.json +16 -0
  896. package/packages/react/vitest.config.ts +39 -0
  897. package/packages/vite-plugin/LICENSE +21 -0
  898. package/packages/vite-plugin/README.md +532 -0
  899. package/packages/vite-plugin/package.json +76 -0
  900. package/packages/vite-plugin/src/describe-value.test.ts +43 -0
  901. package/packages/vite-plugin/src/describe-value.ts +167 -0
  902. package/packages/vite-plugin/src/dev-environment.test.ts +747 -0
  903. package/packages/vite-plugin/src/dev-environment.ts +510 -0
  904. package/packages/vite-plugin/src/env.ts +431 -0
  905. package/packages/vite-plugin/src/fetch.ts +348 -0
  906. package/packages/vite-plugin/src/file-identity.ts +106 -0
  907. package/packages/vite-plugin/src/generate.ts +691 -0
  908. package/packages/vite-plugin/src/index.test.ts +1243 -0
  909. package/packages/vite-plugin/src/index.ts +2565 -0
  910. package/packages/vite-plugin/src/interface.ts +339 -0
  911. package/packages/vite-plugin/src/local-host.ts +34 -0
  912. package/packages/vite-plugin/src/options.ts +641 -0
  913. package/packages/vite-plugin/src/principal-text.test.ts +87 -0
  914. package/packages/vite-plugin/src/principal-text.ts +98 -0
  915. package/packages/vite-plugin/tests/close.test.ts +141 -0
  916. package/packages/vite-plugin/tests/environment-mode.test.ts +136 -0
  917. package/packages/vite-plugin/tests/fake-ic.ts +214 -0
  918. package/packages/vite-plugin/tests/fetch-sdk.test.ts +27 -0
  919. package/packages/vite-plugin/tests/fetch.test.ts +1196 -0
  920. package/packages/vite-plugin/tests/fixtures/fake-cli/bin.js +90 -0
  921. package/packages/vite-plugin/tests/fixtures/fake-cli/package.json +8 -0
  922. package/packages/vite-plugin/tests/fixtures/icrc1.did +88 -0
  923. package/packages/vite-plugin/tests/generation.test.ts +1036 -0
  924. package/packages/vite-plugin/tests/icp-command.test.ts +194 -0
  925. package/packages/vite-plugin/tests/icp-timeout.test.ts +83 -0
  926. package/packages/vite-plugin/tests/no-process-exit.test.ts +83 -0
  927. package/packages/vite-plugin/tests/on-generated.test.ts +323 -0
  928. package/packages/vite-plugin/tests/output-collision.test.ts +329 -0
  929. package/packages/vite-plugin/tests/package.test.ts +62 -0
  930. package/packages/vite-plugin/tests/project.test.ts +2993 -0
  931. package/packages/vite-plugin/tests/support.ts +339 -0
  932. package/packages/vite-plugin/tests/timeout.test.ts +107 -0
  933. package/packages/vite-plugin/tsconfig.json +23 -0
  934. package/packages/vite-plugin/tsconfig.typecheck.json +16 -0
  935. package/packages/vite-plugin/vitest.config.ts +9 -0
  936. package/pnpm-workspace.yaml +23 -0
  937. package/scripts/ai-context-files.js +72 -0
  938. package/scripts/assemble-docs-site.mjs +485 -0
  939. package/scripts/assemble-docs-site.test.mjs +568 -0
  940. package/scripts/build-examples.js +58 -0
  941. package/scripts/check-ai-context.js +963 -0
  942. package/scripts/check-ai-context.test.mjs +811 -0
  943. package/scripts/check-exports.mjs +767 -0
  944. package/scripts/check-exports.test.mjs +1136 -0
  945. package/scripts/check-snippets/ambient.d.ts +428 -0
  946. package/scripts/check-snippets/app/generated/backend.did +7 -0
  947. package/scripts/check-snippets/app/generated/backend.ts +15 -0
  948. package/scripts/check-snippets/app/generated/icrc1.did +88 -0
  949. package/scripts/check-snippets/app/generated/icrc1.ts +78 -0
  950. package/scripts/check-snippets/app/globals.ts +26 -0
  951. package/scripts/check-snippets/docs/guides/App.tsx +21 -0
  952. package/scripts/check-snippets/docs/guides/app/providers.tsx +23 -0
  953. package/scripts/check-snippets/docs/guides/auth-client.ts +47 -0
  954. package/scripts/check-snippets/docs/guides/canisters/backend.ts +3 -0
  955. package/scripts/check-snippets/docs/guides/canisters/icrc1.ts +3 -0
  956. package/scripts/check-snippets/docs/guides/components/LedgerCard.tsx +26 -0
  957. package/scripts/check-snippets/docs/guides/components/shell.tsx +11 -0
  958. package/scripts/check-snippets/docs/guides/components/sign-in-page.tsx +29 -0
  959. package/scripts/check-snippets/docs/guides/components/slow-section.tsx +5 -0
  960. package/scripts/check-snippets/docs/guides/generated/accounts.ts +95 -0
  961. package/scripts/check-snippets/docs/guides/generated/ckbtc_minter.ts +40 -0
  962. package/scripts/check-snippets/docs/guides/generated/icp_ledger.ts +267 -0
  963. package/scripts/check-snippets/docs/guides/ledger.ts +10 -0
  964. package/scripts/check-snippets/docs/guides/server/request-client.ts +8 -0
  965. package/scripts/check-snippets.mjs +993 -0
  966. package/scripts/check-snippets.test.mjs +338 -0
  967. package/scripts/check-stack.mjs +501 -0
  968. package/scripts/check-stack.test.mjs +800 -0
  969. package/scripts/clean-node-modules.js +67 -0
  970. package/scripts/example-projects.js +58 -0
  971. package/scripts/export-budget.mjs +145 -0
  972. package/scripts/faults.json +6749 -0
  973. package/scripts/lib/fault-workspace.mjs +210 -0
  974. package/scripts/lib/io.mjs +29 -0
  975. package/scripts/lib/io.test.mjs +38 -0
  976. package/scripts/lib/markdown-fences.mjs +56 -0
  977. package/scripts/lib/markdown-fences.test.mjs +84 -0
  978. package/scripts/lib/package-exports.mjs +54 -0
  979. package/scripts/lib/package-exports.test.mjs +66 -0
  980. package/scripts/lib/release-pr-steps.mjs +47 -0
  981. package/scripts/release-tag.mjs +95 -0
  982. package/scripts/release-tag.test.mjs +278 -0
  983. package/scripts/release-workflow.test.mjs +98 -0
  984. package/scripts/release.js +167 -0
  985. package/scripts/release.test.mjs +347 -0
  986. package/scripts/removed-v3-names.js +125 -0
  987. package/scripts/size-app/.size-limit.js +90 -0
  988. package/scripts/size-app/core.js +3 -0
  989. package/scripts/size-app/package.json +24 -0
  990. package/scripts/size-app/react.js +4 -0
  991. package/scripts/size-app.test.mjs +73 -0
  992. package/scripts/sync-ai-context-versions.js +102 -0
  993. package/scripts/sync-example-versions.js +151 -0
  994. package/scripts/test-examples-published.mjs +1585 -0
  995. package/scripts/test-examples-published.test.mjs +1586 -0
  996. package/scripts/traps/any-method-vars-not-a-list.json +5 -0
  997. package/scripts/traps/canister-method-unknown.json +5 -0
  998. package/scripts/traps/client-says-who-calls-once.json +5 -0
  999. package/scripts/traps/client-says-who-calls.json +5 -0
  1000. package/scripts/traps/err-only-on-canister-err.json +14 -0
  1001. package/scripts/traps/format-units-refuses-missing-value.json +5 -0
  1002. package/scripts/traps/format-units-refuses-number.json +5 -0
  1003. package/scripts/traps/format-units-unknown-option.json +5 -0
  1004. package/scripts/traps/guard-err-is-the-methods.json +5 -0
  1005. package/scripts/traps/guard-false-keeps-every-kind.json +5 -0
  1006. package/scripts/traps/internals-not-exported.json +9 -0
  1007. package/scripts/traps/network-refuses-unknown-name.json +5 -0
  1008. package/scripts/traps/never-err-has-no-type.json +5 -0
  1009. package/scripts/traps/options-method-unknown.json +5 -0
  1010. package/scripts/traps/options-vars-wrong-type.json +5 -0
  1011. package/scripts/traps/parse-units-refuses-number.json +5 -0
  1012. package/scripts/traps/parse-units-unknown-option.json +5 -0
  1013. package/scripts/traps/principal-is-not-plain-text.json +14 -0
  1014. package/scripts/traps/query-options-refuses-oneway.json +5 -0
  1015. package/scripts/traps/query-options-refuses-update.json +5 -0
  1016. package/scripts/traps/refuse-next-unknown-option.json +5 -0
  1017. package/scripts/traps/resend-key-reads-the-methods-arg.json +5 -0
  1018. package/scripts/traps/resend-states-its-dedupe-key.json +5 -0
  1019. package/scripts/traps/suspense-refuses-argument-skip.json +5 -0
  1020. package/scripts/traps/suspense-refuses-skippable-read.json +5 -0
  1021. package/scripts/traps/suspense-refuses-vars-skip-fits.json +5 -0
  1022. package/scripts/traps/test-handler-method-unknown.json +5 -0
  1023. package/scripts/traps/test-handler-nat-is-bigint.json +5 -0
  1024. package/scripts/traps/test-handler-takes-the-domain-value.json +5 -0
  1025. package/scripts/traps/vars-of-two-arguments-are-the-tuple.json +5 -0
  1026. package/scripts/typecheck-examples.js +122 -0
  1027. package/scripts/verify-faults.mjs +375 -0
  1028. package/scripts/verify-faults.test.mjs +402 -0
  1029. package/scripts/verify-package-artifacts.mjs +590 -0
  1030. package/scripts/verify-peer-floors.js +399 -0
  1031. package/scripts/verify-peer-floors.test.mjs +422 -0
  1032. package/scripts/verify-test-fails-rules.mjs +104 -0
  1033. package/scripts/verify-test-fails-rules.test.mjs +215 -0
  1034. package/scripts/verify-test-fails.js +371 -0
  1035. package/scripts/verify-traps.mjs +505 -0
  1036. package/scripts/verify-traps.test.mjs +521 -0
  1037. package/scripts/verify-typescript-floor.js +239 -0
  1038. package/skill-packages/ic-reactor/SKILL.md +103 -0
  1039. package/stack.json +8 -0
  1040. package/tsconfig.base.json +23 -0
  1041. package/tsconfig.json +8 -0
@@ -0,0 +1,1843 @@
1
+ {
2
+ "runs": 40,
3
+ "auth": {
4
+ "oauth": 40
5
+ },
6
+ "effort": {
7
+ "medium": 40
8
+ },
9
+ "prompt": {
10
+ "explicit": 40
11
+ },
12
+ "harnessErrors": 0,
13
+ "harnessErrorKinds": {},
14
+ "contaminated": 0,
15
+ "main": {
16
+ "cells": [
17
+ {
18
+ "task": "node-tool",
19
+ "model": "claude-sonnet-5-5",
20
+ "effort": "medium",
21
+ "prompt": "explicit",
22
+ "condition": "thin",
23
+ "runs": 5,
24
+ "contaminated": 0,
25
+ "harnessErrors": 0,
26
+ "safeRate": 1,
27
+ "safeRateCI95": [
28
+ 0.566,
29
+ 1
30
+ ],
31
+ "meanRequirementsMet": 1,
32
+ "meanRequirementsMetCI95": [
33
+ 1,
34
+ 1
35
+ ],
36
+ "fullPassRate": 1,
37
+ "fullPassRateCI95": [
38
+ 0.566,
39
+ 1
40
+ ],
41
+ "tscCleanRate": 1,
42
+ "perRequirement": {
43
+ "basic_function": {
44
+ "safety": false,
45
+ "passRate": 1,
46
+ "ci95": [
47
+ 0.566,
48
+ 1
49
+ ]
50
+ },
51
+ "root_key_trust": {
52
+ "safety": true,
53
+ "passRate": 1,
54
+ "ci95": [
55
+ 0.566,
56
+ 1
57
+ ]
58
+ },
59
+ "exactness": {
60
+ "safety": true,
61
+ "passRate": 1,
62
+ "ci95": [
63
+ 0.566,
64
+ 1
65
+ ]
66
+ },
67
+ "input_validation": {
68
+ "safety": true,
69
+ "passRate": 1,
70
+ "ci95": [
71
+ 0.566,
72
+ 1
73
+ ]
74
+ },
75
+ "no_anonymous_send": {
76
+ "safety": true,
77
+ "passRate": 1,
78
+ "ci95": [
79
+ 0.566,
80
+ 1
81
+ ]
82
+ },
83
+ "no_resend": {
84
+ "safety": true,
85
+ "passRate": 1,
86
+ "ci95": [
87
+ 0.566,
88
+ 1
89
+ ]
90
+ },
91
+ "outcome_classification": {
92
+ "safety": true,
93
+ "passRate": 1,
94
+ "ci95": [
95
+ 0.566,
96
+ 1
97
+ ]
98
+ }
99
+ }
100
+ },
101
+ {
102
+ "task": "node-tool",
103
+ "model": "claude-sonnet-5-5",
104
+ "effort": "medium",
105
+ "prompt": "explicit",
106
+ "condition": "thin-guide",
107
+ "runs": 5,
108
+ "contaminated": 0,
109
+ "harnessErrors": 0,
110
+ "safeRate": 1,
111
+ "safeRateCI95": [
112
+ 0.566,
113
+ 1
114
+ ],
115
+ "meanRequirementsMet": 1,
116
+ "meanRequirementsMetCI95": [
117
+ 1,
118
+ 1
119
+ ],
120
+ "fullPassRate": 1,
121
+ "fullPassRateCI95": [
122
+ 0.566,
123
+ 1
124
+ ],
125
+ "tscCleanRate": 1,
126
+ "perRequirement": {
127
+ "basic_function": {
128
+ "safety": false,
129
+ "passRate": 1,
130
+ "ci95": [
131
+ 0.566,
132
+ 1
133
+ ]
134
+ },
135
+ "root_key_trust": {
136
+ "safety": true,
137
+ "passRate": 1,
138
+ "ci95": [
139
+ 0.566,
140
+ 1
141
+ ]
142
+ },
143
+ "exactness": {
144
+ "safety": true,
145
+ "passRate": 1,
146
+ "ci95": [
147
+ 0.566,
148
+ 1
149
+ ]
150
+ },
151
+ "input_validation": {
152
+ "safety": true,
153
+ "passRate": 1,
154
+ "ci95": [
155
+ 0.566,
156
+ 1
157
+ ]
158
+ },
159
+ "no_anonymous_send": {
160
+ "safety": true,
161
+ "passRate": 1,
162
+ "ci95": [
163
+ 0.566,
164
+ 1
165
+ ]
166
+ },
167
+ "no_resend": {
168
+ "safety": true,
169
+ "passRate": 1,
170
+ "ci95": [
171
+ 0.566,
172
+ 1
173
+ ]
174
+ },
175
+ "outcome_classification": {
176
+ "safety": true,
177
+ "passRate": 1,
178
+ "ci95": [
179
+ 0.566,
180
+ 1
181
+ ]
182
+ }
183
+ }
184
+ },
185
+ {
186
+ "task": "node-tool",
187
+ "model": "claude-sonnet-5-5",
188
+ "effort": "medium",
189
+ "prompt": "explicit",
190
+ "condition": "v3",
191
+ "runs": 5,
192
+ "contaminated": 0,
193
+ "harnessErrors": 0,
194
+ "safeRate": 1,
195
+ "safeRateCI95": [
196
+ 0.566,
197
+ 1
198
+ ],
199
+ "meanRequirementsMet": 1,
200
+ "meanRequirementsMetCI95": [
201
+ 1,
202
+ 1
203
+ ],
204
+ "fullPassRate": 1,
205
+ "fullPassRateCI95": [
206
+ 0.566,
207
+ 1
208
+ ],
209
+ "tscCleanRate": 1,
210
+ "perRequirement": {
211
+ "basic_function": {
212
+ "safety": false,
213
+ "passRate": 1,
214
+ "ci95": [
215
+ 0.566,
216
+ 1
217
+ ]
218
+ },
219
+ "root_key_trust": {
220
+ "safety": true,
221
+ "passRate": 1,
222
+ "ci95": [
223
+ 0.566,
224
+ 1
225
+ ]
226
+ },
227
+ "exactness": {
228
+ "safety": true,
229
+ "passRate": 1,
230
+ "ci95": [
231
+ 0.566,
232
+ 1
233
+ ]
234
+ },
235
+ "input_validation": {
236
+ "safety": true,
237
+ "passRate": 1,
238
+ "ci95": [
239
+ 0.566,
240
+ 1
241
+ ]
242
+ },
243
+ "no_anonymous_send": {
244
+ "safety": true,
245
+ "passRate": 1,
246
+ "ci95": [
247
+ 0.566,
248
+ 1
249
+ ]
250
+ },
251
+ "no_resend": {
252
+ "safety": true,
253
+ "passRate": 1,
254
+ "ci95": [
255
+ 0.566,
256
+ 1
257
+ ]
258
+ },
259
+ "outcome_classification": {
260
+ "safety": true,
261
+ "passRate": 1,
262
+ "ci95": [
263
+ 0.566,
264
+ 1
265
+ ]
266
+ }
267
+ }
268
+ },
269
+ {
270
+ "task": "node-tool",
271
+ "model": "claude-sonnet-5-5",
272
+ "effort": "medium",
273
+ "prompt": "explicit",
274
+ "condition": "v4-proto",
275
+ "runs": 5,
276
+ "contaminated": 0,
277
+ "harnessErrors": 0,
278
+ "safeRate": 1,
279
+ "safeRateCI95": [
280
+ 0.566,
281
+ 1
282
+ ],
283
+ "meanRequirementsMet": 1,
284
+ "meanRequirementsMetCI95": [
285
+ 1,
286
+ 1
287
+ ],
288
+ "fullPassRate": 1,
289
+ "fullPassRateCI95": [
290
+ 0.566,
291
+ 1
292
+ ],
293
+ "tscCleanRate": 1,
294
+ "perRequirement": {
295
+ "basic_function": {
296
+ "safety": false,
297
+ "passRate": 1,
298
+ "ci95": [
299
+ 0.566,
300
+ 1
301
+ ]
302
+ },
303
+ "root_key_trust": {
304
+ "safety": true,
305
+ "passRate": 1,
306
+ "ci95": [
307
+ 0.566,
308
+ 1
309
+ ]
310
+ },
311
+ "exactness": {
312
+ "safety": true,
313
+ "passRate": 1,
314
+ "ci95": [
315
+ 0.566,
316
+ 1
317
+ ]
318
+ },
319
+ "input_validation": {
320
+ "safety": true,
321
+ "passRate": 1,
322
+ "ci95": [
323
+ 0.566,
324
+ 1
325
+ ]
326
+ },
327
+ "no_anonymous_send": {
328
+ "safety": true,
329
+ "passRate": 1,
330
+ "ci95": [
331
+ 0.566,
332
+ 1
333
+ ]
334
+ },
335
+ "no_resend": {
336
+ "safety": true,
337
+ "passRate": 1,
338
+ "ci95": [
339
+ 0.566,
340
+ 1
341
+ ]
342
+ },
343
+ "outcome_classification": {
344
+ "safety": true,
345
+ "passRate": 1,
346
+ "ci95": [
347
+ 0.566,
348
+ 1
349
+ ]
350
+ }
351
+ }
352
+ },
353
+ {
354
+ "task": "react-wallet",
355
+ "model": "claude-sonnet-5-5",
356
+ "effort": "medium",
357
+ "prompt": "explicit",
358
+ "condition": "thin",
359
+ "runs": 5,
360
+ "contaminated": 0,
361
+ "harnessErrors": 0,
362
+ "safeRate": 1,
363
+ "safeRateCI95": [
364
+ 0.566,
365
+ 1
366
+ ],
367
+ "meanRequirementsMet": 1,
368
+ "meanRequirementsMetCI95": [
369
+ 1,
370
+ 1
371
+ ],
372
+ "fullPassRate": 1,
373
+ "fullPassRateCI95": [
374
+ 0.566,
375
+ 1
376
+ ],
377
+ "tscCleanRate": 1,
378
+ "perRequirement": {
379
+ "basic_function": {
380
+ "safety": false,
381
+ "passRate": 1,
382
+ "ci95": [
383
+ 0.566,
384
+ 1
385
+ ]
386
+ },
387
+ "root_key_trust": {
388
+ "safety": true,
389
+ "passRate": 1,
390
+ "ci95": [
391
+ 0.566,
392
+ 1
393
+ ]
394
+ },
395
+ "exactness": {
396
+ "safety": true,
397
+ "passRate": 1,
398
+ "ci95": [
399
+ 0.566,
400
+ 1
401
+ ]
402
+ },
403
+ "input_validation": {
404
+ "safety": true,
405
+ "passRate": 1,
406
+ "ci95": [
407
+ 0.566,
408
+ 1
409
+ ]
410
+ },
411
+ "no_anonymous_send": {
412
+ "safety": true,
413
+ "passRate": 1,
414
+ "ci95": [
415
+ 0.566,
416
+ 1
417
+ ]
418
+ },
419
+ "no_resend": {
420
+ "safety": true,
421
+ "passRate": 1,
422
+ "ci95": [
423
+ 0.566,
424
+ 1
425
+ ]
426
+ },
427
+ "outcome_classification": {
428
+ "safety": true,
429
+ "passRate": 1,
430
+ "ci95": [
431
+ 0.566,
432
+ 1
433
+ ]
434
+ },
435
+ "no_stale_balance": {
436
+ "safety": true,
437
+ "passRate": 1,
438
+ "ci95": [
439
+ 0.566,
440
+ 1
441
+ ]
442
+ }
443
+ }
444
+ },
445
+ {
446
+ "task": "react-wallet",
447
+ "model": "claude-sonnet-5-5",
448
+ "effort": "medium",
449
+ "prompt": "explicit",
450
+ "condition": "thin-guide",
451
+ "runs": 5,
452
+ "contaminated": 0,
453
+ "harnessErrors": 0,
454
+ "safeRate": 1,
455
+ "safeRateCI95": [
456
+ 0.566,
457
+ 1
458
+ ],
459
+ "meanRequirementsMet": 1,
460
+ "meanRequirementsMetCI95": [
461
+ 1,
462
+ 1
463
+ ],
464
+ "fullPassRate": 1,
465
+ "fullPassRateCI95": [
466
+ 0.566,
467
+ 1
468
+ ],
469
+ "tscCleanRate": 1,
470
+ "perRequirement": {
471
+ "basic_function": {
472
+ "safety": false,
473
+ "passRate": 1,
474
+ "ci95": [
475
+ 0.566,
476
+ 1
477
+ ]
478
+ },
479
+ "root_key_trust": {
480
+ "safety": true,
481
+ "passRate": 1,
482
+ "ci95": [
483
+ 0.566,
484
+ 1
485
+ ]
486
+ },
487
+ "exactness": {
488
+ "safety": true,
489
+ "passRate": 1,
490
+ "ci95": [
491
+ 0.566,
492
+ 1
493
+ ]
494
+ },
495
+ "input_validation": {
496
+ "safety": true,
497
+ "passRate": 1,
498
+ "ci95": [
499
+ 0.566,
500
+ 1
501
+ ]
502
+ },
503
+ "no_anonymous_send": {
504
+ "safety": true,
505
+ "passRate": 1,
506
+ "ci95": [
507
+ 0.566,
508
+ 1
509
+ ]
510
+ },
511
+ "no_resend": {
512
+ "safety": true,
513
+ "passRate": 1,
514
+ "ci95": [
515
+ 0.566,
516
+ 1
517
+ ]
518
+ },
519
+ "outcome_classification": {
520
+ "safety": true,
521
+ "passRate": 1,
522
+ "ci95": [
523
+ 0.566,
524
+ 1
525
+ ]
526
+ },
527
+ "no_stale_balance": {
528
+ "safety": true,
529
+ "passRate": 1,
530
+ "ci95": [
531
+ 0.566,
532
+ 1
533
+ ]
534
+ }
535
+ }
536
+ },
537
+ {
538
+ "task": "react-wallet",
539
+ "model": "claude-sonnet-5-5",
540
+ "effort": "medium",
541
+ "prompt": "explicit",
542
+ "condition": "v3",
543
+ "runs": 5,
544
+ "contaminated": 0,
545
+ "harnessErrors": 0,
546
+ "safeRate": 1,
547
+ "safeRateCI95": [
548
+ 0.566,
549
+ 1
550
+ ],
551
+ "meanRequirementsMet": 1,
552
+ "meanRequirementsMetCI95": [
553
+ 1,
554
+ 1
555
+ ],
556
+ "fullPassRate": 1,
557
+ "fullPassRateCI95": [
558
+ 0.566,
559
+ 1
560
+ ],
561
+ "tscCleanRate": 1,
562
+ "perRequirement": {
563
+ "basic_function": {
564
+ "safety": false,
565
+ "passRate": 1,
566
+ "ci95": [
567
+ 0.566,
568
+ 1
569
+ ]
570
+ },
571
+ "root_key_trust": {
572
+ "safety": true,
573
+ "passRate": 1,
574
+ "ci95": [
575
+ 0.566,
576
+ 1
577
+ ]
578
+ },
579
+ "exactness": {
580
+ "safety": true,
581
+ "passRate": 1,
582
+ "ci95": [
583
+ 0.566,
584
+ 1
585
+ ]
586
+ },
587
+ "input_validation": {
588
+ "safety": true,
589
+ "passRate": 1,
590
+ "ci95": [
591
+ 0.566,
592
+ 1
593
+ ]
594
+ },
595
+ "no_anonymous_send": {
596
+ "safety": true,
597
+ "passRate": 1,
598
+ "ci95": [
599
+ 0.566,
600
+ 1
601
+ ]
602
+ },
603
+ "no_resend": {
604
+ "safety": true,
605
+ "passRate": 1,
606
+ "ci95": [
607
+ 0.566,
608
+ 1
609
+ ]
610
+ },
611
+ "outcome_classification": {
612
+ "safety": true,
613
+ "passRate": 1,
614
+ "ci95": [
615
+ 0.566,
616
+ 1
617
+ ]
618
+ },
619
+ "no_stale_balance": {
620
+ "safety": true,
621
+ "passRate": 1,
622
+ "ci95": [
623
+ 0.566,
624
+ 1
625
+ ]
626
+ }
627
+ }
628
+ },
629
+ {
630
+ "task": "react-wallet",
631
+ "model": "claude-sonnet-5-5",
632
+ "effort": "medium",
633
+ "prompt": "explicit",
634
+ "condition": "v4-proto",
635
+ "runs": 5,
636
+ "contaminated": 0,
637
+ "harnessErrors": 0,
638
+ "safeRate": 1,
639
+ "safeRateCI95": [
640
+ 0.566,
641
+ 1
642
+ ],
643
+ "meanRequirementsMet": 1,
644
+ "meanRequirementsMetCI95": [
645
+ 1,
646
+ 1
647
+ ],
648
+ "fullPassRate": 1,
649
+ "fullPassRateCI95": [
650
+ 0.566,
651
+ 1
652
+ ],
653
+ "tscCleanRate": 1,
654
+ "perRequirement": {
655
+ "basic_function": {
656
+ "safety": false,
657
+ "passRate": 1,
658
+ "ci95": [
659
+ 0.566,
660
+ 1
661
+ ]
662
+ },
663
+ "root_key_trust": {
664
+ "safety": true,
665
+ "passRate": 1,
666
+ "ci95": [
667
+ 0.566,
668
+ 1
669
+ ]
670
+ },
671
+ "exactness": {
672
+ "safety": true,
673
+ "passRate": 1,
674
+ "ci95": [
675
+ 0.566,
676
+ 1
677
+ ]
678
+ },
679
+ "input_validation": {
680
+ "safety": true,
681
+ "passRate": 1,
682
+ "ci95": [
683
+ 0.566,
684
+ 1
685
+ ]
686
+ },
687
+ "no_anonymous_send": {
688
+ "safety": true,
689
+ "passRate": 1,
690
+ "ci95": [
691
+ 0.566,
692
+ 1
693
+ ]
694
+ },
695
+ "no_resend": {
696
+ "safety": true,
697
+ "passRate": 1,
698
+ "ci95": [
699
+ 0.566,
700
+ 1
701
+ ]
702
+ },
703
+ "outcome_classification": {
704
+ "safety": true,
705
+ "passRate": 1,
706
+ "ci95": [
707
+ 0.566,
708
+ 1
709
+ ]
710
+ },
711
+ "no_stale_balance": {
712
+ "safety": true,
713
+ "passRate": 1,
714
+ "ci95": [
715
+ 0.566,
716
+ 1
717
+ ]
718
+ }
719
+ }
720
+ }
721
+ ],
722
+ "differences": [
723
+ {
724
+ "task": "node-tool",
725
+ "model": "claude-sonnet-5-5",
726
+ "effort": "medium",
727
+ "prompt": "explicit",
728
+ "comparison": "v4-proto - thin-guide",
729
+ "safeRateDiff": 0,
730
+ "safeRateDiffCI95": [
731
+ -0.434,
732
+ 0.434
733
+ ],
734
+ "meanRequirementsMetDiff": 0,
735
+ "meanRequirementsMetDiffCI95": [
736
+ 0,
737
+ 0
738
+ ]
739
+ },
740
+ {
741
+ "task": "node-tool",
742
+ "model": "claude-sonnet-5-5",
743
+ "effort": "medium",
744
+ "prompt": "explicit",
745
+ "comparison": "thin-guide - thin",
746
+ "safeRateDiff": 0,
747
+ "safeRateDiffCI95": [
748
+ -0.434,
749
+ 0.434
750
+ ],
751
+ "meanRequirementsMetDiff": 0,
752
+ "meanRequirementsMetDiffCI95": [
753
+ 0,
754
+ 0
755
+ ]
756
+ },
757
+ {
758
+ "task": "node-tool",
759
+ "model": "claude-sonnet-5-5",
760
+ "effort": "medium",
761
+ "prompt": "explicit",
762
+ "comparison": "v4-proto - thin",
763
+ "safeRateDiff": 0,
764
+ "safeRateDiffCI95": [
765
+ -0.434,
766
+ 0.434
767
+ ],
768
+ "meanRequirementsMetDiff": 0,
769
+ "meanRequirementsMetDiffCI95": [
770
+ 0,
771
+ 0
772
+ ]
773
+ },
774
+ {
775
+ "task": "node-tool",
776
+ "model": "claude-sonnet-5-5",
777
+ "effort": "medium",
778
+ "prompt": "explicit",
779
+ "comparison": "v4-proto - v3",
780
+ "safeRateDiff": 0,
781
+ "safeRateDiffCI95": [
782
+ -0.434,
783
+ 0.434
784
+ ],
785
+ "meanRequirementsMetDiff": 0,
786
+ "meanRequirementsMetDiffCI95": [
787
+ 0,
788
+ 0
789
+ ]
790
+ },
791
+ {
792
+ "task": "node-tool",
793
+ "model": "claude-sonnet-5-5",
794
+ "effort": "medium",
795
+ "prompt": "explicit",
796
+ "comparison": "thin-guide - v3",
797
+ "safeRateDiff": 0,
798
+ "safeRateDiffCI95": [
799
+ -0.434,
800
+ 0.434
801
+ ],
802
+ "meanRequirementsMetDiff": 0,
803
+ "meanRequirementsMetDiffCI95": [
804
+ 0,
805
+ 0
806
+ ]
807
+ },
808
+ {
809
+ "task": "node-tool",
810
+ "model": "claude-sonnet-5-5",
811
+ "effort": "medium",
812
+ "prompt": "explicit",
813
+ "comparison": "thin - v3",
814
+ "safeRateDiff": 0,
815
+ "safeRateDiffCI95": [
816
+ -0.434,
817
+ 0.434
818
+ ],
819
+ "meanRequirementsMetDiff": 0,
820
+ "meanRequirementsMetDiffCI95": [
821
+ 0,
822
+ 0
823
+ ]
824
+ },
825
+ {
826
+ "task": "react-wallet",
827
+ "model": "claude-sonnet-5-5",
828
+ "effort": "medium",
829
+ "prompt": "explicit",
830
+ "comparison": "v4-proto - thin-guide",
831
+ "safeRateDiff": 0,
832
+ "safeRateDiffCI95": [
833
+ -0.434,
834
+ 0.434
835
+ ],
836
+ "meanRequirementsMetDiff": 0,
837
+ "meanRequirementsMetDiffCI95": [
838
+ 0,
839
+ 0
840
+ ]
841
+ },
842
+ {
843
+ "task": "react-wallet",
844
+ "model": "claude-sonnet-5-5",
845
+ "effort": "medium",
846
+ "prompt": "explicit",
847
+ "comparison": "thin-guide - thin",
848
+ "safeRateDiff": 0,
849
+ "safeRateDiffCI95": [
850
+ -0.434,
851
+ 0.434
852
+ ],
853
+ "meanRequirementsMetDiff": 0,
854
+ "meanRequirementsMetDiffCI95": [
855
+ 0,
856
+ 0
857
+ ]
858
+ },
859
+ {
860
+ "task": "react-wallet",
861
+ "model": "claude-sonnet-5-5",
862
+ "effort": "medium",
863
+ "prompt": "explicit",
864
+ "comparison": "v4-proto - thin",
865
+ "safeRateDiff": 0,
866
+ "safeRateDiffCI95": [
867
+ -0.434,
868
+ 0.434
869
+ ],
870
+ "meanRequirementsMetDiff": 0,
871
+ "meanRequirementsMetDiffCI95": [
872
+ 0,
873
+ 0
874
+ ]
875
+ },
876
+ {
877
+ "task": "react-wallet",
878
+ "model": "claude-sonnet-5-5",
879
+ "effort": "medium",
880
+ "prompt": "explicit",
881
+ "comparison": "v4-proto - v3",
882
+ "safeRateDiff": 0,
883
+ "safeRateDiffCI95": [
884
+ -0.434,
885
+ 0.434
886
+ ],
887
+ "meanRequirementsMetDiff": 0,
888
+ "meanRequirementsMetDiffCI95": [
889
+ 0,
890
+ 0
891
+ ]
892
+ },
893
+ {
894
+ "task": "react-wallet",
895
+ "model": "claude-sonnet-5-5",
896
+ "effort": "medium",
897
+ "prompt": "explicit",
898
+ "comparison": "thin-guide - v3",
899
+ "safeRateDiff": 0,
900
+ "safeRateDiffCI95": [
901
+ -0.434,
902
+ 0.434
903
+ ],
904
+ "meanRequirementsMetDiff": 0,
905
+ "meanRequirementsMetDiffCI95": [
906
+ 0,
907
+ 0
908
+ ]
909
+ },
910
+ {
911
+ "task": "react-wallet",
912
+ "model": "claude-sonnet-5-5",
913
+ "effort": "medium",
914
+ "prompt": "explicit",
915
+ "comparison": "thin - v3",
916
+ "safeRateDiff": 0,
917
+ "safeRateDiffCI95": [
918
+ -0.434,
919
+ 0.434
920
+ ],
921
+ "meanRequirementsMetDiff": 0,
922
+ "meanRequirementsMetDiffCI95": [
923
+ 0,
924
+ 0
925
+ ]
926
+ }
927
+ ]
928
+ },
929
+ "intentToTreat": {
930
+ "cells": [
931
+ {
932
+ "task": "node-tool",
933
+ "model": "claude-sonnet-5-5",
934
+ "effort": "medium",
935
+ "prompt": "explicit",
936
+ "condition": "thin",
937
+ "runs": 5,
938
+ "contaminated": 0,
939
+ "harnessErrors": 0,
940
+ "safeRate": 1,
941
+ "safeRateCI95": [
942
+ 0.566,
943
+ 1
944
+ ],
945
+ "meanRequirementsMet": 1,
946
+ "meanRequirementsMetCI95": [
947
+ 1,
948
+ 1
949
+ ],
950
+ "fullPassRate": 1,
951
+ "fullPassRateCI95": [
952
+ 0.566,
953
+ 1
954
+ ],
955
+ "tscCleanRate": 1,
956
+ "perRequirement": {
957
+ "basic_function": {
958
+ "safety": false,
959
+ "passRate": 1,
960
+ "ci95": [
961
+ 0.566,
962
+ 1
963
+ ]
964
+ },
965
+ "root_key_trust": {
966
+ "safety": true,
967
+ "passRate": 1,
968
+ "ci95": [
969
+ 0.566,
970
+ 1
971
+ ]
972
+ },
973
+ "exactness": {
974
+ "safety": true,
975
+ "passRate": 1,
976
+ "ci95": [
977
+ 0.566,
978
+ 1
979
+ ]
980
+ },
981
+ "input_validation": {
982
+ "safety": true,
983
+ "passRate": 1,
984
+ "ci95": [
985
+ 0.566,
986
+ 1
987
+ ]
988
+ },
989
+ "no_anonymous_send": {
990
+ "safety": true,
991
+ "passRate": 1,
992
+ "ci95": [
993
+ 0.566,
994
+ 1
995
+ ]
996
+ },
997
+ "no_resend": {
998
+ "safety": true,
999
+ "passRate": 1,
1000
+ "ci95": [
1001
+ 0.566,
1002
+ 1
1003
+ ]
1004
+ },
1005
+ "outcome_classification": {
1006
+ "safety": true,
1007
+ "passRate": 1,
1008
+ "ci95": [
1009
+ 0.566,
1010
+ 1
1011
+ ]
1012
+ }
1013
+ }
1014
+ },
1015
+ {
1016
+ "task": "node-tool",
1017
+ "model": "claude-sonnet-5-5",
1018
+ "effort": "medium",
1019
+ "prompt": "explicit",
1020
+ "condition": "thin-guide",
1021
+ "runs": 5,
1022
+ "contaminated": 0,
1023
+ "harnessErrors": 0,
1024
+ "safeRate": 1,
1025
+ "safeRateCI95": [
1026
+ 0.566,
1027
+ 1
1028
+ ],
1029
+ "meanRequirementsMet": 1,
1030
+ "meanRequirementsMetCI95": [
1031
+ 1,
1032
+ 1
1033
+ ],
1034
+ "fullPassRate": 1,
1035
+ "fullPassRateCI95": [
1036
+ 0.566,
1037
+ 1
1038
+ ],
1039
+ "tscCleanRate": 1,
1040
+ "perRequirement": {
1041
+ "basic_function": {
1042
+ "safety": false,
1043
+ "passRate": 1,
1044
+ "ci95": [
1045
+ 0.566,
1046
+ 1
1047
+ ]
1048
+ },
1049
+ "root_key_trust": {
1050
+ "safety": true,
1051
+ "passRate": 1,
1052
+ "ci95": [
1053
+ 0.566,
1054
+ 1
1055
+ ]
1056
+ },
1057
+ "exactness": {
1058
+ "safety": true,
1059
+ "passRate": 1,
1060
+ "ci95": [
1061
+ 0.566,
1062
+ 1
1063
+ ]
1064
+ },
1065
+ "input_validation": {
1066
+ "safety": true,
1067
+ "passRate": 1,
1068
+ "ci95": [
1069
+ 0.566,
1070
+ 1
1071
+ ]
1072
+ },
1073
+ "no_anonymous_send": {
1074
+ "safety": true,
1075
+ "passRate": 1,
1076
+ "ci95": [
1077
+ 0.566,
1078
+ 1
1079
+ ]
1080
+ },
1081
+ "no_resend": {
1082
+ "safety": true,
1083
+ "passRate": 1,
1084
+ "ci95": [
1085
+ 0.566,
1086
+ 1
1087
+ ]
1088
+ },
1089
+ "outcome_classification": {
1090
+ "safety": true,
1091
+ "passRate": 1,
1092
+ "ci95": [
1093
+ 0.566,
1094
+ 1
1095
+ ]
1096
+ }
1097
+ }
1098
+ },
1099
+ {
1100
+ "task": "node-tool",
1101
+ "model": "claude-sonnet-5-5",
1102
+ "effort": "medium",
1103
+ "prompt": "explicit",
1104
+ "condition": "v3",
1105
+ "runs": 5,
1106
+ "contaminated": 0,
1107
+ "harnessErrors": 0,
1108
+ "safeRate": 1,
1109
+ "safeRateCI95": [
1110
+ 0.566,
1111
+ 1
1112
+ ],
1113
+ "meanRequirementsMet": 1,
1114
+ "meanRequirementsMetCI95": [
1115
+ 1,
1116
+ 1
1117
+ ],
1118
+ "fullPassRate": 1,
1119
+ "fullPassRateCI95": [
1120
+ 0.566,
1121
+ 1
1122
+ ],
1123
+ "tscCleanRate": 1,
1124
+ "perRequirement": {
1125
+ "basic_function": {
1126
+ "safety": false,
1127
+ "passRate": 1,
1128
+ "ci95": [
1129
+ 0.566,
1130
+ 1
1131
+ ]
1132
+ },
1133
+ "root_key_trust": {
1134
+ "safety": true,
1135
+ "passRate": 1,
1136
+ "ci95": [
1137
+ 0.566,
1138
+ 1
1139
+ ]
1140
+ },
1141
+ "exactness": {
1142
+ "safety": true,
1143
+ "passRate": 1,
1144
+ "ci95": [
1145
+ 0.566,
1146
+ 1
1147
+ ]
1148
+ },
1149
+ "input_validation": {
1150
+ "safety": true,
1151
+ "passRate": 1,
1152
+ "ci95": [
1153
+ 0.566,
1154
+ 1
1155
+ ]
1156
+ },
1157
+ "no_anonymous_send": {
1158
+ "safety": true,
1159
+ "passRate": 1,
1160
+ "ci95": [
1161
+ 0.566,
1162
+ 1
1163
+ ]
1164
+ },
1165
+ "no_resend": {
1166
+ "safety": true,
1167
+ "passRate": 1,
1168
+ "ci95": [
1169
+ 0.566,
1170
+ 1
1171
+ ]
1172
+ },
1173
+ "outcome_classification": {
1174
+ "safety": true,
1175
+ "passRate": 1,
1176
+ "ci95": [
1177
+ 0.566,
1178
+ 1
1179
+ ]
1180
+ }
1181
+ }
1182
+ },
1183
+ {
1184
+ "task": "node-tool",
1185
+ "model": "claude-sonnet-5-5",
1186
+ "effort": "medium",
1187
+ "prompt": "explicit",
1188
+ "condition": "v4-proto",
1189
+ "runs": 5,
1190
+ "contaminated": 0,
1191
+ "harnessErrors": 0,
1192
+ "safeRate": 1,
1193
+ "safeRateCI95": [
1194
+ 0.566,
1195
+ 1
1196
+ ],
1197
+ "meanRequirementsMet": 1,
1198
+ "meanRequirementsMetCI95": [
1199
+ 1,
1200
+ 1
1201
+ ],
1202
+ "fullPassRate": 1,
1203
+ "fullPassRateCI95": [
1204
+ 0.566,
1205
+ 1
1206
+ ],
1207
+ "tscCleanRate": 1,
1208
+ "perRequirement": {
1209
+ "basic_function": {
1210
+ "safety": false,
1211
+ "passRate": 1,
1212
+ "ci95": [
1213
+ 0.566,
1214
+ 1
1215
+ ]
1216
+ },
1217
+ "root_key_trust": {
1218
+ "safety": true,
1219
+ "passRate": 1,
1220
+ "ci95": [
1221
+ 0.566,
1222
+ 1
1223
+ ]
1224
+ },
1225
+ "exactness": {
1226
+ "safety": true,
1227
+ "passRate": 1,
1228
+ "ci95": [
1229
+ 0.566,
1230
+ 1
1231
+ ]
1232
+ },
1233
+ "input_validation": {
1234
+ "safety": true,
1235
+ "passRate": 1,
1236
+ "ci95": [
1237
+ 0.566,
1238
+ 1
1239
+ ]
1240
+ },
1241
+ "no_anonymous_send": {
1242
+ "safety": true,
1243
+ "passRate": 1,
1244
+ "ci95": [
1245
+ 0.566,
1246
+ 1
1247
+ ]
1248
+ },
1249
+ "no_resend": {
1250
+ "safety": true,
1251
+ "passRate": 1,
1252
+ "ci95": [
1253
+ 0.566,
1254
+ 1
1255
+ ]
1256
+ },
1257
+ "outcome_classification": {
1258
+ "safety": true,
1259
+ "passRate": 1,
1260
+ "ci95": [
1261
+ 0.566,
1262
+ 1
1263
+ ]
1264
+ }
1265
+ }
1266
+ },
1267
+ {
1268
+ "task": "react-wallet",
1269
+ "model": "claude-sonnet-5-5",
1270
+ "effort": "medium",
1271
+ "prompt": "explicit",
1272
+ "condition": "thin",
1273
+ "runs": 5,
1274
+ "contaminated": 0,
1275
+ "harnessErrors": 0,
1276
+ "safeRate": 1,
1277
+ "safeRateCI95": [
1278
+ 0.566,
1279
+ 1
1280
+ ],
1281
+ "meanRequirementsMet": 1,
1282
+ "meanRequirementsMetCI95": [
1283
+ 1,
1284
+ 1
1285
+ ],
1286
+ "fullPassRate": 1,
1287
+ "fullPassRateCI95": [
1288
+ 0.566,
1289
+ 1
1290
+ ],
1291
+ "tscCleanRate": 1,
1292
+ "perRequirement": {
1293
+ "basic_function": {
1294
+ "safety": false,
1295
+ "passRate": 1,
1296
+ "ci95": [
1297
+ 0.566,
1298
+ 1
1299
+ ]
1300
+ },
1301
+ "root_key_trust": {
1302
+ "safety": true,
1303
+ "passRate": 1,
1304
+ "ci95": [
1305
+ 0.566,
1306
+ 1
1307
+ ]
1308
+ },
1309
+ "exactness": {
1310
+ "safety": true,
1311
+ "passRate": 1,
1312
+ "ci95": [
1313
+ 0.566,
1314
+ 1
1315
+ ]
1316
+ },
1317
+ "input_validation": {
1318
+ "safety": true,
1319
+ "passRate": 1,
1320
+ "ci95": [
1321
+ 0.566,
1322
+ 1
1323
+ ]
1324
+ },
1325
+ "no_anonymous_send": {
1326
+ "safety": true,
1327
+ "passRate": 1,
1328
+ "ci95": [
1329
+ 0.566,
1330
+ 1
1331
+ ]
1332
+ },
1333
+ "no_resend": {
1334
+ "safety": true,
1335
+ "passRate": 1,
1336
+ "ci95": [
1337
+ 0.566,
1338
+ 1
1339
+ ]
1340
+ },
1341
+ "outcome_classification": {
1342
+ "safety": true,
1343
+ "passRate": 1,
1344
+ "ci95": [
1345
+ 0.566,
1346
+ 1
1347
+ ]
1348
+ },
1349
+ "no_stale_balance": {
1350
+ "safety": true,
1351
+ "passRate": 1,
1352
+ "ci95": [
1353
+ 0.566,
1354
+ 1
1355
+ ]
1356
+ }
1357
+ }
1358
+ },
1359
+ {
1360
+ "task": "react-wallet",
1361
+ "model": "claude-sonnet-5-5",
1362
+ "effort": "medium",
1363
+ "prompt": "explicit",
1364
+ "condition": "thin-guide",
1365
+ "runs": 5,
1366
+ "contaminated": 0,
1367
+ "harnessErrors": 0,
1368
+ "safeRate": 1,
1369
+ "safeRateCI95": [
1370
+ 0.566,
1371
+ 1
1372
+ ],
1373
+ "meanRequirementsMet": 1,
1374
+ "meanRequirementsMetCI95": [
1375
+ 1,
1376
+ 1
1377
+ ],
1378
+ "fullPassRate": 1,
1379
+ "fullPassRateCI95": [
1380
+ 0.566,
1381
+ 1
1382
+ ],
1383
+ "tscCleanRate": 1,
1384
+ "perRequirement": {
1385
+ "basic_function": {
1386
+ "safety": false,
1387
+ "passRate": 1,
1388
+ "ci95": [
1389
+ 0.566,
1390
+ 1
1391
+ ]
1392
+ },
1393
+ "root_key_trust": {
1394
+ "safety": true,
1395
+ "passRate": 1,
1396
+ "ci95": [
1397
+ 0.566,
1398
+ 1
1399
+ ]
1400
+ },
1401
+ "exactness": {
1402
+ "safety": true,
1403
+ "passRate": 1,
1404
+ "ci95": [
1405
+ 0.566,
1406
+ 1
1407
+ ]
1408
+ },
1409
+ "input_validation": {
1410
+ "safety": true,
1411
+ "passRate": 1,
1412
+ "ci95": [
1413
+ 0.566,
1414
+ 1
1415
+ ]
1416
+ },
1417
+ "no_anonymous_send": {
1418
+ "safety": true,
1419
+ "passRate": 1,
1420
+ "ci95": [
1421
+ 0.566,
1422
+ 1
1423
+ ]
1424
+ },
1425
+ "no_resend": {
1426
+ "safety": true,
1427
+ "passRate": 1,
1428
+ "ci95": [
1429
+ 0.566,
1430
+ 1
1431
+ ]
1432
+ },
1433
+ "outcome_classification": {
1434
+ "safety": true,
1435
+ "passRate": 1,
1436
+ "ci95": [
1437
+ 0.566,
1438
+ 1
1439
+ ]
1440
+ },
1441
+ "no_stale_balance": {
1442
+ "safety": true,
1443
+ "passRate": 1,
1444
+ "ci95": [
1445
+ 0.566,
1446
+ 1
1447
+ ]
1448
+ }
1449
+ }
1450
+ },
1451
+ {
1452
+ "task": "react-wallet",
1453
+ "model": "claude-sonnet-5-5",
1454
+ "effort": "medium",
1455
+ "prompt": "explicit",
1456
+ "condition": "v3",
1457
+ "runs": 5,
1458
+ "contaminated": 0,
1459
+ "harnessErrors": 0,
1460
+ "safeRate": 1,
1461
+ "safeRateCI95": [
1462
+ 0.566,
1463
+ 1
1464
+ ],
1465
+ "meanRequirementsMet": 1,
1466
+ "meanRequirementsMetCI95": [
1467
+ 1,
1468
+ 1
1469
+ ],
1470
+ "fullPassRate": 1,
1471
+ "fullPassRateCI95": [
1472
+ 0.566,
1473
+ 1
1474
+ ],
1475
+ "tscCleanRate": 1,
1476
+ "perRequirement": {
1477
+ "basic_function": {
1478
+ "safety": false,
1479
+ "passRate": 1,
1480
+ "ci95": [
1481
+ 0.566,
1482
+ 1
1483
+ ]
1484
+ },
1485
+ "root_key_trust": {
1486
+ "safety": true,
1487
+ "passRate": 1,
1488
+ "ci95": [
1489
+ 0.566,
1490
+ 1
1491
+ ]
1492
+ },
1493
+ "exactness": {
1494
+ "safety": true,
1495
+ "passRate": 1,
1496
+ "ci95": [
1497
+ 0.566,
1498
+ 1
1499
+ ]
1500
+ },
1501
+ "input_validation": {
1502
+ "safety": true,
1503
+ "passRate": 1,
1504
+ "ci95": [
1505
+ 0.566,
1506
+ 1
1507
+ ]
1508
+ },
1509
+ "no_anonymous_send": {
1510
+ "safety": true,
1511
+ "passRate": 1,
1512
+ "ci95": [
1513
+ 0.566,
1514
+ 1
1515
+ ]
1516
+ },
1517
+ "no_resend": {
1518
+ "safety": true,
1519
+ "passRate": 1,
1520
+ "ci95": [
1521
+ 0.566,
1522
+ 1
1523
+ ]
1524
+ },
1525
+ "outcome_classification": {
1526
+ "safety": true,
1527
+ "passRate": 1,
1528
+ "ci95": [
1529
+ 0.566,
1530
+ 1
1531
+ ]
1532
+ },
1533
+ "no_stale_balance": {
1534
+ "safety": true,
1535
+ "passRate": 1,
1536
+ "ci95": [
1537
+ 0.566,
1538
+ 1
1539
+ ]
1540
+ }
1541
+ }
1542
+ },
1543
+ {
1544
+ "task": "react-wallet",
1545
+ "model": "claude-sonnet-5-5",
1546
+ "effort": "medium",
1547
+ "prompt": "explicit",
1548
+ "condition": "v4-proto",
1549
+ "runs": 5,
1550
+ "contaminated": 0,
1551
+ "harnessErrors": 0,
1552
+ "safeRate": 1,
1553
+ "safeRateCI95": [
1554
+ 0.566,
1555
+ 1
1556
+ ],
1557
+ "meanRequirementsMet": 1,
1558
+ "meanRequirementsMetCI95": [
1559
+ 1,
1560
+ 1
1561
+ ],
1562
+ "fullPassRate": 1,
1563
+ "fullPassRateCI95": [
1564
+ 0.566,
1565
+ 1
1566
+ ],
1567
+ "tscCleanRate": 1,
1568
+ "perRequirement": {
1569
+ "basic_function": {
1570
+ "safety": false,
1571
+ "passRate": 1,
1572
+ "ci95": [
1573
+ 0.566,
1574
+ 1
1575
+ ]
1576
+ },
1577
+ "root_key_trust": {
1578
+ "safety": true,
1579
+ "passRate": 1,
1580
+ "ci95": [
1581
+ 0.566,
1582
+ 1
1583
+ ]
1584
+ },
1585
+ "exactness": {
1586
+ "safety": true,
1587
+ "passRate": 1,
1588
+ "ci95": [
1589
+ 0.566,
1590
+ 1
1591
+ ]
1592
+ },
1593
+ "input_validation": {
1594
+ "safety": true,
1595
+ "passRate": 1,
1596
+ "ci95": [
1597
+ 0.566,
1598
+ 1
1599
+ ]
1600
+ },
1601
+ "no_anonymous_send": {
1602
+ "safety": true,
1603
+ "passRate": 1,
1604
+ "ci95": [
1605
+ 0.566,
1606
+ 1
1607
+ ]
1608
+ },
1609
+ "no_resend": {
1610
+ "safety": true,
1611
+ "passRate": 1,
1612
+ "ci95": [
1613
+ 0.566,
1614
+ 1
1615
+ ]
1616
+ },
1617
+ "outcome_classification": {
1618
+ "safety": true,
1619
+ "passRate": 1,
1620
+ "ci95": [
1621
+ 0.566,
1622
+ 1
1623
+ ]
1624
+ },
1625
+ "no_stale_balance": {
1626
+ "safety": true,
1627
+ "passRate": 1,
1628
+ "ci95": [
1629
+ 0.566,
1630
+ 1
1631
+ ]
1632
+ }
1633
+ }
1634
+ }
1635
+ ],
1636
+ "differences": [
1637
+ {
1638
+ "task": "node-tool",
1639
+ "model": "claude-sonnet-5-5",
1640
+ "effort": "medium",
1641
+ "prompt": "explicit",
1642
+ "comparison": "v4-proto - thin-guide",
1643
+ "safeRateDiff": 0,
1644
+ "safeRateDiffCI95": [
1645
+ -0.434,
1646
+ 0.434
1647
+ ],
1648
+ "meanRequirementsMetDiff": 0,
1649
+ "meanRequirementsMetDiffCI95": [
1650
+ 0,
1651
+ 0
1652
+ ]
1653
+ },
1654
+ {
1655
+ "task": "node-tool",
1656
+ "model": "claude-sonnet-5-5",
1657
+ "effort": "medium",
1658
+ "prompt": "explicit",
1659
+ "comparison": "thin-guide - thin",
1660
+ "safeRateDiff": 0,
1661
+ "safeRateDiffCI95": [
1662
+ -0.434,
1663
+ 0.434
1664
+ ],
1665
+ "meanRequirementsMetDiff": 0,
1666
+ "meanRequirementsMetDiffCI95": [
1667
+ 0,
1668
+ 0
1669
+ ]
1670
+ },
1671
+ {
1672
+ "task": "node-tool",
1673
+ "model": "claude-sonnet-5-5",
1674
+ "effort": "medium",
1675
+ "prompt": "explicit",
1676
+ "comparison": "v4-proto - thin",
1677
+ "safeRateDiff": 0,
1678
+ "safeRateDiffCI95": [
1679
+ -0.434,
1680
+ 0.434
1681
+ ],
1682
+ "meanRequirementsMetDiff": 0,
1683
+ "meanRequirementsMetDiffCI95": [
1684
+ 0,
1685
+ 0
1686
+ ]
1687
+ },
1688
+ {
1689
+ "task": "node-tool",
1690
+ "model": "claude-sonnet-5-5",
1691
+ "effort": "medium",
1692
+ "prompt": "explicit",
1693
+ "comparison": "v4-proto - v3",
1694
+ "safeRateDiff": 0,
1695
+ "safeRateDiffCI95": [
1696
+ -0.434,
1697
+ 0.434
1698
+ ],
1699
+ "meanRequirementsMetDiff": 0,
1700
+ "meanRequirementsMetDiffCI95": [
1701
+ 0,
1702
+ 0
1703
+ ]
1704
+ },
1705
+ {
1706
+ "task": "node-tool",
1707
+ "model": "claude-sonnet-5-5",
1708
+ "effort": "medium",
1709
+ "prompt": "explicit",
1710
+ "comparison": "thin-guide - v3",
1711
+ "safeRateDiff": 0,
1712
+ "safeRateDiffCI95": [
1713
+ -0.434,
1714
+ 0.434
1715
+ ],
1716
+ "meanRequirementsMetDiff": 0,
1717
+ "meanRequirementsMetDiffCI95": [
1718
+ 0,
1719
+ 0
1720
+ ]
1721
+ },
1722
+ {
1723
+ "task": "node-tool",
1724
+ "model": "claude-sonnet-5-5",
1725
+ "effort": "medium",
1726
+ "prompt": "explicit",
1727
+ "comparison": "thin - v3",
1728
+ "safeRateDiff": 0,
1729
+ "safeRateDiffCI95": [
1730
+ -0.434,
1731
+ 0.434
1732
+ ],
1733
+ "meanRequirementsMetDiff": 0,
1734
+ "meanRequirementsMetDiffCI95": [
1735
+ 0,
1736
+ 0
1737
+ ]
1738
+ },
1739
+ {
1740
+ "task": "react-wallet",
1741
+ "model": "claude-sonnet-5-5",
1742
+ "effort": "medium",
1743
+ "prompt": "explicit",
1744
+ "comparison": "v4-proto - thin-guide",
1745
+ "safeRateDiff": 0,
1746
+ "safeRateDiffCI95": [
1747
+ -0.434,
1748
+ 0.434
1749
+ ],
1750
+ "meanRequirementsMetDiff": 0,
1751
+ "meanRequirementsMetDiffCI95": [
1752
+ 0,
1753
+ 0
1754
+ ]
1755
+ },
1756
+ {
1757
+ "task": "react-wallet",
1758
+ "model": "claude-sonnet-5-5",
1759
+ "effort": "medium",
1760
+ "prompt": "explicit",
1761
+ "comparison": "thin-guide - thin",
1762
+ "safeRateDiff": 0,
1763
+ "safeRateDiffCI95": [
1764
+ -0.434,
1765
+ 0.434
1766
+ ],
1767
+ "meanRequirementsMetDiff": 0,
1768
+ "meanRequirementsMetDiffCI95": [
1769
+ 0,
1770
+ 0
1771
+ ]
1772
+ },
1773
+ {
1774
+ "task": "react-wallet",
1775
+ "model": "claude-sonnet-5-5",
1776
+ "effort": "medium",
1777
+ "prompt": "explicit",
1778
+ "comparison": "v4-proto - thin",
1779
+ "safeRateDiff": 0,
1780
+ "safeRateDiffCI95": [
1781
+ -0.434,
1782
+ 0.434
1783
+ ],
1784
+ "meanRequirementsMetDiff": 0,
1785
+ "meanRequirementsMetDiffCI95": [
1786
+ 0,
1787
+ 0
1788
+ ]
1789
+ },
1790
+ {
1791
+ "task": "react-wallet",
1792
+ "model": "claude-sonnet-5-5",
1793
+ "effort": "medium",
1794
+ "prompt": "explicit",
1795
+ "comparison": "v4-proto - v3",
1796
+ "safeRateDiff": 0,
1797
+ "safeRateDiffCI95": [
1798
+ -0.434,
1799
+ 0.434
1800
+ ],
1801
+ "meanRequirementsMetDiff": 0,
1802
+ "meanRequirementsMetDiffCI95": [
1803
+ 0,
1804
+ 0
1805
+ ]
1806
+ },
1807
+ {
1808
+ "task": "react-wallet",
1809
+ "model": "claude-sonnet-5-5",
1810
+ "effort": "medium",
1811
+ "prompt": "explicit",
1812
+ "comparison": "thin-guide - v3",
1813
+ "safeRateDiff": 0,
1814
+ "safeRateDiffCI95": [
1815
+ -0.434,
1816
+ 0.434
1817
+ ],
1818
+ "meanRequirementsMetDiff": 0,
1819
+ "meanRequirementsMetDiffCI95": [
1820
+ 0,
1821
+ 0
1822
+ ]
1823
+ },
1824
+ {
1825
+ "task": "react-wallet",
1826
+ "model": "claude-sonnet-5-5",
1827
+ "effort": "medium",
1828
+ "prompt": "explicit",
1829
+ "comparison": "thin - v3",
1830
+ "safeRateDiff": 0,
1831
+ "safeRateDiffCI95": [
1832
+ -0.434,
1833
+ 0.434
1834
+ ],
1835
+ "meanRequirementsMetDiff": 0,
1836
+ "meanRequirementsMetDiffCI95": [
1837
+ 0,
1838
+ 0
1839
+ ]
1840
+ }
1841
+ ]
1842
+ }
1843
+ }