forgeos 0.1.0-alpha.6 → 0.1.0-alpha.60
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.
- package/.npmignore +10 -0
- package/AGENTS.md +142 -90
- package/CHANGELOG.md +735 -8
- package/LICENSE +21 -0
- package/README.md +65 -6
- package/adapters/go/README.md +23 -0
- package/adapters/go/go.mod +3 -0
- package/adapters/go/http.go +149 -0
- package/adapters/go/registry.go +234 -0
- package/adapters/go/types.go +136 -0
- package/adapters/java/README.md +68 -0
- package/adapters/java/pom.xml +34 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Auth.java +20 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Diagnostic.java +16 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Entry.java +38 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/EntryKind.java +16 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ErrorInfo.java +4 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Forge.java +94 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeCall.java +12 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeContext.java +11 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeHandler.java +8 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeHttpHandler.java +179 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeRegistry.java +121 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Json.java +14 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Manifest.java +14 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/RequestEnvelope.java +6 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ResponseEnvelope.java +25 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Risk.java +18 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Schemas.java +36 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Service.java +65 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/TransactionMode.java +18 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/TypedForgeHandler.java +6 -0
- package/adapters/java-spring-boot-starter/README.md +32 -0
- package/adapters/java-spring-boot-starter/pom.xml +36 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeCommand.java +22 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeExternalService.java +15 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeQuery.java +16 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeServiceBeanCondition.java +18 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeSpringAutoConfiguration.java +16 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeSpringRuntime.java +104 -0
- package/adapters/java-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +1 -0
- package/bin/forge.mjs +18 -0
- package/docs/cair-protocol.md +103 -0
- package/docs/changelog.md +968 -0
- package/docs/forge-protocol.md +189 -0
- package/examples/go-billing/go.mod +7 -0
- package/examples/go-billing/main.go +120 -0
- package/examples/java-billing/pom.xml +52 -0
- package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/CreateInvoiceInput.java +4 -0
- package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/Invoice.java +11 -0
- package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/Main.java +127 -0
- package/package.json +28 -1
- package/schemas/forge-manifest.schema.json +57 -0
- package/scripts/field-test-forgeos.mjs +1012 -0
- package/src/forge/_generated/releaseManifest.json +1 -2
- package/src/forge/_generated/releaseManifest.ts +3 -3
- package/src/forge/agent-adapters/index.ts +1584 -125
- package/src/forge/agent-adapters/types.ts +224 -1
- package/src/forge/agent-memory/bridge.ts +1333 -0
- package/src/forge/agent-memory/context-pack.ts +277 -0
- package/src/forge/agent-memory/hook-runner.ts +312 -0
- package/src/forge/agent-memory/mcp.ts +224 -0
- package/src/forge/agent-memory/normalize.ts +498 -0
- package/src/forge/agent-memory/redaction.ts +103 -0
- package/src/forge/agent-memory/sources/claude-code.ts +51 -0
- package/src/forge/agent-memory/sources/codex-hook-runner.mjs +273 -0
- package/src/forge/agent-memory/sources/codex.ts +119 -0
- package/src/forge/agent-memory/sources/cursor.ts +35 -0
- package/src/forge/agent-memory/types.ts +204 -0
- package/src/forge/bench.ts +248 -0
- package/src/forge/brownfield-import/index.ts +801 -0
- package/src/forge/brownfield-import/types.ts +127 -0
- package/src/forge/cair/action-journal.ts +61 -0
- package/src/forge/cair/action-parser.ts +314 -0
- package/src/forge/cair/action-validator.ts +40 -0
- package/src/forge/cair/actions.ts +1818 -0
- package/src/forge/cair/format.ts +77 -0
- package/src/forge/cair/index.ts +106 -0
- package/src/forge/cair/query.ts +478 -0
- package/src/forge/cair/snapshot.ts +315 -0
- package/src/forge/cair/types.ts +248 -0
- package/src/forge/cli/ai.ts +16 -1
- package/src/forge/cli/auth.ts +357 -10
- package/src/forge/cli/authmd.ts +441 -0
- package/src/forge/cli/baseline.ts +112 -0
- package/src/forge/cli/build.ts +20 -4
- package/src/forge/cli/changed.ts +437 -0
- package/src/forge/cli/codex-app-server.ts +877 -0
- package/src/forge/cli/commands.ts +1798 -20
- package/src/forge/cli/db.ts +209 -2
- package/src/forge/cli/deploy.ts +1288 -0
- package/src/forge/cli/deps.ts +150 -23
- package/src/forge/cli/dev.ts +1137 -53
- package/src/forge/cli/docs.ts +265 -0
- package/src/forge/cli/doctor.ts +297 -0
- package/src/forge/cli/field-test.ts +566 -0
- package/src/forge/cli/handoff.ts +336 -0
- package/src/forge/cli/index.ts +1 -0
- package/src/forge/cli/last-run.ts +84 -0
- package/src/forge/cli/main.ts +128 -3
- package/src/forge/cli/new.ts +153 -13
- package/src/forge/cli/next-actions.ts +23 -0
- package/src/forge/cli/output.ts +398 -6
- package/src/forge/cli/parse.ts +1147 -38
- package/src/forge/cli/progress.ts +51 -0
- package/src/forge/cli/query.ts +32 -0
- package/src/forge/cli/release.ts +35 -11
- package/src/forge/cli/run.ts +42 -0
- package/src/forge/cli/secrets.ts +131 -1
- package/src/forge/cli/seed.ts +581 -0
- package/src/forge/cli/self-host.ts +56 -14
- package/src/forge/cli/studio.ts +2218 -0
- package/src/forge/cli/verify.ts +1455 -32
- package/src/forge/cli/windows.ts +23 -0
- package/src/forge/cli/workos.ts +3315 -0
- package/src/forge/compiler/agent-contract/build.ts +728 -64
- package/src/forge/compiler/agent-contract/types.ts +45 -2
- package/src/forge/compiler/ai-registry/parse.ts +71 -2
- package/src/forge/compiler/api-surface/build.ts +47 -0
- package/src/forge/compiler/app-graph/build.ts +112 -9
- package/src/forge/compiler/app-graph/extract.ts +107 -0
- package/src/forge/compiler/app-graph/module-graph.ts +73 -78
- package/src/forge/compiler/app-graph/parser.ts +24 -24
- package/src/forge/compiler/app-graph/profile.ts +26 -0
- package/src/forge/compiler/app-graph/versions.ts +1 -1
- package/src/forge/compiler/classifier/capabilities.ts +3 -2
- package/src/forge/compiler/classifier/classify.ts +32 -8
- package/src/forge/compiler/classifier/secrets.ts +3 -2
- package/src/forge/compiler/classifier/signals.ts +91 -1
- package/src/forge/compiler/client-sdk/build-manifest.ts +59 -0
- package/src/forge/compiler/client-sdk/render-client.ts +295 -13
- package/src/forge/compiler/data-graph/build.ts +29 -1
- package/src/forge/compiler/data-graph/parse.ts +20 -4
- package/src/forge/compiler/data-graph/sql/ddl.ts +144 -31
- package/src/forge/compiler/data-graph/sql/serialize.ts +4 -0
- package/src/forge/compiler/data-graph/sql/types.ts +1 -0
- package/src/forge/compiler/diagnostics/codes.ts +38 -0
- package/src/forge/compiler/diagnostics/create.ts +28 -2
- package/src/forge/compiler/diagnostics/index.ts +2 -0
- package/src/forge/compiler/emitter/barrel.ts +3 -0
- package/src/forge/compiler/emitter/render.ts +9 -0
- package/src/forge/compiler/external-manifest/registry.ts +205 -0
- package/src/forge/compiler/external-manifest/types.ts +91 -0
- package/src/forge/compiler/external-manifest/validate.ts +373 -0
- package/src/forge/compiler/frontend-graph/build.ts +142 -14
- package/src/forge/compiler/integration/add.ts +991 -33
- package/src/forge/compiler/integration/plan.ts +43 -12
- package/src/forge/compiler/integration/render.ts +29 -0
- package/src/forge/compiler/integration/snapshot.ts +2 -0
- package/src/forge/compiler/integration/templates/convex.ts +70 -0
- package/src/forge/compiler/integration/templates/index.ts +1 -0
- package/src/forge/compiler/integration/templates/render.ts +38 -0
- package/src/forge/compiler/integration/templates/types.ts +3 -0
- package/src/forge/compiler/integration/templates/workos.ts +1439 -0
- package/src/forge/compiler/make-registry/build.ts +8 -9
- package/src/forge/compiler/orchestrator/fast-check.ts +4 -0
- package/src/forge/compiler/orchestrator/generate-lock.ts +14 -3
- package/src/forge/compiler/orchestrator/manifest.ts +1 -1
- package/src/forge/compiler/orchestrator/plan-profile.ts +23 -0
- package/src/forge/compiler/orchestrator/plan.ts +249 -10
- package/src/forge/compiler/orchestrator/profile.ts +65 -0
- package/src/forge/compiler/orchestrator/run.ts +101 -33
- package/src/forge/compiler/orchestrator/serialize.ts +33 -8
- package/src/forge/compiler/orchestrator/types.ts +1 -1
- package/src/forge/compiler/package-graph/compiler.ts +3 -1
- package/src/forge/compiler/package-graph/constants.ts +1 -1
- package/src/forge/compiler/package-manager/adapter.ts +4 -1
- package/src/forge/compiler/package-manager/commands.ts +4 -0
- package/src/forge/compiler/package-manager/executor.ts +30 -1
- package/src/forge/compiler/package-manager/version.ts +36 -12
- package/src/forge/compiler/package-upgrades/planner.ts +155 -18
- package/src/forge/compiler/package-upgrades/types.ts +2 -0
- package/src/forge/compiler/policy-registry/build.ts +47 -2
- package/src/forge/compiler/policy-registry/parse.ts +32 -2
- package/src/forge/compiler/recipes/definitions.ts +63 -0
- package/src/forge/compiler/recipes/index.ts +2 -0
- package/src/forge/compiler/recipes/profiles.ts +81 -0
- package/src/forge/compiler/recipes/registry.ts +6 -0
- package/src/forge/compiler/test-graph/build.ts +11 -3
- package/src/forge/compiler/types/app-graph.ts +8 -2
- package/src/forge/compiler/types/cli.ts +76 -1
- package/src/forge/compiler/types/dev-manifest.ts +4 -0
- package/src/forge/compiler/types/emit.ts +2 -0
- package/src/forge/compiler/types/frontend-graph.ts +2 -2
- package/src/forge/compiler/types/integration.ts +1 -0
- package/src/forge/compiler/types/package-graph.ts +6 -0
- package/src/forge/compiler/types/policy-registry.ts +3 -1
- package/src/forge/delta/classifier.ts +52 -0
- package/src/forge/delta/explain.ts +238 -0
- package/src/forge/delta/git-observer.ts +43 -0
- package/src/forge/delta/ids.ts +44 -0
- package/src/forge/delta/index.ts +25 -0
- package/src/forge/delta/recorder.ts +540 -0
- package/src/forge/delta/redaction.ts +50 -0
- package/src/forge/delta/schema.ts +240 -0
- package/src/forge/delta/session.ts +142 -0
- package/src/forge/delta/status.ts +1202 -0
- package/src/forge/delta/store.ts +3284 -0
- package/src/forge/delta/timeline.ts +178 -0
- package/src/forge/dev/server.ts +1061 -22
- package/src/forge/dev/types.ts +15 -1
- package/src/forge/dev/watch.ts +17 -7
- package/src/forge/dev-console/cycle.ts +280 -33
- package/src/forge/dev-console/types.ts +47 -1
- package/src/forge/impact/index.ts +204 -9
- package/src/forge/impact/types.ts +33 -1
- package/src/forge/intent/index.ts +35 -16
- package/src/forge/make/fields.ts +26 -0
- package/src/forge/make/index.ts +42 -6
- package/src/forge/make/templates.ts +211 -4
- package/src/forge/make/types.ts +2 -1
- package/src/forge/policy.ts +1 -1
- package/src/forge/react/index.ts +160 -2
- package/src/forge/refactor/index.ts +1 -0
- package/src/forge/repair/rules/index.ts +2 -2
- package/src/forge/review/index.ts +158 -12
- package/src/forge/review/types.ts +15 -0
- package/src/forge/runtime/auth/config.ts +17 -0
- package/src/forge/runtime/auth/evaluate.ts +15 -2
- package/src/forge/runtime/auth/resolve.ts +61 -6
- package/src/forge/runtime/auth/types.ts +1 -0
- package/src/forge/runtime/db/factory.ts +1 -3
- package/src/forge/runtime/db/generated-client.ts +13 -2
- package/src/forge/runtime/db/memory-adapter.ts +139 -32
- package/src/forge/runtime/db/pglite-adapter.ts +263 -2
- package/src/forge/runtime/executor.ts +129 -16
- package/src/forge/runtime/external/bridge.ts +663 -0
- package/src/forge/runtime/runner/run-entry.ts +16 -7
- package/src/forge/runtime/telemetry/buffer.ts +4 -1
- package/src/forge/runtime/telemetry/scrubber.ts +35 -5
- package/src/forge/runtime/webhooks/security.ts +12 -7
- package/src/forge/server.ts +71 -7
- package/src/forge/ui/index.ts +831 -19
- package/src/forge/ui/types.ts +3 -1
- package/src/forge/version.ts +1 -1
- package/src/forge/vue/index.ts +422 -0
- package/src/forge/workspace/baseline.ts +112 -0
- package/src/forge/workspace/change-summary.ts +250 -0
- package/src/forge/workspace/forge-cli.ts +42 -0
- package/src/forge/workspace/git-summary.ts +391 -0
- package/templates/agent-workroom/AGENTS.md +29 -0
- package/templates/agent-workroom/README.md +34 -0
- package/templates/agent-workroom/forge.config.ts +3 -0
- package/templates/agent-workroom/package.json +33 -0
- package/templates/agent-workroom/src/actions/indexAgentSignal.ts +10 -0
- package/templates/agent-workroom/src/commands/openWorkroom.ts +61 -0
- package/templates/agent-workroom/src/commands/recordAgentSignal.ts +119 -0
- package/templates/agent-workroom/src/commands/recordCheckRun.ts +52 -0
- package/templates/agent-workroom/src/forge/schema.ts +54 -0
- package/templates/agent-workroom/src/policies.ts +6 -0
- package/templates/agent-workroom/src/queries/listWorkrooms.ts +11 -0
- package/templates/agent-workroom/src/queries/liveWorkroom.ts +63 -0
- package/templates/agent-workroom/tsconfig.json +16 -0
- package/templates/agent-workroom/web/index.html +13 -0
- package/templates/agent-workroom/web/package.json +21 -0
- package/templates/agent-workroom/web/src/App.tsx +345 -0
- package/templates/agent-workroom/web/src/lib/forge.ts +20 -0
- package/templates/agent-workroom/web/src/main.tsx +13 -0
- package/templates/agent-workroom/web/src/styles.css +545 -0
- package/templates/agent-workroom/web/tsconfig.json +27 -0
- package/templates/agent-workroom/web/vite.config.ts +36 -0
- package/templates/b2b-support-web/package.json +1 -0
- package/templates/b2b-support-web/web/app/page.tsx +2 -2
- package/templates/b2b-support-web/web/lib/forge.ts +9 -2
- package/templates/b2b-support-web/web/next.config.ts +24 -0
- package/templates/minimal-web/package.json +1 -1
- package/templates/minimal-web/web/index.html +1 -0
- package/templates/minimal-web/web/src/App.tsx +12 -6
- package/templates/minimal-web/web/src/lib/forge.ts +9 -2
- package/templates/minimal-web/web/src/styles.css +34 -0
- package/templates/minimal-web/web/vite.config.ts +36 -0
- package/templates/nuxt-web/.vscode/settings.json +14 -0
- package/templates/nuxt-web/README.md +30 -0
- package/templates/nuxt-web/forge.config.ts +3 -0
- package/templates/nuxt-web/package.json +33 -0
- package/templates/nuxt-web/src/actions/logNoteCreated.ts +11 -0
- package/templates/nuxt-web/src/commands/createNote.ts +26 -0
- package/templates/nuxt-web/src/forge/schema.ts +12 -0
- package/templates/nuxt-web/src/policies.ts +6 -0
- package/templates/nuxt-web/src/queries/listNotes.ts +8 -0
- package/templates/nuxt-web/src/queries/liveNotes.ts +8 -0
- package/templates/nuxt-web/tsconfig.json +17 -0
- package/templates/nuxt-web/web/app.vue +67 -0
- package/templates/nuxt-web/web/components/LiveNotes.vue +89 -0
- package/templates/nuxt-web/web/components/NoteComposer.vue +100 -0
- package/templates/nuxt-web/web/composables/forge.ts +13 -0
- package/templates/nuxt-web/web/composables/useNotes.ts +24 -0
- package/templates/nuxt-web/web/nuxt.config.ts +11 -0
- package/templates/nuxt-web/web/package.json +18 -0
- package/templates/nuxt-web/web/plugins/forge.client.ts +10 -0
- package/templates/nuxt-web/web/plugins/forge.server.ts +10 -0
- package/templates/nuxt-web/web/server/api/forge-health.get.ts +7 -0
- package/templates/nuxt-web/web/tsconfig.json +6 -0
- package/templates/vendor-access/.vscode/settings.json +14 -0
- package/templates/vendor-access/README.md +30 -0
- package/templates/vendor-access/forge.config.ts +3 -0
- package/templates/vendor-access/package.json +34 -0
- package/templates/vendor-access/src/commands/addEvidence.ts +42 -0
- package/templates/vendor-access/src/commands/approveAccessRequest.ts +43 -0
- package/templates/vendor-access/src/commands/createAccessRequest.ts +49 -0
- package/templates/vendor-access/src/commands/seedVendorAccessDemo.ts +200 -0
- package/templates/vendor-access/src/forge/schema.ts +74 -0
- package/templates/vendor-access/src/policies.ts +11 -0
- package/templates/vendor-access/src/queries/listVendorAccessDashboard.ts +24 -0
- package/templates/vendor-access/src/queries/liveVendorAccessDashboard.ts +24 -0
- package/templates/vendor-access/tsconfig.json +17 -0
- package/templates/vendor-access/web/index.html +13 -0
- package/templates/vendor-access/web/package.json +21 -0
- package/templates/vendor-access/web/src/App.tsx +573 -0
- package/templates/vendor-access/web/src/lib/forge.ts +20 -0
- package/templates/vendor-access/web/src/main.tsx +205 -0
- package/templates/vendor-access/web/src/styles.css +682 -0
- package/templates/vendor-access/web/tsconfig.json +18 -0
- package/templates/vendor-access/web/vite.config.ts +36 -0
- package/src/forge/_generated/actionSubscriptions.json +0 -2
- package/src/forge/_generated/actionSubscriptions.ts +0 -10
- package/src/forge/_generated/agentAdapterManifest.json +0 -2
- package/src/forge/_generated/agentAdapterManifest.ts +0 -73
- package/src/forge/_generated/agentContract.json +0 -2
- package/src/forge/_generated/agentContract.ts +0 -7829
- package/src/forge/_generated/agentQuickstart.md +0 -34
- package/src/forge/_generated/agentTools.json +0 -2
- package/src/forge/_generated/agentTools.md +0 -16
- package/src/forge/_generated/agentTools.ts +0 -12
- package/src/forge/_generated/aiContext.ts +0 -125
- package/src/forge/_generated/aiModels.json +0 -2
- package/src/forge/_generated/aiModels.ts +0 -51
- package/src/forge/_generated/aiProviders.json +0 -2
- package/src/forge/_generated/aiProviders.ts +0 -23
- package/src/forge/_generated/aiRegistry.json +0 -2
- package/src/forge/_generated/aiRegistry.ts +0 -31
- package/src/forge/_generated/api.json +0 -2
- package/src/forge/_generated/api.ts +0 -8
- package/src/forge/_generated/appGraph.json +0 -2
- package/src/forge/_generated/appGraph.ts +0 -14937
- package/src/forge/_generated/appMap.md +0 -55
- package/src/forge/_generated/artifactManifest.json +0 -2
- package/src/forge/_generated/artifactManifest.ts +0 -7
- package/src/forge/_generated/authClaims.json +0 -2
- package/src/forge/_generated/authClaims.ts +0 -13
- package/src/forge/_generated/authConfig.json +0 -2
- package/src/forge/_generated/authConfig.ts +0 -17
- package/src/forge/_generated/authContext.ts +0 -23
- package/src/forge/_generated/authRegistry.json +0 -2
- package/src/forge/_generated/authRegistry.ts +0 -25
- package/src/forge/_generated/buildInfo.json +0 -2
- package/src/forge/_generated/buildInfo.ts +0 -9
- package/src/forge/_generated/capabilityMap.json +0 -2
- package/src/forge/_generated/capabilityMap.md +0 -15
- package/src/forge/_generated/capabilityMap.ts +0 -17
- package/src/forge/_generated/client.ts +0 -282
- package/src/forge/_generated/clientApi.ts +0 -9
- package/src/forge/_generated/clientManifest.json +0 -2
- package/src/forge/_generated/clientManifest.ts +0 -39
- package/src/forge/_generated/clientTypes.ts +0 -78
- package/src/forge/_generated/configRegistry.json +0 -2
- package/src/forge/_generated/configRegistry.ts +0 -4
- package/src/forge/_generated/dataGraph.json +0 -2
- package/src/forge/_generated/dataGraph.ts +0 -8
- package/src/forge/_generated/db.json +0 -2
- package/src/forge/_generated/db.ts +0 -2
- package/src/forge/_generated/dbSecurityManifest.json +0 -2
- package/src/forge/_generated/dbSecurityManifest.ts +0 -15
- package/src/forge/_generated/dbSessionContext.json +0 -2
- package/src/forge/_generated/dbSessionContext.ts +0 -39
- package/src/forge/_generated/deployManifest.json +0 -2
- package/src/forge/_generated/deployManifest.ts +0 -14
- package/src/forge/_generated/devManifest.json +0 -2
- package/src/forge/_generated/devManifest.ts +0 -62
- package/src/forge/_generated/envSchema.json +0 -2
- package/src/forge/_generated/envSchema.ts +0 -59
- package/src/forge/_generated/frontendGraph.json +0 -2
- package/src/forge/_generated/frontendGraph.ts +0 -27
- package/src/forge/_generated/importGuards.json +0 -2
- package/src/forge/_generated/importGuards.ts +0 -686
- package/src/forge/_generated/index.ts +0 -68
- package/src/forge/_generated/liveProductionManifest.json +0 -2
- package/src/forge/_generated/liveProductionManifest.ts +0 -23
- package/src/forge/_generated/liveProtocol.json +0 -2
- package/src/forge/_generated/liveProtocol.ts +0 -21
- package/src/forge/_generated/liveQueryRegistry.json +0 -2
- package/src/forge/_generated/liveQueryRegistry.ts +0 -9
- package/src/forge/_generated/liveTransportConfig.json +0 -2
- package/src/forge/_generated/liveTransportConfig.ts +0 -19
- package/src/forge/_generated/makeRegistry.json +0 -2
- package/src/forge/_generated/makeRegistry.ts +0 -177
- package/src/forge/_generated/makeTemplates.json +0 -2
- package/src/forge/_generated/makeTemplates.ts +0 -66
- package/src/forge/_generated/mockMap.json +0 -2
- package/src/forge/_generated/mockMap.ts +0 -7
- package/src/forge/_generated/operationPlaybooks.md +0 -167
- package/src/forge/_generated/packageGraph.json +0 -2
- package/src/forge/_generated/packageGraph.ts +0 -249334
- package/src/forge/_generated/packageUpgradeRegistry.json +0 -2
- package/src/forge/_generated/packageUpgradeRegistry.ts +0 -15
- package/src/forge/_generated/permissionMatrix.json +0 -2
- package/src/forge/_generated/permissionMatrix.ts +0 -7
- package/src/forge/_generated/policyRegistry.json +0 -2
- package/src/forge/_generated/policyRegistry.ts +0 -11
- package/src/forge/_generated/queryRegistry.json +0 -2
- package/src/forge/_generated/queryRegistry.ts +0 -9
- package/src/forge/_generated/react.d.ts +0 -22
- package/src/forge/_generated/react.ts +0 -29
- package/src/forge/_generated/reactManifest.json +0 -2
- package/src/forge/_generated/reactManifest.ts +0 -19
- package/src/forge/_generated/rlsPolicies.json +0 -2
- package/src/forge/_generated/rlsPolicies.sql +0 -34
- package/src/forge/_generated/rlsPolicies.ts +0 -6
- package/src/forge/_generated/runtimeGraph.json +0 -2
- package/src/forge/_generated/runtimeGraph.ts +0 -8
- package/src/forge/_generated/runtimeMatrix.json +0 -2
- package/src/forge/_generated/runtimeMatrix.ts +0 -334130
- package/src/forge/_generated/runtimeRegistry.ts +0 -2
- package/src/forge/_generated/runtimeRules.md +0 -91
- package/src/forge/_generated/secretRegistry.json +0 -2
- package/src/forge/_generated/secretRegistry.ts +0 -50
- package/src/forge/_generated/secretsContext.ts +0 -11
- package/src/forge/_generated/serverApi.ts +0 -10
- package/src/forge/_generated/sourceMapManifest.json +0 -2
- package/src/forge/_generated/sourceMapManifest.ts +0 -7
- package/src/forge/_generated/sqlPlan.json +0 -2
- package/src/forge/_generated/sqlPlan.ts +0 -88
- package/src/forge/_generated/subscriptionManifest.json +0 -2
- package/src/forge/_generated/subscriptionManifest.ts +0 -7
- package/src/forge/_generated/symbolicationManifest.json +0 -2
- package/src/forge/_generated/symbolicationManifest.ts +0 -17
- package/src/forge/_generated/telemetryRegistry.json +0 -2
- package/src/forge/_generated/telemetryRegistry.ts +0 -9
- package/src/forge/_generated/telemetrySinks.json +0 -2
- package/src/forge/_generated/telemetrySinks.ts +0 -11
- package/src/forge/_generated/tenantScope.json +0 -2
- package/src/forge/_generated/tenantScope.ts +0 -8
- package/src/forge/_generated/testGraph.json +0 -2
- package/src/forge/_generated/testGraph.ts +0 -3452
- package/src/forge/_generated/testPlanRegistry.json +0 -2
- package/src/forge/_generated/testPlanRegistry.ts +0 -33
- package/src/forge/_generated/uiRoutes.json +0 -2
- package/src/forge/_generated/uiRoutes.ts +0 -16
- package/src/forge/_generated/uiScenarios.json +0 -2
- package/src/forge/_generated/uiScenarios.ts +0 -30
- package/src/forge/_generated/uiTestManifest.json +0 -2
- package/src/forge/_generated/uiTestManifest.ts +0 -27
- package/src/forge/_generated/workflowRegistry.json +0 -2
- package/src/forge/_generated/workflowRegistry.ts +0 -9
- package/src/forge/_generated/workflowSubscriptions.json +0 -2
- package/src/forge/_generated/workflowSubscriptions.ts +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,19 +1,746 @@
|
|
|
1
1
|
# forgeos
|
|
2
2
|
|
|
3
|
-
## 0.1.0-alpha.
|
|
3
|
+
## 0.1.0-alpha.60
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- Fix the real WorkOS/AuthKit session bridge for Forge runtime calls.
|
|
8
|
+
|
|
9
|
+
- Generated WorkOS React bridges now pass normalized `/session` claims into
|
|
10
|
+
`ForgeProvider` auth so commands, queries, and liveQueries receive user,
|
|
11
|
+
role, permissions, membership, and tenant headers.
|
|
12
|
+
- WorkOS browser env sync now includes optional tenant mapping variables for
|
|
13
|
+
apps that use internal UUID tenants while WorkOS emits hosted `org_...`
|
|
14
|
+
organization ids.
|
|
15
|
+
- WorkOS dev sessions now derive permissions from active Forge policies when
|
|
16
|
+
AuthKit returns a role without permission claims, and normalize WorkOS
|
|
17
|
+
organization ids before cookie-backed runtime calls touch tenant-scoped data.
|
|
18
|
+
- `forge workos doctor` now validates that generated browser bridges pass
|
|
19
|
+
WorkOS claims into Forge auth instead of only exposing a UI session.
|
|
20
|
+
|
|
21
|
+
## 0.1.0-alpha.58
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- Fix TypeScript output for generated WorkOS AuthKit route helpers.
|
|
26
|
+
|
|
27
|
+
- The generated callback helper now reads provider-specific organization,
|
|
28
|
+
membership, role, roles, and permissions fields through a narrowed raw
|
|
29
|
+
result record instead of accessing fields that are not declared on the
|
|
30
|
+
WorkOS SDK `AuthenticationResponse` type.
|
|
31
|
+
- This keeps WorkOS/AuthKit app typechecks passing while preserving callback
|
|
32
|
+
claim enrichment for organization selection, role mapping, permissions, and
|
|
33
|
+
Forge-normalized session claims.
|
|
34
|
+
|
|
35
|
+
## 0.1.0-alpha.57
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Fix the WorkOS AuthKit local and tunneled development flow.
|
|
40
|
+
|
|
41
|
+
- Add `response_type=code` to Forge-owned WorkOS authorization URLs and avoid sending a default `organization_id` during login so AuthKit can present normal sign-in and organization selection.
|
|
42
|
+
- Resolve WorkOS organization and membership claims during callback when AuthKit returns only the user/token, then expose Forge-normalized session claims through `/session`.
|
|
43
|
+
- Add `forge dev --public-api-url` for browser-facing API URLs behind tunnels and update the WorkOS React bridge to use backend-owned `/login`, `/session`, and `/logout` routes through same-origin/proxy-aware URL resolution.
|
|
44
|
+
- Sync public WorkOS browser env into `web/.env.local` during `forge add auth workos` and `forge workos setup --real`, and update WorkOS doctor/UI audit checks for the backend-owned AuthKit session flow.
|
|
45
|
+
|
|
46
|
+
## 0.1.0-alpha.56
|
|
47
|
+
|
|
48
|
+
### Patch Changes
|
|
49
|
+
|
|
50
|
+
- Add the production deploy golden path as an explicit CLI workflow.
|
|
51
|
+
|
|
52
|
+
- `forge deploy init --target docker` now acts as the canonical Docker
|
|
53
|
+
production bootstrap command for runtime files, `deploy/.env.production`
|
|
54
|
+
guidance, and production handoff docs.
|
|
55
|
+
- `forge deploy readiness --production --json` now summarizes whether an app
|
|
56
|
+
can publish, grouped blockers/warnings, readiness score, and the next
|
|
57
|
+
command an agent should run.
|
|
58
|
+
- `forge env doctor --target local|staging|production --json` now reports the
|
|
59
|
+
effective auth mode, database posture, provider detection, missing env
|
|
60
|
+
names, and safe source metadata without printing secret values.
|
|
61
|
+
- `forge deploy check --production --json` now includes blocking/warning
|
|
62
|
+
summaries and the readiness object used by the deploy gate.
|
|
63
|
+
- `forge deploy verify --production --url ... --json` now validates required
|
|
64
|
+
public auth metadata and probes optional runtime endpoints such as
|
|
65
|
+
`/ready`, `/live/status`, `/outbox/status`, and `/webhooks/workos`.
|
|
66
|
+
- Production docs now present the canonical flow:
|
|
67
|
+
`deploy init -> env doctor -> auth/auth.md/WorkOS proof -> field-test ->
|
|
68
|
+
readiness -> check -> package -> verify`, while keeping WorkOS FGA
|
|
69
|
+
explicitly optional unless the app opts into FGA artifacts.
|
|
70
|
+
|
|
71
|
+
## 0.1.0-alpha.55
|
|
72
|
+
|
|
73
|
+
### Patch Changes
|
|
74
|
+
|
|
75
|
+
- Make WorkOS FGA opt-in instead of part of the default auth adapter path.
|
|
76
|
+
|
|
77
|
+
- `forge add auth workos` now generates the AuthKit/RBAC/permission-claims
|
|
78
|
+
adapter, seed, policies, tenant claim mapping, webhook helpers, and React
|
|
79
|
+
bridge without WorkOS FGA resource helpers by default.
|
|
80
|
+
- `forge add auth workos --with-fga` keeps generating the optional WorkOS
|
|
81
|
+
Authorization/FGA resource graph helpers, `resource_types` seed metadata,
|
|
82
|
+
cache/telemetry helpers, and cross-tenant resource guard.
|
|
83
|
+
- `forge workos doctor` and `forge workos seed` now treat `resource_types`
|
|
84
|
+
and FGA state as optional unless the app has opted into FGA artifacts.
|
|
85
|
+
- `forge deploy check --production` no longer blocks ordinary WorkOS apps on
|
|
86
|
+
`workos-fga-proof`; it still requires FGA sync/proof when FGA helpers or
|
|
87
|
+
FGA state are present.
|
|
88
|
+
|
|
89
|
+
## 0.1.0-alpha.54
|
|
90
|
+
|
|
91
|
+
### Patch Changes
|
|
92
|
+
|
|
93
|
+
- Add a machine-readable WorkOS FGA hosted setup artifact.
|
|
94
|
+
|
|
95
|
+
- `forge workos fga plan --write --json` and real sync failures that write
|
|
96
|
+
`.forge/workos-fga-setup.md` now also write
|
|
97
|
+
`.forge/workos-fga-setup.json`.
|
|
98
|
+
- The JSON artifact includes the derived resource types, hosted setup
|
|
99
|
+
boundary, rerun commands, docs, unsupported automation notes, and paired
|
|
100
|
+
Markdown/JSON paths so agents and CI can consume the FGA handoff without
|
|
101
|
+
parsing Markdown.
|
|
102
|
+
- Human output now prints both the Markdown guide and JSON setup artifact
|
|
103
|
+
paths when they are written.
|
|
104
|
+
|
|
105
|
+
## 0.1.0-alpha.53
|
|
106
|
+
|
|
107
|
+
### Patch Changes
|
|
108
|
+
|
|
109
|
+
- Keep WorkOS FGA proof messaging honest across local and real modes.
|
|
110
|
+
|
|
111
|
+
- `forge workos fga doctor --json` now reports local proof timestamps as
|
|
112
|
+
local proof instead of using real-production wording when the state file was
|
|
113
|
+
produced by local FGA proof commands.
|
|
114
|
+
- This prevents local/mock FGA evidence from being mistaken for hosted WorkOS
|
|
115
|
+
Authorization API proof during production-readiness handoff.
|
|
116
|
+
|
|
117
|
+
## 0.1.0-alpha.52
|
|
118
|
+
|
|
119
|
+
### Patch Changes
|
|
120
|
+
|
|
121
|
+
- Make WorkOS FGA real-rollout failures produce a concrete operator artifact.
|
|
122
|
+
|
|
123
|
+
- Generated WorkOS FGA setup guides now include an explicit automation
|
|
124
|
+
boundary explaining that ForgeOS derives the graph, syncs resources, and
|
|
125
|
+
proves Authorization API checks, but does not invent unsupported WorkOS
|
|
126
|
+
resource-type creation commands.
|
|
127
|
+
- `forge workos fga sync --real --write --json` now remains useful when the
|
|
128
|
+
WorkOS Authorization API reports missing resource types: the JSON includes
|
|
129
|
+
`setupGuidePath` and the written guide lists the resource types, parents,
|
|
130
|
+
permissions, roles, example external IDs, membership env, and rerun
|
|
131
|
+
commands needed to finish the hosted setup.
|
|
132
|
+
|
|
133
|
+
## 0.1.0-alpha.51
|
|
134
|
+
|
|
135
|
+
### Patch Changes
|
|
136
|
+
|
|
137
|
+
- Make the WorkOS FGA production doctor explicit enough for real P2 rollout.
|
|
138
|
+
|
|
139
|
+
- `forge workos fga doctor --real --json` now reports structured readiness
|
|
140
|
+
for the full hosted path: FGA plan, hosted seed evidence, hosted resource
|
|
141
|
+
type/resource sync, `organizationMembershipId` env, real proof state, and
|
|
142
|
+
production readiness.
|
|
143
|
+
- FGA JSON output now includes `membershipEnv`, `seedState`, and `readiness`
|
|
144
|
+
metadata so agents can choose the next command without scraping human text.
|
|
145
|
+
- Hosted FGA setup data now states that WorkOS resource type creation is not
|
|
146
|
+
automated by the WorkOS API/CLI path, while resource sync and authorization
|
|
147
|
+
checks remain ForgeOS-driven after those resource types exist.
|
|
148
|
+
- WorkOS real checks now read `deploy/.env.production` as an explicit deploy
|
|
149
|
+
evidence source, and `forge deploy check --production` runs WorkOS/FGA
|
|
150
|
+
doctors with those values in scope.
|
|
151
|
+
- Human output now distinguishes local FGA planning success from real
|
|
152
|
+
production-gate readiness.
|
|
153
|
+
|
|
154
|
+
## 0.1.0-alpha.50
|
|
155
|
+
|
|
156
|
+
### Patch Changes
|
|
157
|
+
|
|
158
|
+
- Tighten the no-dashboard WorkOS real setup/proof handoff.
|
|
159
|
+
|
|
160
|
+
- WorkOS hosted setup now records explicit `WORKOS_MODE=agent npx --yes
|
|
161
|
+
workos@latest auth login --json` shell guidance when CLI login is required.
|
|
162
|
+
- Failed `forge workos setup --real` login attempts now tell the operator to
|
|
163
|
+
rerun the same setup command after completing OAuth/device-code login,
|
|
164
|
+
instead of pointing generically at `prove --real`.
|
|
165
|
+
- Human output now includes the login command, device URL/code when present,
|
|
166
|
+
and the exact Forge rerun command for agent-friendly continuation.
|
|
167
|
+
|
|
168
|
+
## 0.1.0-alpha.49
|
|
169
|
+
|
|
170
|
+
### Patch Changes
|
|
171
|
+
|
|
172
|
+
- Improve release doctor visibility for npm dist-tag drift.
|
|
173
|
+
|
|
174
|
+
- `forge release doctor --json` now checks the published npm `alpha` and
|
|
175
|
+
`latest` dist-tags for public packages, reports the currently published
|
|
176
|
+
tag versions, and suggests the exact `npm dist-tag add` remediation when
|
|
177
|
+
`latest` still points at an older alpha.
|
|
178
|
+
- The npm dist-tag check is advisory rather than publish-blocking, so a
|
|
179
|
+
prepared alpha release can still ship while clearly reporting that the
|
|
180
|
+
consumer-facing `latest` tag needs promotion.
|
|
181
|
+
- GitHub Actions latest-promotion notices now include the local remediation
|
|
182
|
+
command and the `NPM_TOKEN` configuration hint when latest promotion is
|
|
183
|
+
skipped.
|
|
184
|
+
|
|
185
|
+
## 0.1.0-alpha.48
|
|
186
|
+
|
|
187
|
+
### Patch Changes
|
|
188
|
+
|
|
189
|
+
- Complete the WorkOS FGA bridge path for production-shaped apps.
|
|
190
|
+
|
|
191
|
+
- `forge workos fga plan/sync/prove` now models the derived app resource
|
|
192
|
+
graph, hosted WorkOS resource-type setup, required membership evidence, and
|
|
193
|
+
proof scenarios as a first-class FGA manifest.
|
|
194
|
+
- `forge workos fga sync --real` and `forge workos fga prove --real` can run
|
|
195
|
+
through the authenticated WorkOS CLI/API path when `WORKOS_API_KEY` is not
|
|
196
|
+
present, preserving the no-dashboard agent flow while still using real
|
|
197
|
+
WorkOS Authorization API calls.
|
|
198
|
+
- FGA setup guidance now distinguishes what ForgeOS can automate
|
|
199
|
+
(permissions/roles through seed, resources, checks, deploy evidence) from
|
|
200
|
+
hosted WorkOS resource-type configuration, with precise remediation when
|
|
201
|
+
resource types are missing.
|
|
202
|
+
- `forge deploy check --production` now points WorkOS apps at the full FGA
|
|
203
|
+
sequence: plan, real sync, real proof, and final deploy check.
|
|
204
|
+
- WorkOS seed generation now preserves inferred FGA parent resources such as
|
|
205
|
+
`access_request -> vendor`, and regression coverage guards the generated
|
|
206
|
+
seed, CLI parser, deploy gates, and FGA setup output.
|
|
207
|
+
|
|
208
|
+
## 0.1.0-alpha.47
|
|
209
|
+
|
|
210
|
+
### Patch Changes
|
|
211
|
+
|
|
212
|
+
- Tighten the WorkOS real-auth proof and production deploy readiness gates.
|
|
213
|
+
|
|
214
|
+
- `forge workos setup --real` and `forge workos prove --real` now validate
|
|
215
|
+
the real OIDC/JWT and WorkOS environment before attempting hosted setup,
|
|
216
|
+
with specific failed checks such as `setup:real-env-forge_auth_audience`
|
|
217
|
+
instead of a generic setup failure.
|
|
218
|
+
- `forge deploy check --production` now requires WorkOS-backed apps to carry
|
|
219
|
+
hosted seed evidence in `.workos-seed-state.json` that matches the current
|
|
220
|
+
`workos-seed.yml`, pointing operators at `forge workos prove --real` when
|
|
221
|
+
hosted seed state is missing or stale.
|
|
222
|
+
- Update production, self-hosting, and field-test documentation so local mock
|
|
223
|
+
field-test evidence, hosted WorkOS seed evidence, and deploy env evidence
|
|
224
|
+
have clear boundaries.
|
|
225
|
+
|
|
226
|
+
## 0.1.0-alpha.46
|
|
227
|
+
|
|
228
|
+
### Patch Changes
|
|
229
|
+
|
|
230
|
+
- Smooth the package upgrade apply path used by real ForgeOS apps.
|
|
231
|
+
|
|
232
|
+
- `forge deps upgrade-apply` and `forge deps upgrade-rollback` now accept the
|
|
233
|
+
`planDir` returned by `forge deps upgrade-plan`, automatically resolving it
|
|
234
|
+
to `plan.json`.
|
|
235
|
+
- Passing a directory without `plan.json` now returns a targeted
|
|
236
|
+
`FORGE_DEPS_TARGET_NOT_FOUND` diagnostic with the exact suggested command
|
|
237
|
+
instead of falling through to a generic JSON parse failure.
|
|
238
|
+
- Add regression coverage for applying upgrade plans through the returned
|
|
239
|
+
directory path and for invalid plan directories.
|
|
240
|
+
|
|
241
|
+
## 0.1.0-alpha.45
|
|
242
|
+
|
|
243
|
+
### Patch Changes
|
|
244
|
+
|
|
245
|
+
- Smooth the WorkOS, field-test, and deploy-readiness DX discovered during real
|
|
246
|
+
app field testing.
|
|
247
|
+
|
|
248
|
+
- Accept `--real` through the top-level unknown-option guard so documented
|
|
249
|
+
commands like `forge workos setup --real --file workos-seed.yml --json` and
|
|
250
|
+
`forge workos prove --real --file workos-seed.yml --json` run instead of
|
|
251
|
+
being rejected before parsing.
|
|
252
|
+
- Treat known WorkOS CLI duplicate-resource seed responses as explicit clean
|
|
253
|
+
idempotency: Forge now records `seedAlreadyAppliedReason`, suppresses the
|
|
254
|
+
scary duplicate stderr from the successful JSON result, and writes seed
|
|
255
|
+
state with the already-applied status.
|
|
256
|
+
- Run `forge field-test run` through an async harness process and emit
|
|
257
|
+
periodic stderr heartbeats so long realistic probes no longer look frozen
|
|
258
|
+
while preserving machine-readable JSON output.
|
|
259
|
+
- Add a `deploy-env-sources` check to `forge deploy check --production` that
|
|
260
|
+
reports which env sources were inspected, which keys were present, and which
|
|
261
|
+
production keys are still missing without printing secret values; `.env` and
|
|
262
|
+
`.env.local` are shown as local guidance, not production deploy evidence.
|
|
263
|
+
|
|
264
|
+
## 0.1.0-alpha.44
|
|
265
|
+
|
|
266
|
+
### Patch Changes
|
|
267
|
+
|
|
268
|
+
- Remove a false positive from UI ergonomics checks for generated apps that
|
|
269
|
+
auto-seed through a helper inside `useEffect`.
|
|
270
|
+
|
|
271
|
+
- `forge inspect ui --ergonomics` now recognizes `runSeed...` helper calls
|
|
272
|
+
inside bounded `useEffect` blocks as automatic first-run seed recovery.
|
|
273
|
+
- The `vendor-access` template regression now asserts that connected
|
|
274
|
+
auto-seed scenarios do not emit `FORGE_UI_AUTO_SEED_RECOVERY_MISSING`,
|
|
275
|
+
keeping `forge field-test run --realistic` aligned with deploy-readiness
|
|
276
|
+
expectations.
|
|
277
|
+
|
|
278
|
+
## 0.1.0-alpha.43
|
|
279
|
+
|
|
280
|
+
### Patch Changes
|
|
281
|
+
|
|
282
|
+
- Fix `forge field-test run` in apps that use the published `forgeos` package.
|
|
283
|
+
|
|
284
|
+
- Include `scripts/field-test-forgeos.mjs` in the npm package so generated
|
|
285
|
+
apps can run the field-test harness without having a local ForgeOS checkout.
|
|
286
|
+
- Resolve the harness from either the app workspace or the installed package,
|
|
287
|
+
which keeps framework checkouts and installed-package app workflows working
|
|
288
|
+
with the same command.
|
|
289
|
+
- Improve the missing-harness diagnostic by reporting the searched paths and
|
|
290
|
+
suggesting an upgrade when the installed package does not include the
|
|
291
|
+
packaged harness.
|
|
292
|
+
|
|
293
|
+
## 0.1.0-alpha.42
|
|
294
|
+
|
|
295
|
+
### Patch Changes
|
|
296
|
+
|
|
297
|
+
- Make the ForgeOS production-like golden path explicit and verifiable.
|
|
298
|
+
|
|
299
|
+
- Add `forge field-test run --realistic` as the compact app validation path
|
|
300
|
+
for runtime, auth, and UI probes, defaulting to the WorkOS-backed
|
|
301
|
+
`vendor-access` flow when no template/auth override is provided.
|
|
302
|
+
- Add `forge deploy package --target docker` as the user-facing production
|
|
303
|
+
packaging command while keeping `forge deploy render docker` compatible.
|
|
304
|
+
- Add `forge workos prove --file workos-seed.yml --json` as a no-dashboard
|
|
305
|
+
aggregate proof for WorkOS/AuthKit/FGA/seed readiness, with `--real`
|
|
306
|
+
applying hosted setup through the existing WorkOS CLI integration.
|
|
307
|
+
- Promote `vendor-access` into a production-shaped field-test template with
|
|
308
|
+
deterministic all-tenant seeding, local identity profiles, WorkOS-style
|
|
309
|
+
permissions, auth metadata, UI scenarios, multi-tenant domain probes, and
|
|
310
|
+
deploy-readiness evidence.
|
|
311
|
+
- Tighten `forge field-test report` and `forge deploy check --production` so
|
|
312
|
+
they require concrete runtime, auth setup, auth metadata, UI, UI
|
|
313
|
+
ergonomics, seed readiness, and tenant-isolation evidence before reporting
|
|
314
|
+
deploy readiness.
|
|
315
|
+
- Improve UI ergonomics and browser probe diagnostics for local-vs-production
|
|
316
|
+
auth boundaries, seeded first-run state, policy denials, raw runtime errors,
|
|
317
|
+
and product surfaces that expose framework/demo internals too prominently.
|
|
318
|
+
- Add `forge seed status/dev/reset`, all-tenant seed startup support through
|
|
319
|
+
`forge dev --seed --all-tenants`, and seed readiness evidence in dev and
|
|
320
|
+
field-test summaries.
|
|
321
|
+
- Update templates, docs, and tests around the new `create app -> add auth ->
|
|
322
|
+
field-test -> deploy` path.
|
|
323
|
+
|
|
324
|
+
## 0.1.0-alpha.41
|
|
325
|
+
|
|
326
|
+
### Patch Changes
|
|
327
|
+
|
|
328
|
+
- Fix package install detection for npm workspace apps that hoist frontend
|
|
329
|
+
dependencies to an ancestor `node_modules`.
|
|
330
|
+
|
|
331
|
+
- `forge add auth workos` now recognizes `@workos-inc/authkit-react` when npm
|
|
332
|
+
installs it from a `web/` workspace but physically hoists it to the root
|
|
333
|
+
workspace.
|
|
334
|
+
- Package version detection now walks ancestor `node_modules` directories,
|
|
335
|
+
matching Node/workspace resolution more closely.
|
|
336
|
+
- Add regression coverage for scoped hoisted workspace packages and the
|
|
337
|
+
WorkOS AuthKit install path.
|
|
338
|
+
|
|
339
|
+
## 0.1.0-alpha.40
|
|
340
|
+
|
|
341
|
+
### Patch Changes
|
|
342
|
+
|
|
343
|
+
- Complete the WorkOS/AuthKit production-like app setup loop.
|
|
344
|
+
|
|
345
|
+
- Add `forge workos setup --real --file workos-seed.yml --json` as the
|
|
346
|
+
explicit no-dashboard apply path for WorkOS hosted redirect URI, CORS,
|
|
347
|
+
homepage, webhook, and seed configuration.
|
|
348
|
+
- Make `forge workos doctor` validate production OIDC/JWT readiness,
|
|
349
|
+
browser AuthKit environment variables, the frontend AuthKit package, and
|
|
350
|
+
actual AuthKit provider mounting in the web app shell.
|
|
351
|
+
- Generate a Vite React WorkOS bridge that wraps `AuthKitProvider`, forwards
|
|
352
|
+
`getAccessToken()` into `ForgeProvider`, preserves `forgeUrl`, and handles
|
|
353
|
+
the `/login` sign-in endpoint flow.
|
|
354
|
+
- Teach `forge add auth workos` to install `@workos-inc/authkit-react` in a
|
|
355
|
+
detected `web/` workspace and automatically rewrite the default Forge Vite
|
|
356
|
+
root from local `devAuth` to `ForgeWorkOSAuthProvider`.
|
|
357
|
+
- Keep custom web roots safe by leaving them unchanged and emitting actionable
|
|
358
|
+
doctor/UI-audit guidance when AuthKit still needs to be mounted manually.
|
|
359
|
+
- Expose production auth readiness in `/health` and make `authmd check` fail
|
|
360
|
+
when OIDC/JWT mode is enabled without issuer/JWKS configuration.
|
|
361
|
+
- Improve `forge dev` lifecycle diagnostics and port-busy recovery hints for
|
|
362
|
+
agent-run app previews.
|
|
363
|
+
|
|
364
|
+
## 0.1.0-alpha.39
|
|
365
|
+
|
|
366
|
+
### Patch Changes
|
|
367
|
+
|
|
368
|
+
- Harden real WorkOS seed setup for production-like field tests.
|
|
369
|
+
|
|
370
|
+
- Emit valid YAML for generated `workos-seed.yml` files by skipping the
|
|
371
|
+
JavaScript-style deterministic header on YAML artifacts.
|
|
372
|
+
- Make `forge workos seed --dry-run` the validation-only path and let
|
|
373
|
+
`forge workos seed --file workos-seed.yml --json` delegate to the
|
|
374
|
+
authenticated WorkOS CLI.
|
|
375
|
+
- Treat known WorkOS duplicate-resource seed responses such as permission
|
|
376
|
+
slugs already in use as an already-applied seed instead of a hard failure.
|
|
377
|
+
- Ignore `.workos-seed-state.json` in newly scaffolded apps.
|
|
378
|
+
|
|
379
|
+
## 0.1.0-alpha.37
|
|
380
|
+
|
|
381
|
+
### Patch Changes
|
|
382
|
+
|
|
383
|
+
- Fix `forge deps upgrade-plan` for npm alias installs used by ForgeOS apps.
|
|
384
|
+
|
|
385
|
+
- 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@...`.
|
|
386
|
+
- 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`.
|
|
387
|
+
- Avoid attempting to resolve the unrelated public `forge@alpha` package when an app asks to upgrade its ForgeOS alias dependency.
|
|
388
|
+
- Add regression coverage for aliased package graph entries where the import name and real npm package name differ.
|
|
389
|
+
|
|
390
|
+
## 0.1.0-alpha.36
|
|
391
|
+
|
|
392
|
+
### Patch Changes
|
|
393
|
+
|
|
394
|
+
- Smooth the alpha field-test loop after the Vendor Access app exercise.
|
|
395
|
+
|
|
396
|
+
- 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.
|
|
397
|
+
- Normalize `auth.md` runtime risk rendering so Commands and Risk/Approval metadata agree that commands default to `write`.
|
|
398
|
+
- 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.
|
|
399
|
+
- Update the basic example schema/docs to use `organizations` as the root tenant table instead of a self-referential `tenants` root.
|
|
400
|
+
|
|
401
|
+
## 0.1.0-alpha.35
|
|
402
|
+
|
|
403
|
+
### Patch Changes
|
|
404
|
+
|
|
405
|
+
- Harden field-test regressions found while building WorkOS-style multi-tenant apps.
|
|
406
|
+
|
|
407
|
+
- 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.
|
|
408
|
+
- Allow WorkOS-like local dev auth headers through dev-server CORS, including organization, membership, permissions, roles, and claims headers.
|
|
409
|
+
- Teach the generated agent contract and capability map to recognize camelCase `ctx.db` aliases for snake_case tables.
|
|
410
|
+
- Avoid printing fake `http://127.0.0.1:0` API URLs in `forge dev --port 0` startup diagnostics.
|
|
411
|
+
|
|
412
|
+
## 0.1.0-alpha.34
|
|
8
413
|
|
|
9
|
-
|
|
414
|
+
### Patch Changes
|
|
415
|
+
|
|
416
|
+
- Harden the ForgeOS app-building DX after the Vendor Access field test.
|
|
417
|
+
|
|
418
|
+
- 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.
|
|
419
|
+
- 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.
|
|
420
|
+
- Extend local `devAuth` for React, Vue, generated clients, and runtime auth parsing with WorkOS-like `permissions`, `roles`, `claims`, `organizationId`, and `organizationMembershipId`.
|
|
421
|
+
- Add nullable timestamp schema support through `timestamp?` / `nullable("timestamp")` and teach `forge check` to flag empty timestamp literals in commands, queries, and liveQueries.
|
|
422
|
+
- 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.
|
|
423
|
+
- Add `forge changed --commit-ready` and `forge handoff --commit-ready` so agents can stage exactly authored commit files while excluding generated and operational artifacts.
|
|
424
|
+
- Add `forge test authz` for a cheap generated-contract proof of tenant scope, policy bindings, and capability-map authz coverage.
|
|
425
|
+
- Expose static UI/UX readiness through `forge inspect ui --ergonomics`.
|
|
426
|
+
|
|
427
|
+
## 0.1.0-alpha.33
|
|
428
|
+
|
|
429
|
+
### Patch Changes
|
|
430
|
+
|
|
431
|
+
- Fix the Nuxt template smoke by adding the explicit `vue-tsc` dev dependency
|
|
432
|
+
required by `nuxt typecheck`, so newly scaffolded `nuxt-web` apps can run
|
|
433
|
+
`npm run typecheck` after install without manual package repair.
|
|
434
|
+
|
|
435
|
+
## 0.1.0-alpha.32
|
|
436
|
+
|
|
437
|
+
### Patch Changes
|
|
438
|
+
|
|
439
|
+
- Harden the alpha field-test loop after real Codex, WorkOS, PGlite, and app-server exercises.
|
|
440
|
+
|
|
441
|
+
- 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.
|
|
442
|
+
- Reject schema definitions that try to model `id` as a normal text field so generated SQL cannot silently create the wrong primary-key shape.
|
|
443
|
+
- 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.
|
|
444
|
+
- Improve smoke/generate drift diagnostics and keep `forge handoff` read-only with respect to generated artifacts.
|
|
445
|
+
- 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.
|
|
446
|
+
- 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`.
|
|
447
|
+
- Return structured JSON diagnostics for Delta/PGlite export/open failures instead of leaking raw PGlite stack output, and improve Windows/PGlite repair guidance.
|
|
448
|
+
- 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.
|
|
449
|
+
|
|
450
|
+
## 0.1.0-alpha.31
|
|
451
|
+
|
|
452
|
+
### Patch Changes
|
|
453
|
+
|
|
454
|
+
- Smooth the ForgeOS field-demo DX after the alpha.30 app-server and WorkOS exercises.
|
|
455
|
+
|
|
456
|
+
- 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.
|
|
457
|
+
- 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.
|
|
458
|
+
- 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.
|
|
459
|
+
- 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.
|
|
460
|
+
- 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.
|
|
461
|
+
- 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.
|
|
462
|
+
- 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.
|
|
463
|
+
- Allow `forge new .` / `npm create forgeos-app@alpha .` from an empty current directory, while refusing non-empty directories to avoid overwriting existing apps.
|
|
464
|
+
|
|
465
|
+
## 0.1.0-alpha.30
|
|
466
|
+
|
|
467
|
+
### Patch Changes
|
|
468
|
+
|
|
469
|
+
- Harden the WorkOS/AuthKit adapter and dev telemetry after the alpha.29 field app test.
|
|
470
|
+
|
|
471
|
+
- 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.
|
|
472
|
+
- Keep telemetry best-effort when a database adapter applies `INSERT ... RETURNING` but omits returned rows, preventing telemetry from surfacing as `FORGE_DEV_SERVER_ERROR`.
|
|
473
|
+
- Add regression coverage for generated WorkOS adapter typechecking and telemetry inserts that return no rows.
|
|
474
|
+
|
|
475
|
+
## 0.1.0-alpha.29
|
|
476
|
+
|
|
477
|
+
### Patch Changes
|
|
478
|
+
|
|
479
|
+
- Add the first WorkOS/AuthKit adapter and local auth metadata tooling.
|
|
480
|
+
|
|
481
|
+
- Add `forge add auth workos`, generated WorkOS seed/config/docs, AuthKit routes, webhook handling, JWT/OIDC claim mapping, and permission-derived Forge policies.
|
|
482
|
+
- Add `forge authmd generate` and `forge authmd check`, including `/auth.md` and OAuth protected-resource metadata served by `forge dev`.
|
|
483
|
+
- Add a local WorkOS/FGA testkit, resource-graph helpers, cross-tenant guards, FGA cache/fallback telemetry, and mock multi-tenant regression coverage.
|
|
484
|
+
- Teach Forge auth and policies to understand permission claims alongside roles.
|
|
485
|
+
- Add `forge version --json` as a command alias and capture local helper table reads in the generated agent contract/capability map.
|
|
486
|
+
|
|
487
|
+
## 0.1.0-alpha.28
|
|
488
|
+
|
|
489
|
+
### Patch Changes
|
|
10
490
|
|
|
11
|
-
|
|
491
|
+
- Accept visible Codex hook canaries as sufficient for local editing while reporting native Codex provenance separately through `nativeTrustStatus`.
|
|
492
|
+
|
|
493
|
+
## 0.1.0-alpha.27
|
|
494
|
+
|
|
495
|
+
### Patch Changes
|
|
496
|
+
|
|
497
|
+
- Stabilize `forge add convex` and generated integration artifacts.
|
|
498
|
+
|
|
499
|
+
- Re-emit integration adapters, docs, and testkits from the main generator so `forge generate --check` and `forge verify --smoke` stay clean after `forge add`.
|
|
500
|
+
- Keep partial `forge add` plans from deleting unrelated generated files before the full generator can reconcile the workspace.
|
|
501
|
+
- Include changed package-manager files such as `package.json` and lockfiles in `forge add --json` handoffs.
|
|
502
|
+
- Replace stale fast-check manifest hashes instead of merging them, and invalidate old manifest schemas to avoid phantom generated drift.
|
|
503
|
+
- Skip Bun module mock registration when the active Bun runtime does not expose `Bun.mock.module`, while still applying mock secret env vars.
|
|
504
|
+
- Filter generated and operational filesystem noise from `forge changed --authored` in non-git workspaces.
|
|
505
|
+
- Keep Java build outputs such as `target/`, `.class`, and `.jar` files out of the published npm tarball.
|
|
506
|
+
|
|
507
|
+
## 0.1.0-alpha.26
|
|
508
|
+
|
|
509
|
+
### Patch Changes
|
|
510
|
+
|
|
511
|
+
- Harden the field-demo loop after the Team Onboarding app exercise.
|
|
512
|
+
|
|
513
|
+
- Let `forge changed` and `forge handoff` summarize non-git workspaces with a filesystem inventory instead of reporting zero useful changes.
|
|
514
|
+
- Keep `forge make resource` global by default unless a tenants table exists or `--tenant-scoped` is explicit.
|
|
515
|
+
- Expand capability-map table detection for aliased `ctx.db` usage.
|
|
516
|
+
- Wait through short-lived DeltaDB writer locks before reporting `FORGE_DELTA_BUSY`.
|
|
517
|
+
|
|
518
|
+
## 0.1.0-alpha.25
|
|
519
|
+
|
|
520
|
+
### Patch Changes
|
|
521
|
+
|
|
522
|
+
- Harden DeltaDB and Agent Memory under real `forge dev` concurrency.
|
|
523
|
+
|
|
524
|
+
- Stop long-running dev recorders from holding the DeltaDB writer lock between events.
|
|
525
|
+
- Retry short transient DeltaDB writer conflicts before reporting `FORGE_DELTA_BUSY`.
|
|
526
|
+
- 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.
|
|
527
|
+
- Add watcher backoff metadata for lock recovery and document the safe queue/DeltaDB behavior.
|
|
528
|
+
|
|
529
|
+
- Fix tenant-scope reporting in the generated agent contract and capability map.
|
|
530
|
+
|
|
531
|
+
- Match tenant-scoped tables by both authored/camelCase table names and generated SQL snake_case table names.
|
|
532
|
+
- Report camelCase liveQuery dependencies such as `onboardingTasks` as `tenant` scoped when `tenantScope.json` confirms `tenant_id`.
|
|
533
|
+
- Add regression coverage for the Team Onboarding style liveQuery/capability-map path.
|
|
534
|
+
|
|
535
|
+
## 0.1.0-alpha.24
|
|
536
|
+
|
|
537
|
+
### Patch Changes
|
|
538
|
+
|
|
539
|
+
- Consolidate the public alpha adoption surface and agent-contract positioning.
|
|
540
|
+
|
|
541
|
+
- Add an explicit MIT `LICENSE`, package license metadata, and a private GitHub Security Advisory disclosure path.
|
|
542
|
+
- Add stable-alpha, AI-coding, agent demo, Convex, and agent-eval documentation pages, plus a runner-agnostic eval task scaffold.
|
|
543
|
+
- Fix `forge new --json` so scaffold automation receives structured JSON instead of human next-step text.
|
|
544
|
+
- Add the first `forge add convex` app-contract recipe with runtime placement guardrails, optional Convex environment names, generated docs, and a mock testkit.
|
|
545
|
+
- Expand field-report expectations and package/release tests for license, security disclosure, docs, create-app help, Convex recipes, and JSON scaffold output.
|
|
546
|
+
|
|
547
|
+
## 0.1.0-alpha.23
|
|
548
|
+
|
|
549
|
+
### Patch Changes
|
|
550
|
+
|
|
551
|
+
- Tighten the post-alpha.22 release surface and package evidence.
|
|
552
|
+
|
|
553
|
+
- Add a dedicated Nuxt template smoke workflow that installs `nuxt-web`, runs Forge generation/checks, runs Nuxt typecheck, and probes `forge dev --once`.
|
|
554
|
+
- Include `nuxt-web` in the default field-test template matrix.
|
|
555
|
+
- Add explicit `scopeTarget` metadata and human-readable target output for `forge agent context --change`, `--proof`, and `--handoff`.
|
|
556
|
+
- 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.
|
|
557
|
+
- 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.
|
|
558
|
+
- 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.
|
|
559
|
+
|
|
560
|
+
## 0.1.0-alpha.22
|
|
561
|
+
|
|
562
|
+
### Patch Changes
|
|
12
563
|
|
|
13
|
-
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
564
|
+
- Improve the post-alpha.21 agent workflow without adding new MCP tools.
|
|
565
|
+
|
|
566
|
+
- Add `forge agent context` scopes for entry, change, proof, and handoff context packs.
|
|
567
|
+
- Add DeltaDB verbose health details for queue redaction, operation age, semantic projection state, and overhead posture.
|
|
568
|
+
- Add `forge delta compact`, `forge delta prune`, and redacted `forge delta export` for local Delta maintenance and support bundles.
|
|
569
|
+
- Add `forge doctor delta` for recorder writability, queue drain, redaction, and gitignore checks.
|
|
570
|
+
- Add Semantic Timeline summary data for stale proofs and causal chains.
|
|
571
|
+
- Record CAIR snapshot/query/action activity as Delta timeline events without adding new MCP tools.
|
|
572
|
+
- Add a Studio snapshot handoff block and a dedicated CAIR Protocol documentation page.
|
|
573
|
+
- 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.
|
|
574
|
+
|
|
575
|
+
## 0.1.0-alpha.21
|
|
576
|
+
|
|
577
|
+
### Patch Changes
|
|
578
|
+
|
|
579
|
+
- Harden Codex hook queue privacy and brownfield import classification.
|
|
580
|
+
|
|
581
|
+
- Queue new Codex hook events as redacted payloads instead of storing raw prompts, tool inputs, tool responses, or transcripts in `.forge/agent/events.ndjson`.
|
|
582
|
+
- Compact consumed hook queue history into redacted `.history` lines so old raw queue entries are not copied forward during drain retention.
|
|
583
|
+
- 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.
|
|
584
|
+
- 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.
|
|
585
|
+
- Sync the public docs changelog/CLI reference and clarify the alpha/latest npm dist-tag policy.
|
|
586
|
+
|
|
587
|
+
## 0.1.0-alpha.20
|
|
588
|
+
|
|
589
|
+
### Patch Changes
|
|
590
|
+
|
|
591
|
+
- Fix generated-change diagnostics, Codex hook queue handling, and external stdio command parsing.
|
|
592
|
+
|
|
593
|
+
- Classify generated `AGENTS.md` blocks and `.forge/agent/context.json` as derived artifacts in `forge changed`/`forge status`.
|
|
594
|
+
- Skip probe, invalid, and out-of-workspace queued hook events during Agent Memory drain, and bound queue inspection for large hook queues.
|
|
595
|
+
- Preserve empty stdio command arguments, diagnose malformed command strings, and support structured `service.commandArgs` in external manifests.
|
|
596
|
+
- Include the basic example client demo in typecheck coverage.
|
|
597
|
+
|
|
598
|
+
## 0.1.0-alpha.19
|
|
599
|
+
|
|
600
|
+
Alpha hardening:
|
|
601
|
+
|
|
602
|
+
- Added the `agent-workroom` app template for Forge Studio style demos: external
|
|
603
|
+
agents edit the app, while ForgeOS shows preview URL, agent signals, check
|
|
604
|
+
runs, and handoff evidence through generated commands and liveQuery bindings.
|
|
605
|
+
- 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.
|
|
606
|
+
- 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.
|
|
607
|
+
- 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.
|
|
608
|
+
- `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.
|
|
609
|
+
- Improved `forge check --json` next actions by surfacing diagnostic-specific repair/inspect commands instead of a generic last-test-run repair hint.
|
|
610
|
+
- Added `forge doctor agent --target <agent>` as the top-level agent readiness check.
|
|
611
|
+
- Added explicit `forge agent ingest <source> --watch --file <events.ndjson>` support for opt-in hook/export file ingestion.
|
|
612
|
+
- Added human-friendly verifier aliases: `forge verify quick`, `forge verify agent`, and `forge verify release`.
|
|
613
|
+
- Made `forge status --human` an explicit accepted spelling and documented `forge add <npm-package> --workspace web` as the normal package-add path.
|
|
614
|
+
- Made bare `forge inspect` default to the compact `summary` target instead of returning a usage error.
|
|
615
|
+
- 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.
|
|
616
|
+
- 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.
|
|
617
|
+
- Expanded `forge docs check` with YAML shape checks, internal Markdown link validation, optional ReadTheDocs-style venv installation, and strict MkDocs build execution.
|
|
618
|
+
- Added authored-only review paths through `forge changed --authored` and `forge diff authored`, keeping generated artifacts collapsed unless explicitly requested.
|
|
619
|
+
- Added `forge delta status --verbose --json` for schema, lock, path, and aggregate-count diagnostics without expanding the default status payload.
|
|
620
|
+
- 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.
|
|
621
|
+
|
|
622
|
+
## 0.1.0-alpha.18
|
|
623
|
+
|
|
624
|
+
Codex hook memory hardening:
|
|
625
|
+
|
|
626
|
+
- 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.
|
|
627
|
+
- 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.
|
|
628
|
+
- Updated the Codex hook installer with hook timeouts and status messages, and added a local wrapper so repo hooks can use the checkout implementation.
|
|
629
|
+
- Documented the safe Codex hook metadata surface and added regression coverage for real hook payload shapes.
|
|
630
|
+
|
|
631
|
+
## 0.1.0-alpha.17
|
|
632
|
+
|
|
633
|
+
External runtime timeline metadata:
|
|
634
|
+
|
|
635
|
+
- Enriched DeltaDB runtime call recording for imported Go/Java/external services by reading generated `externalServices.json` metadata during `forge run` and `forge query`.
|
|
636
|
+
- `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.
|
|
637
|
+
- Added a DeltaDB schema migration for `runtime_calls.needs_approval` and bumped the local DeltaDB schema to `0.3.1`.
|
|
638
|
+
- Added regression coverage for the real CLI recorder path so manifest-imported external commands keep semantic metadata in timelines.
|
|
639
|
+
- Promotes this release on npm as both `alpha` and `latest`.
|
|
640
|
+
|
|
641
|
+
## 0.1.0-alpha.16
|
|
642
|
+
|
|
643
|
+
Stability alignment:
|
|
644
|
+
|
|
645
|
+
- 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.
|
|
646
|
+
- Summarized generated artifact batches in the Semantic Timeline with count, hash, sample, and omitted count instead of embedding every artifact in timeline event data.
|
|
647
|
+
- 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/...`.
|
|
648
|
+
- 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.
|
|
649
|
+
- Verified the release against a public GitHub `main` smoke app using `generate`, `check`, `delta status`, `timeline`, `explain`, `import analyze`, and `inspect imported`.
|
|
650
|
+
|
|
651
|
+
## 0.1.0-alpha.15
|
|
652
|
+
|
|
653
|
+
Brownfield import analysis:
|
|
654
|
+
|
|
655
|
+
- Added H49 `forge import analyze` and `forge import inspect` for static brownfield TypeScript/JavaScript app inventory.
|
|
656
|
+
- 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.
|
|
657
|
+
- Writes `.forge/import` artifacts including inventory, routes, frontend calls, candidate entries, risk report, migration plan, and imported agent contract.
|
|
658
|
+
- 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.
|
|
659
|
+
- Added `forge inspect imported --json` plus focused H49 CLI and scanner coverage.
|
|
660
|
+
|
|
661
|
+
## 0.1.0-alpha.14
|
|
662
|
+
|
|
663
|
+
Java and Nuxt/Vue support:
|
|
664
|
+
|
|
665
|
+
- Added the Java external runtime adapter with a lightweight JDK HTTP bridge, manifest export, typed handlers, tenant/auth context, diagnostics, and command/query registration.
|
|
666
|
+
- Added a Spring Boot starter for Java services that want annotation-based Forge command/query exposure.
|
|
667
|
+
- Added the `java-billing` conformance example and packaged it with the public alpha line.
|
|
668
|
+
- Added generated Vue bindings and a `forgeos/vue` export with `provideForge`, `ForgeVuePlugin`, `useForgeQuery`, `useForgeCommand`, and `useForgeLiveQuery`.
|
|
669
|
+
- Added Nuxt UI scaffolding through `forge make ui --framework nuxt`, including plugin wiring, composable bridge files, and frontend graph detection for `.vue` routes/components.
|
|
670
|
+
- Updated docs, agent adapter guidance, generated manifests, and focused Java/Vue/Nuxt tests.
|
|
671
|
+
- Kept H44-H48 memory, sessions, timeline, grouping, and MCP surfaces intact while merging the Java/Nuxt work into `main`.
|
|
672
|
+
|
|
673
|
+
## 0.1.0-alpha.13
|
|
674
|
+
|
|
675
|
+
Agent Memory Bridge:
|
|
676
|
+
|
|
677
|
+
- Added the H48 Agent Memory Bridge alpha with redacted external agent event ingestion and normalized `forge.agent-event.v1` envelopes.
|
|
678
|
+
- 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.
|
|
679
|
+
- Added `forge mcp serve` with context, memory, timeline, and inspect tools for external agents.
|
|
680
|
+
- Added `forge agent install`, `forge agent ingest`, `forge agent context`, and `forge agent memory` commands.
|
|
681
|
+
- Persisted external agent activity in DeltaDB and linked agent/tool/file events into the semantic timeline.
|
|
682
|
+
- Added focused privacy, ingest, MCP, installer, and CLI parse coverage for the H48 bridge.
|
|
683
|
+
|
|
684
|
+
## 0.1.0-alpha.12
|
|
685
|
+
|
|
686
|
+
Semantic Timeline:
|
|
687
|
+
|
|
688
|
+
- Added the H47 Semantic Timeline projection for DeltaDB with rebuildable timeline events, entity indexes, causal edges, and projection state.
|
|
689
|
+
- 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.
|
|
690
|
+
- Added proof staleness detection and causal links for denial -> policy repair -> successful execution flows.
|
|
691
|
+
- Updated `forge explain` to include semantic timeline context and current-state summaries when available.
|
|
692
|
+
- Documented the timeline projection/rebuild model and added focused DeltaDB coverage for runtime, policy, diagnostic, proof, and deterministic rebuild scenarios.
|
|
693
|
+
|
|
694
|
+
## 0.1.0-alpha.11
|
|
695
|
+
|
|
696
|
+
Strict verify performance:
|
|
697
|
+
|
|
698
|
+
- Reduced the validated `forge verify --strict` wall time from roughly 358-454s to about 116s on the current Windows test machine.
|
|
699
|
+
- Added stable repo-local `tsx` CLI caching under `node_modules/.cache/forge-tsx-cli` so spawned CLI tests reuse the warm compiler path.
|
|
700
|
+
- Balanced TestGraph strict execution across shared and isolated lanes, bringing the slowest files down from roughly 50s to under 10s in the updated profile.
|
|
701
|
+
- Moved heavy refactor/impact/external runtime suites onto faster shared paths where safe and kept isolation for process-sensitive tests.
|
|
702
|
+
- Documented and guarded the cache behavior so future test helpers preserve the speedup without checking cache contents into git.
|
|
703
|
+
- Added guarded alpha release workflow support for promoting the public `latest` dist-tag when npm token auth is configured.
|
|
704
|
+
|
|
705
|
+
## 0.1.0-alpha.10
|
|
706
|
+
|
|
707
|
+
Launch polish:
|
|
708
|
+
|
|
709
|
+
- Fixed `forge run <external-command> --args ...` so CLI arguments reach the external runtime bridge.
|
|
710
|
+
- Added direct external query CLI support through `forge query <service.query> --args ...`.
|
|
711
|
+
- Emit generated `.json` artifacts as pure JSON while keeping deterministic headers on code/text artifacts.
|
|
712
|
+
- Relaxed the `minimal-web` template verify script to `forge verify --smoke` and added the missing `check` script to `b2b-support-web`.
|
|
713
|
+
- Updated public protocol/changelog docs for the external runtime and Go adapter alpha line.
|
|
714
|
+
- Bumped the create-app wrapper package line to `create-forgeos-app@0.1.0-alpha.4`.
|
|
715
|
+
|
|
716
|
+
## 0.1.0-alpha.9
|
|
717
|
+
|
|
718
|
+
### Patch Changes
|
|
719
|
+
|
|
720
|
+
- Added the Forge external runtime protocol bridge for manifest-backed commands and queries.
|
|
721
|
+
- Added the Go adapter MVP with a real `go-billing` conformance example.
|
|
722
|
+
- Emitted external service metadata into inspect/API/agent artifacts, including `needsApproval` for agent tools.
|
|
723
|
+
- Reuse compiler classifier package signals across export classification, dropping repeated package signal scans.
|
|
724
|
+
- Reuse serialized graph JSON when rendering the largest generated TypeScript graph artifacts.
|
|
725
|
+
- Keep generated Forge artifacts aligned with the `0.1.0-alpha.9` compiler/runtime version.
|
|
726
|
+
|
|
727
|
+
## 0.1.0-alpha.8
|
|
728
|
+
|
|
729
|
+
### Patch Changes
|
|
730
|
+
|
|
731
|
+
- [`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.
|
|
732
|
+
|
|
733
|
+
## 0.1.0-alpha.7
|
|
734
|
+
|
|
735
|
+
### Patch Changes
|
|
736
|
+
|
|
737
|
+
- [`4ace311`](https://github.com/Stahldavid/forge/commit/4ace3113e3298b5c306000870922fcfbae9c1861) Thanks [@Stahldavid](https://github.com/Stahldavid)! - Keep npm prerelease publishing on the public alpha dist-tag.
|
|
738
|
+
|
|
739
|
+
## 0.1.0-alpha.6
|
|
740
|
+
|
|
741
|
+
### Patch Changes
|
|
742
|
+
|
|
743
|
+
- [`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.
|
|
17
744
|
|
|
18
745
|
## 0.1.0-alpha.5
|
|
19
746
|
|