forgeos 0.1.0-alpha.2 → 0.1.0-alpha.20

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 (406) hide show
  1. package/.npmignore +4 -0
  2. package/AGENTS.md +168 -81
  3. package/CHANGELOG.md +199 -0
  4. package/README.md +88 -14
  5. package/adapters/go/README.md +23 -0
  6. package/adapters/go/go.mod +3 -0
  7. package/adapters/go/http.go +149 -0
  8. package/adapters/go/registry.go +234 -0
  9. package/adapters/go/types.go +136 -0
  10. package/adapters/java/README.md +68 -0
  11. package/adapters/java/pom.xml +34 -0
  12. package/adapters/java/src/main/java/dev/forgeos/adapter/Auth.java +20 -0
  13. package/adapters/java/src/main/java/dev/forgeos/adapter/Diagnostic.java +16 -0
  14. package/adapters/java/src/main/java/dev/forgeos/adapter/Entry.java +38 -0
  15. package/adapters/java/src/main/java/dev/forgeos/adapter/EntryKind.java +16 -0
  16. package/adapters/java/src/main/java/dev/forgeos/adapter/ErrorInfo.java +4 -0
  17. package/adapters/java/src/main/java/dev/forgeos/adapter/Forge.java +94 -0
  18. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeCall.java +12 -0
  19. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeContext.java +11 -0
  20. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeHandler.java +8 -0
  21. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeHttpHandler.java +179 -0
  22. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeRegistry.java +121 -0
  23. package/adapters/java/src/main/java/dev/forgeos/adapter/Json.java +14 -0
  24. package/adapters/java/src/main/java/dev/forgeos/adapter/Manifest.java +14 -0
  25. package/adapters/java/src/main/java/dev/forgeos/adapter/RequestEnvelope.java +6 -0
  26. package/adapters/java/src/main/java/dev/forgeos/adapter/ResponseEnvelope.java +25 -0
  27. package/adapters/java/src/main/java/dev/forgeos/adapter/Risk.java +18 -0
  28. package/adapters/java/src/main/java/dev/forgeos/adapter/Schemas.java +36 -0
  29. package/adapters/java/src/main/java/dev/forgeos/adapter/Service.java +65 -0
  30. package/adapters/java/src/main/java/dev/forgeos/adapter/TransactionMode.java +18 -0
  31. package/adapters/java/src/main/java/dev/forgeos/adapter/TypedForgeHandler.java +6 -0
  32. package/adapters/java/target/classes/dev/forgeos/adapter/Auth.class +0 -0
  33. package/adapters/java/target/classes/dev/forgeos/adapter/Diagnostic.class +0 -0
  34. package/adapters/java/target/classes/dev/forgeos/adapter/Entry.class +0 -0
  35. package/adapters/java/target/classes/dev/forgeos/adapter/EntryKind.class +0 -0
  36. package/adapters/java/target/classes/dev/forgeos/adapter/ErrorInfo.class +0 -0
  37. package/adapters/java/target/classes/dev/forgeos/adapter/Forge.class +0 -0
  38. package/adapters/java/target/classes/dev/forgeos/adapter/ForgeCall.class +0 -0
  39. package/adapters/java/target/classes/dev/forgeos/adapter/ForgeContext.class +0 -0
  40. package/adapters/java/target/classes/dev/forgeos/adapter/ForgeHandler.class +0 -0
  41. package/adapters/java/target/classes/dev/forgeos/adapter/ForgeHttpHandler.class +0 -0
  42. package/adapters/java/target/classes/dev/forgeos/adapter/ForgeRegistry$EntryOption.class +0 -0
  43. package/adapters/java/target/classes/dev/forgeos/adapter/ForgeRegistry$RegisteredEntry.class +0 -0
  44. package/adapters/java/target/classes/dev/forgeos/adapter/ForgeRegistry$RegistryOption.class +0 -0
  45. package/adapters/java/target/classes/dev/forgeos/adapter/ForgeRegistry.class +0 -0
  46. package/adapters/java/target/classes/dev/forgeos/adapter/Json.class +0 -0
  47. package/adapters/java/target/classes/dev/forgeos/adapter/Manifest.class +0 -0
  48. package/adapters/java/target/classes/dev/forgeos/adapter/RequestEnvelope.class +0 -0
  49. package/adapters/java/target/classes/dev/forgeos/adapter/ResponseEnvelope.class +0 -0
  50. package/adapters/java/target/classes/dev/forgeos/adapter/Risk.class +0 -0
  51. package/adapters/java/target/classes/dev/forgeos/adapter/Schemas.class +0 -0
  52. package/adapters/java/target/classes/dev/forgeos/adapter/Service.class +0 -0
  53. package/adapters/java/target/classes/dev/forgeos/adapter/TransactionMode.class +0 -0
  54. package/adapters/java/target/classes/dev/forgeos/adapter/TypedForgeHandler.class +0 -0
  55. package/adapters/java/target/forge-java-adapter-0.1.0-alpha.11.jar +0 -0
  56. package/adapters/java/target/maven-archiver/pom.properties +3 -0
  57. package/adapters/java/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +23 -0
  58. package/adapters/java/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +20 -0
  59. package/adapters/java-spring-boot-starter/README.md +32 -0
  60. package/adapters/java-spring-boot-starter/pom.xml +36 -0
  61. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeCommand.java +22 -0
  62. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeExternalService.java +15 -0
  63. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeQuery.java +16 -0
  64. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeServiceBeanCondition.java +18 -0
  65. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeSpringAutoConfiguration.java +16 -0
  66. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeSpringRuntime.java +104 -0
  67. package/adapters/java-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +1 -0
  68. package/adapters/java-spring-boot-starter/target/classes/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +1 -0
  69. package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeCommand.class +0 -0
  70. package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeExternalService.class +0 -0
  71. package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeQuery.class +0 -0
  72. package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeServiceBeanCondition.class +0 -0
  73. package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeSpringAutoConfiguration.class +0 -0
  74. package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeSpringRuntime.class +0 -0
  75. package/adapters/java-spring-boot-starter/target/forge-java-spring-boot-starter-0.1.0-alpha.11.jar +0 -0
  76. package/adapters/java-spring-boot-starter/target/maven-archiver/pom.properties +3 -0
  77. package/adapters/java-spring-boot-starter/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +6 -0
  78. package/adapters/java-spring-boot-starter/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +6 -0
  79. package/bin/forge.mjs +18 -0
  80. package/docs/changelog.md +212 -0
  81. package/docs/forge-protocol.md +189 -0
  82. package/examples/go-billing/go.mod +7 -0
  83. package/examples/go-billing/main.go +120 -0
  84. package/examples/java-billing/pom.xml +52 -0
  85. package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/CreateInvoiceInput.java +4 -0
  86. package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/Invoice.java +11 -0
  87. package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/Main.java +127 -0
  88. package/examples/java-billing/target/classes/dev/forgeos/examples/billing/CreateInvoiceInput.class +0 -0
  89. package/examples/java-billing/target/classes/dev/forgeos/examples/billing/Invoice.class +0 -0
  90. package/examples/java-billing/target/classes/dev/forgeos/examples/billing/Main$EmptyInput.class +0 -0
  91. package/examples/java-billing/target/classes/dev/forgeos/examples/billing/Main$Options.class +0 -0
  92. package/examples/java-billing/target/classes/dev/forgeos/examples/billing/Main.class +0 -0
  93. package/examples/java-billing/target/java-billing-0.1.0-alpha.11-all.jar +0 -0
  94. package/examples/java-billing/target/java-billing-0.1.0-alpha.11.jar +0 -0
  95. package/examples/java-billing/target/maven-archiver/pom.properties +3 -0
  96. package/examples/java-billing/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +5 -0
  97. package/examples/java-billing/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +3 -0
  98. package/package.json +29 -7
  99. package/schemas/forge-manifest.schema.json +57 -0
  100. package/src/forge/_generated/releaseManifest.json +1 -2
  101. package/src/forge/_generated/releaseManifest.ts +3 -3
  102. package/src/forge/agent-adapters/index.ts +1511 -123
  103. package/src/forge/agent-adapters/types.ts +216 -1
  104. package/src/forge/agent-memory/bridge.ts +1192 -0
  105. package/src/forge/agent-memory/context-pack.ts +151 -0
  106. package/src/forge/agent-memory/hook-runner.ts +312 -0
  107. package/src/forge/agent-memory/mcp.ts +224 -0
  108. package/src/forge/agent-memory/normalize.ts +498 -0
  109. package/src/forge/agent-memory/redaction.ts +103 -0
  110. package/src/forge/agent-memory/sources/claude-code.ts +51 -0
  111. package/src/forge/agent-memory/sources/codex-hook-runner.mjs +84 -0
  112. package/src/forge/agent-memory/sources/codex.ts +119 -0
  113. package/src/forge/agent-memory/sources/cursor.ts +35 -0
  114. package/src/forge/agent-memory/types.ts +191 -0
  115. package/src/forge/bench.ts +248 -0
  116. package/src/forge/brownfield-import/index.ts +736 -0
  117. package/src/forge/brownfield-import/types.ts +127 -0
  118. package/src/forge/cair/action-journal.ts +61 -0
  119. package/src/forge/cair/action-parser.ts +314 -0
  120. package/src/forge/cair/action-validator.ts +40 -0
  121. package/src/forge/cair/actions.ts +1818 -0
  122. package/src/forge/cair/format.ts +77 -0
  123. package/src/forge/cair/index.ts +106 -0
  124. package/src/forge/cair/query.ts +478 -0
  125. package/src/forge/cair/snapshot.ts +315 -0
  126. package/src/forge/cair/types.ts +248 -0
  127. package/src/forge/cli/ai.ts +671 -3
  128. package/src/forge/cli/auth.ts +36 -1
  129. package/src/forge/cli/build.ts +20 -4
  130. package/src/forge/cli/changed.ts +300 -0
  131. package/src/forge/cli/codex-app-server.ts +877 -0
  132. package/src/forge/cli/commands.ts +1285 -7
  133. package/src/forge/cli/db.ts +121 -2
  134. package/src/forge/cli/deps.ts +79 -12
  135. package/src/forge/cli/dev.ts +502 -38
  136. package/src/forge/cli/docs.ts +265 -0
  137. package/src/forge/cli/handoff.ts +250 -0
  138. package/src/forge/cli/index.ts +1 -0
  139. package/src/forge/cli/main.ts +49 -3
  140. package/src/forge/cli/new.ts +3 -1
  141. package/src/forge/cli/next-actions.ts +23 -0
  142. package/src/forge/cli/output.ts +290 -1
  143. package/src/forge/cli/parse.ts +770 -36
  144. package/src/forge/cli/query.ts +32 -0
  145. package/src/forge/cli/release.ts +35 -11
  146. package/src/forge/cli/rls.ts +568 -17
  147. package/src/forge/cli/run.ts +41 -0
  148. package/src/forge/cli/secrets.ts +46 -1
  149. package/src/forge/cli/security.ts +381 -0
  150. package/src/forge/cli/self-host.ts +56 -14
  151. package/src/forge/cli/studio.ts +2163 -0
  152. package/src/forge/cli/verify.ts +1422 -32
  153. package/src/forge/compiler/agent-contract/build.ts +725 -41
  154. package/src/forge/compiler/agent-contract/types.ts +85 -0
  155. package/src/forge/compiler/ai-registry/build.ts +62 -1
  156. package/src/forge/compiler/ai-registry/constants.ts +1 -1
  157. package/src/forge/compiler/ai-registry/parse.ts +168 -5
  158. package/src/forge/compiler/api-surface/build.ts +47 -0
  159. package/src/forge/compiler/app-graph/build.ts +68 -8
  160. package/src/forge/compiler/app-graph/extract.ts +107 -0
  161. package/src/forge/compiler/app-graph/forge-apis.ts +1 -0
  162. package/src/forge/compiler/app-graph/module-graph.ts +73 -78
  163. package/src/forge/compiler/app-graph/parser.ts +24 -24
  164. package/src/forge/compiler/app-graph/profile.ts +26 -0
  165. package/src/forge/compiler/app-graph/versions.ts +1 -1
  166. package/src/forge/compiler/classifier/capabilities.ts +3 -2
  167. package/src/forge/compiler/classifier/classify.ts +32 -8
  168. package/src/forge/compiler/classifier/secrets.ts +3 -2
  169. package/src/forge/compiler/classifier/signals.ts +91 -1
  170. package/src/forge/compiler/client-sdk/build-manifest.ts +59 -0
  171. package/src/forge/compiler/client-sdk/render-client.ts +188 -13
  172. package/src/forge/compiler/data-graph/parse.ts +3 -3
  173. package/src/forge/compiler/data-graph/sql/ddl.ts +60 -2
  174. package/src/forge/compiler/data-graph/sql/serialize.ts +4 -0
  175. package/src/forge/compiler/data-graph/sql/types.ts +1 -0
  176. package/src/forge/compiler/dev-manifest/build.ts +3 -0
  177. package/src/forge/compiler/diagnostics/codes.ts +35 -0
  178. package/src/forge/compiler/diagnostics/create.ts +8 -3
  179. package/src/forge/compiler/diagnostics/index.ts +2 -0
  180. package/src/forge/compiler/emitter/barrel.ts +3 -0
  181. package/src/forge/compiler/emitter/render.ts +5 -0
  182. package/src/forge/compiler/external-manifest/registry.ts +205 -0
  183. package/src/forge/compiler/external-manifest/types.ts +91 -0
  184. package/src/forge/compiler/external-manifest/validate.ts +373 -0
  185. package/src/forge/compiler/frontend-graph/build.ts +85 -13
  186. package/src/forge/compiler/integration/add.ts +498 -22
  187. package/src/forge/compiler/integration/snapshot.ts +2 -0
  188. package/src/forge/compiler/make-registry/build.ts +19 -7
  189. package/src/forge/compiler/orchestrator/plan-profile.ts +23 -0
  190. package/src/forge/compiler/orchestrator/plan.ts +78 -7
  191. package/src/forge/compiler/orchestrator/profile.ts +65 -0
  192. package/src/forge/compiler/orchestrator/run.ts +97 -31
  193. package/src/forge/compiler/orchestrator/serialize.ts +101 -8
  194. package/src/forge/compiler/package-graph/compiler.ts +13 -3
  195. package/src/forge/compiler/package-manager/adapter.ts +4 -1
  196. package/src/forge/compiler/package-manager/commands.ts +4 -0
  197. package/src/forge/compiler/package-manager/executor.ts +30 -1
  198. package/src/forge/compiler/policy-registry/build.ts +44 -1
  199. package/src/forge/compiler/test-graph/build.ts +11 -3
  200. package/src/forge/compiler/types/ai-registry.ts +25 -1
  201. package/src/forge/compiler/types/app-graph.ts +9 -2
  202. package/src/forge/compiler/types/cli.ts +76 -1
  203. package/src/forge/compiler/types/dev-manifest.ts +3 -0
  204. package/src/forge/compiler/types/frontend-graph.ts +2 -2
  205. package/src/forge/delta/classifier.ts +52 -0
  206. package/src/forge/delta/explain.ts +126 -0
  207. package/src/forge/delta/git-observer.ts +43 -0
  208. package/src/forge/delta/ids.ts +44 -0
  209. package/src/forge/delta/index.ts +13 -0
  210. package/src/forge/delta/recorder.ts +402 -0
  211. package/src/forge/delta/redaction.ts +50 -0
  212. package/src/forge/delta/schema.ts +240 -0
  213. package/src/forge/delta/session.ts +142 -0
  214. package/src/forge/delta/status.ts +489 -0
  215. package/src/forge/delta/store.ts +2975 -0
  216. package/src/forge/delta/timeline.ts +104 -0
  217. package/src/forge/dev/server.ts +768 -15
  218. package/src/forge/dev/types.ts +15 -1
  219. package/src/forge/dev/watch.ts +17 -7
  220. package/src/forge/dev-console/cycle.ts +233 -21
  221. package/src/forge/dev-console/types.ts +46 -1
  222. package/src/forge/impact/index.ts +46 -8
  223. package/src/forge/impact/types.ts +6 -0
  224. package/src/forge/intent/index.ts +35 -16
  225. package/src/forge/make/index.ts +149 -6
  226. package/src/forge/make/templates.ts +343 -2
  227. package/src/forge/make/types.ts +3 -1
  228. package/src/forge/refactor/index.ts +1 -0
  229. package/src/forge/repair/rules/index.ts +2 -2
  230. package/src/forge/review/index.ts +158 -12
  231. package/src/forge/review/types.ts +15 -0
  232. package/src/forge/runtime/ai/context.ts +210 -5
  233. package/src/forge/runtime/ai/types.ts +70 -0
  234. package/src/forge/runtime/auth/claims.ts +32 -0
  235. package/src/forge/runtime/auth/errors.ts +2 -0
  236. package/src/forge/runtime/context/create-context.ts +30 -6
  237. package/src/forge/runtime/db/generated-client.ts +13 -2
  238. package/src/forge/runtime/db/memory-adapter.ts +2 -2
  239. package/src/forge/runtime/db/pglite-adapter.ts +77 -2
  240. package/src/forge/runtime/db/postgres-adapter.ts +6 -3
  241. package/src/forge/runtime/executor.ts +112 -2
  242. package/src/forge/runtime/external/bridge.ts +649 -0
  243. package/src/forge/runtime/runner/run-entry.ts +16 -7
  244. package/src/forge/runtime/telemetry/scrubber.ts +91 -10
  245. package/src/forge/runtime/webhooks/security.ts +184 -0
  246. package/src/forge/server.ts +100 -2
  247. package/src/forge/version.ts +1 -1
  248. package/src/forge/vue/index.ts +407 -0
  249. package/src/forge/workspace/change-summary.ts +209 -0
  250. package/src/forge/workspace/forge-cli.ts +14 -0
  251. package/src/forge/workspace/git-summary.ts +279 -0
  252. package/templates/agent-workroom/AGENTS.md +29 -0
  253. package/templates/agent-workroom/README.md +34 -0
  254. package/templates/agent-workroom/forge.config.ts +3 -0
  255. package/templates/agent-workroom/package.json +33 -0
  256. package/templates/agent-workroom/src/actions/indexAgentSignal.ts +10 -0
  257. package/templates/agent-workroom/src/commands/openWorkroom.ts +61 -0
  258. package/templates/agent-workroom/src/commands/recordAgentSignal.ts +119 -0
  259. package/templates/agent-workroom/src/commands/recordCheckRun.ts +52 -0
  260. package/templates/agent-workroom/src/forge/schema.ts +54 -0
  261. package/templates/agent-workroom/src/policies.ts +6 -0
  262. package/templates/agent-workroom/src/queries/listWorkrooms.ts +11 -0
  263. package/templates/agent-workroom/src/queries/liveWorkroom.ts +63 -0
  264. package/templates/agent-workroom/tsconfig.json +16 -0
  265. package/templates/agent-workroom/web/index.html +12 -0
  266. package/templates/agent-workroom/web/package.json +21 -0
  267. package/templates/agent-workroom/web/src/App.tsx +345 -0
  268. package/templates/agent-workroom/web/src/lib/forge.ts +13 -0
  269. package/templates/agent-workroom/web/src/main.tsx +13 -0
  270. package/templates/agent-workroom/web/src/styles.css +545 -0
  271. package/templates/agent-workroom/web/tsconfig.json +27 -0
  272. package/templates/b2b-support-web/package.json +2 -0
  273. package/templates/b2b-support-web/tsconfig.json +4 -1
  274. package/templates/b2b-support-web/web/package.json +1 -1
  275. package/templates/minimal-web/package.json +2 -1
  276. package/templates/minimal-web/tsconfig.json +3 -1
  277. package/templates/minimal-web/web/package.json +2 -2
  278. package/src/forge/_generated/actionSubscriptions.json +0 -2
  279. package/src/forge/_generated/actionSubscriptions.ts +0 -10
  280. package/src/forge/_generated/agentAdapterManifest.json +0 -2
  281. package/src/forge/_generated/agentAdapterManifest.ts +0 -73
  282. package/src/forge/_generated/agentContract.json +0 -2
  283. package/src/forge/_generated/agentContract.ts +0 -7696
  284. package/src/forge/_generated/agentQuickstart.md +0 -32
  285. package/src/forge/_generated/aiContext.ts +0 -59
  286. package/src/forge/_generated/aiModels.json +0 -2
  287. package/src/forge/_generated/aiModels.ts +0 -35
  288. package/src/forge/_generated/aiProviders.json +0 -2
  289. package/src/forge/_generated/aiProviders.ts +0 -23
  290. package/src/forge/_generated/aiRegistry.json +0 -2
  291. package/src/forge/_generated/aiRegistry.ts +0 -29
  292. package/src/forge/_generated/api.json +0 -2
  293. package/src/forge/_generated/api.ts +0 -8
  294. package/src/forge/_generated/appGraph.json +0 -2
  295. package/src/forge/_generated/appGraph.ts +0 -14667
  296. package/src/forge/_generated/appMap.md +0 -35
  297. package/src/forge/_generated/artifactManifest.json +0 -2
  298. package/src/forge/_generated/artifactManifest.ts +0 -7
  299. package/src/forge/_generated/authClaims.json +0 -2
  300. package/src/forge/_generated/authClaims.ts +0 -13
  301. package/src/forge/_generated/authConfig.json +0 -2
  302. package/src/forge/_generated/authConfig.ts +0 -17
  303. package/src/forge/_generated/authContext.ts +0 -23
  304. package/src/forge/_generated/authRegistry.json +0 -2
  305. package/src/forge/_generated/authRegistry.ts +0 -25
  306. package/src/forge/_generated/buildInfo.json +0 -2
  307. package/src/forge/_generated/buildInfo.ts +0 -9
  308. package/src/forge/_generated/capabilityMap.json +0 -2
  309. package/src/forge/_generated/capabilityMap.md +0 -15
  310. package/src/forge/_generated/capabilityMap.ts +0 -17
  311. package/src/forge/_generated/client.ts +0 -282
  312. package/src/forge/_generated/clientApi.ts +0 -9
  313. package/src/forge/_generated/clientManifest.json +0 -2
  314. package/src/forge/_generated/clientManifest.ts +0 -39
  315. package/src/forge/_generated/clientTypes.ts +0 -78
  316. package/src/forge/_generated/configRegistry.json +0 -2
  317. package/src/forge/_generated/configRegistry.ts +0 -4
  318. package/src/forge/_generated/dataGraph.json +0 -2
  319. package/src/forge/_generated/dataGraph.ts +0 -8
  320. package/src/forge/_generated/db.json +0 -2
  321. package/src/forge/_generated/db.ts +0 -2
  322. package/src/forge/_generated/dbSecurityManifest.json +0 -2
  323. package/src/forge/_generated/dbSecurityManifest.ts +0 -15
  324. package/src/forge/_generated/dbSessionContext.json +0 -2
  325. package/src/forge/_generated/dbSessionContext.ts +0 -39
  326. package/src/forge/_generated/deployManifest.json +0 -2
  327. package/src/forge/_generated/deployManifest.ts +0 -14
  328. package/src/forge/_generated/devManifest.json +0 -2
  329. package/src/forge/_generated/devManifest.ts +0 -47
  330. package/src/forge/_generated/envSchema.json +0 -2
  331. package/src/forge/_generated/envSchema.ts +0 -59
  332. package/src/forge/_generated/frontendGraph.json +0 -2
  333. package/src/forge/_generated/frontendGraph.ts +0 -27
  334. package/src/forge/_generated/importGuards.json +0 -2
  335. package/src/forge/_generated/importGuards.ts +0 -686
  336. package/src/forge/_generated/index.ts +0 -67
  337. package/src/forge/_generated/liveProductionManifest.json +0 -2
  338. package/src/forge/_generated/liveProductionManifest.ts +0 -23
  339. package/src/forge/_generated/liveProtocol.json +0 -2
  340. package/src/forge/_generated/liveProtocol.ts +0 -21
  341. package/src/forge/_generated/liveQueryRegistry.json +0 -2
  342. package/src/forge/_generated/liveQueryRegistry.ts +0 -9
  343. package/src/forge/_generated/liveTransportConfig.json +0 -2
  344. package/src/forge/_generated/liveTransportConfig.ts +0 -19
  345. package/src/forge/_generated/makeRegistry.json +0 -2
  346. package/src/forge/_generated/makeRegistry.ts +0 -163
  347. package/src/forge/_generated/makeTemplates.json +0 -2
  348. package/src/forge/_generated/makeTemplates.ts +0 -61
  349. package/src/forge/_generated/mockMap.json +0 -2
  350. package/src/forge/_generated/mockMap.ts +0 -7
  351. package/src/forge/_generated/operationPlaybooks.md +0 -147
  352. package/src/forge/_generated/packageGraph.json +0 -2
  353. package/src/forge/_generated/packageGraph.ts +0 -245249
  354. package/src/forge/_generated/packageUpgradeRegistry.json +0 -2
  355. package/src/forge/_generated/packageUpgradeRegistry.ts +0 -15
  356. package/src/forge/_generated/permissionMatrix.json +0 -2
  357. package/src/forge/_generated/permissionMatrix.ts +0 -7
  358. package/src/forge/_generated/policyRegistry.json +0 -2
  359. package/src/forge/_generated/policyRegistry.ts +0 -11
  360. package/src/forge/_generated/queryRegistry.json +0 -2
  361. package/src/forge/_generated/queryRegistry.ts +0 -9
  362. package/src/forge/_generated/react.d.ts +0 -22
  363. package/src/forge/_generated/react.ts +0 -29
  364. package/src/forge/_generated/reactManifest.json +0 -2
  365. package/src/forge/_generated/reactManifest.ts +0 -19
  366. package/src/forge/_generated/rlsPolicies.json +0 -2
  367. package/src/forge/_generated/rlsPolicies.sql +0 -34
  368. package/src/forge/_generated/rlsPolicies.ts +0 -6
  369. package/src/forge/_generated/runtimeGraph.json +0 -2
  370. package/src/forge/_generated/runtimeGraph.ts +0 -8
  371. package/src/forge/_generated/runtimeMatrix.json +0 -2
  372. package/src/forge/_generated/runtimeMatrix.ts +0 -327385
  373. package/src/forge/_generated/runtimeRegistry.ts +0 -2
  374. package/src/forge/_generated/runtimeRules.md +0 -79
  375. package/src/forge/_generated/secretRegistry.json +0 -2
  376. package/src/forge/_generated/secretRegistry.ts +0 -50
  377. package/src/forge/_generated/secretsContext.ts +0 -11
  378. package/src/forge/_generated/serverApi.ts +0 -10
  379. package/src/forge/_generated/sourceMapManifest.json +0 -2
  380. package/src/forge/_generated/sourceMapManifest.ts +0 -7
  381. package/src/forge/_generated/sqlPlan.json +0 -2
  382. package/src/forge/_generated/sqlPlan.ts +0 -88
  383. package/src/forge/_generated/subscriptionManifest.json +0 -2
  384. package/src/forge/_generated/subscriptionManifest.ts +0 -7
  385. package/src/forge/_generated/symbolicationManifest.json +0 -2
  386. package/src/forge/_generated/symbolicationManifest.ts +0 -17
  387. package/src/forge/_generated/telemetryRegistry.json +0 -2
  388. package/src/forge/_generated/telemetryRegistry.ts +0 -9
  389. package/src/forge/_generated/telemetrySinks.json +0 -2
  390. package/src/forge/_generated/telemetrySinks.ts +0 -11
  391. package/src/forge/_generated/tenantScope.json +0 -2
  392. package/src/forge/_generated/tenantScope.ts +0 -8
  393. package/src/forge/_generated/testGraph.json +0 -2
  394. package/src/forge/_generated/testGraph.ts +0 -3108
  395. package/src/forge/_generated/testPlanRegistry.json +0 -2
  396. package/src/forge/_generated/testPlanRegistry.ts +0 -33
  397. package/src/forge/_generated/uiRoutes.json +0 -2
  398. package/src/forge/_generated/uiRoutes.ts +0 -16
  399. package/src/forge/_generated/uiScenarios.json +0 -2
  400. package/src/forge/_generated/uiScenarios.ts +0 -30
  401. package/src/forge/_generated/uiTestManifest.json +0 -2
  402. package/src/forge/_generated/uiTestManifest.ts +0 -27
  403. package/src/forge/_generated/workflowRegistry.json +0 -2
  404. package/src/forge/_generated/workflowRegistry.ts +0 -9
  405. package/src/forge/_generated/workflowSubscriptions.json +0 -2
  406. package/src/forge/_generated/workflowSubscriptions.ts +0 -10
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=2b75e18669312d27eb3d3b58558256dc495e10ac30c9ef72530948ef3b763fbd
2
- export const runtimeRegistry = {} as const;
@@ -1,79 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=7f09595afb7106f9024085f103c559078fd03bd0f2bb80554f0b57c6464354a2
2
- # Runtime Rules
3
-
4
- ## LiveQuery Production
5
-
6
- Allowed:
7
- - durable invalidation rows in _forge_live_invalidations
8
- - polling fallback
9
- - Postgres notify wakeups
10
- - SSE heartbeats and Last-Event-ID resume
11
-
12
- Forbidden:
13
- - treating Pub/Sub or in-memory notification as the source of truth
14
- - unbounded snapshot queues
15
- - cross-tenant invalidation fanout
16
-
17
- ## command
18
-
19
- Allowed:
20
- - ctx.db writes
21
- - ctx.emit
22
- - ctx.telemetry buffered events
23
-
24
- Forbidden:
25
- - network packages
26
- - ctx.secrets
27
- - ctx.ai
28
- - process.env
29
- - filesystem access
30
-
31
- ## query
32
-
33
- Allowed:
34
- - ctx.db reads
35
- - ctx.telemetry buffered events
36
-
37
- Forbidden:
38
- - insert/update/delete
39
- - ctx.emit
40
- - ctx.secrets
41
- - ctx.ai
42
- - network integrations
43
-
44
- ## liveQuery
45
-
46
- Allowed:
47
- - ctx.db reads
48
- - tenant-scoped subscriptions
49
-
50
- Forbidden:
51
- - insert/update/delete
52
- - ctx.emit
53
- - ctx.secrets
54
- - ctx.ai
55
- - network integrations
56
-
57
- ## action
58
-
59
- Allowed:
60
- - ctx.secrets
61
- - integrations
62
- - ctx.ai
63
- - ctx.db reads/writes
64
- - network packages
65
-
66
- Forbidden:
67
- - uncommitted transactional side effects
68
-
69
- ## workflow
70
-
71
- Allowed:
72
- - durable steps
73
- - ctx.secrets
74
- - integrations
75
- - ctx.ai
76
- - retries
77
-
78
- Forbidden:
79
- - non-idempotent step behavior without guards
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=dc3749521bc270bf535866b7dc70acbd465cba91051e4730a0011d80e22bb1f7
2
- {"secrets":[{"allowedContexts":["server","action","workflow","endpoint","test","build"],"integration":"ai-gateway","name":"AI_GATEWAY_API_KEY","public":false,"required":true,"source":"recipe"},{"allowedContexts":["server","action","workflow","endpoint","test","build"],"integration":"ai-provider-anthropic","name":"ANTHROPIC_API_KEY","public":false,"required":true,"source":"recipe"},{"allowedContexts":["server","action","workflow","endpoint","test","build"],"integration":"ai-provider-openai","name":"OPENAI_API_KEY","public":false,"required":true,"source":"recipe"}]}
@@ -1,50 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=27a3fd362b85da0ebaf11345ce74bd252a9699ef453087fbf9ec48f7a7a7e11a
2
- export const secretRegistry = {
3
- "secrets": [
4
- {
5
- "allowedContexts": [
6
- "server",
7
- "action",
8
- "workflow",
9
- "endpoint",
10
- "test",
11
- "build"
12
- ],
13
- "integration": "ai-gateway",
14
- "name": "AI_GATEWAY_API_KEY",
15
- "public": false,
16
- "required": true,
17
- "source": "recipe"
18
- },
19
- {
20
- "allowedContexts": [
21
- "server",
22
- "action",
23
- "workflow",
24
- "endpoint",
25
- "test",
26
- "build"
27
- ],
28
- "integration": "ai-provider-anthropic",
29
- "name": "ANTHROPIC_API_KEY",
30
- "public": false,
31
- "required": true,
32
- "source": "recipe"
33
- },
34
- {
35
- "allowedContexts": [
36
- "server",
37
- "action",
38
- "workflow",
39
- "endpoint",
40
- "test",
41
- "build"
42
- ],
43
- "integration": "ai-provider-openai",
44
- "name": "OPENAI_API_KEY",
45
- "public": false,
46
- "required": true,
47
- "source": "recipe"
48
- }
49
- ]
50
- } as const;
@@ -1,11 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=f4fb41702a4aa53e0f1783707d82dd624e374d9f753ca2cd0092af42d050d4de
2
- export interface SecretsContext {
3
- get(name: string): string;
4
- optional(name: string): string | undefined;
5
- has(name: string): boolean;
6
- }
7
-
8
- export interface ConfigContext {
9
- get(name: string): string;
10
- optional(name: string): string | undefined;
11
- }
@@ -1,10 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=ee2db579330ea2ab0b97114ee7ccc943251367a8b6997d75d8987fff521b92bd
2
- import { api } from "./api.ts";
3
-
4
- export const serverApi = {
5
- queries: api.queries,
6
- commands: api.commands,
7
- liveQueries: api.liveQueries,
8
- actions: api.actions,
9
- workflows: api.workflows,
10
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=d912633591d6f743568916826dd6c885ec9a600f0666751d03e387ecba0bbf1b
2
- {"diagnostics":[],"releaseId":"forgeos@0.1.0-alpha.2+unknown","schemaVersion":"0.1.0","sourceMaps":[]}
@@ -1,7 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=cd4d56991e6711782cae9eb9f32e3eddd40c7625c8679907a961ea6b8a1f7d1c
2
- export const sourceMapManifest = {
3
- "diagnostics": [],
4
- "releaseId": "forgeos@0.1.0-alpha.2+unknown",
5
- "schemaVersion": "0.1.0",
6
- "sourceMaps": []
7
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=1edd73682fcf31fb6419a31733cd4e2e54df9c385c5c950074b9a746dd47a4ae
2
- {"checksum":"e00b135de6e380256e8116fb3ac28f4d925aef552528a58b4dc5285782737654","diagnostics":[],"indexes":[{"index":{"columns":["revision"],"name":"forge_live_invalidations_revision_idx","table":"_forge_live_invalidations"},"kind":"create_index","sql":"CREATE INDEX IF NOT EXISTS \"forge_live_invalidations_revision_idx\" ON \"_forge_live_invalidations\" (\"revision\")","table":"_forge_live_invalidations"},{"index":{"columns":["table_name","tenant_id","revision"],"name":"forge_live_invalidations_table_tenant_revision_idx","table":"_forge_live_invalidations"},"kind":"create_index","sql":"CREATE INDEX IF NOT EXISTS \"forge_live_invalidations_table_tenant_revision_idx\" ON \"_forge_live_invalidations\" (\"table_name\", \"tenant_id\", \"revision\")","table":"_forge_live_invalidations"}],"migrationId":"migration_e00b135de6e38025","schemaVersion":"1.0.0","systemTables":[{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_migrations (id text PRIMARY KEY, checksum text NOT NULL, applied_at timestamptz NOT NULL DEFAULT now())","table":"_forge_migrations"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_outbox (id bigserial PRIMARY KEY, event_type text NOT NULL, payload jsonb NOT NULL, auth_context jsonb, created_at timestamptz NOT NULL DEFAULT now())","table":"_forge_outbox"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_outbox_deliveries (id bigserial PRIMARY KEY, outbox_id bigint NOT NULL REFERENCES _forge_outbox(id), action_name text NOT NULL, status text NOT NULL DEFAULT 'pending', attempts integer NOT NULL DEFAULT 0, max_attempts integer NOT NULL DEFAULT 5, next_attempt_at timestamptz NOT NULL DEFAULT now(), locked_at timestamptz, locked_by text, last_error text, processed_at timestamptz, created_at timestamptz NOT NULL DEFAULT now(), UNIQUE(outbox_id, action_name))","table":"_forge_outbox_deliveries"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_workflow_runs (id bigserial PRIMARY KEY, workflow_name text NOT NULL, trigger_type text NOT NULL, trigger_outbox_id bigint, idempotency_key text NOT NULL UNIQUE, input jsonb NOT NULL, auth_context jsonb, status text NOT NULL DEFAULT 'pending', current_step text, last_error text, created_at timestamptz NOT NULL DEFAULT now(), updated_at timestamptz NOT NULL DEFAULT now(), started_at timestamptz, completed_at timestamptz, canceled_at timestamptz)","table":"_forge_workflow_runs"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_workflow_steps (id bigserial PRIMARY KEY, run_id bigint NOT NULL REFERENCES _forge_workflow_runs(id), step_name text NOT NULL, step_index integer NOT NULL, status text NOT NULL DEFAULT 'pending', input jsonb, output jsonb, attempts integer NOT NULL DEFAULT 0, max_attempts integer NOT NULL DEFAULT 5, next_attempt_at timestamptz NOT NULL DEFAULT now(), locked_at timestamptz, locked_by text, last_error text, started_at timestamptz, completed_at timestamptz, created_at timestamptz NOT NULL DEFAULT now(), UNIQUE(run_id, step_name))","table":"_forge_workflow_steps"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_telemetry_events (id bigserial PRIMARY KEY, trace_id text NOT NULL, event_type text NOT NULL, payload jsonb NOT NULL, status text NOT NULL DEFAULT 'pending', sink text, attempts integer NOT NULL DEFAULT 0, max_attempts integer NOT NULL DEFAULT 5, next_attempt_at timestamptz NOT NULL DEFAULT now(), last_error text, created_at timestamptz NOT NULL DEFAULT now(), processed_at timestamptz)","table":"_forge_telemetry_events"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_trace_spans (id bigserial PRIMARY KEY, trace_id text NOT NULL, parent_span_id text, span_id text NOT NULL, name text NOT NULL, kind text NOT NULL, attributes jsonb NOT NULL DEFAULT '{}', status text NOT NULL DEFAULT 'ok', started_at timestamptz NOT NULL, ended_at timestamptz, error text)","table":"_forge_trace_spans"},{"kind":"create_sequence","sql":"CREATE SEQUENCE IF NOT EXISTS _forge_live_revision_seq START WITH 2","table":"_forge_live_revision_seq"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_live_invalidations (id bigserial PRIMARY KEY, revision bigint NOT NULL, table_name text NOT NULL, tenant_id text, operation text NOT NULL, source_kind text NOT NULL, source_name text, trace_id text, release_id text, deploy_id text, payload jsonb NOT NULL DEFAULT '{}', created_at timestamptz NOT NULL DEFAULT now())","table":"_forge_live_invalidations"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_live_subscription_debug (id text PRIMARY KEY, name text NOT NULL, tenant_id text, dependencies jsonb NOT NULL, last_revision bigint, runtime_id text, created_at timestamptz NOT NULL DEFAULT now(), updated_at timestamptz NOT NULL DEFAULT now())","table":"_forge_live_subscription_debug"}],"tables":[]}
@@ -1,88 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=d5967c203c4ecb427d0cf694931a3cc8dc6dd88726fcd4b71b79c2ab0c464e10
2
- export const sqlPlan = {
3
- "checksum": "e00b135de6e380256e8116fb3ac28f4d925aef552528a58b4dc5285782737654",
4
- "diagnostics": [],
5
- "indexes": [
6
- {
7
- "index": {
8
- "columns": [
9
- "revision"
10
- ],
11
- "name": "forge_live_invalidations_revision_idx",
12
- "table": "_forge_live_invalidations"
13
- },
14
- "kind": "create_index",
15
- "sql": "CREATE INDEX IF NOT EXISTS \"forge_live_invalidations_revision_idx\" ON \"_forge_live_invalidations\" (\"revision\")",
16
- "table": "_forge_live_invalidations"
17
- },
18
- {
19
- "index": {
20
- "columns": [
21
- "table_name",
22
- "tenant_id",
23
- "revision"
24
- ],
25
- "name": "forge_live_invalidations_table_tenant_revision_idx",
26
- "table": "_forge_live_invalidations"
27
- },
28
- "kind": "create_index",
29
- "sql": "CREATE INDEX IF NOT EXISTS \"forge_live_invalidations_table_tenant_revision_idx\" ON \"_forge_live_invalidations\" (\"table_name\", \"tenant_id\", \"revision\")",
30
- "table": "_forge_live_invalidations"
31
- }
32
- ],
33
- "migrationId": "migration_e00b135de6e38025",
34
- "schemaVersion": "1.0.0",
35
- "systemTables": [
36
- {
37
- "kind": "create_table",
38
- "sql": "CREATE TABLE IF NOT EXISTS _forge_migrations (id text PRIMARY KEY, checksum text NOT NULL, applied_at timestamptz NOT NULL DEFAULT now())",
39
- "table": "_forge_migrations"
40
- },
41
- {
42
- "kind": "create_table",
43
- "sql": "CREATE TABLE IF NOT EXISTS _forge_outbox (id bigserial PRIMARY KEY, event_type text NOT NULL, payload jsonb NOT NULL, auth_context jsonb, created_at timestamptz NOT NULL DEFAULT now())",
44
- "table": "_forge_outbox"
45
- },
46
- {
47
- "kind": "create_table",
48
- "sql": "CREATE TABLE IF NOT EXISTS _forge_outbox_deliveries (id bigserial PRIMARY KEY, outbox_id bigint NOT NULL REFERENCES _forge_outbox(id), action_name text NOT NULL, status text NOT NULL DEFAULT 'pending', attempts integer NOT NULL DEFAULT 0, max_attempts integer NOT NULL DEFAULT 5, next_attempt_at timestamptz NOT NULL DEFAULT now(), locked_at timestamptz, locked_by text, last_error text, processed_at timestamptz, created_at timestamptz NOT NULL DEFAULT now(), UNIQUE(outbox_id, action_name))",
49
- "table": "_forge_outbox_deliveries"
50
- },
51
- {
52
- "kind": "create_table",
53
- "sql": "CREATE TABLE IF NOT EXISTS _forge_workflow_runs (id bigserial PRIMARY KEY, workflow_name text NOT NULL, trigger_type text NOT NULL, trigger_outbox_id bigint, idempotency_key text NOT NULL UNIQUE, input jsonb NOT NULL, auth_context jsonb, status text NOT NULL DEFAULT 'pending', current_step text, last_error text, created_at timestamptz NOT NULL DEFAULT now(), updated_at timestamptz NOT NULL DEFAULT now(), started_at timestamptz, completed_at timestamptz, canceled_at timestamptz)",
54
- "table": "_forge_workflow_runs"
55
- },
56
- {
57
- "kind": "create_table",
58
- "sql": "CREATE TABLE IF NOT EXISTS _forge_workflow_steps (id bigserial PRIMARY KEY, run_id bigint NOT NULL REFERENCES _forge_workflow_runs(id), step_name text NOT NULL, step_index integer NOT NULL, status text NOT NULL DEFAULT 'pending', input jsonb, output jsonb, attempts integer NOT NULL DEFAULT 0, max_attempts integer NOT NULL DEFAULT 5, next_attempt_at timestamptz NOT NULL DEFAULT now(), locked_at timestamptz, locked_by text, last_error text, started_at timestamptz, completed_at timestamptz, created_at timestamptz NOT NULL DEFAULT now(), UNIQUE(run_id, step_name))",
59
- "table": "_forge_workflow_steps"
60
- },
61
- {
62
- "kind": "create_table",
63
- "sql": "CREATE TABLE IF NOT EXISTS _forge_telemetry_events (id bigserial PRIMARY KEY, trace_id text NOT NULL, event_type text NOT NULL, payload jsonb NOT NULL, status text NOT NULL DEFAULT 'pending', sink text, attempts integer NOT NULL DEFAULT 0, max_attempts integer NOT NULL DEFAULT 5, next_attempt_at timestamptz NOT NULL DEFAULT now(), last_error text, created_at timestamptz NOT NULL DEFAULT now(), processed_at timestamptz)",
64
- "table": "_forge_telemetry_events"
65
- },
66
- {
67
- "kind": "create_table",
68
- "sql": "CREATE TABLE IF NOT EXISTS _forge_trace_spans (id bigserial PRIMARY KEY, trace_id text NOT NULL, parent_span_id text, span_id text NOT NULL, name text NOT NULL, kind text NOT NULL, attributes jsonb NOT NULL DEFAULT '{}', status text NOT NULL DEFAULT 'ok', started_at timestamptz NOT NULL, ended_at timestamptz, error text)",
69
- "table": "_forge_trace_spans"
70
- },
71
- {
72
- "kind": "create_sequence",
73
- "sql": "CREATE SEQUENCE IF NOT EXISTS _forge_live_revision_seq START WITH 2",
74
- "table": "_forge_live_revision_seq"
75
- },
76
- {
77
- "kind": "create_table",
78
- "sql": "CREATE TABLE IF NOT EXISTS _forge_live_invalidations (id bigserial PRIMARY KEY, revision bigint NOT NULL, table_name text NOT NULL, tenant_id text, operation text NOT NULL, source_kind text NOT NULL, source_name text, trace_id text, release_id text, deploy_id text, payload jsonb NOT NULL DEFAULT '{}', created_at timestamptz NOT NULL DEFAULT now())",
79
- "table": "_forge_live_invalidations"
80
- },
81
- {
82
- "kind": "create_table",
83
- "sql": "CREATE TABLE IF NOT EXISTS _forge_live_subscription_debug (id text PRIMARY KEY, name text NOT NULL, tenant_id text, dependencies jsonb NOT NULL, last_revision bigint, runtime_id text, created_at timestamptz NOT NULL DEFAULT now(), updated_at timestamptz NOT NULL DEFAULT now())",
84
- "table": "_forge_live_subscription_debug"
85
- }
86
- ],
87
- "tables": []
88
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=f126ac9aebb156a6162a8ce62688b7d70cb6e62f981a9c1be27716952f2c2aaa
2
- {"generatorVersion":"0.1.0-alpha.2","inputHash":"ad62fe5e04c91b7039f9390867b215a7b923d8091080ed6d32b917134f35ca3f","liveQueries":[],"schemaVersion":"0.1.0"}
@@ -1,7 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=f1c8c68b37044649241dc80720d202d978c52b6a9ea5b5701ae9ce529ac59212
2
- export const subscriptionManifest = {
3
- "generatorVersion": "0.1.0-alpha.2",
4
- "inputHash": "ad62fe5e04c91b7039f9390867b215a7b923d8091080ed6d32b917134f35ca3f",
5
- "liveQueries": [],
6
- "schemaVersion": "0.1.0"
7
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=6aa5bdd714e2708716c2622d652f6e0592cc2dd64d2abb5dc464a11682fa1c03
2
- {"diagnostics":[],"localSymbolication":true,"providers":["local","sentry-compatible","sentry","glitchtip","bugsink","otel","custom"],"releaseId":"forgeos@0.1.0-alpha.2+unknown","schemaVersion":"0.1.0","sourceMapCount":0}
@@ -1,17 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=f012c5b8779acc04ef004424f3849f9e1e477639ba068127ccefed26b75052aa
2
- export const symbolicationManifest = {
3
- "diagnostics": [],
4
- "localSymbolication": true,
5
- "providers": [
6
- "local",
7
- "sentry-compatible",
8
- "sentry",
9
- "glitchtip",
10
- "bugsink",
11
- "otel",
12
- "custom"
13
- ],
14
- "releaseId": "forgeos@0.1.0-alpha.2+unknown",
15
- "schemaVersion": "0.1.0",
16
- "sourceMapCount": 0
17
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=cfc6c02905530974a780e262c85f6f9d13604a3eb1311ae908eea6c639d625d7
2
- {"analyzerVersion":"1.0.0","diagnostics":[],"events":[],"generatorVersion":"0.1.0-alpha.2","inputHash":"391ea218b3a724dedbd4002adb1ce5a74b823c06bd4de6807e9bfa417c83a5e3","schemaVersion":"1.0.0"}
@@ -1,9 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=111d195b0657540036e50c94ffacf418e96b4f53c8d27b5823731b4927b87a8d
2
- export const telemetryRegistry = {
3
- "analyzerVersion": "1.0.0",
4
- "diagnostics": [],
5
- "events": [],
6
- "generatorVersion": "0.1.0-alpha.2",
7
- "inputHash": "391ea218b3a724dedbd4002adb1ce5a74b823c06bd4de6807e9bfa417c83a5e3",
8
- "schemaVersion": "1.0.0"
9
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=79af3e3983be8149f429ffeec1b83f0794a8cd159bfc7107b025907ed0a64137
2
- {"generatorVersion":"0.1.0-alpha.2","schemaVersion":"1.0.0","sinks":[{"id":"local","kind":"local"}]}
@@ -1,11 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=7e2bdea1afadda40d98d681b1ace3796b586093eea024984db617ce18213855e
2
- export const telemetrySinks = {
3
- "generatorVersion": "0.1.0-alpha.2",
4
- "schemaVersion": "1.0.0",
5
- "sinks": [
6
- {
7
- "id": "local",
8
- "kind": "local"
9
- }
10
- ]
11
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=e251c06e863fc4e028978d1e1bdb77b34a398c905026f22ef5bb364c302ba680
2
- {"diagnostics":[],"generatorVersion":"0.1.0-alpha.2","inputHash":"e6f39f22ce15fa12d24d9bc2bce59d509b48ad0559d311f8cf992484a45ba164","schemaVersion":"1.0.0","tables":[]}
@@ -1,8 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=dcda9acd440841d4ea5dd4106e4ed2080cf3d76d4d513a9c9f0215bab01747b4
2
- export const tenantScope = {
3
- "diagnostics": [],
4
- "generatorVersion": "0.1.0-alpha.2",
5
- "inputHash": "e6f39f22ce15fa12d24d9bc2bce59d509b48ad0559d311f8cf992484a45ba164",
6
- "schemaVersion": "1.0.0",
7
- "tables": []
8
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=e2d99d8d30cdf4ae62bfc9af2b47e8a5a0d4875e7ae01d9e529264b38de0f00e
2
- {"analyzerVersion":"test-graph-0.1.0","diagnostics":[],"generatorVersion":"0.1.0-alpha.2","inputHash":"2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f","schemaVersion":"0.1.0","tests":[{"confidence":"probable","cost":"docker","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","tsx","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-adapters/h30-agent-adapters.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages tsx","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-contract/h19-agent-contract.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-contract/h34-full-stack-contract.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-contract/h35-capability-map.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-cli.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-context.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-dev-server.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-forbidden-context.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-mock-provider.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-registry.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-secrets.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-telemetry.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-workflow.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/app-graph/build.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/app-graph/classify.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/app-graph/incremental.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["jose"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/auth/h20-auth.test.ts","kind":"unknown","reasons":["confirmed: packages jose"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check","typescript","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cache/cache-soundness.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check","confirmed: packages typescript","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cache/cache.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/ci-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/field-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/github-packages-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/publish-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","fast-check","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/classifier/classification.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check","probable: packages ai","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/classifier/classify.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cli/cli.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"slow","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cli/node-compat.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cli/windows.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-api-generation.test.ts","kind":"unknown","reasons":["probable: packages react"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-auth-headers.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-command.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-errors.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-query.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-surface-security.test.ts","kind":"unknown","reasons":["probable: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-tenant-scope.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/data-graph/build.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/data-graph/parse.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/db-cli.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/generated-db-client.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/migrations.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/outbox.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/pglite-adapter.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/sql-compiler.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"docker","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["postgres"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/deploy/self-host.test.ts","kind":"unknown","reasons":["probable: packages postgres"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/deps/h22-deps.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-console.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-outbox-worker.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-server-db.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-workflow-worker.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/routes.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/server.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/streaming-response.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/watch.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/diagnostics/codes.test.ts","kind":"unknown","reasons":["probable: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/docs/readthedocs.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"slow","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/e2e/pipeline.test.ts","kind":"e2e","reasons":["probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/emitter/determinism.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/emitter/emitter.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/examples/basic-forge-app.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/examples/showcase-app.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/feature/h26-feature.test.ts","kind":"unknown","reasons":["probable: packages react"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/field/field-test-script.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/fs/file-system.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/guards/eslint-plugin.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/guards/guards.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"probable","cost":"slow","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/guards/guards.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react","tsx","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/impact/h28-impact.test.ts","kind":"unknown","reasons":["probable: packages react","probable: packages tsx","probable: packages zod"]},{"confidence":"probable","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/integration/add.test.ts","kind":"integration","reasons":["probable: packages zod"]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/integration/h2-quality.test.ts","kind":"integration","reasons":["confirmed: packages zod","probable: packages ai"]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/integration/lock-integrity.property.test.ts","kind":"integration","reasons":["confirmed: packages fast-check","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/intent/h33-intent-router.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["postgres"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/live-production/h24-live-production.test.ts","kind":"unknown","reasons":["probable: packages postgres"]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/live/live-query-invalidation.test.ts","kind":"integration","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/make/h25-make.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/check-drift.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/fast-check.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/idempotency.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/orchestrator.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/action-subscriptions.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/outbox-dead-letter.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/outbox-process.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/outbox-retry.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-graph/extraction.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-graph/static-safety.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-manager/adapter.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-manager/commands.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-manager/detect.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/command-auth.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/outbox-auth-propagation.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-denied.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-matrix.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-registry.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-simulate.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/telemetry-policy-denied.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/tenant-scoped-db.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/workflow-auth-context.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/compare.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/hash.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/result.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/serialize.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/sort.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/stable-ordering.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-dev-server.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-policy.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-readonly.test.ts","kind":"unknown","reasons":["probable: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-registry.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-run.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-telemetry.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-tenant-scope.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","react"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/react/generated-react.test.ts","kind":"frontend","reasons":["confirmed: packages react","probable: packages ai"]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react","react-test-renderer"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/react/hooks.test.ts","kind":"frontend","reasons":["confirmed: packages react","confirmed: packages react-test-renderer"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["@ai-sdk/anthropic","@ai-sdk/openai","ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/recipes/registry.test.ts","kind":"unknown","reasons":["probable: packages @ai-sdk/anthropic","probable: packages @ai-sdk/openai","probable: packages ai","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/refactor/h27-refactor.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/release/h23-release.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/release/version-alignment.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/repair/h29-repair.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"probable","cost":"docker","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/review/h31-review.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["postgres"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/rls/h21-rls.test.ts","kind":"unknown","reasons":["probable: packages postgres"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime-graph/build.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/command-persistence.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/command-transaction.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/db-generated-client-alias.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/executor.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/guard-block.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/mock.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/sandbox/sandbox.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/sandbox/secret-exclusion.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/ctx-secrets.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/dev-server-env.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/env-loader.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/forbidden-context.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/generated-adapters-secrets.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/process-env-check.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/secret-registry-generation.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/secrets-check.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/verify-strict.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/smoke/real-packages.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-cli.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-context.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-db.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-dev-server.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-jsonl-sink.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-posthog-sink.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-scrubber.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-sentry-sink.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/templates/create-forge-app.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","react","tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/templates/new-b2b-support-web.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages react","probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/templates/new-minimal-web.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ui/h32-ui.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-cancel.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-idempotency.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-process.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-registry.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-retry.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-run-create.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-subscriptions.test.ts","kind":"integration","reasons":[]}]}