forgeos 0.1.0-alpha.4 → 0.1.0-alpha.41

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 (416) hide show
  1. package/.npmignore +10 -0
  2. package/AGENTS.md +142 -90
  3. package/CHANGELOG.md +433 -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 +548 -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-manager/version.ts +36 -12
  169. package/src/forge/compiler/package-upgrades/planner.ts +155 -18
  170. package/src/forge/compiler/package-upgrades/types.ts +2 -0
  171. package/src/forge/compiler/policy-registry/build.ts +47 -2
  172. package/src/forge/compiler/policy-registry/parse.ts +32 -2
  173. package/src/forge/compiler/recipes/definitions.ts +63 -0
  174. package/src/forge/compiler/recipes/index.ts +2 -0
  175. package/src/forge/compiler/recipes/registry.ts +6 -0
  176. package/src/forge/compiler/test-graph/build.ts +11 -3
  177. package/src/forge/compiler/types/app-graph.ts +8 -2
  178. package/src/forge/compiler/types/cli.ts +75 -1
  179. package/src/forge/compiler/types/dev-manifest.ts +4 -0
  180. package/src/forge/compiler/types/emit.ts +2 -0
  181. package/src/forge/compiler/types/frontend-graph.ts +2 -2
  182. package/src/forge/compiler/types/integration.ts +1 -0
  183. package/src/forge/compiler/types/package-graph.ts +6 -0
  184. package/src/forge/compiler/types/policy-registry.ts +3 -1
  185. package/src/forge/delta/classifier.ts +52 -0
  186. package/src/forge/delta/explain.ts +238 -0
  187. package/src/forge/delta/git-observer.ts +43 -0
  188. package/src/forge/delta/ids.ts +44 -0
  189. package/src/forge/delta/index.ts +25 -0
  190. package/src/forge/delta/recorder.ts +540 -0
  191. package/src/forge/delta/redaction.ts +50 -0
  192. package/src/forge/delta/schema.ts +240 -0
  193. package/src/forge/delta/session.ts +142 -0
  194. package/src/forge/delta/status.ts +1202 -0
  195. package/src/forge/delta/store.ts +3284 -0
  196. package/src/forge/delta/timeline.ts +178 -0
  197. package/src/forge/dev/server.ts +808 -17
  198. package/src/forge/dev/types.ts +15 -1
  199. package/src/forge/dev/watch.ts +17 -7
  200. package/src/forge/dev-console/cycle.ts +280 -33
  201. package/src/forge/dev-console/types.ts +47 -1
  202. package/src/forge/impact/index.ts +204 -9
  203. package/src/forge/impact/types.ts +33 -1
  204. package/src/forge/intent/index.ts +35 -16
  205. package/src/forge/make/fields.ts +26 -0
  206. package/src/forge/make/index.ts +40 -6
  207. package/src/forge/make/templates.ts +155 -2
  208. package/src/forge/make/types.ts +2 -1
  209. package/src/forge/policy.ts +1 -1
  210. package/src/forge/react/index.ts +160 -2
  211. package/src/forge/refactor/index.ts +1 -0
  212. package/src/forge/repair/rules/index.ts +2 -2
  213. package/src/forge/review/index.ts +158 -12
  214. package/src/forge/review/types.ts +15 -0
  215. package/src/forge/runtime/auth/config.ts +17 -0
  216. package/src/forge/runtime/auth/evaluate.ts +15 -2
  217. package/src/forge/runtime/auth/resolve.ts +61 -6
  218. package/src/forge/runtime/auth/types.ts +1 -0
  219. package/src/forge/runtime/db/factory.ts +1 -3
  220. package/src/forge/runtime/db/generated-client.ts +13 -2
  221. package/src/forge/runtime/db/memory-adapter.ts +139 -32
  222. package/src/forge/runtime/db/pglite-adapter.ts +263 -2
  223. package/src/forge/runtime/db/postgres-adapter.ts +6 -3
  224. package/src/forge/runtime/executor.ts +129 -16
  225. package/src/forge/runtime/external/bridge.ts +649 -0
  226. package/src/forge/runtime/runner/run-entry.ts +16 -7
  227. package/src/forge/runtime/telemetry/buffer.ts +4 -1
  228. package/src/forge/runtime/telemetry/scrubber.ts +35 -5
  229. package/src/forge/runtime/webhooks/security.ts +12 -7
  230. package/src/forge/server.ts +17 -3
  231. package/src/forge/ui/index.ts +209 -0
  232. package/src/forge/ui/types.ts +1 -0
  233. package/src/forge/version.ts +1 -1
  234. package/src/forge/vue/index.ts +422 -0
  235. package/src/forge/workspace/baseline.ts +112 -0
  236. package/src/forge/workspace/change-summary.ts +250 -0
  237. package/src/forge/workspace/forge-cli.ts +42 -0
  238. package/src/forge/workspace/git-summary.ts +391 -0
  239. package/templates/agent-workroom/AGENTS.md +29 -0
  240. package/templates/agent-workroom/README.md +34 -0
  241. package/templates/agent-workroom/forge.config.ts +3 -0
  242. package/templates/agent-workroom/package.json +33 -0
  243. package/templates/agent-workroom/src/actions/indexAgentSignal.ts +10 -0
  244. package/templates/agent-workroom/src/commands/openWorkroom.ts +61 -0
  245. package/templates/agent-workroom/src/commands/recordAgentSignal.ts +119 -0
  246. package/templates/agent-workroom/src/commands/recordCheckRun.ts +52 -0
  247. package/templates/agent-workroom/src/forge/schema.ts +54 -0
  248. package/templates/agent-workroom/src/policies.ts +6 -0
  249. package/templates/agent-workroom/src/queries/listWorkrooms.ts +11 -0
  250. package/templates/agent-workroom/src/queries/liveWorkroom.ts +63 -0
  251. package/templates/agent-workroom/tsconfig.json +16 -0
  252. package/templates/agent-workroom/web/index.html +12 -0
  253. package/templates/agent-workroom/web/package.json +21 -0
  254. package/templates/agent-workroom/web/src/App.tsx +345 -0
  255. package/templates/agent-workroom/web/src/lib/forge.ts +13 -0
  256. package/templates/agent-workroom/web/src/main.tsx +13 -0
  257. package/templates/agent-workroom/web/src/styles.css +545 -0
  258. package/templates/agent-workroom/web/tsconfig.json +27 -0
  259. package/templates/b2b-support-web/package.json +1 -0
  260. package/templates/b2b-support-web/web/package.json +1 -1
  261. package/templates/minimal-web/package.json +1 -1
  262. package/templates/minimal-web/web/package.json +2 -2
  263. package/templates/nuxt-web/.vscode/settings.json +14 -0
  264. package/templates/nuxt-web/README.md +30 -0
  265. package/templates/nuxt-web/forge.config.ts +3 -0
  266. package/templates/nuxt-web/package.json +33 -0
  267. package/templates/nuxt-web/src/actions/logNoteCreated.ts +11 -0
  268. package/templates/nuxt-web/src/commands/createNote.ts +26 -0
  269. package/templates/nuxt-web/src/forge/schema.ts +12 -0
  270. package/templates/nuxt-web/src/policies.ts +6 -0
  271. package/templates/nuxt-web/src/queries/listNotes.ts +8 -0
  272. package/templates/nuxt-web/src/queries/liveNotes.ts +8 -0
  273. package/templates/nuxt-web/tsconfig.json +17 -0
  274. package/templates/nuxt-web/web/app.vue +67 -0
  275. package/templates/nuxt-web/web/components/LiveNotes.vue +89 -0
  276. package/templates/nuxt-web/web/components/NoteComposer.vue +100 -0
  277. package/templates/nuxt-web/web/composables/forge.ts +13 -0
  278. package/templates/nuxt-web/web/composables/useNotes.ts +24 -0
  279. package/templates/nuxt-web/web/nuxt.config.ts +11 -0
  280. package/templates/nuxt-web/web/package.json +18 -0
  281. package/templates/nuxt-web/web/plugins/forge.client.ts +10 -0
  282. package/templates/nuxt-web/web/plugins/forge.server.ts +10 -0
  283. package/templates/nuxt-web/web/server/api/forge-health.get.ts +7 -0
  284. package/templates/nuxt-web/web/tsconfig.json +6 -0
  285. package/src/forge/_generated/actionSubscriptions.json +0 -2
  286. package/src/forge/_generated/actionSubscriptions.ts +0 -10
  287. package/src/forge/_generated/agentAdapterManifest.json +0 -2
  288. package/src/forge/_generated/agentAdapterManifest.ts +0 -73
  289. package/src/forge/_generated/agentContract.json +0 -2
  290. package/src/forge/_generated/agentContract.ts +0 -7829
  291. package/src/forge/_generated/agentQuickstart.md +0 -34
  292. package/src/forge/_generated/agentTools.json +0 -2
  293. package/src/forge/_generated/agentTools.md +0 -16
  294. package/src/forge/_generated/agentTools.ts +0 -12
  295. package/src/forge/_generated/aiContext.ts +0 -125
  296. package/src/forge/_generated/aiModels.json +0 -2
  297. package/src/forge/_generated/aiModels.ts +0 -51
  298. package/src/forge/_generated/aiProviders.json +0 -2
  299. package/src/forge/_generated/aiProviders.ts +0 -23
  300. package/src/forge/_generated/aiRegistry.json +0 -2
  301. package/src/forge/_generated/aiRegistry.ts +0 -31
  302. package/src/forge/_generated/api.json +0 -2
  303. package/src/forge/_generated/api.ts +0 -8
  304. package/src/forge/_generated/appGraph.json +0 -2
  305. package/src/forge/_generated/appGraph.ts +0 -14919
  306. package/src/forge/_generated/appMap.md +0 -55
  307. package/src/forge/_generated/artifactManifest.json +0 -2
  308. package/src/forge/_generated/artifactManifest.ts +0 -7
  309. package/src/forge/_generated/authClaims.json +0 -2
  310. package/src/forge/_generated/authClaims.ts +0 -13
  311. package/src/forge/_generated/authConfig.json +0 -2
  312. package/src/forge/_generated/authConfig.ts +0 -17
  313. package/src/forge/_generated/authContext.ts +0 -23
  314. package/src/forge/_generated/authRegistry.json +0 -2
  315. package/src/forge/_generated/authRegistry.ts +0 -25
  316. package/src/forge/_generated/buildInfo.json +0 -2
  317. package/src/forge/_generated/buildInfo.ts +0 -9
  318. package/src/forge/_generated/capabilityMap.json +0 -2
  319. package/src/forge/_generated/capabilityMap.md +0 -15
  320. package/src/forge/_generated/capabilityMap.ts +0 -17
  321. package/src/forge/_generated/client.ts +0 -282
  322. package/src/forge/_generated/clientApi.ts +0 -9
  323. package/src/forge/_generated/clientManifest.json +0 -2
  324. package/src/forge/_generated/clientManifest.ts +0 -39
  325. package/src/forge/_generated/clientTypes.ts +0 -78
  326. package/src/forge/_generated/configRegistry.json +0 -2
  327. package/src/forge/_generated/configRegistry.ts +0 -4
  328. package/src/forge/_generated/dataGraph.json +0 -2
  329. package/src/forge/_generated/dataGraph.ts +0 -8
  330. package/src/forge/_generated/db.json +0 -2
  331. package/src/forge/_generated/db.ts +0 -2
  332. package/src/forge/_generated/dbSecurityManifest.json +0 -2
  333. package/src/forge/_generated/dbSecurityManifest.ts +0 -15
  334. package/src/forge/_generated/dbSessionContext.json +0 -2
  335. package/src/forge/_generated/dbSessionContext.ts +0 -39
  336. package/src/forge/_generated/deployManifest.json +0 -2
  337. package/src/forge/_generated/deployManifest.ts +0 -14
  338. package/src/forge/_generated/devManifest.json +0 -2
  339. package/src/forge/_generated/devManifest.ts +0 -62
  340. package/src/forge/_generated/envSchema.json +0 -2
  341. package/src/forge/_generated/envSchema.ts +0 -59
  342. package/src/forge/_generated/frontendGraph.json +0 -2
  343. package/src/forge/_generated/frontendGraph.ts +0 -27
  344. package/src/forge/_generated/importGuards.json +0 -2
  345. package/src/forge/_generated/importGuards.ts +0 -686
  346. package/src/forge/_generated/index.ts +0 -68
  347. package/src/forge/_generated/liveProductionManifest.json +0 -2
  348. package/src/forge/_generated/liveProductionManifest.ts +0 -23
  349. package/src/forge/_generated/liveProtocol.json +0 -2
  350. package/src/forge/_generated/liveProtocol.ts +0 -21
  351. package/src/forge/_generated/liveQueryRegistry.json +0 -2
  352. package/src/forge/_generated/liveQueryRegistry.ts +0 -9
  353. package/src/forge/_generated/liveTransportConfig.json +0 -2
  354. package/src/forge/_generated/liveTransportConfig.ts +0 -19
  355. package/src/forge/_generated/makeRegistry.json +0 -2
  356. package/src/forge/_generated/makeRegistry.ts +0 -177
  357. package/src/forge/_generated/makeTemplates.json +0 -2
  358. package/src/forge/_generated/makeTemplates.ts +0 -66
  359. package/src/forge/_generated/mockMap.json +0 -2
  360. package/src/forge/_generated/mockMap.ts +0 -7
  361. package/src/forge/_generated/operationPlaybooks.md +0 -167
  362. package/src/forge/_generated/packageGraph.json +0 -2
  363. package/src/forge/_generated/packageGraph.ts +0 -249334
  364. package/src/forge/_generated/packageUpgradeRegistry.json +0 -2
  365. package/src/forge/_generated/packageUpgradeRegistry.ts +0 -15
  366. package/src/forge/_generated/permissionMatrix.json +0 -2
  367. package/src/forge/_generated/permissionMatrix.ts +0 -7
  368. package/src/forge/_generated/policyRegistry.json +0 -2
  369. package/src/forge/_generated/policyRegistry.ts +0 -11
  370. package/src/forge/_generated/queryRegistry.json +0 -2
  371. package/src/forge/_generated/queryRegistry.ts +0 -9
  372. package/src/forge/_generated/react.d.ts +0 -22
  373. package/src/forge/_generated/react.ts +0 -29
  374. package/src/forge/_generated/reactManifest.json +0 -2
  375. package/src/forge/_generated/reactManifest.ts +0 -19
  376. package/src/forge/_generated/rlsPolicies.json +0 -2
  377. package/src/forge/_generated/rlsPolicies.sql +0 -34
  378. package/src/forge/_generated/rlsPolicies.ts +0 -6
  379. package/src/forge/_generated/runtimeGraph.json +0 -2
  380. package/src/forge/_generated/runtimeGraph.ts +0 -8
  381. package/src/forge/_generated/runtimeMatrix.json +0 -2
  382. package/src/forge/_generated/runtimeMatrix.ts +0 -334130
  383. package/src/forge/_generated/runtimeRegistry.ts +0 -2
  384. package/src/forge/_generated/runtimeRules.md +0 -91
  385. package/src/forge/_generated/secretRegistry.json +0 -2
  386. package/src/forge/_generated/secretRegistry.ts +0 -50
  387. package/src/forge/_generated/secretsContext.ts +0 -11
  388. package/src/forge/_generated/serverApi.ts +0 -10
  389. package/src/forge/_generated/sourceMapManifest.json +0 -2
  390. package/src/forge/_generated/sourceMapManifest.ts +0 -7
  391. package/src/forge/_generated/sqlPlan.json +0 -2
  392. package/src/forge/_generated/sqlPlan.ts +0 -88
  393. package/src/forge/_generated/subscriptionManifest.json +0 -2
  394. package/src/forge/_generated/subscriptionManifest.ts +0 -7
  395. package/src/forge/_generated/symbolicationManifest.json +0 -2
  396. package/src/forge/_generated/symbolicationManifest.ts +0 -17
  397. package/src/forge/_generated/telemetryRegistry.json +0 -2
  398. package/src/forge/_generated/telemetryRegistry.ts +0 -9
  399. package/src/forge/_generated/telemetrySinks.json +0 -2
  400. package/src/forge/_generated/telemetrySinks.ts +0 -11
  401. package/src/forge/_generated/tenantScope.json +0 -2
  402. package/src/forge/_generated/tenantScope.ts +0 -8
  403. package/src/forge/_generated/testGraph.json +0 -2
  404. package/src/forge/_generated/testGraph.ts +0 -3430
  405. package/src/forge/_generated/testPlanRegistry.json +0 -2
  406. package/src/forge/_generated/testPlanRegistry.ts +0 -33
  407. package/src/forge/_generated/uiRoutes.json +0 -2
  408. package/src/forge/_generated/uiRoutes.ts +0 -16
  409. package/src/forge/_generated/uiScenarios.json +0 -2
  410. package/src/forge/_generated/uiScenarios.ts +0 -30
  411. package/src/forge/_generated/uiTestManifest.json +0 -2
  412. package/src/forge/_generated/uiTestManifest.ts +0 -27
  413. package/src/forge/_generated/workflowRegistry.json +0 -2
  414. package/src/forge/_generated/workflowRegistry.ts +0 -9
  415. package/src/forge/_generated/workflowSubscriptions.json +0 -2
  416. package/src/forge/_generated/workflowSubscriptions.ts +0 -10
@@ -1,68 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=4d45425e08814a9831bfec8b0f23c8b878954fc6fd06d3eaba3917e83a96b42a
2
- export * from "./actionSubscriptions";
3
- export * from "./agentAdapterManifest";
4
- export * from "./agentContract";
5
- export * from "./agentTools";
6
- export * from "./aiContext";
7
- export * from "./aiModels";
8
- export * from "./aiProviders";
9
- export * from "./aiRegistry";
10
- export * from "./api";
11
- export * from "./appGraph";
12
- export * from "./artifactManifest";
13
- export * from "./authClaims";
14
- export * from "./authConfig";
15
- export * from "./authContext";
16
- export * from "./authRegistry";
17
- export * from "./buildInfo";
18
- export * from "./capabilityMap";
19
- export * from "./client";
20
- export * from "./clientApi";
21
- export * from "./clientManifest";
22
- export * from "./clientTypes";
23
- export * from "./configRegistry";
24
- export * from "./dataGraph";
25
- export * from "./db";
26
- export * from "./dbSecurityManifest";
27
- export * from "./dbSessionContext";
28
- export * from "./deployManifest";
29
- export * from "./devManifest";
30
- export * from "./envSchema";
31
- export * from "./frontendGraph";
32
- export * from "./importGuards";
33
- export * from "./liveProductionManifest";
34
- export * from "./liveProtocol";
35
- export * from "./liveQueryRegistry";
36
- export * from "./liveTransportConfig";
37
- export * from "./makeRegistry";
38
- export * from "./makeTemplates";
39
- export * from "./mockMap";
40
- export * from "./packageGraph";
41
- export * from "./packageUpgradeRegistry";
42
- export * from "./permissionMatrix";
43
- export * from "./policyRegistry";
44
- export * from "./queryRegistry";
45
- export * from "./react";
46
- export * from "./reactManifest";
47
- export * from "./releaseManifest";
48
- export * from "./rlsPolicies";
49
- export * from "./runtimeGraph";
50
- export * from "./runtimeMatrix";
51
- export * from "./runtimeRegistry";
52
- export * from "./secretRegistry";
53
- export * from "./secretsContext";
54
- export * from "./serverApi";
55
- export * from "./sourceMapManifest";
56
- export * from "./sqlPlan";
57
- export * from "./subscriptionManifest";
58
- export * from "./symbolicationManifest";
59
- export * from "./telemetryRegistry";
60
- export * from "./telemetrySinks";
61
- export * from "./tenantScope";
62
- export * from "./testGraph";
63
- export * from "./testPlanRegistry";
64
- export * from "./uiRoutes";
65
- export * from "./uiScenarios";
66
- export * from "./uiTestManifest";
67
- export * from "./workflowRegistry";
68
- export * from "./workflowSubscriptions";
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=967f429b3fb0e3fbcef692494eb289adc5e9f1a733f54b93923473b52877be39
2
- {"dependencyGranularity":"table-tenant","invalidationSource":"durable-table","limits":{"heartbeatIntervalMs":15000,"maxPendingMessagesPerSubscription":5,"maxSnapshotBytes":1000000,"maxSubscriptionsPerClient":50,"maxSubscriptionsPerTenant":500,"rerunDebounceMs":50},"liveQueries":[],"mode":"production-hardened","schemaVersion":"0.1.0","transports":["sse"],"wakeupAdapters":["postgres-notify","polling"]}
@@ -1,23 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=0439047e248d49da4c0bad6c54d6accfbdd68738a961a52f373ffb440742f841
2
- export const liveProductionManifest = {
3
- "dependencyGranularity": "table-tenant",
4
- "invalidationSource": "durable-table",
5
- "limits": {
6
- "heartbeatIntervalMs": 15000,
7
- "maxPendingMessagesPerSubscription": 5,
8
- "maxSnapshotBytes": 1000000,
9
- "maxSubscriptionsPerClient": 50,
10
- "maxSubscriptionsPerTenant": 500,
11
- "rerunDebounceMs": 50
12
- },
13
- "liveQueries": [],
14
- "mode": "production-hardened",
15
- "schemaVersion": "0.1.0",
16
- "transports": [
17
- "sse"
18
- ],
19
- "wakeupAdapters": [
20
- "postgres-notify",
21
- "polling"
22
- ]
23
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=2547500ca2a41f806de71a91fb967c7d242fadc9f669a903f44d48ae6447fb66
2
- {"messages":["hello","snapshot","error","heartbeat","reset"],"protocolVersion":"0.1.0","resume":{"queryParam":"lastRevision","sseLastEventId":true},"schemaVersion":"0.1.0","snapshot":{"fullSnapshotOnly":true,"includesReleaseId":true,"includesRevision":true}}
@@ -1,21 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=9893ba2b2189291fef35ab6ea0abea261f01415a078c25760333a00933c313ed
2
- export const liveProtocol = {
3
- "messages": [
4
- "hello",
5
- "snapshot",
6
- "error",
7
- "heartbeat",
8
- "reset"
9
- ],
10
- "protocolVersion": "0.1.0",
11
- "resume": {
12
- "queryParam": "lastRevision",
13
- "sseLastEventId": true
14
- },
15
- "schemaVersion": "0.1.0",
16
- "snapshot": {
17
- "fullSnapshotOnly": true,
18
- "includesReleaseId": true,
19
- "includesRevision": true
20
- }
21
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=fedbfe9e012ae3f3e62d55fd1405671209f6763deb58d51b8d5e01483949fc01
2
- {"analyzerVersion":"0.1.0","diagnostics":[],"generatorVersion":"0.1.0-alpha.4","inputHash":"c52261a0b76af0f64feadff97d3852e815fa814de2566d0d1fce9e4805d1bfab","liveQueries":[],"schemaVersion":"0.1.0"}
@@ -1,9 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=8f83fcdd062c71151a18571f4f520f3a0b6b398a5bfe1aca1b32b6928ab856e0
2
- export const liveQueryRegistry = {
3
- "analyzerVersion": "0.1.0",
4
- "diagnostics": [],
5
- "generatorVersion": "0.1.0-alpha.4",
6
- "inputHash": "c52261a0b76af0f64feadff97d3852e815fa814de2566d0d1fce9e4805d1bfab",
7
- "liveQueries": [],
8
- "schemaVersion": "0.1.0"
9
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=b8074453717d4c465dd2928bfd4ed51ecbf4d9ce9bff5d20e63c8a026f4b1cc8
2
- {"defaultTransport":"sse","schemaVersion":"0.1.0","selfHostEnv":{"FORGE_LIVE_HEARTBEAT_MS":"15000","FORGE_LIVE_INVALIDATION":"polling,postgres-notify","FORGE_LIVE_POLL_INTERVAL_MS":"1000","FORGE_LIVE_TRANSPORT":"sse"},"transports":{"sse":{"endpoint":"/live/:name","heartbeat":true,"multiplexEndpoint":"/live/stream","oneConnectionPerClientRecommended":true}}}
@@ -1,19 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=9166cbf6c2ee6161ea374ec2da35d146fc04efd6f2a1ca307eb3518c4f6c2046
2
- export const liveTransportConfig = {
3
- "defaultTransport": "sse",
4
- "schemaVersion": "0.1.0",
5
- "selfHostEnv": {
6
- "FORGE_LIVE_HEARTBEAT_MS": "15000",
7
- "FORGE_LIVE_INVALIDATION": "polling,postgres-notify",
8
- "FORGE_LIVE_POLL_INTERVAL_MS": "1000",
9
- "FORGE_LIVE_TRANSPORT": "sse"
10
- },
11
- "transports": {
12
- "sse": {
13
- "endpoint": "/live/:name",
14
- "heartbeat": true,
15
- "multiplexEndpoint": "/live/stream",
16
- "oneConnectionPerClientRecommended": true
17
- }
18
- }
19
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=777f0159da68f78304c2471e6adcb39fcd3986dc1cf6e48e4bdc555c56dc644c
2
- {"commands":["forge make list --json","forge make explain <primitive> --json","forge make ui --framework vite --dry-run --json","forge make ai-chat support --dry-run --json","forge make resource <name> --fields title:text,status:enum(open,closed) --dry-run --json","forge make resource <name> --fields title:text --with-ui --yes","forge make apply <planId>","forge make rollback <planId>"],"generatorVersion":"0.1.0-alpha.4","planDirectory":".forge/make-plans","primitives":[{"creates":[],"examples":["forge make table invoices --fields amount:number,status:text"],"modifies":["src/forge/schema.ts"],"name":"table","summary":"Add a schema table declaration."},{"creates":[],"examples":["forge make field invoices.status --type enum --values draft,paid"],"modifies":["src/forge/schema.ts"],"name":"field","summary":"Add a field to an existing table declaration."},{"creates":["src/policies.ts when missing"],"examples":["forge make policy invoices.read --roles owner,admin,member"],"modifies":["src/policies.ts"],"name":"policy","summary":"Add a named policy with allowed roles."},{"creates":["src/commands/<name>.ts"],"examples":["forge make command invoices.create --table invoices --policy invoices.create --emit invoice.created"],"modifies":[],"name":"command","summary":"Add a transactional command with policy and optional event emission."},{"creates":["src/queries/<name>.ts"],"examples":["forge make query invoices.list --table invoices --policy invoices.read"],"modifies":[],"name":"query","summary":"Add a read-only query."},{"creates":["src/queries/live<Name>.ts"],"examples":["forge make livequery invoices.live --table invoices --policy invoices.read"],"modifies":[],"name":"livequery","summary":"Add a read-only liveQuery for reactive clients."},{"creates":["src/actions/<name>.ts"],"examples":["forge make action captureInvoiceCreated --event invoice.created"],"modifies":[],"name":"action","summary":"Add an after-commit action subscribed to an event."},{"creates":["src/workflows/<name>.ts"],"examples":["forge make workflow invoiceWorkflow --table invoices --trigger invoice.created"],"modifies":[],"name":"workflow","summary":"Add a durable workflow triggered by an event."},{"creates":["web/components/<Component>.tsx"],"examples":["forge make component InvoiceList --table invoices"],"modifies":[],"name":"component","summary":"Add a React component that uses generated Forge client hooks."},{"creates":["web/app/<route>/page.tsx"],"examples":["forge make page invoices --table invoices --with-create-form"],"modifies":[],"name":"page","summary":"Add a minimal app page wired to generated components."},{"creates":["web/package.json","web/index.html","web/src/lib/forge.ts","web/src/main.tsx","web/src/App.tsx"],"examples":["forge make ui --framework vite --yes"],"modifies":[],"name":"ui","summary":"Add a Vite React frontend shell with ForgeProvider devAuth and a generated client bridge."},{"creates":["src/ai/<name>Agent.ts","web/components/<Name>AiChat.tsx","web/app/<name>-ai/page.tsx when web/app exists"],"examples":["forge make ai-chat support --yes"],"modifies":[],"name":"ai-chat","summary":"Add a Forge AI agent and React chat component backed by /ai/agents/run."},{"creates":["src/commands/*","src/queries/*","src/actions/*","web/components/*","web/app/*","tests/make-generated/*"],"examples":["forge make resource invoices --fields amount:number,status:enum(draft,paid) --with-ui --yes"],"modifies":["src/forge/schema.ts","src/policies.ts"],"name":"resource","summary":"Add schema, policies, CRUD, queries, liveQuery, optional UI, and tests."}],"schemaVersion":"0.1.0"}
@@ -1,177 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=a4615e698642dd0a6f67edafb3823a0e016abadab49c05d0e0a0cdaea65acd89
2
- export const makeRegistry = {
3
- "commands": [
4
- "forge make list --json",
5
- "forge make explain <primitive> --json",
6
- "forge make ui --framework vite --dry-run --json",
7
- "forge make ai-chat support --dry-run --json",
8
- "forge make resource <name> --fields title:text,status:enum(open,closed) --dry-run --json",
9
- "forge make resource <name> --fields title:text --with-ui --yes",
10
- "forge make apply <planId>",
11
- "forge make rollback <planId>"
12
- ],
13
- "generatorVersion": "0.1.0-alpha.4",
14
- "planDirectory": ".forge/make-plans",
15
- "primitives": [
16
- {
17
- "creates": [],
18
- "examples": [
19
- "forge make table invoices --fields amount:number,status:text"
20
- ],
21
- "modifies": [
22
- "src/forge/schema.ts"
23
- ],
24
- "name": "table",
25
- "summary": "Add a schema table declaration."
26
- },
27
- {
28
- "creates": [],
29
- "examples": [
30
- "forge make field invoices.status --type enum --values draft,paid"
31
- ],
32
- "modifies": [
33
- "src/forge/schema.ts"
34
- ],
35
- "name": "field",
36
- "summary": "Add a field to an existing table declaration."
37
- },
38
- {
39
- "creates": [
40
- "src/policies.ts when missing"
41
- ],
42
- "examples": [
43
- "forge make policy invoices.read --roles owner,admin,member"
44
- ],
45
- "modifies": [
46
- "src/policies.ts"
47
- ],
48
- "name": "policy",
49
- "summary": "Add a named policy with allowed roles."
50
- },
51
- {
52
- "creates": [
53
- "src/commands/<name>.ts"
54
- ],
55
- "examples": [
56
- "forge make command invoices.create --table invoices --policy invoices.create --emit invoice.created"
57
- ],
58
- "modifies": [],
59
- "name": "command",
60
- "summary": "Add a transactional command with policy and optional event emission."
61
- },
62
- {
63
- "creates": [
64
- "src/queries/<name>.ts"
65
- ],
66
- "examples": [
67
- "forge make query invoices.list --table invoices --policy invoices.read"
68
- ],
69
- "modifies": [],
70
- "name": "query",
71
- "summary": "Add a read-only query."
72
- },
73
- {
74
- "creates": [
75
- "src/queries/live<Name>.ts"
76
- ],
77
- "examples": [
78
- "forge make livequery invoices.live --table invoices --policy invoices.read"
79
- ],
80
- "modifies": [],
81
- "name": "livequery",
82
- "summary": "Add a read-only liveQuery for reactive clients."
83
- },
84
- {
85
- "creates": [
86
- "src/actions/<name>.ts"
87
- ],
88
- "examples": [
89
- "forge make action captureInvoiceCreated --event invoice.created"
90
- ],
91
- "modifies": [],
92
- "name": "action",
93
- "summary": "Add an after-commit action subscribed to an event."
94
- },
95
- {
96
- "creates": [
97
- "src/workflows/<name>.ts"
98
- ],
99
- "examples": [
100
- "forge make workflow invoiceWorkflow --table invoices --trigger invoice.created"
101
- ],
102
- "modifies": [],
103
- "name": "workflow",
104
- "summary": "Add a durable workflow triggered by an event."
105
- },
106
- {
107
- "creates": [
108
- "web/components/<Component>.tsx"
109
- ],
110
- "examples": [
111
- "forge make component InvoiceList --table invoices"
112
- ],
113
- "modifies": [],
114
- "name": "component",
115
- "summary": "Add a React component that uses generated Forge client hooks."
116
- },
117
- {
118
- "creates": [
119
- "web/app/<route>/page.tsx"
120
- ],
121
- "examples": [
122
- "forge make page invoices --table invoices --with-create-form"
123
- ],
124
- "modifies": [],
125
- "name": "page",
126
- "summary": "Add a minimal app page wired to generated components."
127
- },
128
- {
129
- "creates": [
130
- "web/package.json",
131
- "web/index.html",
132
- "web/src/lib/forge.ts",
133
- "web/src/main.tsx",
134
- "web/src/App.tsx"
135
- ],
136
- "examples": [
137
- "forge make ui --framework vite --yes"
138
- ],
139
- "modifies": [],
140
- "name": "ui",
141
- "summary": "Add a Vite React frontend shell with ForgeProvider devAuth and a generated client bridge."
142
- },
143
- {
144
- "creates": [
145
- "src/ai/<name>Agent.ts",
146
- "web/components/<Name>AiChat.tsx",
147
- "web/app/<name>-ai/page.tsx when web/app exists"
148
- ],
149
- "examples": [
150
- "forge make ai-chat support --yes"
151
- ],
152
- "modifies": [],
153
- "name": "ai-chat",
154
- "summary": "Add a Forge AI agent and React chat component backed by /ai/agents/run."
155
- },
156
- {
157
- "creates": [
158
- "src/commands/*",
159
- "src/queries/*",
160
- "src/actions/*",
161
- "web/components/*",
162
- "web/app/*",
163
- "tests/make-generated/*"
164
- ],
165
- "examples": [
166
- "forge make resource invoices --fields amount:number,status:enum(draft,paid) --with-ui --yes"
167
- ],
168
- "modifies": [
169
- "src/forge/schema.ts",
170
- "src/policies.ts"
171
- ],
172
- "name": "resource",
173
- "summary": "Add schema, policies, CRUD, queries, liveQuery, optional UI, and tests."
174
- }
175
- ],
176
- "schemaVersion": "0.1.0"
177
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=10dbc136889e8edfea67f3f41e7820590b0c52914b15184dfab1d58579353bd9
2
- {"schemaVersion":"0.1.0","templates":[{"name":"schema-table","outputPattern":"src/forge/schema.ts","sourceKind":"schema"},{"name":"policy","outputPattern":"src/policies.ts","sourceKind":"policy"},{"name":"command","outputPattern":"src/commands/<name>.ts","sourceKind":"runtime"},{"name":"query","outputPattern":"src/queries/<name>.ts","sourceKind":"runtime"},{"name":"livequery","outputPattern":"src/queries/live<Name>.ts","sourceKind":"runtime"},{"name":"action","outputPattern":"src/actions/<name>.ts","sourceKind":"runtime"},{"name":"workflow","outputPattern":"src/workflows/<name>.ts","sourceKind":"runtime"},{"name":"component","outputPattern":"web/components/<name>.tsx","sourceKind":"frontend"},{"name":"page","outputPattern":"web/app/<route>/page.tsx","sourceKind":"frontend"},{"name":"ui","outputPattern":"web/src/App.tsx","sourceKind":"frontend"},{"name":"ai-chat","outputPattern":"web/components/<name>AiChat.tsx","sourceKind":"frontend"},{"name":"placeholder-test","outputPattern":"tests/make-generated/<name>.test.ts","sourceKind":"test"}]}
@@ -1,66 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=d77484c9887220010cac51e14aaa010154cd261244eea7bf22a2aaaedca6afb4
2
- export const makeTemplates = {
3
- "schemaVersion": "0.1.0",
4
- "templates": [
5
- {
6
- "name": "schema-table",
7
- "outputPattern": "src/forge/schema.ts",
8
- "sourceKind": "schema"
9
- },
10
- {
11
- "name": "policy",
12
- "outputPattern": "src/policies.ts",
13
- "sourceKind": "policy"
14
- },
15
- {
16
- "name": "command",
17
- "outputPattern": "src/commands/<name>.ts",
18
- "sourceKind": "runtime"
19
- },
20
- {
21
- "name": "query",
22
- "outputPattern": "src/queries/<name>.ts",
23
- "sourceKind": "runtime"
24
- },
25
- {
26
- "name": "livequery",
27
- "outputPattern": "src/queries/live<Name>.ts",
28
- "sourceKind": "runtime"
29
- },
30
- {
31
- "name": "action",
32
- "outputPattern": "src/actions/<name>.ts",
33
- "sourceKind": "runtime"
34
- },
35
- {
36
- "name": "workflow",
37
- "outputPattern": "src/workflows/<name>.ts",
38
- "sourceKind": "runtime"
39
- },
40
- {
41
- "name": "component",
42
- "outputPattern": "web/components/<name>.tsx",
43
- "sourceKind": "frontend"
44
- },
45
- {
46
- "name": "page",
47
- "outputPattern": "web/app/<route>/page.tsx",
48
- "sourceKind": "frontend"
49
- },
50
- {
51
- "name": "ui",
52
- "outputPattern": "web/src/App.tsx",
53
- "sourceKind": "frontend"
54
- },
55
- {
56
- "name": "ai-chat",
57
- "outputPattern": "web/components/<name>AiChat.tsx",
58
- "sourceKind": "frontend"
59
- },
60
- {
61
- "name": "placeholder-test",
62
- "outputPattern": "tests/make-generated/<name>.test.ts",
63
- "sourceKind": "test"
64
- }
65
- ]
66
- } as const;
@@ -1,2 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=ce79e45d4228d202a492670aa76f238986b5500c8bb53774b328c216a1ccc6d8
2
- {"entries":[{"mockFile":"src/forge/_generated/testkits/ai.anthropic.mock.ts","packageName":"@ai-sdk/anthropic"},{"mockFile":"src/forge/_generated/testkits/ai.openai.mock.ts","packageName":"@ai-sdk/openai"},{"mockFile":"src/forge/_generated/testkits/ai.gateway.mock.ts","packageName":"ai"},{"mockFile":"src/forge/_generated/testkits/zod.mock.ts","packageName":"zod"}]}
@@ -1,7 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=4c569da5df387f6bb7fe7fd94d42b4cc6b05f5218ab0bc129d9637c184625057
2
- export const mockMap = {
3
- "@ai-sdk/anthropic": "src/forge/_generated/testkits/ai.anthropic.mock.ts",
4
- "@ai-sdk/openai": "src/forge/_generated/testkits/ai.openai.mock.ts",
5
- "ai": "src/forge/_generated/testkits/ai.gateway.mock.ts",
6
- "zod": "src/forge/_generated/testkits/zod.mock.ts"
7
- } as const;
@@ -1,167 +0,0 @@
1
- // @forge-generated generator=0.1.0-alpha.4 input=4af795b70ec62dc5967f6e9b78865cfbc8afb09275e575845cf80a360b3b85e2 content=58dad7f03d9e378e327fddb0676d079950c8f000752667cffb022f3b7e217265
2
- # Operation Playbooks
3
-
4
- ## Choose the right workflow
5
-
6
- 1. Run forge do "<objective>" --json when the next command is not obvious.
7
- 2. Use forge do fix --json for failures, forge do verify --json before handoff, and forge do connect-ui --json for frontend wiring.
8
- 3. Follow the returned plan, filesToInspect, risks, and nextAction before using lower-level commands directly.
9
-
10
- ## Add a command
11
-
12
- 1. Add a file under src/commands.
13
- 2. Declare auth with can("policy.name") unless intentionally public/system.
14
- 3. Use ctx.db for transactional writes.
15
- 4. Use ctx.emit for side effects.
16
- 5. Run forge generate.
17
- 6. Run forge verify --strict.
18
-
19
- ## Add a query
20
-
21
- 1. Add a file under src/queries.
22
- 2. Keep it read-only.
23
- 3. Declare auth explicitly.
24
- 4. Run forge generate.
25
- 5. Run forge check.
26
-
27
- ## Add a liveQuery
28
-
29
- 1. Add a liveQuery under src/queries.
30
- 2. Keep it read-only and tenant-scoped when reading tenant tables.
31
- 3. Run forge generate.
32
- 4. Use forge inspect client --json to confirm client exposure.
33
-
34
- ## Debug a stale liveQuery
35
-
36
- 1. Run forge live status --json.
37
- 2. Run forge live invalidations list --json and confirm the table and tenant changed.
38
- 3. Run forge live debug <subscriptionId> --json when a subscription id is available.
39
- 4. Check that _forge_live_invalidations has revisions newer than the last sent snapshot.
40
- 5. Reconnect with Last-Event-ID or ?lastRevision=<revision> to verify resume behavior.
41
-
42
- ## Add an AI tool
43
-
44
- 1. Add a server-only file under src/ai or src/tools.
45
- 2. Export aiTool({ description, inputSchema, outputSchema, risk, needsApproval, handler }).
46
- 3. Use zod schemas for inputSchema and outputSchema.
47
- 4. Access secrets through the tool context, not process.env.
48
- 5. Mark destructive or external side effects with risk and needsApproval.
49
- 6. Run forge generate and inspect src/forge/_generated/aiRegistry.json.
50
-
51
- ## Add an agent
52
-
53
- 1. Export agent({ provider, model, instructions, tools, stopWhen }) from server-only source.
54
- 2. Prefer AI SDK ToolLoopAgent semantics through ctx.agent.run or ctx.ai.runAgent instead of custom loops.
55
- 3. Use stopWhen with stepCount or terminal tool calls to prevent unbounded loops.
56
- 4. Run agents only in actions, workflows, endpoints, or server code.
57
- 5. Run forge inspect all --json and confirm agentContract.ai.agents lists the agent.
58
- 6. Use forge ai trace <traceId> --json to inspect agent runs and tool calls.
59
-
60
- ## Add a table
61
-
62
- 1. Edit src/forge/schema.ts.
63
- 2. Include tenantId for tenant-scoped data.
64
- 3. Run forge generate.
65
- 4. Run forge db diff.
66
- 5. Run forge verify --strict.
67
-
68
- ## Scaffold a resource
69
-
70
- 1. Run forge make resource <name> --fields name:type,status:enum(open,closed) --dry-run --json.
71
- 2. Review the plan and diagnostics.
72
- 3. Run forge make resource <name> --fields name:type --with-ui --yes when the resource should be visible in the web app.
73
- 4. Run forge generate.
74
- 5. Run forge verify --strict.
75
-
76
- ## Apply a feature blueprint
77
-
78
- 1. Write a JSON blueprint under .forge/blueprints.
79
- 2. Run forge feature validate <blueprint> --json.
80
- 3. Run forge feature plan <blueprint>.
81
- 4. Review the plan, impact, and risk.
82
- 5. Run forge feature apply <blueprint> --yes.
83
- 6. Run forge verify --strict.
84
-
85
- ## Safely refactor a feature
86
-
87
- 1. Run forge refactor rename field <table.field> <table.field> --dry-run --json.
88
- 2. Run forge refactor rename command <oldName> <newName> --dry-run --json when renaming runtime entrypoints.
89
- 3. Rename codemods are AST-aware for extract-action, rename command, rename field, and rename table.
90
- 4. Field renames are scoped to the target table, so tickets.priority only rewrites references linked to tickets.
91
- 5. Review filesToModify, migrationPlan, diagnostics, and risk.
92
- 6. Use --allow-high-risk only for intentional high-risk refactors.
93
- 7. Apply with forge refactor rename field <table.field> <table.field> --yes.
94
- 8. Run forge generate.
95
- 9. Run forge verify --strict.
96
-
97
- ## Plan impact-based tests
98
-
99
- 1. Run forge impact --changed --json.
100
- 2. Run forge test plan --changed --json.
101
- 3. Run forge test run --changed --timeout-ms 120000 --json for targeted checks.
102
- 4. Use forge verify --changed for the fast impact gate.
103
- 5. Run forge verify --strict before final handoff.
104
-
105
- ## Repair a failing check
106
-
107
- 1. Run forge test run --changed --json.
108
- 2. Run forge repair diagnose --from-last-test-run --json.
109
- 3. Review the failureKind, likelyCause, suggestedRepairs, and confidence.
110
- 4. Apply only high-confidence repairs automatically.
111
- 5. Run forge verify --changed.
112
- 6. Run forge verify --strict before final handoff.
113
-
114
- ## Add a package
115
-
116
- 1. Use forge add <alias>.
117
- 2. Do not install packages manually unless the architecture exception is intentional.
118
- 3. Run forge generate.
119
- 4. Run forge check.
120
-
121
- ## Upgrade a package
122
-
123
- 1. Run forge deps upgrade-plan <package> --to latest.
124
- 2. Use forge deps inspect <package> --json and forge deps api <package> <symbol> --json before relying on changed external APIs.
125
- 3. Use forge deps trace <package> --json when exports or type resolution are ambiguous.
126
- 4. Read .forge/upgrades/.../plan.md.
127
- 5. If risk is high, inspect affected files and generated adapters before applying.
128
- 6. Apply with forge deps upgrade-apply <plan>.
129
- 7. Finish with forge verify --strict.
130
-
131
- ## Debug a policy error
132
-
133
- 1. Capture the traceId from the response or frontend.
134
- 2. Run forge telemetry inspect <traceId>.
135
- 3. Run forge policy simulate <policy> --role <role>.
136
-
137
- ## Run dev
138
-
139
- 1. Run forge dev for the full local loop: generated checks, API runtime, web app, DB, worker, watch, and startup URLs.
140
- 2. Run forge dev --once --json for a one-shot diagnostic cycle.
141
- 3. Use --api-only, --web-only, --no-watch, or --no-worker only when narrowing the loop intentionally.
142
- 4. When a web app exists, forge dev starts the API runtime and the web dev server together and prints both URLs.
143
- 5. Use generated client and React hooks through web/lib/forge.ts.
144
-
145
- ## Add or update frontend
146
-
147
- 1. Run forge make ui --framework vite --dry-run --json when the app does not have a web root.
148
- 2. Run forge make ai-chat support --dry-run --json to add a chat surface backed by /ai/agents/chat streaming and /ai/agents/run JSON automation.
149
- 3. Use web/lib/forge.ts as the generated client bridge.
150
- 4. Mount ForgeProvider once in the web app provider/layout layer; use devAuth for local development.
151
- 5. Use useQuery, useCommand, and useLiveQuery instead of raw /commands or /queries fetches.
152
- 6. Run forge generate so frontendGraph and agentContract include routes and bindings.
153
- 7. Run forge inspect capabilities --json to confirm UI actions map to runtime capabilities.
154
- 8. Run forge dev --once --json and forge doctor --json.
155
-
156
- ## Self-host
157
-
158
- 1. Run forge self-host compose.
159
- 2. Review deploy/.env.example.
160
- 3. Run forge self-host check.
161
-
162
- ## Debug a production stack trace
163
-
164
- 1. Run forge release inspect <releaseId> --json.
165
- 2. Run forge release sourcemaps symbolicate --input stacktrace.json --json.
166
- 3. Open the original source file and line from the symbolicated frame.
167
- 4. Use forge telemetry inspect <traceId> --with-release --json when a trace id is available.