forgeos 0.1.0-alpha.4 → 0.1.0-alpha.40

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 (415) hide show
  1. package/.npmignore +10 -0
  2. package/AGENTS.md +142 -90
  3. package/CHANGELOG.md +418 -0
  4. package/LICENSE +21 -0
  5. package/README.md +67 -8
  6. package/adapters/go/README.md +23 -0
  7. package/adapters/go/go.mod +3 -0
  8. package/adapters/go/http.go +149 -0
  9. package/adapters/go/registry.go +234 -0
  10. package/adapters/go/types.go +136 -0
  11. package/adapters/java/README.md +68 -0
  12. package/adapters/java/pom.xml +34 -0
  13. package/adapters/java/src/main/java/dev/forgeos/adapter/Auth.java +20 -0
  14. package/adapters/java/src/main/java/dev/forgeos/adapter/Diagnostic.java +16 -0
  15. package/adapters/java/src/main/java/dev/forgeos/adapter/Entry.java +38 -0
  16. package/adapters/java/src/main/java/dev/forgeos/adapter/EntryKind.java +16 -0
  17. package/adapters/java/src/main/java/dev/forgeos/adapter/ErrorInfo.java +4 -0
  18. package/adapters/java/src/main/java/dev/forgeos/adapter/Forge.java +94 -0
  19. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeCall.java +12 -0
  20. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeContext.java +11 -0
  21. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeHandler.java +8 -0
  22. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeHttpHandler.java +179 -0
  23. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeRegistry.java +121 -0
  24. package/adapters/java/src/main/java/dev/forgeos/adapter/Json.java +14 -0
  25. package/adapters/java/src/main/java/dev/forgeos/adapter/Manifest.java +14 -0
  26. package/adapters/java/src/main/java/dev/forgeos/adapter/RequestEnvelope.java +6 -0
  27. package/adapters/java/src/main/java/dev/forgeos/adapter/ResponseEnvelope.java +25 -0
  28. package/adapters/java/src/main/java/dev/forgeos/adapter/Risk.java +18 -0
  29. package/adapters/java/src/main/java/dev/forgeos/adapter/Schemas.java +36 -0
  30. package/adapters/java/src/main/java/dev/forgeos/adapter/Service.java +65 -0
  31. package/adapters/java/src/main/java/dev/forgeos/adapter/TransactionMode.java +18 -0
  32. package/adapters/java/src/main/java/dev/forgeos/adapter/TypedForgeHandler.java +6 -0
  33. package/adapters/java-spring-boot-starter/README.md +32 -0
  34. package/adapters/java-spring-boot-starter/pom.xml +36 -0
  35. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeCommand.java +22 -0
  36. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeExternalService.java +15 -0
  37. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeQuery.java +16 -0
  38. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeServiceBeanCondition.java +18 -0
  39. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeSpringAutoConfiguration.java +16 -0
  40. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeSpringRuntime.java +104 -0
  41. package/adapters/java-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +1 -0
  42. package/bin/forge.mjs +18 -0
  43. package/docs/cair-protocol.md +103 -0
  44. package/docs/changelog.md +534 -0
  45. package/docs/forge-protocol.md +189 -0
  46. package/examples/go-billing/go.mod +7 -0
  47. package/examples/go-billing/main.go +120 -0
  48. package/examples/java-billing/pom.xml +52 -0
  49. package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/CreateInvoiceInput.java +4 -0
  50. package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/Invoice.java +11 -0
  51. package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/Main.java +127 -0
  52. package/package.json +31 -3
  53. package/schemas/forge-manifest.schema.json +57 -0
  54. package/src/forge/_generated/releaseManifest.json +1 -2
  55. package/src/forge/_generated/releaseManifest.ts +3 -3
  56. package/src/forge/agent-adapters/index.ts +1584 -125
  57. package/src/forge/agent-adapters/types.ts +224 -1
  58. package/src/forge/agent-memory/bridge.ts +1333 -0
  59. package/src/forge/agent-memory/context-pack.ts +277 -0
  60. package/src/forge/agent-memory/hook-runner.ts +312 -0
  61. package/src/forge/agent-memory/mcp.ts +224 -0
  62. package/src/forge/agent-memory/normalize.ts +498 -0
  63. package/src/forge/agent-memory/redaction.ts +103 -0
  64. package/src/forge/agent-memory/sources/claude-code.ts +51 -0
  65. package/src/forge/agent-memory/sources/codex-hook-runner.mjs +273 -0
  66. package/src/forge/agent-memory/sources/codex.ts +119 -0
  67. package/src/forge/agent-memory/sources/cursor.ts +35 -0
  68. package/src/forge/agent-memory/types.ts +204 -0
  69. package/src/forge/bench.ts +248 -0
  70. package/src/forge/brownfield-import/index.ts +801 -0
  71. package/src/forge/brownfield-import/types.ts +127 -0
  72. package/src/forge/cair/action-journal.ts +61 -0
  73. package/src/forge/cair/action-parser.ts +314 -0
  74. package/src/forge/cair/action-validator.ts +40 -0
  75. package/src/forge/cair/actions.ts +1818 -0
  76. package/src/forge/cair/format.ts +77 -0
  77. package/src/forge/cair/index.ts +106 -0
  78. package/src/forge/cair/query.ts +478 -0
  79. package/src/forge/cair/snapshot.ts +315 -0
  80. package/src/forge/cair/types.ts +248 -0
  81. package/src/forge/cli/ai.ts +339 -21
  82. package/src/forge/cli/auth.ts +348 -10
  83. package/src/forge/cli/authmd.ts +441 -0
  84. package/src/forge/cli/baseline.ts +112 -0
  85. package/src/forge/cli/build.ts +20 -4
  86. package/src/forge/cli/changed.ts +437 -0
  87. package/src/forge/cli/codex-app-server.ts +877 -0
  88. package/src/forge/cli/commands.ts +1620 -20
  89. package/src/forge/cli/db.ts +209 -2
  90. package/src/forge/cli/deploy.ts +887 -0
  91. package/src/forge/cli/deps.ts +82 -13
  92. package/src/forge/cli/dev.ts +961 -46
  93. package/src/forge/cli/docs.ts +265 -0
  94. package/src/forge/cli/doctor.ts +297 -0
  95. package/src/forge/cli/field-test.ts +329 -0
  96. package/src/forge/cli/handoff.ts +336 -0
  97. package/src/forge/cli/index.ts +1 -0
  98. package/src/forge/cli/last-run.ts +84 -0
  99. package/src/forge/cli/main.ts +107 -3
  100. package/src/forge/cli/new.ts +152 -13
  101. package/src/forge/cli/next-actions.ts +23 -0
  102. package/src/forge/cli/output.ts +389 -6
  103. package/src/forge/cli/parse.ts +1050 -34
  104. package/src/forge/cli/progress.ts +51 -0
  105. package/src/forge/cli/query.ts +32 -0
  106. package/src/forge/cli/release.ts +35 -11
  107. package/src/forge/cli/rls.ts +43 -4
  108. package/src/forge/cli/run.ts +41 -0
  109. package/src/forge/cli/security.ts +112 -0
  110. package/src/forge/cli/self-host.ts +56 -14
  111. package/src/forge/cli/studio.ts +2218 -0
  112. package/src/forge/cli/verify.ts +1455 -32
  113. package/src/forge/cli/windows.ts +23 -0
  114. package/src/forge/cli/workos.ts +1020 -0
  115. package/src/forge/compiler/agent-contract/build.ts +670 -64
  116. package/src/forge/compiler/agent-contract/types.ts +45 -2
  117. package/src/forge/compiler/ai-registry/parse.ts +71 -2
  118. package/src/forge/compiler/api-surface/build.ts +47 -0
  119. package/src/forge/compiler/app-graph/build.ts +112 -9
  120. package/src/forge/compiler/app-graph/extract.ts +107 -0
  121. package/src/forge/compiler/app-graph/module-graph.ts +73 -78
  122. package/src/forge/compiler/app-graph/parser.ts +24 -24
  123. package/src/forge/compiler/app-graph/profile.ts +26 -0
  124. package/src/forge/compiler/app-graph/versions.ts +1 -1
  125. package/src/forge/compiler/classifier/capabilities.ts +3 -2
  126. package/src/forge/compiler/classifier/classify.ts +32 -8
  127. package/src/forge/compiler/classifier/secrets.ts +3 -2
  128. package/src/forge/compiler/classifier/signals.ts +91 -1
  129. package/src/forge/compiler/client-sdk/build-manifest.ts +59 -0
  130. package/src/forge/compiler/client-sdk/render-client.ts +295 -13
  131. package/src/forge/compiler/data-graph/parse.ts +20 -4
  132. package/src/forge/compiler/data-graph/sql/ddl.ts +144 -31
  133. package/src/forge/compiler/data-graph/sql/serialize.ts +4 -0
  134. package/src/forge/compiler/data-graph/sql/types.ts +1 -0
  135. package/src/forge/compiler/diagnostics/codes.ts +30 -0
  136. package/src/forge/compiler/diagnostics/create.ts +21 -2
  137. package/src/forge/compiler/diagnostics/index.ts +2 -0
  138. package/src/forge/compiler/emitter/barrel.ts +3 -0
  139. package/src/forge/compiler/emitter/render.ts +9 -0
  140. package/src/forge/compiler/external-manifest/registry.ts +205 -0
  141. package/src/forge/compiler/external-manifest/types.ts +91 -0
  142. package/src/forge/compiler/external-manifest/validate.ts +373 -0
  143. package/src/forge/compiler/frontend-graph/build.ts +142 -14
  144. package/src/forge/compiler/integration/add.ts +618 -24
  145. package/src/forge/compiler/integration/plan.ts +43 -12
  146. package/src/forge/compiler/integration/render.ts +29 -0
  147. package/src/forge/compiler/integration/snapshot.ts +2 -0
  148. package/src/forge/compiler/integration/templates/convex.ts +70 -0
  149. package/src/forge/compiler/integration/templates/index.ts +1 -0
  150. package/src/forge/compiler/integration/templates/render.ts +38 -0
  151. package/src/forge/compiler/integration/templates/types.ts +3 -0
  152. package/src/forge/compiler/integration/templates/workos.ts +1219 -0
  153. package/src/forge/compiler/make-registry/build.ts +8 -9
  154. package/src/forge/compiler/orchestrator/fast-check.ts +4 -0
  155. package/src/forge/compiler/orchestrator/generate-lock.ts +14 -3
  156. package/src/forge/compiler/orchestrator/manifest.ts +1 -1
  157. package/src/forge/compiler/orchestrator/plan-profile.ts +23 -0
  158. package/src/forge/compiler/orchestrator/plan.ts +247 -10
  159. package/src/forge/compiler/orchestrator/profile.ts +65 -0
  160. package/src/forge/compiler/orchestrator/run.ts +97 -31
  161. package/src/forge/compiler/orchestrator/serialize.ts +33 -8
  162. package/src/forge/compiler/orchestrator/types.ts +1 -1
  163. package/src/forge/compiler/package-graph/compiler.ts +3 -1
  164. package/src/forge/compiler/package-graph/constants.ts +1 -1
  165. package/src/forge/compiler/package-manager/adapter.ts +4 -1
  166. package/src/forge/compiler/package-manager/commands.ts +4 -0
  167. package/src/forge/compiler/package-manager/executor.ts +30 -1
  168. package/src/forge/compiler/package-upgrades/planner.ts +155 -18
  169. package/src/forge/compiler/package-upgrades/types.ts +2 -0
  170. package/src/forge/compiler/policy-registry/build.ts +47 -2
  171. package/src/forge/compiler/policy-registry/parse.ts +32 -2
  172. package/src/forge/compiler/recipes/definitions.ts +63 -0
  173. package/src/forge/compiler/recipes/index.ts +2 -0
  174. package/src/forge/compiler/recipes/registry.ts +6 -0
  175. package/src/forge/compiler/test-graph/build.ts +11 -3
  176. package/src/forge/compiler/types/app-graph.ts +8 -2
  177. package/src/forge/compiler/types/cli.ts +75 -1
  178. package/src/forge/compiler/types/dev-manifest.ts +4 -0
  179. package/src/forge/compiler/types/emit.ts +2 -0
  180. package/src/forge/compiler/types/frontend-graph.ts +2 -2
  181. package/src/forge/compiler/types/integration.ts +1 -0
  182. package/src/forge/compiler/types/package-graph.ts +6 -0
  183. package/src/forge/compiler/types/policy-registry.ts +3 -1
  184. package/src/forge/delta/classifier.ts +52 -0
  185. package/src/forge/delta/explain.ts +238 -0
  186. package/src/forge/delta/git-observer.ts +43 -0
  187. package/src/forge/delta/ids.ts +44 -0
  188. package/src/forge/delta/index.ts +25 -0
  189. package/src/forge/delta/recorder.ts +540 -0
  190. package/src/forge/delta/redaction.ts +50 -0
  191. package/src/forge/delta/schema.ts +240 -0
  192. package/src/forge/delta/session.ts +142 -0
  193. package/src/forge/delta/status.ts +1202 -0
  194. package/src/forge/delta/store.ts +3284 -0
  195. package/src/forge/delta/timeline.ts +178 -0
  196. package/src/forge/dev/server.ts +808 -17
  197. package/src/forge/dev/types.ts +15 -1
  198. package/src/forge/dev/watch.ts +17 -7
  199. package/src/forge/dev-console/cycle.ts +280 -33
  200. package/src/forge/dev-console/types.ts +47 -1
  201. package/src/forge/impact/index.ts +204 -9
  202. package/src/forge/impact/types.ts +33 -1
  203. package/src/forge/intent/index.ts +35 -16
  204. package/src/forge/make/fields.ts +26 -0
  205. package/src/forge/make/index.ts +40 -6
  206. package/src/forge/make/templates.ts +155 -2
  207. package/src/forge/make/types.ts +2 -1
  208. package/src/forge/policy.ts +1 -1
  209. package/src/forge/react/index.ts +160 -2
  210. package/src/forge/refactor/index.ts +1 -0
  211. package/src/forge/repair/rules/index.ts +2 -2
  212. package/src/forge/review/index.ts +158 -12
  213. package/src/forge/review/types.ts +15 -0
  214. package/src/forge/runtime/auth/config.ts +17 -0
  215. package/src/forge/runtime/auth/evaluate.ts +15 -2
  216. package/src/forge/runtime/auth/resolve.ts +61 -6
  217. package/src/forge/runtime/auth/types.ts +1 -0
  218. package/src/forge/runtime/db/factory.ts +1 -3
  219. package/src/forge/runtime/db/generated-client.ts +13 -2
  220. package/src/forge/runtime/db/memory-adapter.ts +139 -32
  221. package/src/forge/runtime/db/pglite-adapter.ts +263 -2
  222. package/src/forge/runtime/db/postgres-adapter.ts +6 -3
  223. package/src/forge/runtime/executor.ts +129 -16
  224. package/src/forge/runtime/external/bridge.ts +649 -0
  225. package/src/forge/runtime/runner/run-entry.ts +16 -7
  226. package/src/forge/runtime/telemetry/buffer.ts +4 -1
  227. package/src/forge/runtime/telemetry/scrubber.ts +35 -5
  228. package/src/forge/runtime/webhooks/security.ts +12 -7
  229. package/src/forge/server.ts +17 -3
  230. package/src/forge/ui/index.ts +209 -0
  231. package/src/forge/ui/types.ts +1 -0
  232. package/src/forge/version.ts +1 -1
  233. package/src/forge/vue/index.ts +422 -0
  234. package/src/forge/workspace/baseline.ts +112 -0
  235. package/src/forge/workspace/change-summary.ts +250 -0
  236. package/src/forge/workspace/forge-cli.ts +42 -0
  237. package/src/forge/workspace/git-summary.ts +391 -0
  238. package/templates/agent-workroom/AGENTS.md +29 -0
  239. package/templates/agent-workroom/README.md +34 -0
  240. package/templates/agent-workroom/forge.config.ts +3 -0
  241. package/templates/agent-workroom/package.json +33 -0
  242. package/templates/agent-workroom/src/actions/indexAgentSignal.ts +10 -0
  243. package/templates/agent-workroom/src/commands/openWorkroom.ts +61 -0
  244. package/templates/agent-workroom/src/commands/recordAgentSignal.ts +119 -0
  245. package/templates/agent-workroom/src/commands/recordCheckRun.ts +52 -0
  246. package/templates/agent-workroom/src/forge/schema.ts +54 -0
  247. package/templates/agent-workroom/src/policies.ts +6 -0
  248. package/templates/agent-workroom/src/queries/listWorkrooms.ts +11 -0
  249. package/templates/agent-workroom/src/queries/liveWorkroom.ts +63 -0
  250. package/templates/agent-workroom/tsconfig.json +16 -0
  251. package/templates/agent-workroom/web/index.html +12 -0
  252. package/templates/agent-workroom/web/package.json +21 -0
  253. package/templates/agent-workroom/web/src/App.tsx +345 -0
  254. package/templates/agent-workroom/web/src/lib/forge.ts +13 -0
  255. package/templates/agent-workroom/web/src/main.tsx +13 -0
  256. package/templates/agent-workroom/web/src/styles.css +545 -0
  257. package/templates/agent-workroom/web/tsconfig.json +27 -0
  258. package/templates/b2b-support-web/package.json +1 -0
  259. package/templates/b2b-support-web/web/package.json +1 -1
  260. package/templates/minimal-web/package.json +1 -1
  261. package/templates/minimal-web/web/package.json +2 -2
  262. package/templates/nuxt-web/.vscode/settings.json +14 -0
  263. package/templates/nuxt-web/README.md +30 -0
  264. package/templates/nuxt-web/forge.config.ts +3 -0
  265. package/templates/nuxt-web/package.json +33 -0
  266. package/templates/nuxt-web/src/actions/logNoteCreated.ts +11 -0
  267. package/templates/nuxt-web/src/commands/createNote.ts +26 -0
  268. package/templates/nuxt-web/src/forge/schema.ts +12 -0
  269. package/templates/nuxt-web/src/policies.ts +6 -0
  270. package/templates/nuxt-web/src/queries/listNotes.ts +8 -0
  271. package/templates/nuxt-web/src/queries/liveNotes.ts +8 -0
  272. package/templates/nuxt-web/tsconfig.json +17 -0
  273. package/templates/nuxt-web/web/app.vue +67 -0
  274. package/templates/nuxt-web/web/components/LiveNotes.vue +89 -0
  275. package/templates/nuxt-web/web/components/NoteComposer.vue +100 -0
  276. package/templates/nuxt-web/web/composables/forge.ts +13 -0
  277. package/templates/nuxt-web/web/composables/useNotes.ts +24 -0
  278. package/templates/nuxt-web/web/nuxt.config.ts +11 -0
  279. package/templates/nuxt-web/web/package.json +18 -0
  280. package/templates/nuxt-web/web/plugins/forge.client.ts +10 -0
  281. package/templates/nuxt-web/web/plugins/forge.server.ts +10 -0
  282. package/templates/nuxt-web/web/server/api/forge-health.get.ts +7 -0
  283. package/templates/nuxt-web/web/tsconfig.json +6 -0
  284. package/src/forge/_generated/actionSubscriptions.json +0 -2
  285. package/src/forge/_generated/actionSubscriptions.ts +0 -10
  286. package/src/forge/_generated/agentAdapterManifest.json +0 -2
  287. package/src/forge/_generated/agentAdapterManifest.ts +0 -73
  288. package/src/forge/_generated/agentContract.json +0 -2
  289. package/src/forge/_generated/agentContract.ts +0 -7829
  290. package/src/forge/_generated/agentQuickstart.md +0 -34
  291. package/src/forge/_generated/agentTools.json +0 -2
  292. package/src/forge/_generated/agentTools.md +0 -16
  293. package/src/forge/_generated/agentTools.ts +0 -12
  294. package/src/forge/_generated/aiContext.ts +0 -125
  295. package/src/forge/_generated/aiModels.json +0 -2
  296. package/src/forge/_generated/aiModels.ts +0 -51
  297. package/src/forge/_generated/aiProviders.json +0 -2
  298. package/src/forge/_generated/aiProviders.ts +0 -23
  299. package/src/forge/_generated/aiRegistry.json +0 -2
  300. package/src/forge/_generated/aiRegistry.ts +0 -31
  301. package/src/forge/_generated/api.json +0 -2
  302. package/src/forge/_generated/api.ts +0 -8
  303. package/src/forge/_generated/appGraph.json +0 -2
  304. package/src/forge/_generated/appGraph.ts +0 -14919
  305. package/src/forge/_generated/appMap.md +0 -55
  306. package/src/forge/_generated/artifactManifest.json +0 -2
  307. package/src/forge/_generated/artifactManifest.ts +0 -7
  308. package/src/forge/_generated/authClaims.json +0 -2
  309. package/src/forge/_generated/authClaims.ts +0 -13
  310. package/src/forge/_generated/authConfig.json +0 -2
  311. package/src/forge/_generated/authConfig.ts +0 -17
  312. package/src/forge/_generated/authContext.ts +0 -23
  313. package/src/forge/_generated/authRegistry.json +0 -2
  314. package/src/forge/_generated/authRegistry.ts +0 -25
  315. package/src/forge/_generated/buildInfo.json +0 -2
  316. package/src/forge/_generated/buildInfo.ts +0 -9
  317. package/src/forge/_generated/capabilityMap.json +0 -2
  318. package/src/forge/_generated/capabilityMap.md +0 -15
  319. package/src/forge/_generated/capabilityMap.ts +0 -17
  320. package/src/forge/_generated/client.ts +0 -282
  321. package/src/forge/_generated/clientApi.ts +0 -9
  322. package/src/forge/_generated/clientManifest.json +0 -2
  323. package/src/forge/_generated/clientManifest.ts +0 -39
  324. package/src/forge/_generated/clientTypes.ts +0 -78
  325. package/src/forge/_generated/configRegistry.json +0 -2
  326. package/src/forge/_generated/configRegistry.ts +0 -4
  327. package/src/forge/_generated/dataGraph.json +0 -2
  328. package/src/forge/_generated/dataGraph.ts +0 -8
  329. package/src/forge/_generated/db.json +0 -2
  330. package/src/forge/_generated/db.ts +0 -2
  331. package/src/forge/_generated/dbSecurityManifest.json +0 -2
  332. package/src/forge/_generated/dbSecurityManifest.ts +0 -15
  333. package/src/forge/_generated/dbSessionContext.json +0 -2
  334. package/src/forge/_generated/dbSessionContext.ts +0 -39
  335. package/src/forge/_generated/deployManifest.json +0 -2
  336. package/src/forge/_generated/deployManifest.ts +0 -14
  337. package/src/forge/_generated/devManifest.json +0 -2
  338. package/src/forge/_generated/devManifest.ts +0 -62
  339. package/src/forge/_generated/envSchema.json +0 -2
  340. package/src/forge/_generated/envSchema.ts +0 -59
  341. package/src/forge/_generated/frontendGraph.json +0 -2
  342. package/src/forge/_generated/frontendGraph.ts +0 -27
  343. package/src/forge/_generated/importGuards.json +0 -2
  344. package/src/forge/_generated/importGuards.ts +0 -686
  345. package/src/forge/_generated/index.ts +0 -68
  346. package/src/forge/_generated/liveProductionManifest.json +0 -2
  347. package/src/forge/_generated/liveProductionManifest.ts +0 -23
  348. package/src/forge/_generated/liveProtocol.json +0 -2
  349. package/src/forge/_generated/liveProtocol.ts +0 -21
  350. package/src/forge/_generated/liveQueryRegistry.json +0 -2
  351. package/src/forge/_generated/liveQueryRegistry.ts +0 -9
  352. package/src/forge/_generated/liveTransportConfig.json +0 -2
  353. package/src/forge/_generated/liveTransportConfig.ts +0 -19
  354. package/src/forge/_generated/makeRegistry.json +0 -2
  355. package/src/forge/_generated/makeRegistry.ts +0 -177
  356. package/src/forge/_generated/makeTemplates.json +0 -2
  357. package/src/forge/_generated/makeTemplates.ts +0 -66
  358. package/src/forge/_generated/mockMap.json +0 -2
  359. package/src/forge/_generated/mockMap.ts +0 -7
  360. package/src/forge/_generated/operationPlaybooks.md +0 -167
  361. package/src/forge/_generated/packageGraph.json +0 -2
  362. package/src/forge/_generated/packageGraph.ts +0 -249334
  363. package/src/forge/_generated/packageUpgradeRegistry.json +0 -2
  364. package/src/forge/_generated/packageUpgradeRegistry.ts +0 -15
  365. package/src/forge/_generated/permissionMatrix.json +0 -2
  366. package/src/forge/_generated/permissionMatrix.ts +0 -7
  367. package/src/forge/_generated/policyRegistry.json +0 -2
  368. package/src/forge/_generated/policyRegistry.ts +0 -11
  369. package/src/forge/_generated/queryRegistry.json +0 -2
  370. package/src/forge/_generated/queryRegistry.ts +0 -9
  371. package/src/forge/_generated/react.d.ts +0 -22
  372. package/src/forge/_generated/react.ts +0 -29
  373. package/src/forge/_generated/reactManifest.json +0 -2
  374. package/src/forge/_generated/reactManifest.ts +0 -19
  375. package/src/forge/_generated/rlsPolicies.json +0 -2
  376. package/src/forge/_generated/rlsPolicies.sql +0 -34
  377. package/src/forge/_generated/rlsPolicies.ts +0 -6
  378. package/src/forge/_generated/runtimeGraph.json +0 -2
  379. package/src/forge/_generated/runtimeGraph.ts +0 -8
  380. package/src/forge/_generated/runtimeMatrix.json +0 -2
  381. package/src/forge/_generated/runtimeMatrix.ts +0 -334130
  382. package/src/forge/_generated/runtimeRegistry.ts +0 -2
  383. package/src/forge/_generated/runtimeRules.md +0 -91
  384. package/src/forge/_generated/secretRegistry.json +0 -2
  385. package/src/forge/_generated/secretRegistry.ts +0 -50
  386. package/src/forge/_generated/secretsContext.ts +0 -11
  387. package/src/forge/_generated/serverApi.ts +0 -10
  388. package/src/forge/_generated/sourceMapManifest.json +0 -2
  389. package/src/forge/_generated/sourceMapManifest.ts +0 -7
  390. package/src/forge/_generated/sqlPlan.json +0 -2
  391. package/src/forge/_generated/sqlPlan.ts +0 -88
  392. package/src/forge/_generated/subscriptionManifest.json +0 -2
  393. package/src/forge/_generated/subscriptionManifest.ts +0 -7
  394. package/src/forge/_generated/symbolicationManifest.json +0 -2
  395. package/src/forge/_generated/symbolicationManifest.ts +0 -17
  396. package/src/forge/_generated/telemetryRegistry.json +0 -2
  397. package/src/forge/_generated/telemetryRegistry.ts +0 -9
  398. package/src/forge/_generated/telemetrySinks.json +0 -2
  399. package/src/forge/_generated/telemetrySinks.ts +0 -11
  400. package/src/forge/_generated/tenantScope.json +0 -2
  401. package/src/forge/_generated/tenantScope.ts +0 -8
  402. package/src/forge/_generated/testGraph.json +0 -2
  403. package/src/forge/_generated/testGraph.ts +0 -3430
  404. package/src/forge/_generated/testPlanRegistry.json +0 -2
  405. package/src/forge/_generated/testPlanRegistry.ts +0 -33
  406. package/src/forge/_generated/uiRoutes.json +0 -2
  407. package/src/forge/_generated/uiRoutes.ts +0 -16
  408. package/src/forge/_generated/uiScenarios.json +0 -2
  409. package/src/forge/_generated/uiScenarios.ts +0 -30
  410. package/src/forge/_generated/uiTestManifest.json +0 -2
  411. package/src/forge/_generated/uiTestManifest.ts +0 -27
  412. package/src/forge/_generated/workflowRegistry.json +0 -2
  413. package/src/forge/_generated/workflowRegistry.ts +0 -9
  414. package/src/forge/_generated/workflowSubscriptions.json +0 -2
  415. package/src/forge/_generated/workflowSubscriptions.ts +0 -10
@@ -1,55 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=53abf93e3b82e98f1dad118f3dc94ecffcc2a39bc531ba5f7acd4f8e78c296e2
2
- # App Map
3
-
4
- ## Data
5
-
6
- ## Commands
7
-
8
- ## Queries
9
-
10
- ## Live Queries
11
-
12
- ## Actions
13
-
14
- ## Workflows
15
-
16
- ## AI
17
-
18
- ### Providers
19
-
20
- - anthropic
21
- - gateway
22
- - openai
23
-
24
- ### Generations
25
-
26
- - none
27
-
28
- ### Tools
29
-
30
- - none
31
-
32
- ### Agents
33
-
34
- - none
35
-
36
- ## Frontend
37
-
38
- Present: no
39
- Framework: none
40
-
41
- ### Routes
42
-
43
- ### Components
44
-
45
- ### Client Bindings
46
-
47
- - none
48
-
49
- ### Runtime Endpoints
50
-
51
- - none
52
-
53
- ### Full-Stack Route Bindings
54
-
55
- - none
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=f893cd595a724853618fbaddc361af9e06687c781f20e13f8ff9cf59fd363937
2
- {"artifacts":[],"diagnostics":[],"releaseId":"forgeos@0.1.0-alpha.4+unknown","schemaVersion":"0.1.0"}
@@ -1,7 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=5fd7f362f6d3e5a6f67f20e5a0be26aed41906d5210825ad3769878fd232c906
2
- export const artifactManifest = {
3
- "artifacts": [],
4
- "diagnostics": [],
5
- "releaseId": "forgeos@0.1.0-alpha.4+unknown",
6
- "schemaVersion": "0.1.0"
7
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=c248400b56f1b05651d6abae284a8bf56815b5e865657fe31586e1e46070f0b8
2
- {"generatedHash":"4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2","gitSha":"unknown","packageName":"forgeos","packageVersion":"0.1.0-alpha.4","releaseId":"forgeos@0.1.0-alpha.4+unknown","schemaVersion":"0.1.0"}
@@ -1,9 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=a897f56c75763c483eb084a834647573c1520b703999b0dce2b8325c9136804b
2
- export const buildInfo = {
3
- "generatedHash": "4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2",
4
- "gitSha": "unknown",
5
- "packageName": "forgeos",
6
- "packageVersion": "0.1.0-alpha.4",
7
- "releaseId": "forgeos@0.1.0-alpha.4+unknown",
8
- "schemaVersion": "0.1.0"
9
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=7a21c99581652331d957235a1e47c8c32bd32507ac2658f8f542de9f807884b1
2
- {"diagnostics":[],"entries":[],"generatorVersion":"0.1.0-alpha.4","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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=ed39fd20f6da3f1e2c33876df21b354d0b050a6ea5b17ba94eea0975ed80f868
2
- export const capabilityMap = {
3
- "diagnostics": [],
4
- "entries": [],
5
- "generatorVersion": "0.1.0-alpha.4",
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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=695a1a00c21d3485ea9ecf48e0a2bba85226dedec1362ce64b8a163046fffcf2
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.4","inputHash":"44b68e21de6d9baa73d25b637c7c48d7345398654f6d62a9f9e787c14a300605","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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=a8291bbed22c7649151ca8170e1414ea9c2aa7bc551f87ef551f6347e6b8088d
2
- export const clientManifest = {
3
- "schemaVersion": "1.0.0",
4
- "generatorVersion": "0.1.0-alpha.4",
5
- "inputHash": "44b68e21de6d9baa73d25b637c7c48d7345398654f6d62a9f9e787c14a300605",
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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 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.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=48ddd915b14870e3230c517f0d28dfa3bf01e62ce885807bf4b66172c4378ad5
2
- {"configs":[]}
@@ -1,4 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=c67952f1bae9aeedf0c0188f162d06dfb747b265c3c6ee7fdb1ef75782e76f3b
2
- export const configRegistry = {
3
- "configs": []
4
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=868fa3ee811b020f190c5e3a5103d8b12e6b152093983e82578d895cc3d197cc
2
- {"analyzerVersion":"0.1.0","generatorVersion":"0.1.0-alpha.4","inputHash":"c52261a0b76af0f64feadff97d3852e815fa814de2566d0d1fce9e4805d1bfab","schemaVersion":"1.0.0","tables":[]}
@@ -1,8 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=fa98c588ae6f3f886529df5735784581d5cf907f9889071b503c770c223d4e82
2
- export const dataGraph = {
3
- "analyzerVersion": "0.1.0",
4
- "generatorVersion": "0.1.0-alpha.4",
5
- "inputHash": "c52261a0b76af0f64feadff97d3852e815fa814de2566d0d1fce9e4805d1bfab",
6
- "schemaVersion": "1.0.0",
7
- "tables": []
8
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=15ac2222f939e36b4d437bd5e54aa65ec9c2027a53825883f8a4b9e2710d65d3
2
- {"tableMap":{}}
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=34af9d0c4498776568d3d0171658539c0a25ebe08af51c34526617eb944fe106
2
- export const tableMap = {} as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=2990ae1c7d12671f2204605202c9e7d982b0156793644525ae0f7df2c0e18f6e
2
- {"authoritativeAdapters":["postgres"],"diagnostics":[],"nonAuthoritativeAdapters":["pglite","memory"],"provider":"postgres","schemaVersion":"0.1.0","tables":[],"tenantIsolation":"postgres-rls"}