forgeos 0.1.0-alpha.7 → 0.1.0-alpha.71
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/.agents/skills/forge-agent-fabric/SKILL.md +178 -0
- package/.agents/skills/forge-agent-fabric/references/managed-workflows.md +95 -0
- package/.agents/skills/forge-agent-fabric/references/repository-analysis.md +102 -0
- package/.agents/skills/forge-agent-fabric/scripts/fabric.mjs +46 -0
- package/.agents/skills/forge-agent-fabric/scripts/repository.mjs +44 -0
- package/.npmignore +10 -0
- package/AGENTS.md +142 -90
- package/CHANGELOG.md +870 -9
- package/LICENSE +21 -0
- package/README.md +121 -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 +47 -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 +49 -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/agent-fabric-programs.md +151 -0
- package/docs/agent-fabric.md +582 -0
- package/docs/architecture/agent-fabric/PORTABLE_PROJECTS_PLAN.md +136 -0
- package/docs/architecture/agent-fabric/README.md +180 -0
- package/docs/architecture/agent-fabric/REPOSITORY_MANIFEST_PLAN.md +284 -0
- package/docs/architecture/agent-fabric/WORKFLOW_PROGRAM_V2_ADR.md +81 -0
- package/docs/architecture/agent-fabric/WORKFLOW_PROGRAM_V2_CORRECTIONS.md +39 -0
- package/docs/architecture/agent-fabric/WORKFLOW_PROGRAM_V2_CORRECTIONS_EVIDENCE.md +53 -0
- package/docs/architecture/agent-fabric/WORKFLOW_PROGRAM_V2_EVIDENCE.md +49 -0
- package/docs/architecture/agent-fabric/WORKFLOW_PROGRAM_V2_PLAN.md +590 -0
- package/docs/cair-protocol.md +103 -0
- package/docs/changelog.md +1070 -0
- package/docs/forge-protocol.md +189 -0
- package/docs/repository-agent-benchmark.md +179 -0
- package/docs/repository-analysis.md +139 -0
- package/docs/repository-context-quality.md +179 -0
- package/docs/repository-runtime-observation.md +82 -0
- package/examples/agent-fabric-v2/README.md +70 -0
- package/examples/agent-fabric-v2/item-child.workflow.ts +11 -0
- package/examples/agent-fabric-v2/make-request.mjs +4 -0
- package/examples/agent-fabric-v2/map-child.workflow.ts +10 -0
- package/examples/agent-fabric-v2/migrate.workflow.ts +35 -0
- package/examples/agent-fabric-v2/registry.example.json +256 -0
- package/examples/agent-fabric-v2/run-ui-fixture.ts +48 -0
- package/examples/agent-fabric-v2/ui-audit.workflow.ts +28 -0
- package/examples/agent-fabric-v2/ui-fixture-worker.cjs +36 -0
- package/examples/agent-fabric-v2/visual-population.json +13 -0
- package/examples/agent-fabric-v2/workers/check.mjs +2 -0
- package/examples/agent-fabric-v2/workers/common.mjs +7 -0
- package/examples/agent-fabric-v2/workers/discover.mjs +2 -0
- package/examples/agent-fabric-v2/workers/migrate.mjs +4 -0
- package/examples/agent-fabric-v2/workers/review.mjs +3 -0
- package/examples/go-billing/go.mod +7 -0
- package/examples/go-billing/main.go +120 -0
- package/examples/java-billing/pom.xml +60 -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 +60 -5
- package/schemas/agent-fabric/v0.1/control-event.schema.json +281 -0
- package/schemas/forge-manifest.schema.json +389 -0
- package/scripts/field-test-forgeos.mjs +1021 -0
- package/scripts/install-agent-fabric-skill.mjs +105 -0
- package/src/forge/_generated/releaseManifest.json +1 -2
- package/src/forge/_generated/releaseManifest.ts +3 -3
- package/src/forge/agent-adapters/index.ts +1592 -125
- package/src/forge/agent-adapters/types.ts +225 -1
- package/src/forge/agent-fabric/adapter.ts +131 -0
- package/src/forge/agent-fabric/attached-snapshot.ts +55 -0
- package/src/forge/agent-fabric/attached-task-contract.ts +105 -0
- package/src/forge/agent-fabric/attached-task-service.ts +127 -0
- package/src/forge/agent-fabric/attached-task-store.ts +109 -0
- package/src/forge/agent-fabric/authority.ts +298 -0
- package/src/forge/agent-fabric/canonical.ts +135 -0
- package/src/forge/agent-fabric/codex-adversarial-review.ts +229 -0
- package/src/forge/agent-fabric/codex-sdk-worker.ts +203 -0
- package/src/forge/agent-fabric/conductor.ts +754 -0
- package/src/forge/agent-fabric/dictionary.ts +12 -0
- package/src/forge/agent-fabric/errors.ts +32 -0
- package/src/forge/agent-fabric/hardened-conductor.ts +485 -0
- package/src/forge/agent-fabric/hardened-reducer.ts +211 -0
- package/src/forge/agent-fabric/index.ts +48 -0
- package/src/forge/agent-fabric/journal.ts +116 -0
- package/src/forge/agent-fabric/local-adaptive-digest-worker.mjs +26 -0
- package/src/forge/agent-fabric/local-adaptive-harness.ts +343 -0
- package/src/forge/agent-fabric/local-adaptive-service.ts +398 -0
- package/src/forge/agent-fabric/local-adaptive-worker.ts +146 -0
- package/src/forge/agent-fabric/local-approval-window.ts +211 -0
- package/src/forge/agent-fabric/local-change-review-service.ts +374 -0
- package/src/forge/agent-fabric/local-coding-worker.ts +285 -0
- package/src/forge/agent-fabric/local-control-store.ts +239 -0
- package/src/forge/agent-fabric/local-effect-broker.ts +348 -0
- package/src/forge/agent-fabric/local-evolution-approval.ts +81 -0
- package/src/forge/agent-fabric/local-evolution-profile.ts +87 -0
- package/src/forge/agent-fabric/local-evolution-registry.ts +427 -0
- package/src/forge/agent-fabric/local-evolution-service.ts +200 -0
- package/src/forge/agent-fabric/local-intelligence.ts +281 -0
- package/src/forge/agent-fabric/local-paths.ts +18 -0
- package/src/forge/agent-fabric/local-task-contract.ts +203 -0
- package/src/forge/agent-fabric/local-task-inbox.ts +543 -0
- package/src/forge/agent-fabric/local-task-server.ts +374 -0
- package/src/forge/agent-fabric/local-task-service.ts +982 -0
- package/src/forge/agent-fabric/local-verification.ts +551 -0
- package/src/forge/agent-fabric/managed-environment.ts +205 -0
- package/src/forge/agent-fabric/managed-run-contract.ts +103 -0
- package/src/forge/agent-fabric/managed-run-service.ts +401 -0
- package/src/forge/agent-fabric/managed-run-store.ts +165 -0
- package/src/forge/agent-fabric/managed-workspace.ts +253 -0
- package/src/forge/agent-fabric/p0a.ts +104 -0
- package/src/forge/agent-fabric/p0b-model-adapter.ts +434 -0
- package/src/forge/agent-fabric/planning.ts +155 -0
- package/src/forge/agent-fabric/program-api.ts +37 -0
- package/src/forge/agent-fabric/program-contract.ts +283 -0
- package/src/forge/agent-fabric/program-dsl.ts +126 -0
- package/src/forge/agent-fabric/program-evidence.ts +22 -0
- package/src/forge/agent-fabric/program-image.ts +15 -0
- package/src/forge/agent-fabric/program-lock.ts +50 -0
- package/src/forge/agent-fabric/program-owner.ts +16 -0
- package/src/forge/agent-fabric/program-scheduler.ts +38 -0
- package/src/forge/agent-fabric/program-service.ts +793 -0
- package/src/forge/agent-fabric/program-store.ts +142 -0
- package/src/forge/agent-fabric/program-structure.ts +65 -0
- package/src/forge/agent-fabric/program-types.ts +110 -0
- package/src/forge/agent-fabric/program-view.ts +12 -0
- package/src/forge/agent-fabric/program-worker.ts +108 -0
- package/src/forge/agent-fabric/project-profile.ts +50 -0
- package/src/forge/agent-fabric/project-registry.ts +120 -0
- package/src/forge/agent-fabric/project-runtime.ts +85 -0
- package/src/forge/agent-fabric/readiness.ts +26 -0
- package/src/forge/agent-fabric/reducer.ts +863 -0
- package/src/forge/agent-fabric/repository-context.ts +83 -0
- package/src/forge/agent-fabric/resource-ledger.ts +266 -0
- package/src/forge/agent-fabric/serialized-local-adapter.ts +60 -0
- package/src/forge/agent-fabric/types.ts +424 -0
- package/src/forge/agent-fabric/validation.ts +500 -0
- package/src/forge/agent-fabric/workflow-engine.ts +218 -0
- package/src/forge/agent-fabric/workflow-task-actions.ts +104 -0
- package/src/forge/agent-fabric/workflow-templates.ts +11 -0
- package/src/forge/agent-memory/bridge.ts +1728 -0
- package/src/forge/agent-memory/context-pack.ts +284 -0
- package/src/forge/agent-memory/hook-runner.ts +331 -0
- package/src/forge/agent-memory/mcp.ts +597 -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 +343 -0
- package/src/forge/agent-memory/sources/codex.ts +161 -0
- package/src/forge/agent-memory/sources/cursor.ts +35 -0
- package/src/forge/agent-memory/types.ts +215 -0
- package/src/forge/bench.ts +248 -0
- package/src/forge/brownfield-import/index.ts +896 -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 +118 -0
- package/src/forge/cair/query.ts +478 -0
- package/src/forge/cair/snapshot.ts +315 -0
- package/src/forge/cair/types.ts +255 -0
- package/src/forge/cli/adaptive.ts +51 -0
- package/src/forge/cli/ai.ts +16 -1
- package/src/forge/cli/auth.ts +459 -15
- 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 +418 -0
- package/src/forge/cli/codex-app-server.ts +877 -0
- package/src/forge/cli/commands.ts +1859 -20
- package/src/forge/cli/db.ts +209 -2
- package/src/forge/cli/deploy.ts +1339 -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/env-placeholders.ts +62 -0
- package/src/forge/cli/evolution.ts +40 -0
- package/src/forge/cli/fabric.ts +253 -0
- package/src/forge/cli/field-test.ts +568 -0
- package/src/forge/cli/golden-path.ts +487 -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 +196 -3
- package/src/forge/cli/new.ts +169 -17
- package/src/forge/cli/next-actions.ts +23 -0
- package/src/forge/cli/output.ts +398 -6
- package/src/forge/cli/parse.ts +1377 -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/repository.ts +151 -0
- package/src/forge/cli/run.ts +42 -0
- package/src/forge/cli/secrets.ts +137 -1
- package/src/forge/cli/seed.ts +581 -0
- package/src/forge/cli/self-host.ts +56 -14
- package/src/forge/cli/studio.ts +2282 -0
- package/src/forge/cli/verify.ts +1458 -32
- package/src/forge/cli/windows.ts +23 -0
- package/src/forge/cli/workos.ts +3509 -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/tsconfig-hash.ts +41 -4
- 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 +217 -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-graph/dts-extractor.ts +14 -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/broker-runner.mjs +5 -0
- package/src/forge/delta/broker.ts +429 -0
- package/src/forge/delta/classifier.ts +52 -0
- package/src/forge/delta/explain.ts +238 -0
- package/src/forge/delta/git-observer.ts +67 -0
- package/src/forge/delta/ids.ts +44 -0
- package/src/forge/delta/index.ts +25 -0
- package/src/forge/delta/process-identity.ts +37 -0
- package/src/forge/delta/queue-status.ts +190 -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 +1139 -0
- package/src/forge/delta/store.ts +3329 -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 +285 -33
- package/src/forge/dev-console/types.ts +47 -1
- package/src/forge/impact/index.ts +222 -30
- 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/repository-analysis/adapters/common.ts +72 -0
- package/src/forge/repository-analysis/adapters/docker.ts +185 -0
- package/src/forge/repository-analysis/adapters/java.ts +133 -0
- package/src/forge/repository-analysis/adapters/typescript.ts +350 -0
- package/src/forge/repository-analysis/adapters/vue.ts +71 -0
- package/src/forge/repository-analysis/analyze.ts +434 -0
- package/src/forge/repository-analysis/benchmark.ts +336 -0
- package/src/forge/repository-analysis/cache-gc.ts +154 -0
- package/src/forge/repository-analysis/check-selection.ts +123 -0
- package/src/forge/repository-analysis/context-node.ts +17 -0
- package/src/forge/repository-analysis/context.ts +456 -0
- package/src/forge/repository-analysis/http-resolution.ts +135 -0
- package/src/forge/repository-analysis/identity.ts +45 -0
- package/src/forge/repository-analysis/index.ts +18 -0
- package/src/forge/repository-analysis/nuxt-resolution.ts +188 -0
- package/src/forge/repository-analysis/quality.ts +60 -0
- package/src/forge/repository-analysis/retrieval.ts +309 -0
- package/src/forge/repository-analysis/runtime-artifacts.ts +195 -0
- package/src/forge/repository-analysis/runtime-observation.ts +325 -0
- package/src/forge/repository-analysis/scanner.ts +174 -0
- package/src/forge/repository-analysis/storage.ts +193 -0
- package/src/forge/repository-analysis/test-associations.ts +59 -0
- package/src/forge/repository-analysis/types.ts +99 -0
- package/src/forge/repository-manifest/index.ts +178 -0
- package/src/forge/repository-manifest/types.ts +63 -0
- package/src/forge/review/index.ts +162 -12
- package/src/forge/review/types.ts +15 -0
- package/src/forge/runtime/ai/providers.ts +19 -4
- 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 +285 -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 +292 -0
- package/src/forge/workspace/forge-cli.ts +42 -0
- package/src/forge/workspace/git-summary.ts +393 -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 +34 -0
- package/templates/agent-workroom/pnpm-workspace.yaml +2 -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 +2 -0
- package/templates/b2b-support-web/pnpm-workspace.yaml +2 -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/b2b-support-web/web/package.json +1 -1
- package/templates/minimal-web/package.json +2 -1
- package/templates/minimal-web/pnpm-workspace.yaml +2 -0
- 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/.yarnrc.yml +1 -0
- package/templates/nuxt-web/README.md +30 -0
- package/templates/nuxt-web/forge.config.ts +3 -0
- package/templates/nuxt-web/package.json +37 -0
- package/templates/nuxt-web/pnpm-workspace.yaml +2 -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 +22 -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 +35 -0
- package/templates/vendor-access/pnpm-workspace.yaml +2 -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
|
@@ -0,0 +1,1070 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Release history for the `forgeos` npm package.
|
|
4
|
+
|
|
5
|
+
The canonical source file in the repository is `CHANGELOG.md`.
|
|
6
|
+
|
|
7
|
+
## Unreleased
|
|
8
|
+
|
|
9
|
+
- Explicit repository runtime plans, isolated-copy command execution and bounded Nuxt,
|
|
10
|
+
Spring, Docker and HTTP artifact context, with current-source/manifest/scenario binding
|
|
11
|
+
and expiration. CLI and MCP share execution opt-in; prepared Fabric workers consume
|
|
12
|
+
matching saved observations without starting exporters.
|
|
13
|
+
|
|
14
|
+
- Lazy large-map hydration, compatible streaming fingerprints, automatic retained
|
|
15
|
+
cache cleanup and source-bound paired agent benchmark planning/reporting. The
|
|
16
|
+
benchmark evaluates supplied evidence without implicit model/check execution.
|
|
17
|
+
|
|
18
|
+
- Deterministic scoped repository retrieval, precise case-level test associations,
|
|
19
|
+
static Nuxt/HTTP resolution, declared client mappings and informative check requirements.
|
|
20
|
+
- Validated partitions for large maps and root-neutral facts, prepared-clone parse
|
|
21
|
+
reuse and the read-only `repository quality --cases` benchmark. Static quality remains
|
|
22
|
+
partial; suggested checks and models are not executed by analysis.
|
|
23
|
+
|
|
24
|
+
## 0.1.0-alpha.69
|
|
25
|
+
|
|
26
|
+
- Repository manifests and static maps for existing TypeScript/JavaScript, Vue/Nuxt,
|
|
27
|
+
Java/Spring/Maven/Gradle and Docker/Compose projects without adopting the Forge runtime.
|
|
28
|
+
- Snapshot-bound CAIR queries, incremental parsing, bounded project-routed MCP context
|
|
29
|
+
and validated cache identity/source provenance.
|
|
30
|
+
- Agent Fabric workers receive the map of their own prepared clone; the shared personal
|
|
31
|
+
skill also supports analysis in projects without Git.
|
|
32
|
+
- Static local TypeScript configuration inheritance, Vue conditional branches and
|
|
33
|
+
multiline Dockerfile instructions; ambiguous and dynamic behavior remains explicit.
|
|
34
|
+
- Local release staging preserves npm exclusions; the installed-package smoke checks
|
|
35
|
+
external Vue + Spring + Compose maps in addition to the application quickstart.
|
|
36
|
+
- Patched transitive dependency resolutions for provider utilities, PostCSS, Nano ID
|
|
37
|
+
and URI parsing remove the advisories reported by the checked-in lockfile audit.
|
|
38
|
+
|
|
39
|
+
## 0.1.0-alpha.63
|
|
40
|
+
|
|
41
|
+
- `forge status` now verifies generated output deterministically instead of
|
|
42
|
+
inferring freshness from Git state, preventing committed stale artifacts from
|
|
43
|
+
appearing ready while `forge handoff` rejects them.
|
|
44
|
+
- Brownfield import now understands Java/Spring Boot projects: Maven dependency
|
|
45
|
+
inventory, Spring MVC mappings, Java handler scoping, path variables, and
|
|
46
|
+
`System.getenv(...)` usage.
|
|
47
|
+
- Imported Spring operations retain the same conservative review and agent
|
|
48
|
+
visibility defaults as TypeScript/JavaScript candidates.
|
|
49
|
+
- Java adapter builds now pin a release-aware Maven compiler plugin, and example
|
|
50
|
+
fixture setup safely replaces generated package directories in shared
|
|
51
|
+
workspaces.
|
|
52
|
+
|
|
53
|
+
## 0.1.0-alpha.61
|
|
54
|
+
|
|
55
|
+
- Added `forge golden-path plan/status` as the canonical
|
|
56
|
+
create -> WorkOS auth -> field-test -> Docker deploy production path for
|
|
57
|
+
agents and users.
|
|
58
|
+
- `forge golden-path plan/status` now accepts `--forge-spec`, so maintainers can
|
|
59
|
+
run the same P0 path against `npm:forgeos@alpha`, a packed tarball, or a local
|
|
60
|
+
checkout before publishing.
|
|
61
|
+
- `forge golden-path status --real --production --json` now wraps WorkOS
|
|
62
|
+
posture, field-test evidence, and deploy readiness into one answer with the
|
|
63
|
+
current stage, blockers, and next command.
|
|
64
|
+
- `forge golden-path plan/status` now accepts `--client-id client_...`, so
|
|
65
|
+
agents that already know the AuthKit client id get exact WorkOS env/proof
|
|
66
|
+
commands instead of placeholder next actions.
|
|
67
|
+
- `forge golden-path status` now includes the first blocking stage in
|
|
68
|
+
`summary.blockers` (for example `workos-real-seed` or `workos-doctor`) before
|
|
69
|
+
lower-level deploy readiness blockers, so agents do not have to infer the
|
|
70
|
+
real next action.
|
|
71
|
+
- Added `forge auth prove --provider workos --real --client-id client_...
|
|
72
|
+
--file workos-seed.yml --json` as the provider-aware auth proof wrapper
|
|
73
|
+
around hosted WorkOS setup, seed evidence, public AuthKit env preparation, and
|
|
74
|
+
CLI login instructions.
|
|
75
|
+
- `forge auth prove --provider workos --real --client-id ...` now reads the
|
|
76
|
+
`.env.local` values it just prepared, so a successful real WorkOS proof reports
|
|
77
|
+
`mode: "oidc"`/`productionReady: true` instead of falling back to local
|
|
78
|
+
`dev-headers` in the same process.
|
|
79
|
+
- Added `forge workos env --client-id client_... --write --json` to prepare `.env.local` and
|
|
80
|
+
`web/.env.local` for real WorkOS/AuthKit proof, including audience/JWKS values
|
|
81
|
+
when `WORKOS_CLIENT_ID` is supplied and an explicit next action when the CLI
|
|
82
|
+
reports a client id exists but cannot expose the value.
|
|
83
|
+
- `forge golden-path plan/status --real` now includes the WorkOS env preparation
|
|
84
|
+
gate before hosted setup/seed proof, so agents fix missing client/JWKS envs
|
|
85
|
+
before retrying AuthKit login or deploy readiness.
|
|
86
|
+
- In `--real` mode, `forge golden-path status` now treats missing or stale
|
|
87
|
+
`.workos-seed-state.json` evidence as an auth-stage blocker and points agents
|
|
88
|
+
to `forge auth prove --provider workos --real --file workos-seed.yml --json`
|
|
89
|
+
after env is ready, or the `--client-id client_...` form when agents need the
|
|
90
|
+
proof command to prepare WorkOS env in the same step.
|
|
91
|
+
- `forge golden-path status` now returns compact field-test/deploy summaries
|
|
92
|
+
instead of embedding full command stdout, keeping the JSON safe for agents to
|
|
93
|
+
parse after realistic field-test runs.
|
|
94
|
+
- `forge deploy plan` and generated Docker production README output now point
|
|
95
|
+
back to `forge golden-path status --real --production --json` as the first
|
|
96
|
+
app-to-production triage command.
|
|
97
|
+
- `forge deploy readiness/check` now prioritizes the deploy env action that
|
|
98
|
+
actually unblocks production, such as copying
|
|
99
|
+
`deploy/.env.production.example` to `deploy/.env.production` before rerunning
|
|
100
|
+
auth diagnostics.
|
|
101
|
+
- `forge env doctor --target production` and `forge deploy check --production`
|
|
102
|
+
now reject known placeholder/dummy production env values without printing the
|
|
103
|
+
secret value, preventing copied examples like `client_test_local` or
|
|
104
|
+
`sk_test_dummy_do_not_use` from being treated as deploy-ready evidence.
|
|
105
|
+
- Docs now surface the WorkOS real + Docker deploy golden path from the CLI,
|
|
106
|
+
golden-path, field-testing, production-readiness pages, and README.
|
|
107
|
+
- Added a redacted WorkOS real vendor-access field report documenting hosted
|
|
108
|
+
setup, idempotent seed, AuthKit session bridge, tenant normalization,
|
|
109
|
+
policy denial, field-test evidence, and production deploy blockers.
|
|
110
|
+
|
|
111
|
+
## 0.1.0-alpha.60
|
|
112
|
+
|
|
113
|
+
- Fixed the real WorkOS/AuthKit session bridge so generated React apps pass
|
|
114
|
+
normalized `/session` claims into `ForgeProvider` auth for commands, queries,
|
|
115
|
+
and liveQueries.
|
|
116
|
+
- Added optional WorkOS organization-to-Forge tenant mapping env support for
|
|
117
|
+
apps that use internal UUID tenant ids while WorkOS emits hosted `org_...`
|
|
118
|
+
organization ids.
|
|
119
|
+
- WorkOS dev sessions now derive permissions from active Forge policies when
|
|
120
|
+
AuthKit returns a role without permission claims, then normalize WorkOS
|
|
121
|
+
organization ids before cookie-backed runtime calls touch tenant-scoped data.
|
|
122
|
+
- `forge workos doctor` now validates that generated browser bridges pass
|
|
123
|
+
WorkOS claims into Forge auth instead of only exposing a UI session.
|
|
124
|
+
|
|
125
|
+
## 0.1.0-alpha.58
|
|
126
|
+
|
|
127
|
+
- Fixed generated WorkOS AuthKit route helper TypeScript output by reading
|
|
128
|
+
provider-specific organization, membership, role, roles, and permissions
|
|
129
|
+
fields through a narrowed raw result record instead of undeclared SDK response
|
|
130
|
+
properties.
|
|
131
|
+
- WorkOS/AuthKit apps can keep callback claim enrichment for organization
|
|
132
|
+
selection and Forge-normalized session claims without failing `tsc --noEmit`
|
|
133
|
+
on generated files.
|
|
134
|
+
|
|
135
|
+
## 0.1.0-alpha.57
|
|
136
|
+
|
|
137
|
+
- Fixed the WorkOS/AuthKit login path used by local and tunneled development:
|
|
138
|
+
Forge-owned authorization URLs now include `response_type=code` and no longer
|
|
139
|
+
send a default `organization_id` unless explicitly requested.
|
|
140
|
+
- The WorkOS callback now resolves organization and membership claims when
|
|
141
|
+
AuthKit returns only the user/token, then exposes Forge-normalized session
|
|
142
|
+
claims through `/session`.
|
|
143
|
+
- Added `forge dev --public-api-url` so browser-facing API URLs can be injected
|
|
144
|
+
cleanly for SSH tunnels, Docker Desktop, and remote dev hosts.
|
|
145
|
+
- The generated WorkOS React bridge now uses backend-owned `/login`, `/session`,
|
|
146
|
+
and `/logout` routes through same-origin/proxy-aware URL resolution.
|
|
147
|
+
- `forge add auth workos`, `forge workos setup --real`, `workos doctor`, and
|
|
148
|
+
`inspect ui --ergonomics` now understand the backend-owned AuthKit session
|
|
149
|
+
flow and sync public browser env into `web/.env.local`.
|
|
150
|
+
|
|
151
|
+
## 0.1.0-alpha.56
|
|
152
|
+
|
|
153
|
+
- Added `forge deploy init --target docker` as the canonical production Docker
|
|
154
|
+
bootstrap command.
|
|
155
|
+
- Added `forge deploy readiness --production --json` to answer whether an app
|
|
156
|
+
can publish, what blocks production, and which command should run next.
|
|
157
|
+
- Added `forge env doctor --target local|staging|production --json` for safe,
|
|
158
|
+
target-specific env source reporting without exposing secret values.
|
|
159
|
+
- `forge deploy check --production --json` now includes grouped
|
|
160
|
+
blockers/warnings and a readiness summary for agent handoffs.
|
|
161
|
+
- `forge deploy verify --production --url ... --json` now validates required
|
|
162
|
+
public auth metadata and optional operational endpoints.
|
|
163
|
+
- Production docs now describe the canonical flow from deploy init through
|
|
164
|
+
field-test, readiness, package, and verify, with WorkOS FGA kept optional
|
|
165
|
+
unless the app opts into FGA artifacts.
|
|
166
|
+
|
|
167
|
+
## 0.1.0-alpha.55
|
|
168
|
+
|
|
169
|
+
- `forge add auth workos` now defaults to AuthKit/RBAC, permission claims,
|
|
170
|
+
Forge policies, tenant claim mapping, seed, webhooks, and frontend bridge
|
|
171
|
+
without generating WorkOS FGA resource helpers.
|
|
172
|
+
- `forge add auth workos --with-fga` enables the optional WorkOS FGA resource
|
|
173
|
+
graph helpers and `resource_types` seed metadata for apps that need
|
|
174
|
+
resource-level authorization.
|
|
175
|
+
- WorkOS doctor/seed/deploy checks now treat FGA as optional unless the app has
|
|
176
|
+
FGA artifacts or FGA state, so normal WorkOS apps are gated by AuthKit, RBAC,
|
|
177
|
+
hosted seed evidence, policies, and tenant proof instead of mandatory FGA
|
|
178
|
+
proof.
|
|
179
|
+
|
|
180
|
+
## 0.1.0-alpha.54
|
|
181
|
+
|
|
182
|
+
- WorkOS FGA setup writes now produce a paired machine-readable
|
|
183
|
+
`.forge/workos-fga-setup.json` artifact alongside the Markdown guide.
|
|
184
|
+
- The JSON artifact includes derived resource types, hosted setup boundary,
|
|
185
|
+
rerun commands, docs, unsupported automation notes, and paired artifact paths
|
|
186
|
+
for agents and CI.
|
|
187
|
+
|
|
188
|
+
## 0.1.0-alpha.53
|
|
189
|
+
|
|
190
|
+
- `forge workos fga doctor --json` now distinguishes local FGA proof timestamps
|
|
191
|
+
from real WorkOS Authorization API proof timestamps, avoiding production
|
|
192
|
+
readiness confusion in agent handoffs.
|
|
193
|
+
|
|
194
|
+
## 0.1.0-alpha.52
|
|
195
|
+
|
|
196
|
+
- Generated WorkOS FGA setup guides now include an explicit automation boundary
|
|
197
|
+
describing what ForgeOS can automate versus the hosted WorkOS resource-type
|
|
198
|
+
configuration that must exist before real resource sync.
|
|
199
|
+
- `forge workos fga sync --real --write --json` now provides a concrete
|
|
200
|
+
`setupGuidePath` even when real sync fails because hosted WorkOS resource
|
|
201
|
+
types are missing, so agents have a deterministic artifact for the remaining
|
|
202
|
+
setup and rerun commands.
|
|
203
|
+
|
|
204
|
+
## 0.1.0-alpha.51
|
|
205
|
+
|
|
206
|
+
- `forge workos fga doctor --real --json` now reports a structured readiness
|
|
207
|
+
object for the full hosted FGA path: app-derived plan, hosted seed state,
|
|
208
|
+
real resource sync, membership env for WorkOS access checks, proof state, and
|
|
209
|
+
production readiness.
|
|
210
|
+
- FGA command JSON now includes `membershipEnv`, `seedState`, and `readiness`
|
|
211
|
+
metadata so agents can continue the no-dashboard WorkOS flow deterministically.
|
|
212
|
+
- Hosted FGA setup output now explicitly states that WorkOS resource type
|
|
213
|
+
creation is hosted WorkOS configuration, while ForgeOS can still sync
|
|
214
|
+
resources and run Authorization API checks after those types exist.
|
|
215
|
+
- WorkOS real checks now read `deploy/.env.production` as deploy evidence, and
|
|
216
|
+
`forge deploy check --production` runs WorkOS/FGA doctors with those values
|
|
217
|
+
in scope.
|
|
218
|
+
- Human FGA output now separates local planning success from real production
|
|
219
|
+
gate readiness.
|
|
220
|
+
|
|
221
|
+
## 0.1.0-alpha.50
|
|
222
|
+
|
|
223
|
+
- WorkOS hosted setup now includes explicit
|
|
224
|
+
`WORKOS_MODE=agent npx --yes workos@latest auth login --json` guidance when
|
|
225
|
+
CLI OAuth/device-code login is required.
|
|
226
|
+
- `forge workos setup --real` now tells the operator to rerun the same setup
|
|
227
|
+
command after login instead of pointing generically at `prove --real`.
|
|
228
|
+
- Human WorkOS output now includes the login command, device URL/code, and exact
|
|
229
|
+
Forge rerun command for no-dashboard agent continuation.
|
|
230
|
+
|
|
231
|
+
## 0.1.0-alpha.49
|
|
232
|
+
|
|
233
|
+
- `forge release doctor --json` now reports npm `alpha` and `latest` dist-tag
|
|
234
|
+
versions for public packages, including exact remediation when `latest`
|
|
235
|
+
points at an older alpha.
|
|
236
|
+
- The dist-tag check is advisory and non-publish-blocking, keeping alpha
|
|
237
|
+
release validation usable while making stale `latest` state explicit.
|
|
238
|
+
- GitHub Actions latest-promotion notices now include the local
|
|
239
|
+
`npm dist-tag add <package>@<version> latest` fallback and `NPM_TOKEN`
|
|
240
|
+
configuration hint when promotion is skipped.
|
|
241
|
+
|
|
242
|
+
## 0.1.0-alpha.48
|
|
243
|
+
|
|
244
|
+
- Added the production-shaped WorkOS FGA flow:
|
|
245
|
+
`forge workos fga plan`, `sync`, `prove`, and `doctor` now derive an FGA
|
|
246
|
+
manifest from the app contract, policies, data graph, and `workos-seed.yml`.
|
|
247
|
+
- `forge workos fga sync --real` and `forge workos fga prove --real` can use
|
|
248
|
+
the authenticated WorkOS CLI/API path when `WORKOS_API_KEY` is not available,
|
|
249
|
+
so agents can continue the no-dashboard flow after `workos auth login`.
|
|
250
|
+
- FGA setup output now separates hosted WorkOS resource-type configuration from
|
|
251
|
+
ForgeOS-automated resource sync and authorization checks, and reports missing
|
|
252
|
+
resource types with exact next actions.
|
|
253
|
+
- `forge deploy check --production` now requires matching WorkOS FGA real
|
|
254
|
+
sync/proof evidence for WorkOS-backed apps and points operators at
|
|
255
|
+
`forge workos fga plan --write`, `sync --real`, and `prove --real`.
|
|
256
|
+
- WorkOS seed generation now keeps inferred parent resource relationships such
|
|
257
|
+
as `access_request -> vendor`, with regression coverage for the generated
|
|
258
|
+
seed, parser, deploy checks, and FGA plan output.
|
|
259
|
+
|
|
260
|
+
## 0.1.0-alpha.47
|
|
261
|
+
|
|
262
|
+
- `forge workos setup --real` and `forge workos prove --real` now validate the
|
|
263
|
+
real OIDC/JWT and WorkOS environment before hosted setup, surfacing exact
|
|
264
|
+
failed checks like `setup:real-env-forge_auth_audience`.
|
|
265
|
+
- `forge deploy check --production` now requires WorkOS-backed apps to include
|
|
266
|
+
hosted seed evidence in `.workos-seed-state.json` matching the current
|
|
267
|
+
`workos-seed.yml`, with a direct `forge workos prove --real --file
|
|
268
|
+
workos-seed.yml --json` remediation.
|
|
269
|
+
- Clarified production, self-host, and field-test docs so local mock evidence,
|
|
270
|
+
hosted WorkOS seed evidence, and production deploy env evidence are treated
|
|
271
|
+
as separate gates.
|
|
272
|
+
|
|
273
|
+
## 0.1.0-alpha.46
|
|
274
|
+
|
|
275
|
+
- `forge deps upgrade-apply` and `forge deps upgrade-rollback` now accept the
|
|
276
|
+
`planDir` returned by `forge deps upgrade-plan`, resolving it to the nested
|
|
277
|
+
`plan.json` automatically.
|
|
278
|
+
- Invalid upgrade plan directories now return a precise
|
|
279
|
+
`FORGE_DEPS_TARGET_NOT_FOUND` diagnostic with suggested commands instead of a
|
|
280
|
+
generic JSON parse failure.
|
|
281
|
+
- Added regression coverage for plan-directory apply behavior and missing
|
|
282
|
+
`plan.json` diagnostics.
|
|
283
|
+
|
|
284
|
+
## 0.1.0-alpha.45
|
|
285
|
+
|
|
286
|
+
- `forge workos setup/prove --real` now passes the top-level unknown-option
|
|
287
|
+
guard, matching the documented no-dashboard WorkOS apply flow.
|
|
288
|
+
- `forge workos seed --file workos-seed.yml --json` now treats known WorkOS
|
|
289
|
+
duplicate-resource responses as explicit idempotency, suppressing duplicate
|
|
290
|
+
stderr in successful JSON output while recording `seedAlreadyAppliedReason`
|
|
291
|
+
and seed state.
|
|
292
|
+
- `forge field-test run` now uses an async harness process with periodic
|
|
293
|
+
progress heartbeats on stderr so realistic probes do not appear stuck.
|
|
294
|
+
- `forge deploy check --production` now reports sanitized env-source evidence,
|
|
295
|
+
including which production keys were found or missing, while keeping `.env`
|
|
296
|
+
and `.env.local` clearly marked as local guidance rather than production
|
|
297
|
+
deploy evidence.
|
|
298
|
+
|
|
299
|
+
## 0.1.0-alpha.44
|
|
300
|
+
|
|
301
|
+
- `forge inspect ui --ergonomics` now treats helper-based seed recovery inside
|
|
302
|
+
`useEffect` as valid automatic first-run recovery, fixing a false
|
|
303
|
+
`FORGE_UI_AUTO_SEED_RECOVERY_MISSING` warning in the `vendor-access`
|
|
304
|
+
template.
|
|
305
|
+
- Added template regression coverage so `vendor-access` keeps its seed
|
|
306
|
+
controls, auto-seed UI scenario, and zero-warning ergonomics evidence in sync
|
|
307
|
+
with `forge field-test run --realistic`.
|
|
308
|
+
|
|
309
|
+
## 0.1.0-alpha.43
|
|
310
|
+
|
|
311
|
+
- Included `scripts/field-test-forgeos.mjs` in the published npm package so
|
|
312
|
+
`forge field-test run` works from generated apps installed from
|
|
313
|
+
`forgeos@alpha`, not only from the ForgeOS framework checkout.
|
|
314
|
+
- `forge field-test run` now resolves the harness from the current workspace
|
|
315
|
+
first and then from the installed ForgeOS package, with a clearer diagnostic
|
|
316
|
+
listing searched paths when neither location exists.
|
|
317
|
+
- Added regression coverage for running the field-test command from an app
|
|
318
|
+
workspace that does not contain a local `scripts/field-test-forgeos.mjs`.
|
|
319
|
+
|
|
320
|
+
## 0.1.0-alpha.42
|
|
321
|
+
|
|
322
|
+
- Added the golden-path CLI alias `forge field-test run --realistic`, which
|
|
323
|
+
enables runtime, auth, and UI probes together and defaults to the
|
|
324
|
+
WorkOS-backed `vendor-access` path when no template/auth override is
|
|
325
|
+
provided.
|
|
326
|
+
- Added `forge deploy package --target docker` as the user-facing production
|
|
327
|
+
packaging command while keeping `forge deploy render docker` compatible; the
|
|
328
|
+
generated production README and deploy plan now point at `package`.
|
|
329
|
+
- Added `forge workos prove --file workos-seed.yml --json` as an aggregate
|
|
330
|
+
no-dashboard proof for WorkOS/AuthKit/FGA/seed readiness, with `--real`
|
|
331
|
+
applying hosted setup through the existing WorkOS CLI integration.
|
|
332
|
+
- `forge field-test report` now requires zero UI ergonomics warnings before
|
|
333
|
+
marking a UI-probed report ready for deploy checks, so product-surface
|
|
334
|
+
problems like demo copy, raw fetch errors, or exposed dev diagnostics cannot
|
|
335
|
+
pass as production-ready evidence.
|
|
336
|
+
- `forge inspect ui --ergonomics` now warns when a production-auth/WorkOS app
|
|
337
|
+
exposes local persona or dev-auth controls without explicitly separating
|
|
338
|
+
them as local development mode, reducing confusion between mock identity and
|
|
339
|
+
real AuthKit/OIDC auth.
|
|
340
|
+
- UI scenarios now support a `selectOption` step and the `vendor-access`
|
|
341
|
+
template generates browser scenarios for local sign-in, requester approval
|
|
342
|
+
denial, first-run seeded vendor data, and seed/reset controls, so field tests
|
|
343
|
+
can cover role-specific product flows instead of only loading `/`.
|
|
344
|
+
- `forge field-test report` now treats those `vendor-access` UI scenarios as
|
|
345
|
+
deploy-readiness evidence, requiring local sign-in, seeded-data,
|
|
346
|
+
requester-denied, and seed-control scenario names whenever UI probes run for
|
|
347
|
+
the template.
|
|
348
|
+
- `forge inspect ui --ergonomics` now warns with
|
|
349
|
+
`FORGE_UI_AUTO_SEED_RECOVERY_MISSING` when demo/sample seed commands exist
|
|
350
|
+
but the frontend does not appear to auto-recover an empty first-run
|
|
351
|
+
workspace, catching apps that open on an unseeded or broken-looking state.
|
|
352
|
+
- `forge ui doctor` and UI scenario runs now resolve Playwright from the app or
|
|
353
|
+
`web/` package root, infer npm/pnpm/bun/yarn setup commands from lockfiles,
|
|
354
|
+
and distinguish missing installs from missing Playwright dependencies instead
|
|
355
|
+
of always suggesting Bun commands.
|
|
356
|
+
- `forge field-test report` now treats `vendor-access` seed readiness as
|
|
357
|
+
deploy-ready only when `seed status` proves `autoSeedMode: "all-tenants"`,
|
|
358
|
+
catching regressions where domain probes pass but `npm run dev` would still
|
|
359
|
+
warm only the default tenant.
|
|
360
|
+
- `forge seed dev --all-tenants` and `forge seed reset --all-tenants` now
|
|
361
|
+
preserve successful per-tenant warnings in the aggregate `diagnostics`
|
|
362
|
+
payload, deduplicating repeated warning codes/messages while keeping full
|
|
363
|
+
per-tenant diagnostics under `tenantRuns`.
|
|
364
|
+
- `forge seed status` now warns with `FORGE_SEED_DEV_PARTIAL_TENANTS` when an
|
|
365
|
+
app exposes multiple local tenant/persona profiles but `npm run dev` only
|
|
366
|
+
uses `forge dev --seed` without `--all-tenants`, and it promotes
|
|
367
|
+
`forge dev --seed --all-tenants` as the first empty-workspace recovery.
|
|
368
|
+
- `forge dev --seed` startup summaries now surface seed warnings even when the
|
|
369
|
+
seed command itself succeeds, so partial multi-tenant seeding is visible in
|
|
370
|
+
the first dev-server payload and human terminal output.
|
|
371
|
+
- `forge seed status --json`, `forge dev --seed --json`, and field-test
|
|
372
|
+
reports now expose `autoSeedMode` (`none`, `default-tenant`, or
|
|
373
|
+
`all-tenants`) alongside the compatibility booleans `autoSeedOnDev` and
|
|
374
|
+
`autoSeedAllTenantsOnDev`, making it obvious when `npm run dev` warms every
|
|
375
|
+
discovered local tenant/persona instead of only the default tenant.
|
|
376
|
+
- The `vendor-access` starter now runs `forge dev --seed --all-tenants` from
|
|
377
|
+
`npm run dev`, so Acme and Globex local workspaces are warmed up by default
|
|
378
|
+
instead of leaving secondary tenant views empty until manual seeding.
|
|
379
|
+
- Human `forge dev --seed --all-tenants` startup output now lists per-tenant
|
|
380
|
+
seed results with labels and HTTP status, matching the structured startup
|
|
381
|
+
JSON evidence without requiring agents to rerun with `--json`.
|
|
382
|
+
- `forge inspect ui --ergonomics` now warns when a WorkOS/AuthKit frontend is
|
|
383
|
+
mounted but does not expose normalized `/session` claims or proxy the AuthKit
|
|
384
|
+
login/callback/logout/session routes, catching half-wired production auth
|
|
385
|
+
flows before browser testing.
|
|
386
|
+
- `forge inspect ui --ergonomics` now warns when Forge/WorkOS operational
|
|
387
|
+
diagnostics such as env names, seed files, claims dumps, capability maps, or
|
|
388
|
+
policy proofs appear in the primary product surface instead of a collapsible
|
|
389
|
+
developer panel.
|
|
390
|
+
- `forge inspect ui --ergonomics` now requires WorkOS-authenticated apps to
|
|
391
|
+
expose a visible WorkOS/AuthKit sign-in/sign-out path, `/login`/`/logout`
|
|
392
|
+
link, or AuthKit signIn/signOut call, so local-persona buttons or
|
|
393
|
+
organization/session copy alone no longer count as a real WorkOS auth flow.
|
|
394
|
+
- `forge workos seed --file ... --json` now writes a local
|
|
395
|
+
`.workos-seed-state.json` after successful hosted seed application or known
|
|
396
|
+
duplicate-resource/idempotent WorkOS responses, giving agents a stable,
|
|
397
|
+
secret-free proof that the seed was applied or already present.
|
|
398
|
+
- `forge workos doctor --json` and `forge workos seed --dry-run --json` now
|
|
399
|
+
read `.workos-seed-state.json`, report whether it matches the current
|
|
400
|
+
`workos-seed.yml`, and surface seed drift before an agent reapplies hosted
|
|
401
|
+
WorkOS changes.
|
|
402
|
+
- `forge workos setup --json` now surfaces the same seed-state summary at the
|
|
403
|
+
top level for dry-runs and real no-dashboard setup runs, so agents can see
|
|
404
|
+
hosted seed drift without digging through nested seed payloads.
|
|
405
|
+
- Human `forge workos setup --real` output now reports whether
|
|
406
|
+
`.workos-seed-state.json` matches the current seed after hosted setup,
|
|
407
|
+
keeping text-mode CLI handoffs aligned with JSON evidence.
|
|
408
|
+
- `forge workos doctor --json` now includes structured WorkOS coverage data
|
|
409
|
+
(`seed`, `seedState`, active policy permissions, expected resource types, and
|
|
410
|
+
missing/unused seed coverage) so agents can verify auth setup without parsing
|
|
411
|
+
human check text.
|
|
412
|
+
- `forge seed status --json` now reports seed readiness, including the selected
|
|
413
|
+
seed command, default local dev-auth headers, whether `npm run dev` already
|
|
414
|
+
auto-seeds through `forge dev --seed`, and exact recovery commands for empty
|
|
415
|
+
workspaces.
|
|
416
|
+
- `forge seed status --json` now discovers local frontend tenant/persona
|
|
417
|
+
profiles and emits per-tenant `forge seed dev`/`forge seed reset` commands,
|
|
418
|
+
making multi-tenant field apps easier to warm up and test without guessing
|
|
419
|
+
Acme/Globex headers.
|
|
420
|
+
- `forge seed dev --all-tenants` and `forge seed reset --all-tenants` now run
|
|
421
|
+
the selected seed command against every discovered local tenant/persona,
|
|
422
|
+
returning per-tenant request/response evidence for multi-tenant field tests.
|
|
423
|
+
- The `vendor-access` field-test runtime probe now uses
|
|
424
|
+
`forge seed dev --all-tenants` and accepts that single bulk-seed proof as the
|
|
425
|
+
deploy-readiness seed evidence, while still accepting older Acme/Globex
|
|
426
|
+
per-tenant report artifacts.
|
|
427
|
+
- `forge dev --seed --all-tenants` now forwards the discovered local
|
|
428
|
+
tenant/persona set into startup seeding and includes per-tenant seed run
|
|
429
|
+
evidence in the dev startup JSON summary.
|
|
430
|
+
- Generated-drift JSON now includes a concurrency note and normalized
|
|
431
|
+
sequential `generate`/`generate --check` commands, so agents do not mistake a
|
|
432
|
+
parallel `forge generate`/`forge generate --check` race for a persistent
|
|
433
|
+
generator defect.
|
|
434
|
+
- `forge dev --seed` startup output now includes the same seed readiness block
|
|
435
|
+
in `summary.seed.readiness`, so Studio and coding agents can diagnose empty
|
|
436
|
+
workspaces from the first dev-server payload.
|
|
437
|
+
- `forge seed` now normalizes recovery and diagnostic commands for the current
|
|
438
|
+
workspace, so framework checkouts show `node bin/forge.mjs ...` while
|
|
439
|
+
generated apps continue to show `forge ...`.
|
|
440
|
+
- `forge seed status` now recognizes auto-seeded dev scripts whether they call
|
|
441
|
+
`forge dev --seed`, `npm run forge -- dev --seed`, or the local
|
|
442
|
+
`bin/forge.mjs dev --seed` entrypoint.
|
|
443
|
+
- Human `forge seed` output now prints an `empty workspace recovery` section
|
|
444
|
+
with the same workspace-normalized commands exposed in JSON readiness.
|
|
445
|
+
- `forge field-test report` now treats `vendor-access` seed readiness as
|
|
446
|
+
deploy-check evidence, so reports must prove the app exposes deterministic
|
|
447
|
+
empty-workspace recovery commands before they are marked deploy-ready.
|
|
448
|
+
- Cleaned the `vendor-access` starter's local identity naming so the app uses
|
|
449
|
+
`LocalPersona`/workspace seed terminology instead of demo-auth terminology in
|
|
450
|
+
its authored frontend code and audit seed copy.
|
|
451
|
+
- `forge add auth workos` now treats already-declared WorkOS packages as an
|
|
452
|
+
idempotent no-op for package installation, emits
|
|
453
|
+
`FORGE_ADD_PACKAGE_ALREADY_DECLARED`, and continues adapter/AuthKit generation
|
|
454
|
+
instead of surfacing a misleading install failure.
|
|
455
|
+
- `forge add auth workos` now generates a browser session helper and rewrites
|
|
456
|
+
the `vendor-access` WorkOS shell to read normalized `/session` claims for
|
|
457
|
+
organization, role, and permissions. Vite/Next templates now proxy `/session`
|
|
458
|
+
alongside `/login`, `/callback`, and `/logout`.
|
|
459
|
+
- `forge workos doctor` now verifies the generated browser AuthKit bridge
|
|
460
|
+
exposes `useForgeWorkOSSession` and that web dev config proxies `/session`
|
|
461
|
+
with the AuthKit login/logout/callback routes, catching half-wired WorkOS
|
|
462
|
+
apps before browser testing.
|
|
463
|
+
- `forge workos doctor` and `forge workos seed` now report unused seed
|
|
464
|
+
permissions against the app's active policy permissions, making generic or
|
|
465
|
+
stale seed files visible without blocking intentionally broader seeds.
|
|
466
|
+
- `forge check` now fails fast on `defineTable(..., { id: "text" })` with
|
|
467
|
+
`FORGE_DB_INVALID_ID_FIELD`, before the app reaches confusing SQL/runtime
|
|
468
|
+
primary-key behavior. Omit `id` for generated UUID ids or use `id: "uuid"`.
|
|
469
|
+
- Field-test runtime probes now start `forge dev` with `--port 0` and
|
|
470
|
+
`--web-port 0`, then read the concrete API/web URLs from startup JSON instead
|
|
471
|
+
of pre-reserving ports in the harness.
|
|
472
|
+
- Hardened `forge inspect ui --ergonomics` so generated apps with runtime
|
|
473
|
+
commands/policies warn when they lack an obvious primary workflow action,
|
|
474
|
+
workflow navigation, permission feedback, or when ForgeOS/demo copy appears
|
|
475
|
+
in the main product surface instead of a collapsible dev panel.
|
|
476
|
+
- Tightened seed UX auditing so command names such as `seedVendorAccessDemo`
|
|
477
|
+
no longer count as a visible first-run recovery path; apps with seed commands
|
|
478
|
+
now need an actual seed/reset/status control or tenant-data recovery copy.
|
|
479
|
+
- Expanded UI ergonomics checks to catch `powered by ForgeOS` and
|
|
480
|
+
`ForgeOS ... demo` copy on the product surface, and cleaned starter template
|
|
481
|
+
first screens so generated apps open as useful products rather than framework
|
|
482
|
+
advertisements.
|
|
483
|
+
- Reduced UI auth-flow false positives: apps that merely support `jwt`/`oidc`
|
|
484
|
+
modes no longer look production-authenticated unless they set an active
|
|
485
|
+
production auth mode, use tenant-scoped data, or include a WorkOS integration.
|
|
486
|
+
- Updated the `minimal-web` starter with real workflow navigation and section
|
|
487
|
+
anchors so new apps no longer start with a UI ergonomics navigation warning.
|
|
488
|
+
- Made the `vendor-access` starter run `forge dev --seed` by default, with
|
|
489
|
+
`dev:no-seed` available for empty-state debugging.
|
|
490
|
+
- Fixed the `vendor-access` README quickstart so it tells users to run the
|
|
491
|
+
auto-seeded `npm run dev` script instead of appending a duplicate `--seed`
|
|
492
|
+
flag.
|
|
493
|
+
- Tightened the `vendor-access` dashboard queries so the root organization
|
|
494
|
+
record is loaded by the active tenant id instead of listing every demo
|
|
495
|
+
organization in the workspace.
|
|
496
|
+
- Strengthened the `vendor-access` field-test probes to fail when the
|
|
497
|
+
dashboard payload leaks the other tenant's root organization record, not just
|
|
498
|
+
the other tenant's vendors.
|
|
499
|
+
- Made the `vendor-access` starter retry automatic demo seeding after transient
|
|
500
|
+
frontend/API failures instead of marking a tenant as seeded before the seed
|
|
501
|
+
command succeeds.
|
|
502
|
+
- Hardened `forge field-test report` production evidence so
|
|
503
|
+
`readyForDeployCheck` requires concrete runtime health/entries probes, auth
|
|
504
|
+
setup commands, auth metadata endpoint probes, a web UI probe, and UI
|
|
505
|
+
ergonomics evidence instead of trusting enabled probe flags alone.
|
|
506
|
+
- Aligned `forge deploy check --production` with the stricter field-test
|
|
507
|
+
evidence contract, including explicit missing-evidence messages for runtime,
|
|
508
|
+
auth setup, auth metadata, UI, and ergonomics probes.
|
|
509
|
+
- Improved `forge add auth workos` for the `vendor-access` starter so real
|
|
510
|
+
WorkOS browser config bypasses the local identity selector and renders an
|
|
511
|
+
AuthKit-backed app shell, while retaining explicit local identity mode when
|
|
512
|
+
WorkOS env vars are absent.
|
|
513
|
+
- Simplified the `vendor-access` local login surface to a persona picker plus
|
|
514
|
+
local-mode continue action instead of a fake email/password form, making the
|
|
515
|
+
boundary between dev-header simulation and real WorkOS/AuthKit login clearer.
|
|
516
|
+
- Tightened UI ergonomics around auth demos: `forge inspect ui --ergonomics`
|
|
517
|
+
now warns on demo-login language and fake password-style auth forms in the
|
|
518
|
+
primary app shell, and the `vendor-access` template labels local identity and
|
|
519
|
+
workspace seed controls without fake credential copy.
|
|
520
|
+
- Field-test reports created with `--ui-probes` now include UI ergonomics audit
|
|
521
|
+
evidence, and `forge deploy check --production` requires that evidence while
|
|
522
|
+
surfacing UX warnings separately from runtime/auth failures.
|
|
523
|
+
- Field-test UI probes now reject obvious broken first-screen HTML such as
|
|
524
|
+
`Failed to fetch`, `No organization seeded`, and raw Forge runtime errors
|
|
525
|
+
instead of treating any reachable Vite/Next/Nuxt shell as product evidence.
|
|
526
|
+
- `forge field-test report` now requires the `vendor-access` app's concrete
|
|
527
|
+
multi-tenant domain probes before marking field-test evidence deploy-ready:
|
|
528
|
+
seed Acme/Globex, query both tenants, allow owner approval, deny requester
|
|
529
|
+
approval, and deny cross-tenant approval.
|
|
530
|
+
|
|
531
|
+
## 0.1.0-alpha.41
|
|
532
|
+
|
|
533
|
+
- Fixed package install detection for npm workspace apps that hoist frontend
|
|
534
|
+
dependencies. `forge add auth workos` now recognizes
|
|
535
|
+
`@workos-inc/authkit-react` when it is installed for `web/` but resolved from
|
|
536
|
+
an ancestor `node_modules`.
|
|
537
|
+
|
|
538
|
+
## 0.1.0-alpha.40
|
|
539
|
+
|
|
540
|
+
- Completed the WorkOS/AuthKit production-like app setup loop, including
|
|
541
|
+
no-dashboard WorkOS setup, browser AuthKit doctor checks, generated Vite React
|
|
542
|
+
AuthKit bridge, production auth readiness checks, and improved dev lifecycle
|
|
543
|
+
diagnostics.
|
|
544
|
+
|
|
545
|
+
## 0.1.0-alpha.39
|
|
546
|
+
|
|
547
|
+
- Hardened real WorkOS seed setup: generated `workos-seed.yml` files no longer
|
|
548
|
+
use `// @forge-generated` headers, `forge workos seed --dry-run` is the
|
|
549
|
+
validation-only path, real seed runs handle known duplicate-resource WorkOS
|
|
550
|
+
responses as already-applied state, and scaffolded apps ignore
|
|
551
|
+
`.workos-seed-state.json` by default.
|
|
552
|
+
|
|
553
|
+
## 0.1.0-alpha.38
|
|
554
|
+
|
|
555
|
+
- Added first-class production deployment commands:
|
|
556
|
+
`forge deploy plan`, `forge deploy render docker`,
|
|
557
|
+
`forge deploy check --production`, and
|
|
558
|
+
`forge deploy verify --production`.
|
|
559
|
+
- Generated Docker deployment files now use the app's detected package manager,
|
|
560
|
+
require the matching lockfile for production checks, read
|
|
561
|
+
`deploy/.env.production`, and avoid hidden hard-coded `DATABASE_URL`
|
|
562
|
+
overrides.
|
|
563
|
+
- Added `forge field-test create`, `forge field-test run`, and
|
|
564
|
+
`forge field-test report`, including runtime/auth probe summaries and
|
|
565
|
+
`productionEvidence` so field-test reports can feed
|
|
566
|
+
`forge deploy check --production`.
|
|
567
|
+
- Split `forge release doctor` into npm publish readiness and production deploy
|
|
568
|
+
readiness, so package publishing is not confused with a production-ready app
|
|
569
|
+
claim.
|
|
570
|
+
- Made `forge handoff --json` include commit-ready files by default, excluding
|
|
571
|
+
generated and operational artifacts while reporting how much noise was
|
|
572
|
+
filtered out.
|
|
573
|
+
- Clarified local auth versus production auth with `forge auth status` posture
|
|
574
|
+
classifications, local `x-forge-*` header reporting, and production proof
|
|
575
|
+
next actions.
|
|
576
|
+
- Added `dbGuide` to `forge doctor runtime` and `forge doctor pglite` so agents
|
|
577
|
+
know when to use `--db memory`, `--db pglite`, stop an active process, or run
|
|
578
|
+
local PGlite repair.
|
|
579
|
+
- Updated production, self-host, field-test, security, troubleshooting, and CLI
|
|
580
|
+
docs to reflect the new deploy/auth/database workflow.
|
|
581
|
+
|
|
582
|
+
## 0.1.0-alpha.37
|
|
583
|
+
|
|
584
|
+
- Fixed `forge deps upgrade-plan` for npm alias installs used by ForgeOS apps.
|
|
585
|
+
- Recorded the real package name from package metadata in generated package
|
|
586
|
+
graph entries when a dependency is installed through an alias such as
|
|
587
|
+
`forge: npm:forgeos@...`.
|
|
588
|
+
- Resolved upgrade plans by either the real package name (`forgeos`) or the
|
|
589
|
+
dependency alias (`forge`) while preserving install specs like
|
|
590
|
+
`forge@npm:forgeos@0.1.0-alpha.37`.
|
|
591
|
+
- Avoided attempting to resolve the unrelated public `forge@alpha` package when
|
|
592
|
+
an app asks to upgrade its ForgeOS alias dependency.
|
|
593
|
+
- Added regression coverage for aliased package graph entries where the import
|
|
594
|
+
name and real npm package name differ.
|
|
595
|
+
|
|
596
|
+
## 0.1.0-alpha.36
|
|
597
|
+
|
|
598
|
+
- Smoothed the alpha field-test loop after the Vendor Access app exercise.
|
|
599
|
+
- Taught `forge deps upgrade-plan` to resolve npm alias dependencies such as
|
|
600
|
+
`forge: npm:forgeos@alpha`, while preserving alias install specs like
|
|
601
|
+
`forge@npm:forgeos@0.1.0-alpha.36` in generated upgrade plans.
|
|
602
|
+
- Normalized `auth.md` runtime risk rendering so Commands and Risk/Approval
|
|
603
|
+
metadata agree that commands default to `write`.
|
|
604
|
+
- Added non-throwing command proof APIs through generated
|
|
605
|
+
`client.commandResult(...)` and React `useCommandResult(...)`, so expected
|
|
606
|
+
policy denials can be rendered as structured results instead of noisy
|
|
607
|
+
unhandled browser failures.
|
|
608
|
+
- Updated the basic example schema/docs to use `organizations` as the root
|
|
609
|
+
tenant table instead of a self-referential `tenants` root.
|
|
610
|
+
|
|
611
|
+
## 0.1.0-alpha.35
|
|
612
|
+
|
|
613
|
+
- Hardened field-test regressions found while building WorkOS-style
|
|
614
|
+
multi-tenant apps.
|
|
615
|
+
- Resolved camelCase `ref:` targets such as `ref:accessRequests` to canonical
|
|
616
|
+
SQL table names like `access_requests`, and reported unknown refs before
|
|
617
|
+
invalid SQL reaches PGlite.
|
|
618
|
+
- Allowed WorkOS-like local dev auth headers through dev-server CORS,
|
|
619
|
+
including organization, membership, permissions, roles, and claims headers.
|
|
620
|
+
- Taught the generated agent contract and capability map to recognize
|
|
621
|
+
camelCase `ctx.db` aliases for snake_case tables.
|
|
622
|
+
- Avoided printing fake `http://127.0.0.1:0` API URLs in
|
|
623
|
+
`forge dev --port 0` startup diagnostics.
|
|
624
|
+
|
|
625
|
+
## 0.1.0-alpha.34
|
|
626
|
+
|
|
627
|
+
- Hardened the ForgeOS app-building DX after the Vendor Access field test.
|
|
628
|
+
- Made `forge workos doctor` and `forge workos seed --dry-run` app-aware by
|
|
629
|
+
deriving active permissions and resource types from generated policies, data
|
|
630
|
+
graph, agent contract, authored WorkOS policies, and `workos-seed.yml`
|
|
631
|
+
instead of assuming onboarding-specific slugs.
|
|
632
|
+
- Added strong diagnostics for unnamed runtime default exports so
|
|
633
|
+
`export default command(...)` reports `FORGE_RUNTIME_EXPORT_NAME_REQUIRED`
|
|
634
|
+
with a named-export fix hint before generated API, frontend bindings, or
|
|
635
|
+
capability maps drift.
|
|
636
|
+
- Extended local `devAuth` for React, Vue, generated clients, and runtime auth
|
|
637
|
+
parsing with WorkOS-like `permissions`, `roles`, `claims`, `organizationId`,
|
|
638
|
+
and `organizationMembershipId`.
|
|
639
|
+
- Added nullable timestamp schema support through `timestamp?` /
|
|
640
|
+
`nullable("timestamp")` and taught `forge check` to flag empty timestamp
|
|
641
|
+
literals in commands, queries, and liveQueries.
|
|
642
|
+
- Added `forge dev --detach`, `forge dev status`, `forge dev stop`, and
|
|
643
|
+
command-specific `forge dev --help` with explicit DB/port examples for
|
|
644
|
+
agent-run app previews.
|
|
645
|
+
- Added `forge changed --commit-ready` and `forge handoff --commit-ready` so
|
|
646
|
+
agents can stage exactly authored commit files while excluding generated and
|
|
647
|
+
operational artifacts.
|
|
648
|
+
- Added `forge test authz` for a cheap generated-contract proof of tenant
|
|
649
|
+
scope, policy bindings, and capability-map authz coverage.
|
|
650
|
+
- Exposed static UI/UX readiness through `forge inspect ui --ergonomics`.
|
|
651
|
+
|
|
652
|
+
## 0.1.0-alpha.33
|
|
653
|
+
|
|
654
|
+
- Fixed the Nuxt template smoke by adding the explicit `vue-tsc` dev
|
|
655
|
+
dependency required by `nuxt typecheck`, so newly scaffolded `nuxt-web` apps
|
|
656
|
+
can run `npm run typecheck` after install without manual package repair.
|
|
657
|
+
|
|
658
|
+
## 0.1.0-alpha.32
|
|
659
|
+
|
|
660
|
+
- Accepted `create-forgeos-app --git` as a supported/no-op compatibility flag
|
|
661
|
+
when git initialization is already handled by the scaffold path, and kept
|
|
662
|
+
`npm create forgeos-app@alpha .` working from empty current directories.
|
|
663
|
+
- Added stronger schema validation for `id` so apps cannot accidentally model
|
|
664
|
+
the primary key as a normal text field and generate incorrect SQL.
|
|
665
|
+
- Fixed tenant-scoped updates in the in-memory database adapter and made memory
|
|
666
|
+
timestamp handling closer to PGlite by rejecting empty timestamp strings and
|
|
667
|
+
returning `Date` objects for timestamp columns.
|
|
668
|
+
- Improved smoke/generate drift diagnostics and kept `forge handoff` read-only
|
|
669
|
+
with respect to generated artifacts.
|
|
670
|
+
- Improved WorkOS/auth app DX: root-level `workos-seed.yml`, `HEAD /auth.md`,
|
|
671
|
+
`HEAD /.well-known/oauth-protected-resource`, and clearer local-vs-production
|
|
672
|
+
auth posture.
|
|
673
|
+
- Normalized suggested Forge commands in framework checkouts so `agent`,
|
|
674
|
+
`delta`, `studio`, `status`, `changed`, `handoff`, doctors, and WorkOS/auth
|
|
675
|
+
helpers recommend `node bin/forge.mjs ...` instead of a possibly stale global
|
|
676
|
+
`forge`.
|
|
677
|
+
- Returned structured JSON diagnostics for Delta/PGlite export/open failures
|
|
678
|
+
instead of raw PGlite stack output, and expanded Windows/PGlite repair hints.
|
|
679
|
+
- Expanded `forge ui audit` with static UX/auth-readiness warnings for missing
|
|
680
|
+
semantic landmarks, unlabeled form controls, unnamed buttons, missing
|
|
681
|
+
loading/error/empty states, and tenant/prod-auth apps that still only expose
|
|
682
|
+
local dev auth posture.
|
|
683
|
+
|
|
684
|
+
## 0.1.0-alpha.31
|
|
685
|
+
|
|
686
|
+
- Added Forge workspace baselines for non-git app directories:
|
|
687
|
+
`forge baseline create` records a local baseline and `forge changed` /
|
|
688
|
+
`forge handoff` can now report baseline diffs instead of noisy full
|
|
689
|
+
filesystem inventories.
|
|
690
|
+
- Added `forge auth status` and production-aware `forge auth prove --prod`
|
|
691
|
+
posture checks so local `dev-headers` auth is clearly distinguished from
|
|
692
|
+
JWT/OIDC production authentication.
|
|
693
|
+
- Expanded `forge doctor windows` with local PGlite store posture and cleanup
|
|
694
|
+
guidance, and made PGlite abort inspection preserve the surrounding process
|
|
695
|
+
exit code.
|
|
696
|
+
- Added `forge ui audit` and wired it into `forge verify --smoke` for web apps
|
|
697
|
+
to catch missing route scenarios, missing stable Forge test IDs, and missing
|
|
698
|
+
policy-denied coverage for sensitive flows. It now also reports static
|
|
699
|
+
UX/auth-readiness warnings for missing semantic landmarks, unlabeled form
|
|
700
|
+
controls, unnamed buttons, missing loading/error/empty states, and
|
|
701
|
+
tenant/prod-auth apps that still only expose local dev auth posture.
|
|
702
|
+
- Brought the in-memory DB adapter closer to PGlite for timestamp fields by
|
|
703
|
+
rejecting empty timestamp values and returning `Date` objects for
|
|
704
|
+
`timestamp`/`timestamptz` columns.
|
|
705
|
+
- Made `forge handoff` use a read-only generated-artifact check so preparing a
|
|
706
|
+
handoff no longer rewrites `src/forge/_generated/**`, `forge.lock`, or
|
|
707
|
+
generated `AGENTS.md` noise; `forge dev --once` still self-heals stale
|
|
708
|
+
artifacts.
|
|
709
|
+
- Allowed `forge new .` / `npm create forgeos-app@alpha .` from an empty
|
|
710
|
+
current directory, while refusing non-empty directories to avoid overwriting
|
|
711
|
+
existing apps.
|
|
712
|
+
|
|
713
|
+
## 0.1.0-alpha.30
|
|
714
|
+
|
|
715
|
+
- Hardened the WorkOS/AuthKit adapter and dev telemetry after the alpha.29
|
|
716
|
+
field app test.
|
|
717
|
+
- Generated WorkOS AuthKit routes now normalize SDK `User` objects before
|
|
718
|
+
passing them into Forge session and organization-resolution helpers, so apps
|
|
719
|
+
typecheck cleanly against the WorkOS SDK without unsafe direct
|
|
720
|
+
`Record<string, unknown>` casts.
|
|
721
|
+
- Telemetry is now best-effort when a database adapter applies
|
|
722
|
+
`INSERT ... RETURNING` but omits returned rows, preventing telemetry from
|
|
723
|
+
surfacing as `FORGE_DEV_SERVER_ERROR`.
|
|
724
|
+
- Added regression coverage for generated WorkOS adapter typechecking and
|
|
725
|
+
telemetry inserts that return no rows.
|
|
726
|
+
|
|
727
|
+
## 0.1.0-alpha.29
|
|
728
|
+
|
|
729
|
+
- Added the first WorkOS/AuthKit adapter surface: `forge add auth workos`
|
|
730
|
+
generates local AuthKit wiring, `.env.example`, `workos-seed.yml`, demo
|
|
731
|
+
organizations, roles, permissions, redirect/CORS/webhook hints, JWT/OIDC
|
|
732
|
+
claim mapping, and permission-derived Forge policies.
|
|
733
|
+
- Added `forge authmd generate` and `forge authmd check`, including
|
|
734
|
+
`public/auth.md`, OAuth protected-resource metadata, command/policy/tenant
|
|
735
|
+
requirements, approval metadata, and `forge dev` serving for `/auth.md` and
|
|
736
|
+
`/.well-known/oauth-protected-resource`.
|
|
737
|
+
- Added local WorkOS/FGA scaffolding without requiring real WorkOS credentials:
|
|
738
|
+
resource graph helpers, cross-tenant guards, FGA check cache/fallback
|
|
739
|
+
telemetry, a mock WorkOS testkit, and Acme/Globex multi-tenant regression
|
|
740
|
+
coverage.
|
|
741
|
+
- Taught Forge auth and policies to evaluate permission claims alongside
|
|
742
|
+
roles, including dev-header permission simulation.
|
|
743
|
+
- Added `forge version --json` as a command alias and improved the generated
|
|
744
|
+
agent contract/capability map so table reads performed by imported local
|
|
745
|
+
helpers are captured.
|
|
746
|
+
|
|
747
|
+
## 0.1.0-alpha.28
|
|
748
|
+
|
|
749
|
+
- Accepted visible Codex hook canaries as sufficient for local editing while
|
|
750
|
+
reporting native Codex provenance separately through `nativeTrustStatus`, so
|
|
751
|
+
`waiting-for-user-trust` no longer implies missing user approval when the
|
|
752
|
+
canary path is already working.
|
|
753
|
+
- Added regression coverage and docs for the split between hook approval,
|
|
754
|
+
canary readiness, and trusted native Codex signal proof.
|
|
755
|
+
|
|
756
|
+
## 0.1.0-alpha.27
|
|
757
|
+
|
|
758
|
+
- Stabilized the `forge add convex` loop: integration docs/testkits are now
|
|
759
|
+
re-emitted by the main generator, partial `forge add` plans no longer remove
|
|
760
|
+
unrelated generated files, stale fast-check manifest hashes are pruned instead
|
|
761
|
+
of merged, and `forge add --json` includes changed package-manager files.
|
|
762
|
+
- Made runtime mock mode tolerate Bun builds without `Bun.mock.module` while
|
|
763
|
+
still applying mock secret environment variables.
|
|
764
|
+
- Filtered generated and operational filesystem noise from
|
|
765
|
+
`forge changed --authored` in non-git workspaces.
|
|
766
|
+
- Excluded Java build outputs such as `target/`, `.class`, and `.jar` files
|
|
767
|
+
from the published npm tarball.
|
|
768
|
+
|
|
769
|
+
## 0.1.0-alpha.26
|
|
770
|
+
|
|
771
|
+
- Hardened the field-demo loop after the Team Onboarding app exercise:
|
|
772
|
+
non-git workspaces now get a filesystem-backed `changed`/`handoff` summary,
|
|
773
|
+
`forge make resource` stays global unless tenant scope is explicit or already
|
|
774
|
+
modeled, capability-map extraction sees aliased `ctx.db` table usage, and
|
|
775
|
+
Agent Memory waits through short-lived DeltaDB writer locks before reporting
|
|
776
|
+
`FORGE_DELTA_BUSY`.
|
|
777
|
+
|
|
778
|
+
## 0.1.0-alpha.25
|
|
779
|
+
|
|
780
|
+
- Hardened DeltaDB and Agent Memory for concurrent `forge dev` usage:
|
|
781
|
+
dev recorders now release the writer lock between events, Agent Memory ingest
|
|
782
|
+
retries short transient writer conflicts, and queued Codex hook events keep
|
|
783
|
+
their checkpoint unchanged when DeltaDB is temporarily busy.
|
|
784
|
+
- Fixed tenant-scope reporting in the generated agent contract and capability
|
|
785
|
+
map for camelCase authored tables such as `onboardingTasks`, so liveQuery
|
|
786
|
+
dependencies now report `tenant` scope when `tenantScope.json` confirms the
|
|
787
|
+
table is tenant-scoped.
|
|
788
|
+
- Added regression tests and docs for the DeltaDB lock recovery path and the
|
|
789
|
+
Team Onboarding style capability-map tenant-scope path.
|
|
790
|
+
|
|
791
|
+
## 0.1.0-alpha.24
|
|
792
|
+
|
|
793
|
+
- Consolidated the public alpha adoption surface: MIT license, package license
|
|
794
|
+
metadata, private GitHub Security Advisory disclosure, stable-alpha status
|
|
795
|
+
matrix, AI-coding loop, three short agent demos, and repeatable agent eval
|
|
796
|
+
task specs.
|
|
797
|
+
- `forge new --json` now returns structured JSON for scaffold automation
|
|
798
|
+
instead of human next-step text.
|
|
799
|
+
- Added the initial `forge add convex` app-contract recipe with runtime
|
|
800
|
+
placement guardrails, optional Convex environment names, generated docs, and
|
|
801
|
+
a mock testkit. The deeper Convex schema/API importer is documented as
|
|
802
|
+
planned rather than implied.
|
|
803
|
+
- Expanded field-report expectations and release/doc tests for license,
|
|
804
|
+
security disclosure, create-app help, Convex recipes, and public docs
|
|
805
|
+
navigation.
|
|
806
|
+
|
|
807
|
+
## 0.1.0-alpha.23
|
|
808
|
+
|
|
809
|
+
- Tightened the post-alpha.22 release surface and package evidence:
|
|
810
|
+
added a dedicated Nuxt template smoke workflow, included `nuxt-web` in the
|
|
811
|
+
default field-test template matrix, packaged `docs/cair-protocol.md`, and
|
|
812
|
+
expanded the security/threat-model docs for DeltaDB, agent memory, CAIR,
|
|
813
|
+
Studio bridge, brownfield import, and Nuxt surfaces.
|
|
814
|
+
- `forge agent context` now returns explicit `scopeTarget` metadata and prints
|
|
815
|
+
the resolved context target for entry, change, proof, and handoff packs.
|
|
816
|
+
- `forge explain` now falls back to the current generated agent contract when
|
|
817
|
+
DeltaDB has no runtime history, marking the entry as contract-defined rather
|
|
818
|
+
than executed.
|
|
819
|
+
- DeltaDB work-session inference now treats read-only observation commands such
|
|
820
|
+
as `forge status`, `forge changed`, `forge handoff`, `forge explain`,
|
|
821
|
+
`forge timeline`, and CAIR queries as low-confidence context-gathering
|
|
822
|
+
sessions.
|
|
823
|
+
|
|
824
|
+
## 0.1.0-alpha.22
|
|
825
|
+
|
|
826
|
+
- Added focused post-alpha.21 workflow improvements without expanding MCP tools:
|
|
827
|
+
scoped Agent Memory context packs, DeltaDB verbose health details, Semantic
|
|
828
|
+
Timeline stale-proof/causal summaries, Studio snapshot handoff metadata,
|
|
829
|
+
local Delta maintenance commands (`compact`, `prune`, redacted `export`),
|
|
830
|
+
`forge doctor delta`, CAIR timeline events, and a dedicated CAIR Protocol
|
|
831
|
+
documentation page.
|
|
832
|
+
- Added an official `nuxt-web` template: a Forge notes backend plus Nuxt app
|
|
833
|
+
using client/server Forge plugins, `web/composables/useNotes.ts`, generated
|
|
834
|
+
Vue composables, a Nitro runtime-config route, and
|
|
835
|
+
`NUXT_PUBLIC_FORGE_URL`.
|
|
836
|
+
|
|
837
|
+
## 0.1.0-alpha.21
|
|
838
|
+
|
|
839
|
+
Alpha.21 hardens external-agent privacy and brownfield import polish:
|
|
840
|
+
|
|
841
|
+
- Codex hook runner queue entries now store redacted payloads instead of raw
|
|
842
|
+
prompts, tool inputs, tool responses, or transcripts.
|
|
843
|
+
- Consumed hook queue history is compacted as redacted `.history` entries, so
|
|
844
|
+
old raw queue lines are not copied forward during retention.
|
|
845
|
+
- Brownfield import now scopes write/side-effect heuristics to the detected
|
|
846
|
+
route handler when possible, preventing sibling mutating routes from making a
|
|
847
|
+
read-only GET route look command-like.
|
|
848
|
+
- Read-shaped `POST /search`, `/query`, `/filter`, `/lookup`, and `/graphql`
|
|
849
|
+
routes are emitted as `command-candidate` with `ambiguous-post-query` risk
|
|
850
|
+
until a human review decides whether they should become Forge queries or
|
|
851
|
+
commands.
|
|
852
|
+
- CLI/reference docs now include the CAIR agent protocol and clarify the
|
|
853
|
+
`alpha`/`latest` npm dist-tag policy.
|
|
854
|
+
|
|
855
|
+
## 0.1.0-alpha.20
|
|
856
|
+
|
|
857
|
+
Generated-change and hook queue fixes:
|
|
858
|
+
|
|
859
|
+
- Fixed generated-change diagnostics for `AGENTS.md` generated blocks and
|
|
860
|
+
`.forge/agent/context.json`.
|
|
861
|
+
- Skipped probe, invalid, and out-of-workspace queued hook events during Agent
|
|
862
|
+
Memory drain, and bounded large hook queue inspection.
|
|
863
|
+
- Preserved empty stdio command arguments, diagnosed malformed command strings,
|
|
864
|
+
and supported structured `service.commandArgs` in external manifests.
|
|
865
|
+
- Included the basic example client demo in typecheck coverage.
|
|
866
|
+
|
|
867
|
+
## 0.1.0-alpha.19
|
|
868
|
+
|
|
869
|
+
Alpha hardening:
|
|
870
|
+
|
|
871
|
+
- Added the `agent-workroom` app template for Forge Studio style demos: external
|
|
872
|
+
agents edit the app, while ForgeOS shows preview URL, agent signals, check
|
|
873
|
+
runs, and handoff evidence through generated commands and liveQuery bindings.
|
|
874
|
+
- 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.
|
|
875
|
+
- 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.
|
|
876
|
+
- 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.
|
|
877
|
+
- `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.
|
|
878
|
+
- Improved `forge check --json` next actions by surfacing diagnostic-specific repair/inspect commands instead of a generic last-test-run repair hint.
|
|
879
|
+
- Added `forge doctor agent --target <agent>` as the top-level agent readiness check.
|
|
880
|
+
- Added explicit `forge agent ingest <source> --watch --file <events.ndjson>` support for opt-in hook/export file ingestion.
|
|
881
|
+
- Added human-friendly verifier aliases: `forge verify quick`, `forge verify agent`, and `forge verify release`.
|
|
882
|
+
- Made `forge status --human` an explicit accepted spelling and documented `forge add <npm-package> --workspace web` as the normal package-add path.
|
|
883
|
+
- Made bare `forge inspect` default to the compact `summary` target instead of returning a usage error.
|
|
884
|
+
- 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.
|
|
885
|
+
- 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.
|
|
886
|
+
- Expanded `forge docs check` with YAML shape checks, internal Markdown link validation, optional ReadTheDocs-style venv installation, and strict MkDocs build execution.
|
|
887
|
+
- Added authored-only review paths through `forge changed --authored` and `forge diff authored`, keeping generated artifacts collapsed unless explicitly requested.
|
|
888
|
+
- Added `forge delta status --verbose --json` for schema, lock, path, and aggregate-count diagnostics without expanding the default status payload.
|
|
889
|
+
- 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.
|
|
890
|
+
|
|
891
|
+
## 0.1.0-alpha.18
|
|
892
|
+
|
|
893
|
+
Codex hook memory hardening:
|
|
894
|
+
|
|
895
|
+
- Derived useful Codex hook metadata from the documented wire format while keeping raw prompts, tool inputs, tool responses, transcripts, and secrets out of Agent Memory.
|
|
896
|
+
- Added safe command summaries, tool-call ids, result status, exit codes, response summaries, inferred files, and inferred runtime entries for Codex tool events.
|
|
897
|
+
- Updated Codex hook installation with hook timeouts, status messages, and a local wrapper for checkout-based ingestion.
|
|
898
|
+
- Updated Agent Memory docs and regression coverage for real Codex hook payloads.
|
|
899
|
+
|
|
900
|
+
## 0.1.0-alpha.17
|
|
901
|
+
|
|
902
|
+
External runtime timeline metadata:
|
|
903
|
+
|
|
904
|
+
- Enriched `forge timeline` and `forge explain` for imported external runtimes.
|
|
905
|
+
- External command/query calls now keep `service`, `language`, `risk`, `policy`, `tenantScoped`, and `needsApproval` metadata in DeltaDB.
|
|
906
|
+
- Promoted this release on npm as both `alpha` and `latest`.
|
|
907
|
+
|
|
908
|
+
## 0.1.0-alpha.16
|
|
909
|
+
|
|
910
|
+
Stability alignment:
|
|
911
|
+
|
|
912
|
+
- Fixed `forge timeline` and `forge explain` crashes after large generated artifact batches.
|
|
913
|
+
- Fixed brownfield import detection for root-level Next.js App Router and Pages API routes.
|
|
914
|
+
- Updated CLI, Agent Memory, and DeltaDB docs for the alpha.16 command surface.
|
|
915
|
+
|
|
916
|
+
## 0.1.0-alpha.15
|
|
917
|
+
|
|
918
|
+
Brownfield import analysis:
|
|
919
|
+
|
|
920
|
+
- Added H49 `forge import analyze`, `forge import inspect`, and `forge inspect imported --json`.
|
|
921
|
+
- Emits `.forge/import` inventory, route, frontend call, candidate entry, risk, migration plan, and imported agent contract artifacts.
|
|
922
|
+
- Keeps every imported entry hidden from agents until review, with approval required for command-like or risky static detections.
|
|
923
|
+
|
|
924
|
+
## 0.1.0-alpha.14
|
|
925
|
+
|
|
926
|
+
Java and Nuxt/Vue support:
|
|
927
|
+
|
|
928
|
+
- Added the Java external runtime adapter, Spring Boot starter, and `java-billing` conformance example.
|
|
929
|
+
- Added generated Vue bindings and the `forgeos/vue` export.
|
|
930
|
+
- Added Nuxt UI scaffolding through `forge make ui --framework nuxt`.
|
|
931
|
+
- Updated docs, agent adapter guidance, generated manifests, and focused Java/Vue/Nuxt tests.
|
|
932
|
+
|
|
933
|
+
## 0.1.0-alpha.13
|
|
934
|
+
|
|
935
|
+
Agent Memory Bridge:
|
|
936
|
+
|
|
937
|
+
- Added H48 redacted external agent event ingestion with normalized `forge.agent-event.v1` envelopes.
|
|
938
|
+
- Added Codex and Claude Code hook installers plus Cursor MCP/rules setup.
|
|
939
|
+
- Added `forge mcp serve`, `forge agent install`, `forge agent ingest`, `forge agent context`, and `forge agent memory`.
|
|
940
|
+
- Persisted external agent activity in DeltaDB and linked agent/tool/file events into the semantic timeline.
|
|
941
|
+
|
|
942
|
+
## 0.1.0-alpha.12
|
|
943
|
+
|
|
944
|
+
Semantic Timeline:
|
|
945
|
+
|
|
946
|
+
- Added the H47 DeltaDB semantic timeline projection with rebuildable events, entity indexes, causal edges, and projection state.
|
|
947
|
+
- Upgraded `forge timeline` from raw operations into an entity-oriented timeline for runtime entries, policies, diagnostics, proofs, services, files, and sessions.
|
|
948
|
+
- Added proof staleness detection and timeline context in `forge explain`.
|
|
949
|
+
|
|
950
|
+
## 0.1.0-alpha.11
|
|
951
|
+
|
|
952
|
+
Strict verify performance:
|
|
953
|
+
|
|
954
|
+
- Reduced the validated `forge verify --strict` wall time from roughly 358-454s to about 116s on the current Windows test machine.
|
|
955
|
+
- Added stable repo-local `tsx` CLI caching under `node_modules/.cache/forge-tsx-cli` so spawned CLI tests reuse the warm compiler path.
|
|
956
|
+
- Balanced TestGraph strict execution across shared and isolated lanes, bringing the slowest files down from roughly 50s to under 10s in the updated profile.
|
|
957
|
+
- Moved heavy refactor/impact/external runtime suites onto faster shared paths where safe and kept isolation for process-sensitive tests.
|
|
958
|
+
- Documented and guarded the cache behavior so future test helpers preserve the speedup without checking cache contents into git.
|
|
959
|
+
- Added guarded alpha release workflow support for promoting the public `latest` dist-tag when npm token auth is configured.
|
|
960
|
+
|
|
961
|
+
## 0.1.0-alpha.10
|
|
962
|
+
|
|
963
|
+
Launch polish:
|
|
964
|
+
|
|
965
|
+
- Fixed `forge run <external-command> --args ...` so CLI arguments reach the external runtime bridge.
|
|
966
|
+
- Added direct external query CLI support through `forge query <service.query> --args ...`.
|
|
967
|
+
- Emit generated `.json` artifacts as pure JSON while keeping deterministic headers on code/text artifacts.
|
|
968
|
+
- Relaxed the `minimal-web` template verify script to `forge verify --smoke` and added the missing `check` script to `b2b-support-web`.
|
|
969
|
+
- Updated public protocol/changelog docs for the external runtime and Go adapter alpha line.
|
|
970
|
+
- Bumped the create-app wrapper package line to `create-forgeos-app@0.1.0-alpha.4`.
|
|
971
|
+
|
|
972
|
+
## 0.1.0-alpha.9
|
|
973
|
+
|
|
974
|
+
Compiler, external runtime, and Go adapter:
|
|
975
|
+
|
|
976
|
+
- Added the Forge external runtime protocol bridge for manifest-backed commands and queries.
|
|
977
|
+
- Added the Go adapter MVP with a real `go-billing` conformance example.
|
|
978
|
+
- Emitted external service metadata into inspect/API/agent artifacts, including `needsApproval` for agent tools.
|
|
979
|
+
- Reuse compiler classifier package signals across export classification, dropping repeated package signal scans.
|
|
980
|
+
- Reuse serialized graph JSON when rendering the largest generated TypeScript graph artifacts.
|
|
981
|
+
- Keep generated Forge artifacts aligned with the `0.1.0-alpha.9` compiler/runtime version.
|
|
982
|
+
|
|
983
|
+
## 0.1.0-alpha.8
|
|
984
|
+
|
|
985
|
+
Publishing:
|
|
986
|
+
|
|
987
|
+
- Publish prerelease packages through the ForgeOS alpha publisher so npm dist-tags stay aligned.
|
|
988
|
+
|
|
989
|
+
## 0.1.0-alpha.7
|
|
990
|
+
|
|
991
|
+
Publishing:
|
|
992
|
+
|
|
993
|
+
- Keep npm prerelease publishing on the public alpha dist-tag.
|
|
994
|
+
|
|
995
|
+
## 0.1.0-alpha.6
|
|
996
|
+
|
|
997
|
+
Release and packaging hardening:
|
|
998
|
+
|
|
999
|
+
- Added `forge --version` / `forge --version --json`.
|
|
1000
|
+
- Updated `create-forgeos-app` help to read the wrapper package version instead of a hardcoded string and bumped the wrapper to `0.1.0-alpha.2`.
|
|
1001
|
+
- Added dependency vulnerability evidence with an explicit waiver file and CI release gate.
|
|
1002
|
+
- Updated generated web template dependencies to current Vite/plugin-react and Next majors.
|
|
1003
|
+
|
|
1004
|
+
## 0.1.0-alpha.5
|
|
1005
|
+
|
|
1006
|
+
Release alignment for the public alpha channel:
|
|
1007
|
+
|
|
1008
|
+
- Added `forge ai redteam --model-level --json` with deterministic prompt-injection, secret-exfiltration, approval-bypass, cross-tenant, and indirect tool-injection probes.
|
|
1009
|
+
- Added `forge security prove --full --json` support for source checkouts, with graceful structural-proof fallback when packaged apps do not include ForgeOS test fixtures.
|
|
1010
|
+
- Strengthened npm publish workflows to run `security prove --db postgres --full --json`.
|
|
1011
|
+
- Added public registry smoke coverage for `forgeos@alpha` and `create-forgeos-app@alpha`.
|
|
1012
|
+
- Bumped the create-app wrapper package line to `create-forgeos-app@0.1.0-alpha.1`.
|
|
1013
|
+
|
|
1014
|
+
## 0.1.0-alpha.4
|
|
1015
|
+
|
|
1016
|
+
Security assurance and release evidence hardening:
|
|
1017
|
+
|
|
1018
|
+
- Added value-aware telemetry redaction for known secret values in safe-looking fields, messages, details, outputs, and stack traces.
|
|
1019
|
+
- Added webhook signature, timestamp, and replay protection helpers with Stripe/GitHub/generic HMAC coverage.
|
|
1020
|
+
- Added HTTP tenant-isolation tests that exercise the dev server/API boundary, not only the internal runtime executor.
|
|
1021
|
+
- Added `forge rls mutate-test --json` to kill dangerous generated RLS mutations such as missing FORCE RLS, missing policies, unconditional predicates, and `BYPASSRLS`.
|
|
1022
|
+
- Extended `forge security prove --json` with RLS mutation proof and invariant-level evidence metadata.
|
|
1023
|
+
- Added scripts to split security evidence by invariant and emit basic release supply-chain evidence plus CycloneDX SBOM.
|
|
1024
|
+
- Strengthened publish/security workflows so release gates use Postgres-backed security proof, RLS mutation proof, release evidence, and SBOM generation.
|
|
1025
|
+
|
|
1026
|
+
## 0.1.0-alpha.3
|
|
1027
|
+
|
|
1028
|
+
Native Forge AI agents on top of Vercel AI SDK v6:
|
|
1029
|
+
|
|
1030
|
+
- Added `aiTool` and `agent` primitives with generated `agentTools.json` / `agentTools.md`.
|
|
1031
|
+
- Added `ctx.agent.run` and `ctx.ai.runAgent` using AI SDK `ToolLoopAgent`.
|
|
1032
|
+
- Added auto-tools for commands, queries, and liveQueries with read-only vs approval-required writes.
|
|
1033
|
+
- Added dev agent endpoints: `POST /ai/agents/run` and `POST /ai/agents/chat`.
|
|
1034
|
+
- Extended `forge ai` CLI with `tools`, `agents`, and `trace` subcommands.
|
|
1035
|
+
- Added `forge inspect agent-tools` and agent tool metadata in `agentContract.json`.
|
|
1036
|
+
- Upgraded runtime dependency to AI SDK v6 for tool calling, streaming UI, and MCP compatibility.
|
|
1037
|
+
|
|
1038
|
+
Documentation:
|
|
1039
|
+
|
|
1040
|
+
- Added public [AI](ai.md) page and AST-aware `rename command` codemod docs.
|
|
1041
|
+
- Full RTD expansion: [Agent Workflow](agent-workflow.md), [Frontend](frontend.md), [Security & Data](security-and-data.md), [Authoring](authoring.md), [Testing & Repair](testing-and-repair.md), [Self-Host](self-host.md), [Templates](templates.md), Material theme, search, and Mermaid diagrams.
|
|
1042
|
+
|
|
1043
|
+
## 0.1.0-alpha.2
|
|
1044
|
+
|
|
1045
|
+
Windows and generated-app hardening:
|
|
1046
|
+
|
|
1047
|
+
- Fixed Node ESM handler loading on Windows by importing generated app modules through `file://` URLs across commands, queries, liveQueries, outbox actions, workflow steps, mocks, and telemetry adapters.
|
|
1048
|
+
- Fixed `forge dev` SSE streaming on the Node HTTP fallback so liveQuery snapshots are flushed immediately instead of buffering forever.
|
|
1049
|
+
- Hardened generated app scaffolding and web dev spawning on Windows.
|
|
1050
|
+
- Updated the B2B support template to route frontend imports through `web/lib/forge.ts` and use safer handler input validation.
|
|
1051
|
+
- Added focused tests for Node compatibility, template scaffolding, runtime imports, and streaming responses.
|
|
1052
|
+
- Added `create-forgeos-app@alpha` for `npm create forgeos-app@alpha`.
|
|
1053
|
+
- Added GitHub Packages mirror workflow for scoped package publishing.
|
|
1054
|
+
|
|
1055
|
+
## 0.1.0-alpha.1
|
|
1056
|
+
|
|
1057
|
+
Republish alpha with the dependency/API oracle improvements:
|
|
1058
|
+
|
|
1059
|
+
- Added dependency API inspection commands for agents: `forge deps api`, `forge deps trace`, and `forge deps runtime-compat`.
|
|
1060
|
+
- Added dependency API summaries to `agentContract.json`.
|
|
1061
|
+
- Added package resolution traces, runtime compatibility metadata, and runtime/type mismatch diagnostics to `packageGraph`.
|
|
1062
|
+
- Reduced package graph warning noise for `package.json` metadata exports, declaration-file subpaths, and pattern exports.
|
|
1063
|
+
|
|
1064
|
+
## 0.1.0-alpha.0
|
|
1065
|
+
|
|
1066
|
+
Initial alpha packaging baseline for ForgeOS.
|
|
1067
|
+
|
|
1068
|
+
This release line validates npm installation, the `forge` CLI binary, template creation, generated contracts, and the agent-native local development loop.
|
|
1069
|
+
|
|
1070
|
+
Added Read the Docs-ready public documentation, generator/package version alignment checks, and a broad generated-app field-test harness for release hardening.
|