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,35 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=39b5a42a6214087649bb1cc5ff26437a6d01243fefef6a28b6233d983cd1e731
2
- # App Map
3
-
4
- ## Data
5
-
6
- ## Commands
7
-
8
- ## Queries
9
-
10
- ## Live Queries
11
-
12
- ## Actions
13
-
14
- ## Workflows
15
-
16
- ## Frontend
17
-
18
- Present: no
19
- Framework: none
20
-
21
- ### Routes
22
-
23
- ### Components
24
-
25
- ### Client Bindings
26
-
27
- - none
28
-
29
- ### Runtime Endpoints
30
-
31
- - none
32
-
33
- ### Full-Stack Route Bindings
34
-
35
- - none
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=423f747f67fd822fc39463235d4b10e21758e645d000b8bc4efe4e215a6bdc9d
2
- {"artifacts":[],"diagnostics":[],"releaseId":"forgeos@0.1.0-alpha.2+unknown","schemaVersion":"0.1.0"}
@@ -1,7 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=570cddc8e65c6a06e17458b24ab191866bfda15a285268d5e308dab56704e884
2
- export const artifactManifest = {
3
- "artifacts": [],
4
- "diagnostics": [],
5
- "releaseId": "forgeos@0.1.0-alpha.2+unknown",
6
- "schemaVersion": "0.1.0"
7
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=c9bda2f6e9efc218ecd5cf8504fc1115b75c98927021cd1a6a48b49c7df32798
2
- {"claims":{"email":"email","name":"name","permissions":"permissions","role":"role","roles":"roles","tenantId":"tenant_id","userId":"sub"},"schemaVersion":"0.1.0"}
@@ -1,13 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=de95cece618768716693e2af73b236224507426781ce72787dfd87ce4bf286c2
2
- export const authClaims = {
3
- "claims": {
4
- "email": "email",
5
- "name": "name",
6
- "permissions": "permissions",
7
- "role": "role",
8
- "roles": "roles",
9
- "tenantId": "tenant_id",
10
- "userId": "sub"
11
- },
12
- "schemaVersion": "0.1.0"
13
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=7e85a943f955729dbee32461491b254b819595d84ce79d8e56bc522066654bba
2
- {"algorithmsEnv":"FORGE_AUTH_ALGORITHMS","audienceEnv":"FORGE_AUTH_AUDIENCE","defaultMode":"dev-headers","issuerEnv":"FORGE_AUTH_ISSUER","jwksUriEnv":"FORGE_AUTH_JWKS_URI","modeEnv":"FORGE_AUTH_MODE","modes":["dev-headers","jwt","oidc","disabled"],"requiresTenant":false,"schemaVersion":"0.1.0"}
@@ -1,17 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=ffd5e95a6107ad58380a0a171f1602594eca9c5bef9feb12f9d4568013e3e9d2
2
- export const authConfig = {
3
- "algorithmsEnv": "FORGE_AUTH_ALGORITHMS",
4
- "audienceEnv": "FORGE_AUTH_AUDIENCE",
5
- "defaultMode": "dev-headers",
6
- "issuerEnv": "FORGE_AUTH_ISSUER",
7
- "jwksUriEnv": "FORGE_AUTH_JWKS_URI",
8
- "modeEnv": "FORGE_AUTH_MODE",
9
- "modes": [
10
- "dev-headers",
11
- "jwt",
12
- "oidc",
13
- "disabled"
14
- ],
15
- "requiresTenant": false,
16
- "schemaVersion": "0.1.0"
17
- } as const;
@@ -1,23 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=cf170e035d456c3ac698211e5b5a5b65a5743332654a8d5987281c050002cf99
2
- export type AuthContext =
3
- | {
4
- kind: "user";
5
- userId: string;
6
- tenantId?: string;
7
- role?: string;
8
- roles?: string[];
9
- permissions?: string[];
10
- email?: string;
11
- name?: string;
12
- token?: {
13
- issuer: string;
14
- audience: string | string[];
15
- subject: string;
16
- expiresAt?: number;
17
- issuedAt?: number;
18
- authProvider: string;
19
- };
20
- claims?: Record<string, unknown>;
21
- }
22
- | { kind: "system"; tenantId?: string; triggeredBy?: AuthContext }
23
- | { kind: "anonymous" };
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=0b60f773fa78808792114ca707760eaf310233136c684ee57e1df018a24f8d4c
2
- {"algorithmsEnv":"FORGE_AUTH_ALGORITHMS","audienceEnv":"FORGE_AUTH_AUDIENCE","claims":{"email":"email","name":"name","permissions":"permissions","role":"role","roles":"roles","tenantId":"tenant_id","userId":"sub"},"defaultMode":"dev-headers","issuerEnv":"FORGE_AUTH_ISSUER","jwksUriEnv":"FORGE_AUTH_JWKS_URI","modes":["dev-headers","jwt","oidc","disabled"],"requiresTenant":false,"schemaVersion":"0.1.0"}
@@ -1,25 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=737febf357ddca0e97368d301087ceced8b4223b213fde817240434825a77b1e
2
- export const authRegistry = {
3
- "algorithmsEnv": "FORGE_AUTH_ALGORITHMS",
4
- "audienceEnv": "FORGE_AUTH_AUDIENCE",
5
- "claims": {
6
- "email": "email",
7
- "name": "name",
8
- "permissions": "permissions",
9
- "role": "role",
10
- "roles": "roles",
11
- "tenantId": "tenant_id",
12
- "userId": "sub"
13
- },
14
- "defaultMode": "dev-headers",
15
- "issuerEnv": "FORGE_AUTH_ISSUER",
16
- "jwksUriEnv": "FORGE_AUTH_JWKS_URI",
17
- "modes": [
18
- "dev-headers",
19
- "jwt",
20
- "oidc",
21
- "disabled"
22
- ],
23
- "requiresTenant": false,
24
- "schemaVersion": "0.1.0"
25
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=b404bc5044f167f4ac3657e8e7186f5cf531b677829ed5a4092d82d6a60a3c84
2
- {"generatedHash":"2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f","gitSha":"unknown","packageName":"forgeos","packageVersion":"0.1.0-alpha.2","releaseId":"forgeos@0.1.0-alpha.2+unknown","schemaVersion":"0.1.0"}
@@ -1,9 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=855591ad2a8f651c350d27cea97b0c75808969c16948cd925001f6c8ce3fa81e
2
- export const buildInfo = {
3
- "generatedHash": "2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f",
4
- "gitSha": "unknown",
5
- "packageName": "forgeos",
6
- "packageVersion": "0.1.0-alpha.2",
7
- "releaseId": "forgeos@0.1.0-alpha.2+unknown",
8
- "schemaVersion": "0.1.0"
9
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=577d64e09b8a41f9d9fb801825c7fe1799ea9959fb4c180656f96bcafd38bc48
2
- {"diagnostics":[],"entries":[],"generatorVersion":"0.1.0-alpha.2","project":{"name":"forgeos","type":"forgeos-app"},"schemaVersion":"0.1.0","summary":{"backendOnly":0,"covered":0,"frontendOnly":0,"warnings":0}}
@@ -1,15 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=b43b8f016935ebd1e3e8eb40b01ae80c052ab5907ece3edfca511372c7f0bd60
2
- # Capability Map
3
-
4
- Project: forgeos
5
-
6
- ## Summary
7
-
8
- - Covered: 0
9
- - Backend-only: 0
10
- - Frontend-only: 0
11
- - Warnings: 0
12
-
13
- ## Capabilities
14
-
15
- - none
@@ -1,17 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=985b381a25e455603430f5fb651276a6fd09171f763bd544730f01b21f043618
2
- export const capabilityMap = {
3
- "diagnostics": [],
4
- "entries": [],
5
- "generatorVersion": "0.1.0-alpha.2",
6
- "project": {
7
- "name": "forgeos",
8
- "type": "forgeos-app"
9
- },
10
- "schemaVersion": "0.1.0",
11
- "summary": {
12
- "backendOnly": 0,
13
- "covered": 0,
14
- "frontendOnly": 0,
15
- "warnings": 0
16
- }
17
- } as const;
@@ -1,282 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=9b27e66a63e6abbf0c65ca5d8c1d64c7992fc7249842a9174b97b4a99c72a4bd
2
- import { api } from "./api.ts";
3
- import type {
4
- ForgeAuthProvider,
5
- ForgeClient,
6
- ForgeClientConfig,
7
- LiveQueryOptions,
8
- LiveSnapshot,
9
- } from "./clientTypes.ts";
10
- import { ForgeError } from "./clientTypes.ts";
11
-
12
- export { api };
13
- export { ForgeError } from "./clientTypes.ts";
14
- export type {
15
- ForgeAuthProvider,
16
- ForgeClient,
17
- ForgeClientConfig,
18
- ForgeStaticAuth,
19
- QueryName,
20
- CommandName,
21
- LiveQueryName,
22
- ForgeResolvedAuth,
23
- LiveQueryOptions,
24
- LiveSnapshot,
25
- Unsubscribe,
26
- } from "./clientTypes.ts";
27
-
28
- async function resolveAuthHeaders(
29
- auth?: ForgeAuthProvider,
30
- ): Promise<Record<string, string>> {
31
- if (!auth) {
32
- return {};
33
- }
34
-
35
- const resolved = typeof auth === "function" ? await auth() : auth;
36
- const authRecord = resolved as Record<string, unknown>;
37
- const headers: Record<string, string> = {
38
- ...(resolved.headers ?? {}),
39
- };
40
-
41
- const token =
42
- typeof resolved.getToken === "function"
43
- ? await resolved.getToken()
44
- : resolved.token;
45
- if (typeof token === "string" && token.length > 0) {
46
- headers.authorization = `Bearer ${token}`;
47
- }
48
-
49
- for (const [key, value] of Object.entries(authRecord)) {
50
- if (
51
- typeof value === "string" &&
52
- key !== "userId" &&
53
- key !== "tenantId" &&
54
- key !== "role" &&
55
- key !== "token"
56
- ) {
57
- headers[key] = value;
58
- }
59
- }
60
-
61
- if (resolved.userId) {
62
- headers["x-forge-user-id"] = resolved.userId;
63
- }
64
- if (resolved.tenantId) {
65
- headers["x-forge-tenant-id"] = resolved.tenantId;
66
- }
67
- if (resolved.role) {
68
- headers["x-forge-role"] = resolved.role;
69
- }
70
-
71
- return headers;
72
- }
73
-
74
- function toForgeError(error: unknown, code: string): ForgeError {
75
- if (error instanceof ForgeError) {
76
- return error;
77
- }
78
- return new ForgeError(error instanceof Error ? error.message : String(error), {
79
- code,
80
- });
81
- }
82
-
83
- function parseJsonPayload(body: unknown): {
84
- ok?: boolean;
85
- result?: unknown;
86
- traceId?: string;
87
- error?: { code: string; message: string; details?: unknown };
88
- diagnostics?: { code: string; message: string }[];
89
- } {
90
- return body as {
91
- ok?: boolean;
92
- result?: unknown;
93
- traceId?: string;
94
- error?: { code: string; message: string; details?: unknown };
95
- diagnostics?: { code: string; message: string }[];
96
- };
97
- }
98
-
99
- class ForgeHttpClient implements ForgeClient {
100
- lastTraceId?: string;
101
-
102
- constructor(private readonly config: ForgeClientConfig) {}
103
-
104
- query(name: string, args: unknown): Promise<unknown> {
105
- return this.invoke("queries", name, args);
106
- }
107
-
108
- command(name: string, args: unknown): Promise<unknown> {
109
- return this.invoke("commands", name, args);
110
- }
111
-
112
- liveQuery(
113
- name: string,
114
- args: unknown,
115
- onSnapshot: (snapshot: LiveSnapshot<unknown>) => void,
116
- onError?: (error: ForgeError) => void,
117
- options?: LiveQueryOptions,
118
- ) {
119
- const controller = new AbortController();
120
- const externalSignal = options?.signal;
121
- const abort = () => controller.abort();
122
- externalSignal?.addEventListener("abort", abort, { once: true });
123
-
124
- void this.openLiveQuery(name, args, onSnapshot, onError, controller.signal)
125
- .catch((error) => {
126
- if (controller.signal.aborted) {
127
- return;
128
- }
129
- onError?.(
130
- toForgeError(error, "FORGE_LIVEQUERY_SUBSCRIPTION_FAILED"),
131
- );
132
- })
133
- .finally(() => externalSignal?.removeEventListener("abort", abort));
134
-
135
- return () => controller.abort();
136
- }
137
-
138
- private async invoke(
139
- kind: "queries" | "commands",
140
- name: string,
141
- args: unknown,
142
- ): Promise<unknown> {
143
- const baseUrl = this.config.url.replace(/\/$/, "");
144
- const url = `${baseUrl}/${kind}/${encodeURIComponent(name)}`;
145
- const authHeaders = await resolveAuthHeaders(this.config.auth);
146
-
147
- const response = await fetch(url, {
148
- method: "POST",
149
- headers: {
150
- "Content-Type": "application/json",
151
- ...authHeaders,
152
- },
153
- body: JSON.stringify({ args }),
154
- });
155
-
156
- let body: unknown;
157
- try {
158
- body = await response.json();
159
- } catch {
160
- throw new ForgeError(`HTTP ${response.status}`, {
161
- code: "FORGE_HTTP_ERROR",
162
- status: response.status,
163
- });
164
- }
165
-
166
- const payload = parseJsonPayload(body);
167
- this.lastTraceId = payload.traceId;
168
-
169
- if (!response.ok || payload.ok === false) {
170
- const diagnostic = payload.diagnostics?.find((entry) => entry.code);
171
- const code =
172
- payload.error?.code ?? diagnostic?.code ?? "FORGE_REQUEST_FAILED";
173
- const message =
174
- payload.error?.message ??
175
- diagnostic?.message ??
176
- `Request failed with status ${response.status}`;
177
- throw new ForgeError(message, {
178
- code,
179
- traceId: payload.traceId,
180
- status: response.status,
181
- details: payload.error?.details ?? payload.diagnostics,
182
- });
183
- }
184
-
185
- return payload.result;
186
- }
187
-
188
- private async openLiveQuery(
189
- name: string,
190
- args: unknown,
191
- onSnapshot: (snapshot: LiveSnapshot<unknown>) => void,
192
- onError: ((error: ForgeError) => void) | undefined,
193
- signal: AbortSignal,
194
- ): Promise<void> {
195
- const baseUrl = this.config.url.replace(/\/$/, "");
196
- const encodedArgs = encodeURIComponent(JSON.stringify(args ?? {}));
197
- const url = `${baseUrl}/live/${encodeURIComponent(name)}?args=${encodedArgs}`;
198
- const authHeaders = await resolveAuthHeaders(this.config.auth);
199
-
200
- const response = await fetch(url, {
201
- method: "GET",
202
- headers: authHeaders,
203
- signal,
204
- });
205
-
206
- if (!response.ok || !response.body) {
207
- throw new ForgeError(`Live query failed with status ${response.status}`, {
208
- code: "FORGE_LIVEQUERY_SUBSCRIPTION_FAILED",
209
- status: response.status,
210
- });
211
- }
212
-
213
- const decoder = new TextDecoder();
214
- const reader = response.body.getReader();
215
- let buffer = "";
216
-
217
- while (!signal.aborted) {
218
- const { done, value } = await reader.read();
219
- if (done) {
220
- break;
221
- }
222
- buffer += decoder.decode(value, { stream: true });
223
- let boundary = buffer.indexOf("\n\n");
224
- while (boundary !== -1) {
225
- const frame = buffer.slice(0, boundary);
226
- buffer = buffer.slice(boundary + 2);
227
- this.handleSseFrame(frame, onSnapshot, onError);
228
- boundary = buffer.indexOf("\n\n");
229
- }
230
- }
231
- }
232
-
233
- private handleSseFrame(
234
- frame: string,
235
- onSnapshot: (snapshot: LiveSnapshot<unknown>) => void,
236
- onError?: (error: ForgeError) => void,
237
- ): void {
238
- const lines = frame.split(/\r?\n/);
239
- const event = lines.find((line) => line.startsWith("event:"))?.slice(6).trim();
240
- const data = lines
241
- .filter((line) => line.startsWith("data:"))
242
- .map((line) => line.slice(5).trimStart())
243
- .join("\n");
244
- if (!data) {
245
- return;
246
- }
247
-
248
- const payload = JSON.parse(data) as {
249
- type?: string;
250
- subscriptionId?: string;
251
- revision?: number;
252
- data?: unknown;
253
- traceId?: string;
254
- error?: { code: string; message: string; traceId?: string };
255
- };
256
-
257
- if (event === "snapshot" || payload.type === "snapshot") {
258
- this.lastTraceId = payload.traceId;
259
- onSnapshot({
260
- subscriptionId: String(payload.subscriptionId),
261
- revision: Number(payload.revision),
262
- data: payload.data,
263
- traceId: payload.traceId,
264
- });
265
- return;
266
- }
267
-
268
- if (event === "error" || payload.type === "error") {
269
- onError?.(
270
- new ForgeError(payload.error?.message ?? "liveQuery failed", {
271
- code: payload.error?.code ?? "FORGE_LIVEQUERY_SUBSCRIPTION_FAILED",
272
- traceId: payload.error?.traceId,
273
- details: payload.error,
274
- }),
275
- );
276
- }
277
- }
278
- }
279
-
280
- export function createForgeClient(config: ForgeClientConfig): ForgeClient {
281
- return new ForgeHttpClient(config);
282
- }
@@ -1,9 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=d331e860feeb8e9f3bcdcf45c3ff0ab2ebcd41bb96fbf204bb83dc7fcfda1ab3
2
- import { api } from "./api.ts";
3
-
4
- /** Client-side typed API surface (queries, commands; no server adapters). */
5
- export const clientApi = {
6
- queries: api.queries,
7
- commands: api.commands,
8
- liveQueries: api.liveQueries,
9
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=0b8e9771ae49a95b22473879d839845ca962f58a2ed94381dc23296e5d682e53
2
- {"commands":[],"excluded":{"actions":[],"serverAdapters":["ai.anthropic.server.ts","ai.gateway.server.ts","ai.openai.server.ts"],"serverPackages":["@ai-sdk/anthropic","@ai-sdk/openai","ai"],"workflows":[]},"generatorVersion":"0.1.0-alpha.2","inputHash":"f11ef7d449507f201211c3e4a128a1eaed36e51347155e3f186ca92f88d273c7","liveQueries":[],"queries":[],"react":{"entrypoint":"src/forge/_generated/react.ts","hooks":["ForgeProvider","useForgeClient","useAuth","useQuery","useCommand","useLiveQuery"]},"schemaVersion":"1.0.0","transport":{"commands":"POST /commands/:name","liveQueries":"GET /live/:name","queries":"POST /queries/:name"}}
@@ -1,39 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=4b6efc57b617290a6f19263fedebe74ffe86f75e8859c5317acfec276f276f81
2
- export const clientManifest = {
3
- "schemaVersion": "1.0.0",
4
- "generatorVersion": "0.1.0-alpha.2",
5
- "inputHash": "f11ef7d449507f201211c3e4a128a1eaed36e51347155e3f186ca92f88d273c7",
6
- "queries": [],
7
- "commands": [],
8
- "liveQueries": [],
9
- "transport": {
10
- "queries": "POST /queries/:name",
11
- "commands": "POST /commands/:name",
12
- "liveQueries": "GET /live/:name"
13
- },
14
- "react": {
15
- "entrypoint": "src/forge/_generated/react.ts",
16
- "hooks": [
17
- "ForgeProvider",
18
- "useForgeClient",
19
- "useAuth",
20
- "useQuery",
21
- "useCommand",
22
- "useLiveQuery"
23
- ]
24
- },
25
- "excluded": {
26
- "actions": [],
27
- "workflows": [],
28
- "serverAdapters": [
29
- "ai.anthropic.server.ts",
30
- "ai.gateway.server.ts",
31
- "ai.openai.server.ts"
32
- ],
33
- "serverPackages": [
34
- "@ai-sdk/anthropic",
35
- "@ai-sdk/openai",
36
- "ai"
37
- ]
38
- }
39
- } as const;
@@ -1,78 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=39ad42ec98ed7aebc56e061aa399738c1175f0a7b4261b5bf2df70eb59afcfe2
2
- export type ForgeStaticAuth = {
3
- userId?: string;
4
- tenantId?: string;
5
- role?: string;
6
- token?: string;
7
- getToken?: () => string | Promise<string>;
8
- headers?: Record<string, string>;
9
- [key: string]: unknown;
10
- };
11
-
12
- export type ForgeResolvedAuth = {
13
- userId?: string;
14
- tenantId?: string;
15
- role?: string;
16
- token?: string;
17
- getToken?: () => string | Promise<string>;
18
- headers?: Record<string, string>;
19
- [key: string]: unknown;
20
- };
21
-
22
- export type ForgeAuthProvider =
23
- | ForgeResolvedAuth
24
- | (() => Promise<ForgeResolvedAuth>);
25
-
26
- export type ForgeClientConfig = {
27
- url: string;
28
- auth?: ForgeAuthProvider;
29
- };
30
-
31
- export class ForgeError extends Error {
32
- code: string;
33
- traceId?: string;
34
- status?: number;
35
- details?: unknown;
36
-
37
- constructor(
38
- message: string,
39
- options: { code: string; traceId?: string; status?: number; details?: unknown },
40
- ) {
41
- super(message);
42
- this.name = "ForgeError";
43
- this.code = options.code;
44
- this.traceId = options.traceId;
45
- this.status = options.status;
46
- this.details = options.details;
47
- }
48
- }
49
-
50
- export type QueryName = keyof typeof import("./api.ts").api.queries;
51
- export type CommandName = keyof typeof import("./api.ts").api.commands;
52
- export type LiveQueryName = keyof typeof import("./api.ts").api.liveQueries;
53
-
54
- export type LiveSnapshot<T> = {
55
- subscriptionId: string;
56
- revision: number;
57
- data: T;
58
- traceId?: string;
59
- };
60
-
61
- export type LiveQueryOptions = {
62
- signal?: AbortSignal;
63
- };
64
-
65
- export type Unsubscribe = () => void;
66
-
67
- export type ForgeClient = {
68
- readonly lastTraceId?: string;
69
- query<Name extends QueryName>(name: Name, args: unknown): Promise<unknown>;
70
- command<Name extends CommandName>(name: Name, args: unknown): Promise<unknown>;
71
- liveQuery<Name extends LiveQueryName>(
72
- name: Name,
73
- args: unknown,
74
- onSnapshot: (snapshot: LiveSnapshot<unknown>) => void,
75
- onError?: (error: ForgeError) => void,
76
- options?: LiveQueryOptions,
77
- ): Unsubscribe;
78
- };
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=48ddd915b14870e3230c517f0d28dfa3bf01e62ce885807bf4b66172c4378ad5
2
- {"configs":[]}
@@ -1,4 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=c67952f1bae9aeedf0c0188f162d06dfb747b265c3c6ee7fdb1ef75782e76f3b
2
- export const configRegistry = {
3
- "configs": []
4
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=5581127fb75741576849ddf6ec2a753833313cbfcb9a3a40529079f6ee6ebddf
2
- {"analyzerVersion":"0.1.0","generatorVersion":"0.1.0-alpha.2","inputHash":"ad62fe5e04c91b7039f9390867b215a7b923d8091080ed6d32b917134f35ca3f","schemaVersion":"1.0.0","tables":[]}
@@ -1,8 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=62f65d28a96f5f92246b559fced535a247a160c79c7dd81615208697be34886b
2
- export const dataGraph = {
3
- "analyzerVersion": "0.1.0",
4
- "generatorVersion": "0.1.0-alpha.2",
5
- "inputHash": "ad62fe5e04c91b7039f9390867b215a7b923d8091080ed6d32b917134f35ca3f",
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=15ac2222f939e36b4d437bd5e54aa65ec9c2027a53825883f8a4b9e2710d65d3
2
- {"tableMap":{}}
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=34af9d0c4498776568d3d0171658539c0a25ebe08af51c34526617eb944fe106
2
- export const tableMap = {} as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=2990ae1c7d12671f2204605202c9e7d982b0156793644525ae0f7df2c0e18f6e
2
- {"authoritativeAdapters":["postgres"],"diagnostics":[],"nonAuthoritativeAdapters":["pglite","memory"],"provider":"postgres","schemaVersion":"0.1.0","tables":[],"tenantIsolation":"postgres-rls"}
@@ -1,15 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=7c04c09131fcff86b3da6eae92a195c39c0bb2c0be618f597422f7a38dda024c
2
- export const dbSecurityManifest = {
3
- "authoritativeAdapters": [
4
- "postgres"
5
- ],
6
- "diagnostics": [],
7
- "nonAuthoritativeAdapters": [
8
- "pglite",
9
- "memory"
10
- ],
11
- "provider": "postgres",
12
- "schemaVersion": "0.1.0",
13
- "tables": [],
14
- "tenantIsolation": "postgres-rls"
15
- } as const;