forgeos 0.1.0-alpha.5 → 0.1.0-alpha.50

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 (446) hide show
  1. package/.npmignore +10 -0
  2. package/AGENTS.md +142 -90
  3. package/CHANGELOG.md +591 -0
  4. package/LICENSE +21 -0
  5. package/README.md +65 -6
  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 +858 -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/scripts/field-test-forgeos.mjs +1012 -0
  55. package/src/forge/_generated/releaseManifest.json +1 -2
  56. package/src/forge/_generated/releaseManifest.ts +3 -3
  57. package/src/forge/agent-adapters/index.ts +1584 -125
  58. package/src/forge/agent-adapters/types.ts +224 -1
  59. package/src/forge/agent-memory/bridge.ts +1333 -0
  60. package/src/forge/agent-memory/context-pack.ts +277 -0
  61. package/src/forge/agent-memory/hook-runner.ts +312 -0
  62. package/src/forge/agent-memory/mcp.ts +224 -0
  63. package/src/forge/agent-memory/normalize.ts +498 -0
  64. package/src/forge/agent-memory/redaction.ts +103 -0
  65. package/src/forge/agent-memory/sources/claude-code.ts +51 -0
  66. package/src/forge/agent-memory/sources/codex-hook-runner.mjs +273 -0
  67. package/src/forge/agent-memory/sources/codex.ts +119 -0
  68. package/src/forge/agent-memory/sources/cursor.ts +35 -0
  69. package/src/forge/agent-memory/types.ts +204 -0
  70. package/src/forge/bench.ts +248 -0
  71. package/src/forge/brownfield-import/index.ts +801 -0
  72. package/src/forge/brownfield-import/types.ts +127 -0
  73. package/src/forge/cair/action-journal.ts +61 -0
  74. package/src/forge/cair/action-parser.ts +314 -0
  75. package/src/forge/cair/action-validator.ts +40 -0
  76. package/src/forge/cair/actions.ts +1818 -0
  77. package/src/forge/cair/format.ts +77 -0
  78. package/src/forge/cair/index.ts +106 -0
  79. package/src/forge/cair/query.ts +478 -0
  80. package/src/forge/cair/snapshot.ts +315 -0
  81. package/src/forge/cair/types.ts +248 -0
  82. package/src/forge/cli/ai.ts +16 -1
  83. package/src/forge/cli/auth.ts +349 -10
  84. package/src/forge/cli/authmd.ts +441 -0
  85. package/src/forge/cli/baseline.ts +112 -0
  86. package/src/forge/cli/build.ts +20 -4
  87. package/src/forge/cli/changed.ts +437 -0
  88. package/src/forge/cli/codex-app-server.ts +877 -0
  89. package/src/forge/cli/commands.ts +1809 -20
  90. package/src/forge/cli/db.ts +209 -2
  91. package/src/forge/cli/deploy.ts +1120 -0
  92. package/src/forge/cli/deps.ts +150 -23
  93. package/src/forge/cli/dev.ts +1132 -51
  94. package/src/forge/cli/docs.ts +265 -0
  95. package/src/forge/cli/doctor.ts +297 -0
  96. package/src/forge/cli/field-test.ts +566 -0
  97. package/src/forge/cli/handoff.ts +336 -0
  98. package/src/forge/cli/index.ts +1 -0
  99. package/src/forge/cli/last-run.ts +84 -0
  100. package/src/forge/cli/main.ts +122 -3
  101. package/src/forge/cli/new.ts +153 -13
  102. package/src/forge/cli/next-actions.ts +23 -0
  103. package/src/forge/cli/output.ts +398 -6
  104. package/src/forge/cli/parse.ts +1144 -36
  105. package/src/forge/cli/progress.ts +51 -0
  106. package/src/forge/cli/query.ts +32 -0
  107. package/src/forge/cli/release.ts +35 -11
  108. package/src/forge/cli/run.ts +42 -0
  109. package/src/forge/cli/seed.ts +581 -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 +2964 -0
  115. package/src/forge/compiler/agent-contract/build.ts +728 -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/build.ts +29 -1
  132. package/src/forge/compiler/data-graph/parse.ts +20 -4
  133. package/src/forge/compiler/data-graph/sql/ddl.ts +144 -31
  134. package/src/forge/compiler/data-graph/sql/serialize.ts +4 -0
  135. package/src/forge/compiler/data-graph/sql/types.ts +1 -0
  136. package/src/forge/compiler/diagnostics/codes.ts +38 -0
  137. package/src/forge/compiler/diagnostics/create.ts +28 -2
  138. package/src/forge/compiler/diagnostics/index.ts +2 -0
  139. package/src/forge/compiler/emitter/barrel.ts +3 -0
  140. package/src/forge/compiler/emitter/render.ts +9 -0
  141. package/src/forge/compiler/external-manifest/registry.ts +205 -0
  142. package/src/forge/compiler/external-manifest/types.ts +91 -0
  143. package/src/forge/compiler/external-manifest/validate.ts +373 -0
  144. package/src/forge/compiler/frontend-graph/build.ts +142 -14
  145. package/src/forge/compiler/integration/add.ts +920 -26
  146. package/src/forge/compiler/integration/plan.ts +43 -12
  147. package/src/forge/compiler/integration/render.ts +29 -0
  148. package/src/forge/compiler/integration/snapshot.ts +2 -0
  149. package/src/forge/compiler/integration/templates/convex.ts +70 -0
  150. package/src/forge/compiler/integration/templates/index.ts +1 -0
  151. package/src/forge/compiler/integration/templates/render.ts +38 -0
  152. package/src/forge/compiler/integration/templates/types.ts +3 -0
  153. package/src/forge/compiler/integration/templates/workos.ts +1290 -0
  154. package/src/forge/compiler/make-registry/build.ts +8 -9
  155. package/src/forge/compiler/orchestrator/fast-check.ts +4 -0
  156. package/src/forge/compiler/orchestrator/generate-lock.ts +14 -3
  157. package/src/forge/compiler/orchestrator/manifest.ts +1 -1
  158. package/src/forge/compiler/orchestrator/plan-profile.ts +23 -0
  159. package/src/forge/compiler/orchestrator/plan.ts +249 -10
  160. package/src/forge/compiler/orchestrator/profile.ts +65 -0
  161. package/src/forge/compiler/orchestrator/run.ts +97 -31
  162. package/src/forge/compiler/orchestrator/serialize.ts +33 -8
  163. package/src/forge/compiler/orchestrator/types.ts +1 -1
  164. package/src/forge/compiler/package-graph/compiler.ts +3 -1
  165. package/src/forge/compiler/package-graph/constants.ts +1 -1
  166. package/src/forge/compiler/package-manager/adapter.ts +4 -1
  167. package/src/forge/compiler/package-manager/commands.ts +4 -0
  168. package/src/forge/compiler/package-manager/executor.ts +30 -1
  169. package/src/forge/compiler/package-manager/version.ts +36 -12
  170. package/src/forge/compiler/package-upgrades/planner.ts +155 -18
  171. package/src/forge/compiler/package-upgrades/types.ts +2 -0
  172. package/src/forge/compiler/policy-registry/build.ts +47 -2
  173. package/src/forge/compiler/policy-registry/parse.ts +32 -2
  174. package/src/forge/compiler/recipes/definitions.ts +63 -0
  175. package/src/forge/compiler/recipes/index.ts +2 -0
  176. package/src/forge/compiler/recipes/registry.ts +6 -0
  177. package/src/forge/compiler/test-graph/build.ts +11 -3
  178. package/src/forge/compiler/types/app-graph.ts +8 -2
  179. package/src/forge/compiler/types/cli.ts +75 -1
  180. package/src/forge/compiler/types/dev-manifest.ts +4 -0
  181. package/src/forge/compiler/types/emit.ts +2 -0
  182. package/src/forge/compiler/types/frontend-graph.ts +2 -2
  183. package/src/forge/compiler/types/integration.ts +1 -0
  184. package/src/forge/compiler/types/package-graph.ts +6 -0
  185. package/src/forge/compiler/types/policy-registry.ts +3 -1
  186. package/src/forge/delta/classifier.ts +52 -0
  187. package/src/forge/delta/explain.ts +238 -0
  188. package/src/forge/delta/git-observer.ts +43 -0
  189. package/src/forge/delta/ids.ts +44 -0
  190. package/src/forge/delta/index.ts +25 -0
  191. package/src/forge/delta/recorder.ts +540 -0
  192. package/src/forge/delta/redaction.ts +50 -0
  193. package/src/forge/delta/schema.ts +240 -0
  194. package/src/forge/delta/session.ts +142 -0
  195. package/src/forge/delta/status.ts +1202 -0
  196. package/src/forge/delta/store.ts +3284 -0
  197. package/src/forge/delta/timeline.ts +178 -0
  198. package/src/forge/dev/server.ts +808 -17
  199. package/src/forge/dev/types.ts +15 -1
  200. package/src/forge/dev/watch.ts +17 -7
  201. package/src/forge/dev-console/cycle.ts +280 -33
  202. package/src/forge/dev-console/types.ts +47 -1
  203. package/src/forge/impact/index.ts +204 -9
  204. package/src/forge/impact/types.ts +33 -1
  205. package/src/forge/intent/index.ts +35 -16
  206. package/src/forge/make/fields.ts +26 -0
  207. package/src/forge/make/index.ts +42 -6
  208. package/src/forge/make/templates.ts +213 -6
  209. package/src/forge/make/types.ts +2 -1
  210. package/src/forge/policy.ts +1 -1
  211. package/src/forge/react/index.ts +160 -2
  212. package/src/forge/refactor/index.ts +1 -0
  213. package/src/forge/repair/rules/index.ts +2 -2
  214. package/src/forge/review/index.ts +158 -12
  215. package/src/forge/review/types.ts +15 -0
  216. package/src/forge/runtime/auth/config.ts +17 -0
  217. package/src/forge/runtime/auth/evaluate.ts +15 -2
  218. package/src/forge/runtime/auth/resolve.ts +61 -6
  219. package/src/forge/runtime/auth/types.ts +1 -0
  220. package/src/forge/runtime/db/factory.ts +1 -3
  221. package/src/forge/runtime/db/generated-client.ts +13 -2
  222. package/src/forge/runtime/db/memory-adapter.ts +139 -32
  223. package/src/forge/runtime/db/pglite-adapter.ts +263 -2
  224. package/src/forge/runtime/executor.ts +129 -16
  225. package/src/forge/runtime/external/bridge.ts +663 -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 +71 -7
  231. package/src/forge/ui/index.ts +849 -19
  232. package/src/forge/ui/types.ts +3 -1
  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 +13 -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 +20 -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/agent-workroom/web/vite.config.ts +36 -0
  260. package/templates/b2b-support-web/package.json +1 -0
  261. package/templates/b2b-support-web/web/app/page.tsx +2 -2
  262. package/templates/b2b-support-web/web/lib/forge.ts +9 -2
  263. package/templates/b2b-support-web/web/next.config.ts +24 -0
  264. package/templates/b2b-support-web/web/package.json +1 -1
  265. package/templates/minimal-web/package.json +1 -1
  266. package/templates/minimal-web/web/index.html +1 -0
  267. package/templates/minimal-web/web/package.json +2 -2
  268. package/templates/minimal-web/web/src/App.tsx +12 -6
  269. package/templates/minimal-web/web/src/lib/forge.ts +9 -2
  270. package/templates/minimal-web/web/src/styles.css +34 -0
  271. package/templates/minimal-web/web/vite.config.ts +36 -0
  272. package/templates/nuxt-web/.vscode/settings.json +14 -0
  273. package/templates/nuxt-web/README.md +30 -0
  274. package/templates/nuxt-web/forge.config.ts +3 -0
  275. package/templates/nuxt-web/package.json +33 -0
  276. package/templates/nuxt-web/src/actions/logNoteCreated.ts +11 -0
  277. package/templates/nuxt-web/src/commands/createNote.ts +26 -0
  278. package/templates/nuxt-web/src/forge/schema.ts +12 -0
  279. package/templates/nuxt-web/src/policies.ts +6 -0
  280. package/templates/nuxt-web/src/queries/listNotes.ts +8 -0
  281. package/templates/nuxt-web/src/queries/liveNotes.ts +8 -0
  282. package/templates/nuxt-web/tsconfig.json +17 -0
  283. package/templates/nuxt-web/web/app.vue +67 -0
  284. package/templates/nuxt-web/web/components/LiveNotes.vue +89 -0
  285. package/templates/nuxt-web/web/components/NoteComposer.vue +100 -0
  286. package/templates/nuxt-web/web/composables/forge.ts +13 -0
  287. package/templates/nuxt-web/web/composables/useNotes.ts +24 -0
  288. package/templates/nuxt-web/web/nuxt.config.ts +11 -0
  289. package/templates/nuxt-web/web/package.json +18 -0
  290. package/templates/nuxt-web/web/plugins/forge.client.ts +10 -0
  291. package/templates/nuxt-web/web/plugins/forge.server.ts +10 -0
  292. package/templates/nuxt-web/web/server/api/forge-health.get.ts +7 -0
  293. package/templates/nuxt-web/web/tsconfig.json +6 -0
  294. package/templates/vendor-access/.vscode/settings.json +14 -0
  295. package/templates/vendor-access/README.md +30 -0
  296. package/templates/vendor-access/forge.config.ts +3 -0
  297. package/templates/vendor-access/package.json +34 -0
  298. package/templates/vendor-access/src/commands/addEvidence.ts +42 -0
  299. package/templates/vendor-access/src/commands/approveAccessRequest.ts +43 -0
  300. package/templates/vendor-access/src/commands/createAccessRequest.ts +49 -0
  301. package/templates/vendor-access/src/commands/seedVendorAccessDemo.ts +200 -0
  302. package/templates/vendor-access/src/forge/schema.ts +74 -0
  303. package/templates/vendor-access/src/policies.ts +11 -0
  304. package/templates/vendor-access/src/queries/listVendorAccessDashboard.ts +24 -0
  305. package/templates/vendor-access/src/queries/liveVendorAccessDashboard.ts +24 -0
  306. package/templates/vendor-access/tsconfig.json +17 -0
  307. package/templates/vendor-access/web/index.html +13 -0
  308. package/templates/vendor-access/web/package.json +21 -0
  309. package/templates/vendor-access/web/src/App.tsx +573 -0
  310. package/templates/vendor-access/web/src/lib/forge.ts +20 -0
  311. package/templates/vendor-access/web/src/main.tsx +205 -0
  312. package/templates/vendor-access/web/src/styles.css +682 -0
  313. package/templates/vendor-access/web/tsconfig.json +18 -0
  314. package/templates/vendor-access/web/vite.config.ts +36 -0
  315. package/src/forge/_generated/actionSubscriptions.json +0 -2
  316. package/src/forge/_generated/actionSubscriptions.ts +0 -10
  317. package/src/forge/_generated/agentAdapterManifest.json +0 -2
  318. package/src/forge/_generated/agentAdapterManifest.ts +0 -73
  319. package/src/forge/_generated/agentContract.json +0 -2
  320. package/src/forge/_generated/agentContract.ts +0 -7829
  321. package/src/forge/_generated/agentQuickstart.md +0 -34
  322. package/src/forge/_generated/agentTools.json +0 -2
  323. package/src/forge/_generated/agentTools.md +0 -16
  324. package/src/forge/_generated/agentTools.ts +0 -12
  325. package/src/forge/_generated/aiContext.ts +0 -125
  326. package/src/forge/_generated/aiModels.json +0 -2
  327. package/src/forge/_generated/aiModels.ts +0 -51
  328. package/src/forge/_generated/aiProviders.json +0 -2
  329. package/src/forge/_generated/aiProviders.ts +0 -23
  330. package/src/forge/_generated/aiRegistry.json +0 -2
  331. package/src/forge/_generated/aiRegistry.ts +0 -31
  332. package/src/forge/_generated/api.json +0 -2
  333. package/src/forge/_generated/api.ts +0 -8
  334. package/src/forge/_generated/appGraph.json +0 -2
  335. package/src/forge/_generated/appGraph.ts +0 -14930
  336. package/src/forge/_generated/appMap.md +0 -55
  337. package/src/forge/_generated/artifactManifest.json +0 -2
  338. package/src/forge/_generated/artifactManifest.ts +0 -7
  339. package/src/forge/_generated/authClaims.json +0 -2
  340. package/src/forge/_generated/authClaims.ts +0 -13
  341. package/src/forge/_generated/authConfig.json +0 -2
  342. package/src/forge/_generated/authConfig.ts +0 -17
  343. package/src/forge/_generated/authContext.ts +0 -23
  344. package/src/forge/_generated/authRegistry.json +0 -2
  345. package/src/forge/_generated/authRegistry.ts +0 -25
  346. package/src/forge/_generated/buildInfo.json +0 -2
  347. package/src/forge/_generated/buildInfo.ts +0 -9
  348. package/src/forge/_generated/capabilityMap.json +0 -2
  349. package/src/forge/_generated/capabilityMap.md +0 -15
  350. package/src/forge/_generated/capabilityMap.ts +0 -17
  351. package/src/forge/_generated/client.ts +0 -282
  352. package/src/forge/_generated/clientApi.ts +0 -9
  353. package/src/forge/_generated/clientManifest.json +0 -2
  354. package/src/forge/_generated/clientManifest.ts +0 -39
  355. package/src/forge/_generated/clientTypes.ts +0 -78
  356. package/src/forge/_generated/configRegistry.json +0 -2
  357. package/src/forge/_generated/configRegistry.ts +0 -4
  358. package/src/forge/_generated/dataGraph.json +0 -2
  359. package/src/forge/_generated/dataGraph.ts +0 -8
  360. package/src/forge/_generated/db.json +0 -2
  361. package/src/forge/_generated/db.ts +0 -2
  362. package/src/forge/_generated/dbSecurityManifest.json +0 -2
  363. package/src/forge/_generated/dbSecurityManifest.ts +0 -15
  364. package/src/forge/_generated/dbSessionContext.json +0 -2
  365. package/src/forge/_generated/dbSessionContext.ts +0 -39
  366. package/src/forge/_generated/deployManifest.json +0 -2
  367. package/src/forge/_generated/deployManifest.ts +0 -14
  368. package/src/forge/_generated/devManifest.json +0 -2
  369. package/src/forge/_generated/devManifest.ts +0 -62
  370. package/src/forge/_generated/envSchema.json +0 -2
  371. package/src/forge/_generated/envSchema.ts +0 -59
  372. package/src/forge/_generated/frontendGraph.json +0 -2
  373. package/src/forge/_generated/frontendGraph.ts +0 -27
  374. package/src/forge/_generated/importGuards.json +0 -2
  375. package/src/forge/_generated/importGuards.ts +0 -686
  376. package/src/forge/_generated/index.ts +0 -68
  377. package/src/forge/_generated/liveProductionManifest.json +0 -2
  378. package/src/forge/_generated/liveProductionManifest.ts +0 -23
  379. package/src/forge/_generated/liveProtocol.json +0 -2
  380. package/src/forge/_generated/liveProtocol.ts +0 -21
  381. package/src/forge/_generated/liveQueryRegistry.json +0 -2
  382. package/src/forge/_generated/liveQueryRegistry.ts +0 -9
  383. package/src/forge/_generated/liveTransportConfig.json +0 -2
  384. package/src/forge/_generated/liveTransportConfig.ts +0 -19
  385. package/src/forge/_generated/makeRegistry.json +0 -2
  386. package/src/forge/_generated/makeRegistry.ts +0 -177
  387. package/src/forge/_generated/makeTemplates.json +0 -2
  388. package/src/forge/_generated/makeTemplates.ts +0 -66
  389. package/src/forge/_generated/mockMap.json +0 -2
  390. package/src/forge/_generated/mockMap.ts +0 -7
  391. package/src/forge/_generated/operationPlaybooks.md +0 -167
  392. package/src/forge/_generated/packageGraph.json +0 -2
  393. package/src/forge/_generated/packageGraph.ts +0 -249334
  394. package/src/forge/_generated/packageUpgradeRegistry.json +0 -2
  395. package/src/forge/_generated/packageUpgradeRegistry.ts +0 -15
  396. package/src/forge/_generated/permissionMatrix.json +0 -2
  397. package/src/forge/_generated/permissionMatrix.ts +0 -7
  398. package/src/forge/_generated/policyRegistry.json +0 -2
  399. package/src/forge/_generated/policyRegistry.ts +0 -11
  400. package/src/forge/_generated/queryRegistry.json +0 -2
  401. package/src/forge/_generated/queryRegistry.ts +0 -9
  402. package/src/forge/_generated/react.d.ts +0 -22
  403. package/src/forge/_generated/react.ts +0 -29
  404. package/src/forge/_generated/reactManifest.json +0 -2
  405. package/src/forge/_generated/reactManifest.ts +0 -19
  406. package/src/forge/_generated/rlsPolicies.json +0 -2
  407. package/src/forge/_generated/rlsPolicies.sql +0 -34
  408. package/src/forge/_generated/rlsPolicies.ts +0 -6
  409. package/src/forge/_generated/runtimeGraph.json +0 -2
  410. package/src/forge/_generated/runtimeGraph.ts +0 -8
  411. package/src/forge/_generated/runtimeMatrix.json +0 -2
  412. package/src/forge/_generated/runtimeMatrix.ts +0 -334130
  413. package/src/forge/_generated/runtimeRegistry.ts +0 -2
  414. package/src/forge/_generated/runtimeRules.md +0 -91
  415. package/src/forge/_generated/secretRegistry.json +0 -2
  416. package/src/forge/_generated/secretRegistry.ts +0 -50
  417. package/src/forge/_generated/secretsContext.ts +0 -11
  418. package/src/forge/_generated/serverApi.ts +0 -10
  419. package/src/forge/_generated/sourceMapManifest.json +0 -2
  420. package/src/forge/_generated/sourceMapManifest.ts +0 -7
  421. package/src/forge/_generated/sqlPlan.json +0 -2
  422. package/src/forge/_generated/sqlPlan.ts +0 -88
  423. package/src/forge/_generated/subscriptionManifest.json +0 -2
  424. package/src/forge/_generated/subscriptionManifest.ts +0 -7
  425. package/src/forge/_generated/symbolicationManifest.json +0 -2
  426. package/src/forge/_generated/symbolicationManifest.ts +0 -17
  427. package/src/forge/_generated/telemetryRegistry.json +0 -2
  428. package/src/forge/_generated/telemetryRegistry.ts +0 -9
  429. package/src/forge/_generated/telemetrySinks.json +0 -2
  430. package/src/forge/_generated/telemetrySinks.ts +0 -11
  431. package/src/forge/_generated/tenantScope.json +0 -2
  432. package/src/forge/_generated/tenantScope.ts +0 -8
  433. package/src/forge/_generated/testGraph.json +0 -2
  434. package/src/forge/_generated/testGraph.ts +0 -3452
  435. package/src/forge/_generated/testPlanRegistry.json +0 -2
  436. package/src/forge/_generated/testPlanRegistry.ts +0 -33
  437. package/src/forge/_generated/uiRoutes.json +0 -2
  438. package/src/forge/_generated/uiRoutes.ts +0 -16
  439. package/src/forge/_generated/uiScenarios.json +0 -2
  440. package/src/forge/_generated/uiScenarios.ts +0 -30
  441. package/src/forge/_generated/uiTestManifest.json +0 -2
  442. package/src/forge/_generated/uiTestManifest.ts +0 -27
  443. package/src/forge/_generated/workflowRegistry.json +0 -2
  444. package/src/forge/_generated/workflowRegistry.ts +0 -9
  445. package/src/forge/_generated/workflowSubscriptions.json +0 -2
  446. package/src/forge/_generated/workflowSubscriptions.ts +0 -10
package/CHANGELOG.md CHANGED
@@ -1,5 +1,596 @@
1
1
  # forgeos
2
2
 
3
+ ## 0.1.0-alpha.50
4
+
5
+ ### Patch Changes
6
+
7
+ - Tighten the no-dashboard WorkOS real setup/proof handoff.
8
+
9
+ - WorkOS hosted setup now records explicit `WORKOS_MODE=agent npx --yes
10
+ workos@latest auth login --json` shell guidance when CLI login is required.
11
+ - Failed `forge workos setup --real` login attempts now tell the operator to
12
+ rerun the same setup command after completing OAuth/device-code login,
13
+ instead of pointing generically at `prove --real`.
14
+ - Human output now includes the login command, device URL/code when present,
15
+ and the exact Forge rerun command for agent-friendly continuation.
16
+
17
+ ## 0.1.0-alpha.49
18
+
19
+ ### Patch Changes
20
+
21
+ - Improve release doctor visibility for npm dist-tag drift.
22
+
23
+ - `forge release doctor --json` now checks the published npm `alpha` and
24
+ `latest` dist-tags for public packages, reports the currently published
25
+ tag versions, and suggests the exact `npm dist-tag add` remediation when
26
+ `latest` still points at an older alpha.
27
+ - The npm dist-tag check is advisory rather than publish-blocking, so a
28
+ prepared alpha release can still ship while clearly reporting that the
29
+ consumer-facing `latest` tag needs promotion.
30
+ - GitHub Actions latest-promotion notices now include the local remediation
31
+ command and the `NPM_TOKEN` configuration hint when latest promotion is
32
+ skipped.
33
+
34
+ ## 0.1.0-alpha.48
35
+
36
+ ### Patch Changes
37
+
38
+ - Complete the WorkOS FGA bridge path for production-shaped apps.
39
+
40
+ - `forge workos fga plan/sync/prove` now models the derived app resource
41
+ graph, hosted WorkOS resource-type setup, required membership evidence, and
42
+ proof scenarios as a first-class FGA manifest.
43
+ - `forge workos fga sync --real` and `forge workos fga prove --real` can run
44
+ through the authenticated WorkOS CLI/API path when `WORKOS_API_KEY` is not
45
+ present, preserving the no-dashboard agent flow while still using real
46
+ WorkOS Authorization API calls.
47
+ - FGA setup guidance now distinguishes what ForgeOS can automate
48
+ (permissions/roles through seed, resources, checks, deploy evidence) from
49
+ hosted WorkOS resource-type configuration, with precise remediation when
50
+ resource types are missing.
51
+ - `forge deploy check --production` now points WorkOS apps at the full FGA
52
+ sequence: plan, real sync, real proof, and final deploy check.
53
+ - WorkOS seed generation now preserves inferred FGA parent resources such as
54
+ `access_request -> vendor`, and regression coverage guards the generated
55
+ seed, CLI parser, deploy gates, and FGA setup output.
56
+
57
+ ## 0.1.0-alpha.47
58
+
59
+ ### Patch Changes
60
+
61
+ - Tighten the WorkOS real-auth proof and production deploy readiness gates.
62
+
63
+ - `forge workos setup --real` and `forge workos prove --real` now validate
64
+ the real OIDC/JWT and WorkOS environment before attempting hosted setup,
65
+ with specific failed checks such as `setup:real-env-forge_auth_audience`
66
+ instead of a generic setup failure.
67
+ - `forge deploy check --production` now requires WorkOS-backed apps to carry
68
+ hosted seed evidence in `.workos-seed-state.json` that matches the current
69
+ `workos-seed.yml`, pointing operators at `forge workos prove --real` when
70
+ hosted seed state is missing or stale.
71
+ - Update production, self-hosting, and field-test documentation so local mock
72
+ field-test evidence, hosted WorkOS seed evidence, and deploy env evidence
73
+ have clear boundaries.
74
+
75
+ ## 0.1.0-alpha.46
76
+
77
+ ### Patch Changes
78
+
79
+ - Smooth the package upgrade apply path used by real ForgeOS apps.
80
+
81
+ - `forge deps upgrade-apply` and `forge deps upgrade-rollback` now accept the
82
+ `planDir` returned by `forge deps upgrade-plan`, automatically resolving it
83
+ to `plan.json`.
84
+ - Passing a directory without `plan.json` now returns a targeted
85
+ `FORGE_DEPS_TARGET_NOT_FOUND` diagnostic with the exact suggested command
86
+ instead of falling through to a generic JSON parse failure.
87
+ - Add regression coverage for applying upgrade plans through the returned
88
+ directory path and for invalid plan directories.
89
+
90
+ ## 0.1.0-alpha.45
91
+
92
+ ### Patch Changes
93
+
94
+ - Smooth the WorkOS, field-test, and deploy-readiness DX discovered during real
95
+ app field testing.
96
+
97
+ - Accept `--real` through the top-level unknown-option guard so documented
98
+ commands like `forge workos setup --real --file workos-seed.yml --json` and
99
+ `forge workos prove --real --file workos-seed.yml --json` run instead of
100
+ being rejected before parsing.
101
+ - Treat known WorkOS CLI duplicate-resource seed responses as explicit clean
102
+ idempotency: Forge now records `seedAlreadyAppliedReason`, suppresses the
103
+ scary duplicate stderr from the successful JSON result, and writes seed
104
+ state with the already-applied status.
105
+ - Run `forge field-test run` through an async harness process and emit
106
+ periodic stderr heartbeats so long realistic probes no longer look frozen
107
+ while preserving machine-readable JSON output.
108
+ - Add a `deploy-env-sources` check to `forge deploy check --production` that
109
+ reports which env sources were inspected, which keys were present, and which
110
+ production keys are still missing without printing secret values; `.env` and
111
+ `.env.local` are shown as local guidance, not production deploy evidence.
112
+
113
+ ## 0.1.0-alpha.44
114
+
115
+ ### Patch Changes
116
+
117
+ - Remove a false positive from UI ergonomics checks for generated apps that
118
+ auto-seed through a helper inside `useEffect`.
119
+
120
+ - `forge inspect ui --ergonomics` now recognizes `runSeed...` helper calls
121
+ inside bounded `useEffect` blocks as automatic first-run seed recovery.
122
+ - The `vendor-access` template regression now asserts that connected
123
+ auto-seed scenarios do not emit `FORGE_UI_AUTO_SEED_RECOVERY_MISSING`,
124
+ keeping `forge field-test run --realistic` aligned with deploy-readiness
125
+ expectations.
126
+
127
+ ## 0.1.0-alpha.43
128
+
129
+ ### Patch Changes
130
+
131
+ - Fix `forge field-test run` in apps that use the published `forgeos` package.
132
+
133
+ - Include `scripts/field-test-forgeos.mjs` in the npm package so generated
134
+ apps can run the field-test harness without having a local ForgeOS checkout.
135
+ - Resolve the harness from either the app workspace or the installed package,
136
+ which keeps framework checkouts and installed-package app workflows working
137
+ with the same command.
138
+ - Improve the missing-harness diagnostic by reporting the searched paths and
139
+ suggesting an upgrade when the installed package does not include the
140
+ packaged harness.
141
+
142
+ ## 0.1.0-alpha.42
143
+
144
+ ### Patch Changes
145
+
146
+ - Make the ForgeOS production-like golden path explicit and verifiable.
147
+
148
+ - Add `forge field-test run --realistic` as the compact app validation path
149
+ for runtime, auth, and UI probes, defaulting to the WorkOS-backed
150
+ `vendor-access` flow when no template/auth override is provided.
151
+ - Add `forge deploy package --target docker` as the user-facing production
152
+ packaging command while keeping `forge deploy render docker` compatible.
153
+ - Add `forge workos prove --file workos-seed.yml --json` as a no-dashboard
154
+ aggregate proof for WorkOS/AuthKit/FGA/seed readiness, with `--real`
155
+ applying hosted setup through the existing WorkOS CLI integration.
156
+ - Promote `vendor-access` into a production-shaped field-test template with
157
+ deterministic all-tenant seeding, local identity profiles, WorkOS-style
158
+ permissions, auth metadata, UI scenarios, multi-tenant domain probes, and
159
+ deploy-readiness evidence.
160
+ - Tighten `forge field-test report` and `forge deploy check --production` so
161
+ they require concrete runtime, auth setup, auth metadata, UI, UI
162
+ ergonomics, seed readiness, and tenant-isolation evidence before reporting
163
+ deploy readiness.
164
+ - Improve UI ergonomics and browser probe diagnostics for local-vs-production
165
+ auth boundaries, seeded first-run state, policy denials, raw runtime errors,
166
+ and product surfaces that expose framework/demo internals too prominently.
167
+ - Add `forge seed status/dev/reset`, all-tenant seed startup support through
168
+ `forge dev --seed --all-tenants`, and seed readiness evidence in dev and
169
+ field-test summaries.
170
+ - Update templates, docs, and tests around the new `create app -> add auth ->
171
+ field-test -> deploy` path.
172
+
173
+ ## 0.1.0-alpha.41
174
+
175
+ ### Patch Changes
176
+
177
+ - Fix package install detection for npm workspace apps that hoist frontend
178
+ dependencies to an ancestor `node_modules`.
179
+
180
+ - `forge add auth workos` now recognizes `@workos-inc/authkit-react` when npm
181
+ installs it from a `web/` workspace but physically hoists it to the root
182
+ workspace.
183
+ - Package version detection now walks ancestor `node_modules` directories,
184
+ matching Node/workspace resolution more closely.
185
+ - Add regression coverage for scoped hoisted workspace packages and the
186
+ WorkOS AuthKit install path.
187
+
188
+ ## 0.1.0-alpha.40
189
+
190
+ ### Patch Changes
191
+
192
+ - Complete the WorkOS/AuthKit production-like app setup loop.
193
+
194
+ - Add `forge workos setup --real --file workos-seed.yml --json` as the
195
+ explicit no-dashboard apply path for WorkOS hosted redirect URI, CORS,
196
+ homepage, webhook, and seed configuration.
197
+ - Make `forge workos doctor` validate production OIDC/JWT readiness,
198
+ browser AuthKit environment variables, the frontend AuthKit package, and
199
+ actual AuthKit provider mounting in the web app shell.
200
+ - Generate a Vite React WorkOS bridge that wraps `AuthKitProvider`, forwards
201
+ `getAccessToken()` into `ForgeProvider`, preserves `forgeUrl`, and handles
202
+ the `/login` sign-in endpoint flow.
203
+ - Teach `forge add auth workos` to install `@workos-inc/authkit-react` in a
204
+ detected `web/` workspace and automatically rewrite the default Forge Vite
205
+ root from local `devAuth` to `ForgeWorkOSAuthProvider`.
206
+ - Keep custom web roots safe by leaving them unchanged and emitting actionable
207
+ doctor/UI-audit guidance when AuthKit still needs to be mounted manually.
208
+ - Expose production auth readiness in `/health` and make `authmd check` fail
209
+ when OIDC/JWT mode is enabled without issuer/JWKS configuration.
210
+ - Improve `forge dev` lifecycle diagnostics and port-busy recovery hints for
211
+ agent-run app previews.
212
+
213
+ ## 0.1.0-alpha.39
214
+
215
+ ### Patch Changes
216
+
217
+ - Harden real WorkOS seed setup for production-like field tests.
218
+
219
+ - Emit valid YAML for generated `workos-seed.yml` files by skipping the
220
+ JavaScript-style deterministic header on YAML artifacts.
221
+ - Make `forge workos seed --dry-run` the validation-only path and let
222
+ `forge workos seed --file workos-seed.yml --json` delegate to the
223
+ authenticated WorkOS CLI.
224
+ - Treat known WorkOS duplicate-resource seed responses such as permission
225
+ slugs already in use as an already-applied seed instead of a hard failure.
226
+ - Ignore `.workos-seed-state.json` in newly scaffolded apps.
227
+
228
+ ## 0.1.0-alpha.37
229
+
230
+ ### Patch Changes
231
+
232
+ - Fix `forge deps upgrade-plan` for npm alias installs used by ForgeOS apps.
233
+
234
+ - Record the real package name from package metadata in the generated package graph when a dependency is installed through an alias such as `forge: npm:forgeos@...`.
235
+ - Resolve upgrade plans by either the real package name (`forgeos`) or the dependency alias (`forge`) while preserving install specs like `forge@npm:forgeos@0.1.0-alpha.37`.
236
+ - Avoid attempting to resolve the unrelated public `forge@alpha` package when an app asks to upgrade its ForgeOS alias dependency.
237
+ - Add regression coverage for aliased package graph entries where the import name and real npm package name differ.
238
+
239
+ ## 0.1.0-alpha.36
240
+
241
+ ### Patch Changes
242
+
243
+ - Smooth the alpha field-test loop after the Vendor Access app exercise.
244
+
245
+ - Teach `forge deps upgrade-plan` to resolve npm alias dependencies such as `forge: npm:forgeos@alpha`, while preserving alias install specs like `forge@npm:forgeos@0.1.0-alpha.36` in generated upgrade plans.
246
+ - Normalize `auth.md` runtime risk rendering so Commands and Risk/Approval metadata agree that commands default to `write`.
247
+ - Add non-throwing command proof APIs through generated `client.commandResult(...)` and React `useCommandResult(...)`, so expected policy denials can be rendered as structured results instead of noisy unhandled browser failures.
248
+ - Update the basic example schema/docs to use `organizations` as the root tenant table instead of a self-referential `tenants` root.
249
+
250
+ ## 0.1.0-alpha.35
251
+
252
+ ### Patch Changes
253
+
254
+ - Harden field-test regressions found while building WorkOS-style multi-tenant apps.
255
+
256
+ - Resolve camelCase `ref:` targets such as `ref:accessRequests` to canonical SQL table names like `access_requests`, and report unknown refs before invalid SQL reaches PGlite.
257
+ - Allow WorkOS-like local dev auth headers through dev-server CORS, including organization, membership, permissions, roles, and claims headers.
258
+ - Teach the generated agent contract and capability map to recognize camelCase `ctx.db` aliases for snake_case tables.
259
+ - Avoid printing fake `http://127.0.0.1:0` API URLs in `forge dev --port 0` startup diagnostics.
260
+
261
+ ## 0.1.0-alpha.34
262
+
263
+ ### Patch Changes
264
+
265
+ - Harden the ForgeOS app-building DX after the Vendor Access field test.
266
+
267
+ - Make `forge workos doctor` and `forge workos seed --dry-run` app-aware by deriving active permissions and resource types from generated policies, data graph, agent contract, authored WorkOS policies, and `workos-seed.yml` instead of assuming onboarding-specific slugs.
268
+ - Add strong diagnostics for unnamed runtime default exports so `export default command(...)` reports `FORGE_RUNTIME_EXPORT_NAME_REQUIRED` with a named-export fix hint before generated API, frontend bindings, or capability maps drift.
269
+ - Extend local `devAuth` for React, Vue, generated clients, and runtime auth parsing with WorkOS-like `permissions`, `roles`, `claims`, `organizationId`, and `organizationMembershipId`.
270
+ - Add nullable timestamp schema support through `timestamp?` / `nullable("timestamp")` and teach `forge check` to flag empty timestamp literals in commands, queries, and liveQueries.
271
+ - Add `forge dev --detach`, `forge dev status`, `forge dev stop`, and command-specific `forge dev --help` with explicit DB/port examples for agent-run app previews.
272
+ - Add `forge changed --commit-ready` and `forge handoff --commit-ready` so agents can stage exactly authored commit files while excluding generated and operational artifacts.
273
+ - Add `forge test authz` for a cheap generated-contract proof of tenant scope, policy bindings, and capability-map authz coverage.
274
+ - Expose static UI/UX readiness through `forge inspect ui --ergonomics`.
275
+
276
+ ## 0.1.0-alpha.33
277
+
278
+ ### Patch Changes
279
+
280
+ - Fix the Nuxt template smoke by adding the explicit `vue-tsc` dev dependency
281
+ required by `nuxt typecheck`, so newly scaffolded `nuxt-web` apps can run
282
+ `npm run typecheck` after install without manual package repair.
283
+
284
+ ## 0.1.0-alpha.32
285
+
286
+ ### Patch Changes
287
+
288
+ - Harden the alpha field-test loop after real Codex, WorkOS, PGlite, and app-server exercises.
289
+
290
+ - Accept `create-forgeos-app --git` as a supported/no-op compatibility flag when git initialization is already handled by the scaffold path, and keep `npm create forgeos-app@alpha .` working from empty current directories.
291
+ - Reject schema definitions that try to model `id` as a normal text field so generated SQL cannot silently create the wrong primary-key shape.
292
+ - Fix tenant-scoped updates in the in-memory database adapter and bring memory timestamp behavior closer to PGlite by rejecting empty timestamp strings and returning `Date` objects for timestamp columns.
293
+ - Improve smoke/generate drift diagnostics and keep `forge handoff` read-only with respect to generated artifacts.
294
+ - Copy generated WorkOS seed data to a root-level `workos-seed.yml` for app DX, serve `HEAD /auth.md` and `HEAD /.well-known/oauth-protected-resource`, and make local-vs-production auth posture more explicit.
295
+ - Normalize suggested Forge commands in framework checkouts so `agent`, `delta`, `studio`, `status`, `changed`, `handoff`, doctors, and WorkOS/auth helpers recommend `node bin/forge.mjs ...` instead of a possibly stale global `forge`.
296
+ - Return structured JSON diagnostics for Delta/PGlite export/open failures instead of leaking raw PGlite stack output, and improve Windows/PGlite repair guidance.
297
+ - Expand `forge ui audit` with static UX/auth-readiness warnings for missing semantic landmarks, unlabeled form controls, unnamed buttons, missing loading/error/empty states, and tenant/prod-auth apps that still only show local dev auth posture.
298
+
299
+ ## 0.1.0-alpha.31
300
+
301
+ ### Patch Changes
302
+
303
+ - Smooth the ForgeOS field-demo DX after the alpha.30 app-server and WorkOS exercises.
304
+
305
+ - Add `forge baseline create` and `forge baseline status` so non-git template workspaces can establish a local baseline and get useful `forge changed` / `forge handoff` diffs instead of noisy filesystem inventories.
306
+ - Add `forge auth status` and production-focused `forge auth prove --prod` output so `dev-headers` is clearly labeled as local-only while JWT/OIDC proofs show production auth posture.
307
+ - Expand `forge doctor windows` with local PGlite store posture and cleanup guidance, including safer PGlite abort inspection that does not poison the surrounding process exit code.
308
+ - Add `forge ui audit` and run it during `forge verify --smoke` when a web app is present, catching missing UI scenarios, missing stable Forge test IDs, and missing policy-denied coverage for sensitive routes.
309
+ - Expand `forge ui audit` with static UX/auth-readiness warnings for missing semantic landmarks, unlabeled form controls, unnamed buttons, missing loading/error/empty states, and tenant/prod-auth apps that still only show local dev auth posture.
310
+ - Bring the in-memory DB adapter closer to PGlite for timestamp fields by rejecting empty timestamp values and returning `Date` objects for `timestamp`/`timestamptz` columns.
311
+ - Make `forge handoff` use a read-only generated-artifact check so preparing a handoff no longer rewrites `src/forge/_generated/**`, `forge.lock`, or generated `AGENTS.md` noise; `forge dev --once` still self-heals stale artifacts.
312
+ - Allow `forge new .` / `npm create forgeos-app@alpha .` from an empty current directory, while refusing non-empty directories to avoid overwriting existing apps.
313
+
314
+ ## 0.1.0-alpha.30
315
+
316
+ ### Patch Changes
317
+
318
+ - Harden the WorkOS/AuthKit adapter and dev telemetry after the alpha.29 field app test.
319
+
320
+ - Normalize WorkOS AuthKit `User` objects before generated auth routes pass them to Forge session and organization-resolution helpers, so apps typecheck against the WorkOS SDK without unsafe direct `Record<string, unknown>` casts.
321
+ - Keep telemetry best-effort when a database adapter applies `INSERT ... RETURNING` but omits returned rows, preventing telemetry from surfacing as `FORGE_DEV_SERVER_ERROR`.
322
+ - Add regression coverage for generated WorkOS adapter typechecking and telemetry inserts that return no rows.
323
+
324
+ ## 0.1.0-alpha.29
325
+
326
+ ### Patch Changes
327
+
328
+ - Add the first WorkOS/AuthKit adapter and local auth metadata tooling.
329
+
330
+ - Add `forge add auth workos`, generated WorkOS seed/config/docs, AuthKit routes, webhook handling, JWT/OIDC claim mapping, and permission-derived Forge policies.
331
+ - Add `forge authmd generate` and `forge authmd check`, including `/auth.md` and OAuth protected-resource metadata served by `forge dev`.
332
+ - Add a local WorkOS/FGA testkit, resource-graph helpers, cross-tenant guards, FGA cache/fallback telemetry, and mock multi-tenant regression coverage.
333
+ - Teach Forge auth and policies to understand permission claims alongside roles.
334
+ - Add `forge version --json` as a command alias and capture local helper table reads in the generated agent contract/capability map.
335
+
336
+ ## 0.1.0-alpha.28
337
+
338
+ ### Patch Changes
339
+
340
+ - Accept visible Codex hook canaries as sufficient for local editing while reporting native Codex provenance separately through `nativeTrustStatus`.
341
+
342
+ ## 0.1.0-alpha.27
343
+
344
+ ### Patch Changes
345
+
346
+ - Stabilize `forge add convex` and generated integration artifacts.
347
+
348
+ - Re-emit integration adapters, docs, and testkits from the main generator so `forge generate --check` and `forge verify --smoke` stay clean after `forge add`.
349
+ - Keep partial `forge add` plans from deleting unrelated generated files before the full generator can reconcile the workspace.
350
+ - Include changed package-manager files such as `package.json` and lockfiles in `forge add --json` handoffs.
351
+ - Replace stale fast-check manifest hashes instead of merging them, and invalidate old manifest schemas to avoid phantom generated drift.
352
+ - Skip Bun module mock registration when the active Bun runtime does not expose `Bun.mock.module`, while still applying mock secret env vars.
353
+ - Filter generated and operational filesystem noise from `forge changed --authored` in non-git workspaces.
354
+ - Keep Java build outputs such as `target/`, `.class`, and `.jar` files out of the published npm tarball.
355
+
356
+ ## 0.1.0-alpha.26
357
+
358
+ ### Patch Changes
359
+
360
+ - Harden the field-demo loop after the Team Onboarding app exercise.
361
+
362
+ - Let `forge changed` and `forge handoff` summarize non-git workspaces with a filesystem inventory instead of reporting zero useful changes.
363
+ - Keep `forge make resource` global by default unless a tenants table exists or `--tenant-scoped` is explicit.
364
+ - Expand capability-map table detection for aliased `ctx.db` usage.
365
+ - Wait through short-lived DeltaDB writer locks before reporting `FORGE_DELTA_BUSY`.
366
+
367
+ ## 0.1.0-alpha.25
368
+
369
+ ### Patch Changes
370
+
371
+ - Harden DeltaDB and Agent Memory under real `forge dev` concurrency.
372
+
373
+ - Stop long-running dev recorders from holding the DeltaDB writer lock between events.
374
+ - Retry short transient DeltaDB writer conflicts before reporting `FORGE_DELTA_BUSY`.
375
+ - Keep Codex hook queue checkpoints unchanged when Agent Memory ingest is blocked by a busy DeltaDB writer, then retry safely instead of losing queued events.
376
+ - Add watcher backoff metadata for lock recovery and document the safe queue/DeltaDB behavior.
377
+
378
+ - Fix tenant-scope reporting in the generated agent contract and capability map.
379
+
380
+ - Match tenant-scoped tables by both authored/camelCase table names and generated SQL snake_case table names.
381
+ - Report camelCase liveQuery dependencies such as `onboardingTasks` as `tenant` scoped when `tenantScope.json` confirms `tenant_id`.
382
+ - Add regression coverage for the Team Onboarding style liveQuery/capability-map path.
383
+
384
+ ## 0.1.0-alpha.24
385
+
386
+ ### Patch Changes
387
+
388
+ - Consolidate the public alpha adoption surface and agent-contract positioning.
389
+
390
+ - Add an explicit MIT `LICENSE`, package license metadata, and a private GitHub Security Advisory disclosure path.
391
+ - Add stable-alpha, AI-coding, agent demo, Convex, and agent-eval documentation pages, plus a runner-agnostic eval task scaffold.
392
+ - Fix `forge new --json` so scaffold automation receives structured JSON instead of human next-step text.
393
+ - Add the first `forge add convex` app-contract recipe with runtime placement guardrails, optional Convex environment names, generated docs, and a mock testkit.
394
+ - Expand field-report expectations and package/release tests for license, security disclosure, docs, create-app help, Convex recipes, and JSON scaffold output.
395
+
396
+ ## 0.1.0-alpha.23
397
+
398
+ ### Patch Changes
399
+
400
+ - Tighten the post-alpha.22 release surface and package evidence.
401
+
402
+ - Add a dedicated Nuxt template smoke workflow that installs `nuxt-web`, runs Forge generation/checks, runs Nuxt typecheck, and probes `forge dev --once`.
403
+ - Include `nuxt-web` in the default field-test template matrix.
404
+ - Add explicit `scopeTarget` metadata and human-readable target output for `forge agent context --change`, `--proof`, and `--handoff`.
405
+ - Teach `forge explain` to fall back to the current generated agent contract when DeltaDB has no runtime history, while marking the result as contract-defined instead of executed.
406
+ - Downgrade read-only observation commands such as `forge status`, `forge changed`, `forge handoff`, `forge explain`, `forge timeline`, and CAIR queries to low-confidence context-gathering sessions in DeltaDB.
407
+ - Package `docs/cair-protocol.md` in the npm tarball and expand the public security/threat-model docs for DeltaDB, agent memory, CAIR, Studio bridge, brownfield import, and Nuxt surfaces.
408
+
409
+ ## 0.1.0-alpha.22
410
+
411
+ ### Patch Changes
412
+
413
+ - Improve the post-alpha.21 agent workflow without adding new MCP tools.
414
+
415
+ - Add `forge agent context` scopes for entry, change, proof, and handoff context packs.
416
+ - Add DeltaDB verbose health details for queue redaction, operation age, semantic projection state, and overhead posture.
417
+ - Add `forge delta compact`, `forge delta prune`, and redacted `forge delta export` for local Delta maintenance and support bundles.
418
+ - Add `forge doctor delta` for recorder writability, queue drain, redaction, and gitignore checks.
419
+ - Add Semantic Timeline summary data for stale proofs and causal chains.
420
+ - Record CAIR snapshot/query/action activity as Delta timeline events without adding new MCP tools.
421
+ - Add a Studio snapshot handoff block and a dedicated CAIR Protocol documentation page.
422
+ - Add an official `nuxt-web` template with a Forge notes backend, client/server Nuxt plugins, a `useNotes` composable, a Nitro runtime-config route, and generated Vue composables.
423
+
424
+ ## 0.1.0-alpha.21
425
+
426
+ ### Patch Changes
427
+
428
+ - Harden Codex hook queue privacy and brownfield import classification.
429
+
430
+ - Queue new Codex hook events as redacted payloads instead of storing raw prompts, tool inputs, tool responses, or transcripts in `.forge/agent/events.ndjson`.
431
+ - Compact consumed hook queue history into redacted `.history` lines so old raw queue entries are not copied forward during drain retention.
432
+ - Scope brownfield route classification to the detected route handler, so read-only GET handlers are not marked command-like because a sibling route in the same file writes state.
433
+ - Mark read-shaped `POST /search`, `/query`, `/filter`, `/lookup`, and `/graphql` routes as `command-candidate` with `ambiguous-post-query` risk instead of treating them as normal writes.
434
+ - Sync the public docs changelog/CLI reference and clarify the alpha/latest npm dist-tag policy.
435
+
436
+ ## 0.1.0-alpha.20
437
+
438
+ ### Patch Changes
439
+
440
+ - Fix generated-change diagnostics, Codex hook queue handling, and external stdio command parsing.
441
+
442
+ - Classify generated `AGENTS.md` blocks and `.forge/agent/context.json` as derived artifacts in `forge changed`/`forge status`.
443
+ - Skip probe, invalid, and out-of-workspace queued hook events during Agent Memory drain, and bound queue inspection for large hook queues.
444
+ - Preserve empty stdio command arguments, diagnose malformed command strings, and support structured `service.commandArgs` in external manifests.
445
+ - Include the basic example client demo in typecheck coverage.
446
+
447
+ ## 0.1.0-alpha.19
448
+
449
+ Alpha hardening:
450
+
451
+ - Added the `agent-workroom` app template for Forge Studio style demos: external
452
+ agents edit the app, while ForgeOS shows preview URL, agent signals, check
453
+ runs, and handoff evidence through generated commands and liveQuery bindings.
454
+ - Added `forge studio attach` for Studio-style observer apps: writes `.forge/studio/attachment.json`, prepares external-agent adapters/hooks, and returns the target preview URL.
455
+ - Added `summary.preview` and `summary.urls.suggestedPreview` to `forge dev --once --json` so observer UIs can target the app under construction instead of pointing at themselves.
456
+ - Improved `forge dev` port-busy failures with a `port_busy` JSON failure kind and suggested recovery commands, including the common "Is port X in use?" startup error shape.
457
+ - `forge dev` now resolves the web app port before startup and automatically moves to the next available port when the default web port is busy, keeping the printed/JSON web URL truthful.
458
+ - Improved `forge check --json` next actions by surfacing diagnostic-specific repair/inspect commands instead of a generic last-test-run repair hint.
459
+ - Added `forge doctor agent --target <agent>` as the top-level agent readiness check.
460
+ - Added explicit `forge agent ingest <source> --watch --file <events.ndjson>` support for opt-in hook/export file ingestion.
461
+ - Added human-friendly verifier aliases: `forge verify quick`, `forge verify agent`, and `forge verify release`.
462
+ - Made `forge status --human` an explicit accepted spelling and documented `forge add <npm-package> --workspace web` as the normal package-add path.
463
+ - Made bare `forge inspect` default to the compact `summary` target instead of returning a usage error.
464
+ - Added `forge release doctor`, `release check --allow-missing-local-release`, and `self-host check --prepared-only` so release readiness can distinguish hard failures from not-yet-prepared local artifacts.
465
+ - Hardened the public packed-package smoke with dry-run mode, per-step JSON evidence, step timeouts, installed-global CLI coverage, hook smoke readiness, Studio open coverage, and preview-port cleanup checks.
466
+ - Expanded `forge docs check` with YAML shape checks, internal Markdown link validation, optional ReadTheDocs-style venv installation, and strict MkDocs build execution.
467
+ - Added authored-only review paths through `forge changed --authored` and `forge diff authored`, keeping generated artifacts collapsed unless explicitly requested.
468
+ - Added `forge delta status --verbose --json` for schema, lock, path, and aggregate-count diagnostics without expanding the default status payload.
469
+ - Added explicit hook readiness levels (`none`, `canary`, `trusted-native`) and documented `.codex/hooks.json` as versioned adapter configuration while keeping `.forge/agent/**` as local operational state.
470
+
471
+ ## 0.1.0-alpha.18
472
+
473
+ Codex hook memory hardening:
474
+
475
+ - Hardened Codex hook ingestion by deriving useful tool-call metadata from the documented hook wire format while keeping raw prompts, tool inputs, tool responses, transcripts, and secrets out of Agent Memory.
476
+ - Added safe command summaries, tool-call ids, result status, exit codes, response summaries, inferred files, and inferred runtime entries for Codex `PreToolUse`, `PermissionRequest`, and `PostToolUse` events.
477
+ - Updated the Codex hook installer with hook timeouts and status messages, and added a local wrapper so repo hooks can use the checkout implementation.
478
+ - Documented the safe Codex hook metadata surface and added regression coverage for real hook payload shapes.
479
+
480
+ ## 0.1.0-alpha.17
481
+
482
+ External runtime timeline metadata:
483
+
484
+ - Enriched DeltaDB runtime call recording for imported Go/Java/external services by reading generated `externalServices.json` metadata during `forge run` and `forge query`.
485
+ - `forge timeline` and `forge explain` now report external runtime `service`, `language`, `risk`, `policy`, `tenantScoped`, and `needsApproval` state instead of falling back to null/false values after successful external calls.
486
+ - Added a DeltaDB schema migration for `runtime_calls.needs_approval` and bumped the local DeltaDB schema to `0.3.1`.
487
+ - Added regression coverage for the real CLI recorder path so manifest-imported external commands keep semantic metadata in timelines.
488
+ - Promotes this release on npm as both `alpha` and `latest`.
489
+
490
+ ## 0.1.0-alpha.16
491
+
492
+ Stability alignment:
493
+
494
+ - Fixed H47 `forge timeline` and `forge explain` crashes after large `artifact.generated` payloads by replacing unsafe JSON string truncation with a safe summary/hash envelope.
495
+ - Summarized generated artifact batches in the Semantic Timeline with count, hash, sample, and omitted count instead of embedding every artifact in timeline event data.
496
+ - Fixed H49 brownfield import detection for root-level Next.js App Router and Pages API routes such as `app/api/.../route.ts` and `pages/api/...`.
497
+ - Updated public CLI and DeltaDB docs for timeline/session/explain/MCP/agent-memory commands and clarified that `.forge/delta/delta.db` is a PGlite/Postgres data directory.
498
+ - Verified the release against a public GitHub `main` smoke app using `generate`, `check`, `delta status`, `timeline`, `explain`, `import analyze`, and `inspect imported`.
499
+
500
+ ## 0.1.0-alpha.15
501
+
502
+ Brownfield import analysis:
503
+
504
+ - Added H49 `forge import analyze` and `forge import inspect` for static brownfield TypeScript/JavaScript app inventory.
505
+ - Detects Next.js App Router routes, Pages API routes, Express/Nest-style handlers, frontend `fetch`/`axios` calls, env usage, framework/data/external package signals, and conservative candidate command/query entries.
506
+ - Writes `.forge/import` artifacts including inventory, routes, frontend calls, candidate entries, risk report, migration plan, and imported agent contract.
507
+ - Keeps imported entries hidden from agents by default with `origin: imported`, `assurance: static-scan`, `reviewStatus: needs-review`, `visibleToAgent: false`, and approval required for command-like or risky entries.
508
+ - Added `forge inspect imported --json` plus focused H49 CLI and scanner coverage.
509
+
510
+ ## 0.1.0-alpha.14
511
+
512
+ Java and Nuxt/Vue support:
513
+
514
+ - Added the Java external runtime adapter with a lightweight JDK HTTP bridge, manifest export, typed handlers, tenant/auth context, diagnostics, and command/query registration.
515
+ - Added a Spring Boot starter for Java services that want annotation-based Forge command/query exposure.
516
+ - Added the `java-billing` conformance example and packaged it with the public alpha line.
517
+ - Added generated Vue bindings and a `forgeos/vue` export with `provideForge`, `ForgeVuePlugin`, `useForgeQuery`, `useForgeCommand`, and `useForgeLiveQuery`.
518
+ - Added Nuxt UI scaffolding through `forge make ui --framework nuxt`, including plugin wiring, composable bridge files, and frontend graph detection for `.vue` routes/components.
519
+ - Updated docs, agent adapter guidance, generated manifests, and focused Java/Vue/Nuxt tests.
520
+ - Kept H44-H48 memory, sessions, timeline, grouping, and MCP surfaces intact while merging the Java/Nuxt work into `main`.
521
+
522
+ ## 0.1.0-alpha.13
523
+
524
+ Agent Memory Bridge:
525
+
526
+ - Added the H48 Agent Memory Bridge alpha with redacted external agent event ingestion and normalized `forge.agent-event.v1` envelopes.
527
+ - Added Codex and Claude Code hook installers plus Cursor MCP/rules setup, all with raw prompts, completions, tool args, transcripts, and cloud sync off by default.
528
+ - Added `forge mcp serve` with context, memory, timeline, and inspect tools for external agents.
529
+ - Added `forge agent install`, `forge agent ingest`, `forge agent context`, and `forge agent memory` commands.
530
+ - Persisted external agent activity in DeltaDB and linked agent/tool/file events into the semantic timeline.
531
+ - Added focused privacy, ingest, MCP, installer, and CLI parse coverage for the H48 bridge.
532
+
533
+ ## 0.1.0-alpha.12
534
+
535
+ Semantic Timeline:
536
+
537
+ - Added the H47 Semantic Timeline projection for DeltaDB with rebuildable timeline events, entity indexes, causal edges, and projection state.
538
+ - Upgraded `forge timeline` from a raw operation log view into an entity-oriented semantic timeline for runtime entries, policies, diagnostics, proofs, services, files, and sessions.
539
+ - Added proof staleness detection and causal links for denial -> policy repair -> successful execution flows.
540
+ - Updated `forge explain` to include semantic timeline context and current-state summaries when available.
541
+ - Documented the timeline projection/rebuild model and added focused DeltaDB coverage for runtime, policy, diagnostic, proof, and deterministic rebuild scenarios.
542
+
543
+ ## 0.1.0-alpha.11
544
+
545
+ Strict verify performance:
546
+
547
+ - Reduced the validated `forge verify --strict` wall time from roughly 358-454s to about 116s on the current Windows test machine.
548
+ - Added stable repo-local `tsx` CLI caching under `node_modules/.cache/forge-tsx-cli` so spawned CLI tests reuse the warm compiler path.
549
+ - Balanced TestGraph strict execution across shared and isolated lanes, bringing the slowest files down from roughly 50s to under 10s in the updated profile.
550
+ - Moved heavy refactor/impact/external runtime suites onto faster shared paths where safe and kept isolation for process-sensitive tests.
551
+ - Documented and guarded the cache behavior so future test helpers preserve the speedup without checking cache contents into git.
552
+ - Added guarded alpha release workflow support for promoting the public `latest` dist-tag when npm token auth is configured.
553
+
554
+ ## 0.1.0-alpha.10
555
+
556
+ Launch polish:
557
+
558
+ - Fixed `forge run <external-command> --args ...` so CLI arguments reach the external runtime bridge.
559
+ - Added direct external query CLI support through `forge query <service.query> --args ...`.
560
+ - Emit generated `.json` artifacts as pure JSON while keeping deterministic headers on code/text artifacts.
561
+ - Relaxed the `minimal-web` template verify script to `forge verify --smoke` and added the missing `check` script to `b2b-support-web`.
562
+ - Updated public protocol/changelog docs for the external runtime and Go adapter alpha line.
563
+ - Bumped the create-app wrapper package line to `create-forgeos-app@0.1.0-alpha.4`.
564
+
565
+ ## 0.1.0-alpha.9
566
+
567
+ ### Patch Changes
568
+
569
+ - Added the Forge external runtime protocol bridge for manifest-backed commands and queries.
570
+ - Added the Go adapter MVP with a real `go-billing` conformance example.
571
+ - Emitted external service metadata into inspect/API/agent artifacts, including `needsApproval` for agent tools.
572
+ - Reuse compiler classifier package signals across export classification, dropping repeated package signal scans.
573
+ - Reuse serialized graph JSON when rendering the largest generated TypeScript graph artifacts.
574
+ - Keep generated Forge artifacts aligned with the `0.1.0-alpha.9` compiler/runtime version.
575
+
576
+ ## 0.1.0-alpha.8
577
+
578
+ ### Patch Changes
579
+
580
+ - [`7568756`](https://github.com/Stahldavid/forge/commit/756875688873dd60d3d6cf700a7bb7c211968c69) Thanks [@Stahldavid](https://github.com/Stahldavid)! - Publish prerelease packages through the ForgeOS alpha publisher so npm dist-tags stay aligned.
581
+
582
+ ## 0.1.0-alpha.7
583
+
584
+ ### Patch Changes
585
+
586
+ - [`4ace311`](https://github.com/Stahldavid/forge/commit/4ace3113e3298b5c306000870922fcfbae9c1861) Thanks [@Stahldavid](https://github.com/Stahldavid)! - Keep npm prerelease publishing on the public alpha dist-tag.
587
+
588
+ ## 0.1.0-alpha.6
589
+
590
+ ### Patch Changes
591
+
592
+ - [`c30f906`](https://github.com/Stahldavid/forge/commit/c30f9069c99ac747ce143ab5fbcbf13912ed8760) Thanks [@Stahldavid](https://github.com/Stahldavid)! - Add CLI version output, align create-app help with package metadata, and add release dependency audit evidence.
593
+
3
594
  ## 0.1.0-alpha.5
4
595
 
5
596
  Release alignment for the public alpha channel:
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 ForgeOS contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.