forgeos 0.1.0-alpha.4 → 0.1.0-alpha.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.npmignore +10 -0
- package/AGENTS.md +142 -90
- package/CHANGELOG.md +418 -0
- package/LICENSE +21 -0
- package/README.md +67 -8
- package/adapters/go/README.md +23 -0
- package/adapters/go/go.mod +3 -0
- package/adapters/go/http.go +149 -0
- package/adapters/go/registry.go +234 -0
- package/adapters/go/types.go +136 -0
- package/adapters/java/README.md +68 -0
- package/adapters/java/pom.xml +34 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Auth.java +20 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Diagnostic.java +16 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Entry.java +38 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/EntryKind.java +16 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ErrorInfo.java +4 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Forge.java +94 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeCall.java +12 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeContext.java +11 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeHandler.java +8 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeHttpHandler.java +179 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeRegistry.java +121 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Json.java +14 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Manifest.java +14 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/RequestEnvelope.java +6 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/ResponseEnvelope.java +25 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Risk.java +18 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Schemas.java +36 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/Service.java +65 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/TransactionMode.java +18 -0
- package/adapters/java/src/main/java/dev/forgeos/adapter/TypedForgeHandler.java +6 -0
- package/adapters/java-spring-boot-starter/README.md +32 -0
- package/adapters/java-spring-boot-starter/pom.xml +36 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeCommand.java +22 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeExternalService.java +15 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeQuery.java +16 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeServiceBeanCondition.java +18 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeSpringAutoConfiguration.java +16 -0
- package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeSpringRuntime.java +104 -0
- package/adapters/java-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +1 -0
- package/bin/forge.mjs +18 -0
- package/docs/cair-protocol.md +103 -0
- package/docs/changelog.md +534 -0
- package/docs/forge-protocol.md +189 -0
- package/examples/go-billing/go.mod +7 -0
- package/examples/go-billing/main.go +120 -0
- package/examples/java-billing/pom.xml +52 -0
- package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/CreateInvoiceInput.java +4 -0
- package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/Invoice.java +11 -0
- package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/Main.java +127 -0
- package/package.json +31 -3
- package/schemas/forge-manifest.schema.json +57 -0
- package/src/forge/_generated/releaseManifest.json +1 -2
- package/src/forge/_generated/releaseManifest.ts +3 -3
- package/src/forge/agent-adapters/index.ts +1584 -125
- package/src/forge/agent-adapters/types.ts +224 -1
- package/src/forge/agent-memory/bridge.ts +1333 -0
- package/src/forge/agent-memory/context-pack.ts +277 -0
- package/src/forge/agent-memory/hook-runner.ts +312 -0
- package/src/forge/agent-memory/mcp.ts +224 -0
- package/src/forge/agent-memory/normalize.ts +498 -0
- package/src/forge/agent-memory/redaction.ts +103 -0
- package/src/forge/agent-memory/sources/claude-code.ts +51 -0
- package/src/forge/agent-memory/sources/codex-hook-runner.mjs +273 -0
- package/src/forge/agent-memory/sources/codex.ts +119 -0
- package/src/forge/agent-memory/sources/cursor.ts +35 -0
- package/src/forge/agent-memory/types.ts +204 -0
- package/src/forge/bench.ts +248 -0
- package/src/forge/brownfield-import/index.ts +801 -0
- package/src/forge/brownfield-import/types.ts +127 -0
- package/src/forge/cair/action-journal.ts +61 -0
- package/src/forge/cair/action-parser.ts +314 -0
- package/src/forge/cair/action-validator.ts +40 -0
- package/src/forge/cair/actions.ts +1818 -0
- package/src/forge/cair/format.ts +77 -0
- package/src/forge/cair/index.ts +106 -0
- package/src/forge/cair/query.ts +478 -0
- package/src/forge/cair/snapshot.ts +315 -0
- package/src/forge/cair/types.ts +248 -0
- package/src/forge/cli/ai.ts +339 -21
- package/src/forge/cli/auth.ts +348 -10
- package/src/forge/cli/authmd.ts +441 -0
- package/src/forge/cli/baseline.ts +112 -0
- package/src/forge/cli/build.ts +20 -4
- package/src/forge/cli/changed.ts +437 -0
- package/src/forge/cli/codex-app-server.ts +877 -0
- package/src/forge/cli/commands.ts +1620 -20
- package/src/forge/cli/db.ts +209 -2
- package/src/forge/cli/deploy.ts +887 -0
- package/src/forge/cli/deps.ts +82 -13
- package/src/forge/cli/dev.ts +961 -46
- package/src/forge/cli/docs.ts +265 -0
- package/src/forge/cli/doctor.ts +297 -0
- package/src/forge/cli/field-test.ts +329 -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 +107 -3
- package/src/forge/cli/new.ts +152 -13
- package/src/forge/cli/next-actions.ts +23 -0
- package/src/forge/cli/output.ts +389 -6
- package/src/forge/cli/parse.ts +1050 -34
- 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/rls.ts +43 -4
- package/src/forge/cli/run.ts +41 -0
- package/src/forge/cli/security.ts +112 -0
- package/src/forge/cli/self-host.ts +56 -14
- package/src/forge/cli/studio.ts +2218 -0
- package/src/forge/cli/verify.ts +1455 -32
- package/src/forge/cli/windows.ts +23 -0
- package/src/forge/cli/workos.ts +1020 -0
- package/src/forge/compiler/agent-contract/build.ts +670 -64
- package/src/forge/compiler/agent-contract/types.ts +45 -2
- package/src/forge/compiler/ai-registry/parse.ts +71 -2
- package/src/forge/compiler/api-surface/build.ts +47 -0
- package/src/forge/compiler/app-graph/build.ts +112 -9
- package/src/forge/compiler/app-graph/extract.ts +107 -0
- package/src/forge/compiler/app-graph/module-graph.ts +73 -78
- package/src/forge/compiler/app-graph/parser.ts +24 -24
- package/src/forge/compiler/app-graph/profile.ts +26 -0
- package/src/forge/compiler/app-graph/versions.ts +1 -1
- package/src/forge/compiler/classifier/capabilities.ts +3 -2
- package/src/forge/compiler/classifier/classify.ts +32 -8
- package/src/forge/compiler/classifier/secrets.ts +3 -2
- package/src/forge/compiler/classifier/signals.ts +91 -1
- package/src/forge/compiler/client-sdk/build-manifest.ts +59 -0
- package/src/forge/compiler/client-sdk/render-client.ts +295 -13
- package/src/forge/compiler/data-graph/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 +30 -0
- package/src/forge/compiler/diagnostics/create.ts +21 -2
- package/src/forge/compiler/diagnostics/index.ts +2 -0
- package/src/forge/compiler/emitter/barrel.ts +3 -0
- package/src/forge/compiler/emitter/render.ts +9 -0
- package/src/forge/compiler/external-manifest/registry.ts +205 -0
- package/src/forge/compiler/external-manifest/types.ts +91 -0
- package/src/forge/compiler/external-manifest/validate.ts +373 -0
- package/src/forge/compiler/frontend-graph/build.ts +142 -14
- package/src/forge/compiler/integration/add.ts +618 -24
- 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 +1219 -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 +247 -10
- package/src/forge/compiler/orchestrator/profile.ts +65 -0
- package/src/forge/compiler/orchestrator/run.ts +97 -31
- package/src/forge/compiler/orchestrator/serialize.ts +33 -8
- package/src/forge/compiler/orchestrator/types.ts +1 -1
- package/src/forge/compiler/package-graph/compiler.ts +3 -1
- package/src/forge/compiler/package-graph/constants.ts +1 -1
- package/src/forge/compiler/package-manager/adapter.ts +4 -1
- package/src/forge/compiler/package-manager/commands.ts +4 -0
- package/src/forge/compiler/package-manager/executor.ts +30 -1
- package/src/forge/compiler/package-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/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 +75 -1
- package/src/forge/compiler/types/dev-manifest.ts +4 -0
- package/src/forge/compiler/types/emit.ts +2 -0
- package/src/forge/compiler/types/frontend-graph.ts +2 -2
- package/src/forge/compiler/types/integration.ts +1 -0
- package/src/forge/compiler/types/package-graph.ts +6 -0
- package/src/forge/compiler/types/policy-registry.ts +3 -1
- package/src/forge/delta/classifier.ts +52 -0
- package/src/forge/delta/explain.ts +238 -0
- package/src/forge/delta/git-observer.ts +43 -0
- package/src/forge/delta/ids.ts +44 -0
- package/src/forge/delta/index.ts +25 -0
- package/src/forge/delta/recorder.ts +540 -0
- package/src/forge/delta/redaction.ts +50 -0
- package/src/forge/delta/schema.ts +240 -0
- package/src/forge/delta/session.ts +142 -0
- package/src/forge/delta/status.ts +1202 -0
- package/src/forge/delta/store.ts +3284 -0
- package/src/forge/delta/timeline.ts +178 -0
- package/src/forge/dev/server.ts +808 -17
- package/src/forge/dev/types.ts +15 -1
- package/src/forge/dev/watch.ts +17 -7
- package/src/forge/dev-console/cycle.ts +280 -33
- package/src/forge/dev-console/types.ts +47 -1
- package/src/forge/impact/index.ts +204 -9
- package/src/forge/impact/types.ts +33 -1
- package/src/forge/intent/index.ts +35 -16
- package/src/forge/make/fields.ts +26 -0
- package/src/forge/make/index.ts +40 -6
- package/src/forge/make/templates.ts +155 -2
- package/src/forge/make/types.ts +2 -1
- package/src/forge/policy.ts +1 -1
- package/src/forge/react/index.ts +160 -2
- package/src/forge/refactor/index.ts +1 -0
- package/src/forge/repair/rules/index.ts +2 -2
- package/src/forge/review/index.ts +158 -12
- package/src/forge/review/types.ts +15 -0
- package/src/forge/runtime/auth/config.ts +17 -0
- package/src/forge/runtime/auth/evaluate.ts +15 -2
- package/src/forge/runtime/auth/resolve.ts +61 -6
- package/src/forge/runtime/auth/types.ts +1 -0
- package/src/forge/runtime/db/factory.ts +1 -3
- package/src/forge/runtime/db/generated-client.ts +13 -2
- package/src/forge/runtime/db/memory-adapter.ts +139 -32
- package/src/forge/runtime/db/pglite-adapter.ts +263 -2
- package/src/forge/runtime/db/postgres-adapter.ts +6 -3
- package/src/forge/runtime/executor.ts +129 -16
- package/src/forge/runtime/external/bridge.ts +649 -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 +17 -3
- package/src/forge/ui/index.ts +209 -0
- package/src/forge/ui/types.ts +1 -0
- package/src/forge/version.ts +1 -1
- package/src/forge/vue/index.ts +422 -0
- package/src/forge/workspace/baseline.ts +112 -0
- package/src/forge/workspace/change-summary.ts +250 -0
- package/src/forge/workspace/forge-cli.ts +42 -0
- package/src/forge/workspace/git-summary.ts +391 -0
- package/templates/agent-workroom/AGENTS.md +29 -0
- package/templates/agent-workroom/README.md +34 -0
- package/templates/agent-workroom/forge.config.ts +3 -0
- package/templates/agent-workroom/package.json +33 -0
- package/templates/agent-workroom/src/actions/indexAgentSignal.ts +10 -0
- package/templates/agent-workroom/src/commands/openWorkroom.ts +61 -0
- package/templates/agent-workroom/src/commands/recordAgentSignal.ts +119 -0
- package/templates/agent-workroom/src/commands/recordCheckRun.ts +52 -0
- package/templates/agent-workroom/src/forge/schema.ts +54 -0
- package/templates/agent-workroom/src/policies.ts +6 -0
- package/templates/agent-workroom/src/queries/listWorkrooms.ts +11 -0
- package/templates/agent-workroom/src/queries/liveWorkroom.ts +63 -0
- package/templates/agent-workroom/tsconfig.json +16 -0
- package/templates/agent-workroom/web/index.html +12 -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 +13 -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/b2b-support-web/package.json +1 -0
- package/templates/b2b-support-web/web/package.json +1 -1
- package/templates/minimal-web/package.json +1 -1
- package/templates/minimal-web/web/package.json +2 -2
- package/templates/nuxt-web/.vscode/settings.json +14 -0
- package/templates/nuxt-web/README.md +30 -0
- package/templates/nuxt-web/forge.config.ts +3 -0
- package/templates/nuxt-web/package.json +33 -0
- package/templates/nuxt-web/src/actions/logNoteCreated.ts +11 -0
- package/templates/nuxt-web/src/commands/createNote.ts +26 -0
- package/templates/nuxt-web/src/forge/schema.ts +12 -0
- package/templates/nuxt-web/src/policies.ts +6 -0
- package/templates/nuxt-web/src/queries/listNotes.ts +8 -0
- package/templates/nuxt-web/src/queries/liveNotes.ts +8 -0
- package/templates/nuxt-web/tsconfig.json +17 -0
- package/templates/nuxt-web/web/app.vue +67 -0
- package/templates/nuxt-web/web/components/LiveNotes.vue +89 -0
- package/templates/nuxt-web/web/components/NoteComposer.vue +100 -0
- package/templates/nuxt-web/web/composables/forge.ts +13 -0
- package/templates/nuxt-web/web/composables/useNotes.ts +24 -0
- package/templates/nuxt-web/web/nuxt.config.ts +11 -0
- package/templates/nuxt-web/web/package.json +18 -0
- package/templates/nuxt-web/web/plugins/forge.client.ts +10 -0
- package/templates/nuxt-web/web/plugins/forge.server.ts +10 -0
- package/templates/nuxt-web/web/server/api/forge-health.get.ts +7 -0
- package/templates/nuxt-web/web/tsconfig.json +6 -0
- package/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 -14919
- 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 -3430
- 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,534 @@
|
|
|
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
|
+
## 0.1.0-alpha.39
|
|
10
|
+
|
|
11
|
+
- Hardened real WorkOS seed setup: generated `workos-seed.yml` files no longer
|
|
12
|
+
use `// @forge-generated` headers, `forge workos seed --dry-run` is the
|
|
13
|
+
validation-only path, real seed runs handle known duplicate-resource WorkOS
|
|
14
|
+
responses as already-applied state, and scaffolded apps ignore
|
|
15
|
+
`.workos-seed-state.json` by default.
|
|
16
|
+
|
|
17
|
+
## 0.1.0-alpha.38
|
|
18
|
+
|
|
19
|
+
- Added first-class production deployment commands:
|
|
20
|
+
`forge deploy plan`, `forge deploy render docker`,
|
|
21
|
+
`forge deploy check --production`, and
|
|
22
|
+
`forge deploy verify --production`.
|
|
23
|
+
- Generated Docker deployment files now use the app's detected package manager,
|
|
24
|
+
require the matching lockfile for production checks, read
|
|
25
|
+
`deploy/.env.production`, and avoid hidden hard-coded `DATABASE_URL`
|
|
26
|
+
overrides.
|
|
27
|
+
- Added `forge field-test create`, `forge field-test run`, and
|
|
28
|
+
`forge field-test report`, including runtime/auth probe summaries and
|
|
29
|
+
`productionEvidence` so field-test reports can feed
|
|
30
|
+
`forge deploy check --production`.
|
|
31
|
+
- Split `forge release doctor` into npm publish readiness and production deploy
|
|
32
|
+
readiness, so package publishing is not confused with a production-ready app
|
|
33
|
+
claim.
|
|
34
|
+
- Made `forge handoff --json` include commit-ready files by default, excluding
|
|
35
|
+
generated and operational artifacts while reporting how much noise was
|
|
36
|
+
filtered out.
|
|
37
|
+
- Clarified local auth versus production auth with `forge auth status` posture
|
|
38
|
+
classifications, local `x-forge-*` header reporting, and production proof
|
|
39
|
+
next actions.
|
|
40
|
+
- Added `dbGuide` to `forge doctor runtime` and `forge doctor pglite` so agents
|
|
41
|
+
know when to use `--db memory`, `--db pglite`, stop an active process, or run
|
|
42
|
+
local PGlite repair.
|
|
43
|
+
- Updated production, self-host, field-test, security, troubleshooting, and CLI
|
|
44
|
+
docs to reflect the new deploy/auth/database workflow.
|
|
45
|
+
|
|
46
|
+
## 0.1.0-alpha.37
|
|
47
|
+
|
|
48
|
+
- Fixed `forge deps upgrade-plan` for npm alias installs used by ForgeOS apps.
|
|
49
|
+
- Recorded the real package name from package metadata in generated package
|
|
50
|
+
graph entries when a dependency is installed through an alias such as
|
|
51
|
+
`forge: npm:forgeos@...`.
|
|
52
|
+
- Resolved upgrade plans by either the real package name (`forgeos`) or the
|
|
53
|
+
dependency alias (`forge`) while preserving install specs like
|
|
54
|
+
`forge@npm:forgeos@0.1.0-alpha.37`.
|
|
55
|
+
- Avoided attempting to resolve the unrelated public `forge@alpha` package when
|
|
56
|
+
an app asks to upgrade its ForgeOS alias dependency.
|
|
57
|
+
- Added regression coverage for aliased package graph entries where the import
|
|
58
|
+
name and real npm package name differ.
|
|
59
|
+
|
|
60
|
+
## 0.1.0-alpha.36
|
|
61
|
+
|
|
62
|
+
- Smoothed the alpha field-test loop after the Vendor Access app exercise.
|
|
63
|
+
- Taught `forge deps upgrade-plan` to resolve npm alias dependencies such as
|
|
64
|
+
`forge: npm:forgeos@alpha`, while preserving alias install specs like
|
|
65
|
+
`forge@npm:forgeos@0.1.0-alpha.36` in generated upgrade plans.
|
|
66
|
+
- Normalized `auth.md` runtime risk rendering so Commands and Risk/Approval
|
|
67
|
+
metadata agree that commands default to `write`.
|
|
68
|
+
- Added non-throwing command proof APIs through generated
|
|
69
|
+
`client.commandResult(...)` and React `useCommandResult(...)`, so expected
|
|
70
|
+
policy denials can be rendered as structured results instead of noisy
|
|
71
|
+
unhandled browser failures.
|
|
72
|
+
- Updated the basic example schema/docs to use `organizations` as the root
|
|
73
|
+
tenant table instead of a self-referential `tenants` root.
|
|
74
|
+
|
|
75
|
+
## 0.1.0-alpha.35
|
|
76
|
+
|
|
77
|
+
- Hardened field-test regressions found while building WorkOS-style
|
|
78
|
+
multi-tenant apps.
|
|
79
|
+
- Resolved camelCase `ref:` targets such as `ref:accessRequests` to canonical
|
|
80
|
+
SQL table names like `access_requests`, and reported unknown refs before
|
|
81
|
+
invalid SQL reaches PGlite.
|
|
82
|
+
- Allowed WorkOS-like local dev auth headers through dev-server CORS,
|
|
83
|
+
including organization, membership, permissions, roles, and claims headers.
|
|
84
|
+
- Taught the generated agent contract and capability map to recognize
|
|
85
|
+
camelCase `ctx.db` aliases for snake_case tables.
|
|
86
|
+
- Avoided printing fake `http://127.0.0.1:0` API URLs in
|
|
87
|
+
`forge dev --port 0` startup diagnostics.
|
|
88
|
+
|
|
89
|
+
## 0.1.0-alpha.34
|
|
90
|
+
|
|
91
|
+
- Hardened the ForgeOS app-building DX after the Vendor Access field test.
|
|
92
|
+
- Made `forge workos doctor` and `forge workos seed --dry-run` app-aware by
|
|
93
|
+
deriving active permissions and resource types from generated policies, data
|
|
94
|
+
graph, agent contract, authored WorkOS policies, and `workos-seed.yml`
|
|
95
|
+
instead of assuming onboarding-specific slugs.
|
|
96
|
+
- Added strong diagnostics for unnamed runtime default exports so
|
|
97
|
+
`export default command(...)` reports `FORGE_RUNTIME_EXPORT_NAME_REQUIRED`
|
|
98
|
+
with a named-export fix hint before generated API, frontend bindings, or
|
|
99
|
+
capability maps drift.
|
|
100
|
+
- Extended local `devAuth` for React, Vue, generated clients, and runtime auth
|
|
101
|
+
parsing with WorkOS-like `permissions`, `roles`, `claims`, `organizationId`,
|
|
102
|
+
and `organizationMembershipId`.
|
|
103
|
+
- Added nullable timestamp schema support through `timestamp?` /
|
|
104
|
+
`nullable("timestamp")` and taught `forge check` to flag empty timestamp
|
|
105
|
+
literals in commands, queries, and liveQueries.
|
|
106
|
+
- Added `forge dev --detach`, `forge dev status`, `forge dev stop`, and
|
|
107
|
+
command-specific `forge dev --help` with explicit DB/port examples for
|
|
108
|
+
agent-run app previews.
|
|
109
|
+
- Added `forge changed --commit-ready` and `forge handoff --commit-ready` so
|
|
110
|
+
agents can stage exactly authored commit files while excluding generated and
|
|
111
|
+
operational artifacts.
|
|
112
|
+
- Added `forge test authz` for a cheap generated-contract proof of tenant
|
|
113
|
+
scope, policy bindings, and capability-map authz coverage.
|
|
114
|
+
- Exposed static UI/UX readiness through `forge inspect ui --ergonomics`.
|
|
115
|
+
|
|
116
|
+
## 0.1.0-alpha.33
|
|
117
|
+
|
|
118
|
+
- Fixed the Nuxt template smoke by adding the explicit `vue-tsc` dev
|
|
119
|
+
dependency required by `nuxt typecheck`, so newly scaffolded `nuxt-web` apps
|
|
120
|
+
can run `npm run typecheck` after install without manual package repair.
|
|
121
|
+
|
|
122
|
+
## 0.1.0-alpha.32
|
|
123
|
+
|
|
124
|
+
- Accepted `create-forgeos-app --git` as a supported/no-op compatibility flag
|
|
125
|
+
when git initialization is already handled by the scaffold path, and kept
|
|
126
|
+
`npm create forgeos-app@alpha .` working from empty current directories.
|
|
127
|
+
- Added stronger schema validation for `id` so apps cannot accidentally model
|
|
128
|
+
the primary key as a normal text field and generate incorrect SQL.
|
|
129
|
+
- Fixed tenant-scoped updates in the in-memory database adapter and made memory
|
|
130
|
+
timestamp handling closer to PGlite by rejecting empty timestamp strings and
|
|
131
|
+
returning `Date` objects for timestamp columns.
|
|
132
|
+
- Improved smoke/generate drift diagnostics and kept `forge handoff` read-only
|
|
133
|
+
with respect to generated artifacts.
|
|
134
|
+
- Improved WorkOS/auth app DX: root-level `workos-seed.yml`, `HEAD /auth.md`,
|
|
135
|
+
`HEAD /.well-known/oauth-protected-resource`, and clearer local-vs-production
|
|
136
|
+
auth posture.
|
|
137
|
+
- Normalized suggested Forge commands in framework checkouts so `agent`,
|
|
138
|
+
`delta`, `studio`, `status`, `changed`, `handoff`, doctors, and WorkOS/auth
|
|
139
|
+
helpers recommend `node bin/forge.mjs ...` instead of a possibly stale global
|
|
140
|
+
`forge`.
|
|
141
|
+
- Returned structured JSON diagnostics for Delta/PGlite export/open failures
|
|
142
|
+
instead of raw PGlite stack output, and expanded Windows/PGlite repair hints.
|
|
143
|
+
- Expanded `forge ui audit` with static UX/auth-readiness warnings for missing
|
|
144
|
+
semantic landmarks, unlabeled form controls, unnamed buttons, missing
|
|
145
|
+
loading/error/empty states, and tenant/prod-auth apps that still only expose
|
|
146
|
+
local dev auth posture.
|
|
147
|
+
|
|
148
|
+
## 0.1.0-alpha.31
|
|
149
|
+
|
|
150
|
+
- Added Forge workspace baselines for non-git app directories:
|
|
151
|
+
`forge baseline create` records a local baseline and `forge changed` /
|
|
152
|
+
`forge handoff` can now report baseline diffs instead of noisy full
|
|
153
|
+
filesystem inventories.
|
|
154
|
+
- Added `forge auth status` and production-aware `forge auth prove --prod`
|
|
155
|
+
posture checks so local `dev-headers` auth is clearly distinguished from
|
|
156
|
+
JWT/OIDC production authentication.
|
|
157
|
+
- Expanded `forge doctor windows` with local PGlite store posture and cleanup
|
|
158
|
+
guidance, and made PGlite abort inspection preserve the surrounding process
|
|
159
|
+
exit code.
|
|
160
|
+
- Added `forge ui audit` and wired it into `forge verify --smoke` for web apps
|
|
161
|
+
to catch missing route scenarios, missing stable Forge test IDs, and missing
|
|
162
|
+
policy-denied coverage for sensitive flows. It now also reports static
|
|
163
|
+
UX/auth-readiness warnings for missing semantic landmarks, unlabeled form
|
|
164
|
+
controls, unnamed buttons, missing loading/error/empty states, and
|
|
165
|
+
tenant/prod-auth apps that still only expose local dev auth posture.
|
|
166
|
+
- Brought the in-memory DB adapter closer to PGlite for timestamp fields by
|
|
167
|
+
rejecting empty timestamp values and returning `Date` objects for
|
|
168
|
+
`timestamp`/`timestamptz` columns.
|
|
169
|
+
- Made `forge handoff` use a read-only generated-artifact check so preparing a
|
|
170
|
+
handoff no longer rewrites `src/forge/_generated/**`, `forge.lock`, or
|
|
171
|
+
generated `AGENTS.md` noise; `forge dev --once` still self-heals stale
|
|
172
|
+
artifacts.
|
|
173
|
+
- Allowed `forge new .` / `npm create forgeos-app@alpha .` from an empty
|
|
174
|
+
current directory, while refusing non-empty directories to avoid overwriting
|
|
175
|
+
existing apps.
|
|
176
|
+
|
|
177
|
+
## 0.1.0-alpha.30
|
|
178
|
+
|
|
179
|
+
- Hardened the WorkOS/AuthKit adapter and dev telemetry after the alpha.29
|
|
180
|
+
field app test.
|
|
181
|
+
- Generated WorkOS AuthKit routes now normalize SDK `User` objects before
|
|
182
|
+
passing them into Forge session and organization-resolution helpers, so apps
|
|
183
|
+
typecheck cleanly against the WorkOS SDK without unsafe direct
|
|
184
|
+
`Record<string, unknown>` casts.
|
|
185
|
+
- Telemetry is now best-effort when a database adapter applies
|
|
186
|
+
`INSERT ... RETURNING` but omits returned rows, preventing telemetry from
|
|
187
|
+
surfacing as `FORGE_DEV_SERVER_ERROR`.
|
|
188
|
+
- Added regression coverage for generated WorkOS adapter typechecking and
|
|
189
|
+
telemetry inserts that return no rows.
|
|
190
|
+
|
|
191
|
+
## 0.1.0-alpha.29
|
|
192
|
+
|
|
193
|
+
- Added the first WorkOS/AuthKit adapter surface: `forge add auth workos`
|
|
194
|
+
generates local AuthKit wiring, `.env.example`, `workos-seed.yml`, demo
|
|
195
|
+
organizations, roles, permissions, redirect/CORS/webhook hints, JWT/OIDC
|
|
196
|
+
claim mapping, and permission-derived Forge policies.
|
|
197
|
+
- Added `forge authmd generate` and `forge authmd check`, including
|
|
198
|
+
`public/auth.md`, OAuth protected-resource metadata, command/policy/tenant
|
|
199
|
+
requirements, approval metadata, and `forge dev` serving for `/auth.md` and
|
|
200
|
+
`/.well-known/oauth-protected-resource`.
|
|
201
|
+
- Added local WorkOS/FGA scaffolding without requiring real WorkOS credentials:
|
|
202
|
+
resource graph helpers, cross-tenant guards, FGA check cache/fallback
|
|
203
|
+
telemetry, a mock WorkOS testkit, and Acme/Globex multi-tenant regression
|
|
204
|
+
coverage.
|
|
205
|
+
- Taught Forge auth and policies to evaluate permission claims alongside
|
|
206
|
+
roles, including dev-header permission simulation.
|
|
207
|
+
- Added `forge version --json` as a command alias and improved the generated
|
|
208
|
+
agent contract/capability map so table reads performed by imported local
|
|
209
|
+
helpers are captured.
|
|
210
|
+
|
|
211
|
+
## 0.1.0-alpha.28
|
|
212
|
+
|
|
213
|
+
- Accepted visible Codex hook canaries as sufficient for local editing while
|
|
214
|
+
reporting native Codex provenance separately through `nativeTrustStatus`, so
|
|
215
|
+
`waiting-for-user-trust` no longer implies missing user approval when the
|
|
216
|
+
canary path is already working.
|
|
217
|
+
- Added regression coverage and docs for the split between hook approval,
|
|
218
|
+
canary readiness, and trusted native Codex signal proof.
|
|
219
|
+
|
|
220
|
+
## 0.1.0-alpha.27
|
|
221
|
+
|
|
222
|
+
- Stabilized the `forge add convex` loop: integration docs/testkits are now
|
|
223
|
+
re-emitted by the main generator, partial `forge add` plans no longer remove
|
|
224
|
+
unrelated generated files, stale fast-check manifest hashes are pruned instead
|
|
225
|
+
of merged, and `forge add --json` includes changed package-manager files.
|
|
226
|
+
- Made runtime mock mode tolerate Bun builds without `Bun.mock.module` while
|
|
227
|
+
still applying mock secret environment variables.
|
|
228
|
+
- Filtered generated and operational filesystem noise from
|
|
229
|
+
`forge changed --authored` in non-git workspaces.
|
|
230
|
+
- Excluded Java build outputs such as `target/`, `.class`, and `.jar` files
|
|
231
|
+
from the published npm tarball.
|
|
232
|
+
|
|
233
|
+
## 0.1.0-alpha.26
|
|
234
|
+
|
|
235
|
+
- Hardened the field-demo loop after the Team Onboarding app exercise:
|
|
236
|
+
non-git workspaces now get a filesystem-backed `changed`/`handoff` summary,
|
|
237
|
+
`forge make resource` stays global unless tenant scope is explicit or already
|
|
238
|
+
modeled, capability-map extraction sees aliased `ctx.db` table usage, and
|
|
239
|
+
Agent Memory waits through short-lived DeltaDB writer locks before reporting
|
|
240
|
+
`FORGE_DELTA_BUSY`.
|
|
241
|
+
|
|
242
|
+
## 0.1.0-alpha.25
|
|
243
|
+
|
|
244
|
+
- Hardened DeltaDB and Agent Memory for concurrent `forge dev` usage:
|
|
245
|
+
dev recorders now release the writer lock between events, Agent Memory ingest
|
|
246
|
+
retries short transient writer conflicts, and queued Codex hook events keep
|
|
247
|
+
their checkpoint unchanged when DeltaDB is temporarily busy.
|
|
248
|
+
- Fixed tenant-scope reporting in the generated agent contract and capability
|
|
249
|
+
map for camelCase authored tables such as `onboardingTasks`, so liveQuery
|
|
250
|
+
dependencies now report `tenant` scope when `tenantScope.json` confirms the
|
|
251
|
+
table is tenant-scoped.
|
|
252
|
+
- Added regression tests and docs for the DeltaDB lock recovery path and the
|
|
253
|
+
Team Onboarding style capability-map tenant-scope path.
|
|
254
|
+
|
|
255
|
+
## 0.1.0-alpha.24
|
|
256
|
+
|
|
257
|
+
- Consolidated the public alpha adoption surface: MIT license, package license
|
|
258
|
+
metadata, private GitHub Security Advisory disclosure, stable-alpha status
|
|
259
|
+
matrix, AI-coding loop, three short agent demos, and repeatable agent eval
|
|
260
|
+
task specs.
|
|
261
|
+
- `forge new --json` now returns structured JSON for scaffold automation
|
|
262
|
+
instead of human next-step text.
|
|
263
|
+
- Added the initial `forge add convex` app-contract recipe with runtime
|
|
264
|
+
placement guardrails, optional Convex environment names, generated docs, and
|
|
265
|
+
a mock testkit. The deeper Convex schema/API importer is documented as
|
|
266
|
+
planned rather than implied.
|
|
267
|
+
- Expanded field-report expectations and release/doc tests for license,
|
|
268
|
+
security disclosure, create-app help, Convex recipes, and public docs
|
|
269
|
+
navigation.
|
|
270
|
+
|
|
271
|
+
## 0.1.0-alpha.23
|
|
272
|
+
|
|
273
|
+
- Tightened the post-alpha.22 release surface and package evidence:
|
|
274
|
+
added a dedicated Nuxt template smoke workflow, included `nuxt-web` in the
|
|
275
|
+
default field-test template matrix, packaged `docs/cair-protocol.md`, and
|
|
276
|
+
expanded the security/threat-model docs for DeltaDB, agent memory, CAIR,
|
|
277
|
+
Studio bridge, brownfield import, and Nuxt surfaces.
|
|
278
|
+
- `forge agent context` now returns explicit `scopeTarget` metadata and prints
|
|
279
|
+
the resolved context target for entry, change, proof, and handoff packs.
|
|
280
|
+
- `forge explain` now falls back to the current generated agent contract when
|
|
281
|
+
DeltaDB has no runtime history, marking the entry as contract-defined rather
|
|
282
|
+
than executed.
|
|
283
|
+
- DeltaDB work-session inference now treats read-only observation commands such
|
|
284
|
+
as `forge status`, `forge changed`, `forge handoff`, `forge explain`,
|
|
285
|
+
`forge timeline`, and CAIR queries as low-confidence context-gathering
|
|
286
|
+
sessions.
|
|
287
|
+
|
|
288
|
+
## 0.1.0-alpha.22
|
|
289
|
+
|
|
290
|
+
- Added focused post-alpha.21 workflow improvements without expanding MCP tools:
|
|
291
|
+
scoped Agent Memory context packs, DeltaDB verbose health details, Semantic
|
|
292
|
+
Timeline stale-proof/causal summaries, Studio snapshot handoff metadata,
|
|
293
|
+
local Delta maintenance commands (`compact`, `prune`, redacted `export`),
|
|
294
|
+
`forge doctor delta`, CAIR timeline events, and a dedicated CAIR Protocol
|
|
295
|
+
documentation page.
|
|
296
|
+
- Added an official `nuxt-web` template: a Forge notes backend plus Nuxt app
|
|
297
|
+
using client/server Forge plugins, `web/composables/useNotes.ts`, generated
|
|
298
|
+
Vue composables, a Nitro runtime-config route, and
|
|
299
|
+
`NUXT_PUBLIC_FORGE_URL`.
|
|
300
|
+
|
|
301
|
+
## 0.1.0-alpha.21
|
|
302
|
+
|
|
303
|
+
Alpha.21 hardens external-agent privacy and brownfield import polish:
|
|
304
|
+
|
|
305
|
+
- Codex hook runner queue entries now store redacted payloads instead of raw
|
|
306
|
+
prompts, tool inputs, tool responses, or transcripts.
|
|
307
|
+
- Consumed hook queue history is compacted as redacted `.history` entries, so
|
|
308
|
+
old raw queue lines are not copied forward during retention.
|
|
309
|
+
- Brownfield import now scopes write/side-effect heuristics to the detected
|
|
310
|
+
route handler when possible, preventing sibling mutating routes from making a
|
|
311
|
+
read-only GET route look command-like.
|
|
312
|
+
- Read-shaped `POST /search`, `/query`, `/filter`, `/lookup`, and `/graphql`
|
|
313
|
+
routes are emitted as `command-candidate` with `ambiguous-post-query` risk
|
|
314
|
+
until a human review decides whether they should become Forge queries or
|
|
315
|
+
commands.
|
|
316
|
+
- CLI/reference docs now include the CAIR agent protocol and clarify the
|
|
317
|
+
`alpha`/`latest` npm dist-tag policy.
|
|
318
|
+
|
|
319
|
+
## 0.1.0-alpha.20
|
|
320
|
+
|
|
321
|
+
Generated-change and hook queue fixes:
|
|
322
|
+
|
|
323
|
+
- Fixed generated-change diagnostics for `AGENTS.md` generated blocks and
|
|
324
|
+
`.forge/agent/context.json`.
|
|
325
|
+
- Skipped probe, invalid, and out-of-workspace queued hook events during Agent
|
|
326
|
+
Memory drain, and bounded large hook queue inspection.
|
|
327
|
+
- Preserved empty stdio command arguments, diagnosed malformed command strings,
|
|
328
|
+
and supported structured `service.commandArgs` in external manifests.
|
|
329
|
+
- Included the basic example client demo in typecheck coverage.
|
|
330
|
+
|
|
331
|
+
## 0.1.0-alpha.19
|
|
332
|
+
|
|
333
|
+
Alpha hardening:
|
|
334
|
+
|
|
335
|
+
- Added the `agent-workroom` app template for Forge Studio style demos: external
|
|
336
|
+
agents edit the app, while ForgeOS shows preview URL, agent signals, check
|
|
337
|
+
runs, and handoff evidence through generated commands and liveQuery bindings.
|
|
338
|
+
- 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.
|
|
339
|
+
- 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.
|
|
340
|
+
- 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.
|
|
341
|
+
- `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.
|
|
342
|
+
- Improved `forge check --json` next actions by surfacing diagnostic-specific repair/inspect commands instead of a generic last-test-run repair hint.
|
|
343
|
+
- Added `forge doctor agent --target <agent>` as the top-level agent readiness check.
|
|
344
|
+
- Added explicit `forge agent ingest <source> --watch --file <events.ndjson>` support for opt-in hook/export file ingestion.
|
|
345
|
+
- Added human-friendly verifier aliases: `forge verify quick`, `forge verify agent`, and `forge verify release`.
|
|
346
|
+
- Made `forge status --human` an explicit accepted spelling and documented `forge add <npm-package> --workspace web` as the normal package-add path.
|
|
347
|
+
- Made bare `forge inspect` default to the compact `summary` target instead of returning a usage error.
|
|
348
|
+
- 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.
|
|
349
|
+
- 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.
|
|
350
|
+
- Expanded `forge docs check` with YAML shape checks, internal Markdown link validation, optional ReadTheDocs-style venv installation, and strict MkDocs build execution.
|
|
351
|
+
- Added authored-only review paths through `forge changed --authored` and `forge diff authored`, keeping generated artifacts collapsed unless explicitly requested.
|
|
352
|
+
- Added `forge delta status --verbose --json` for schema, lock, path, and aggregate-count diagnostics without expanding the default status payload.
|
|
353
|
+
- 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.
|
|
354
|
+
|
|
355
|
+
## 0.1.0-alpha.18
|
|
356
|
+
|
|
357
|
+
Codex hook memory hardening:
|
|
358
|
+
|
|
359
|
+
- 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.
|
|
360
|
+
- Added safe command summaries, tool-call ids, result status, exit codes, response summaries, inferred files, and inferred runtime entries for Codex tool events.
|
|
361
|
+
- Updated Codex hook installation with hook timeouts, status messages, and a local wrapper for checkout-based ingestion.
|
|
362
|
+
- Updated Agent Memory docs and regression coverage for real Codex hook payloads.
|
|
363
|
+
|
|
364
|
+
## 0.1.0-alpha.17
|
|
365
|
+
|
|
366
|
+
External runtime timeline metadata:
|
|
367
|
+
|
|
368
|
+
- Enriched `forge timeline` and `forge explain` for imported external runtimes.
|
|
369
|
+
- External command/query calls now keep `service`, `language`, `risk`, `policy`, `tenantScoped`, and `needsApproval` metadata in DeltaDB.
|
|
370
|
+
- Promoted this release on npm as both `alpha` and `latest`.
|
|
371
|
+
|
|
372
|
+
## 0.1.0-alpha.16
|
|
373
|
+
|
|
374
|
+
Stability alignment:
|
|
375
|
+
|
|
376
|
+
- Fixed `forge timeline` and `forge explain` crashes after large generated artifact batches.
|
|
377
|
+
- Fixed brownfield import detection for root-level Next.js App Router and Pages API routes.
|
|
378
|
+
- Updated CLI, Agent Memory, and DeltaDB docs for the alpha.16 command surface.
|
|
379
|
+
|
|
380
|
+
## 0.1.0-alpha.15
|
|
381
|
+
|
|
382
|
+
Brownfield import analysis:
|
|
383
|
+
|
|
384
|
+
- Added H49 `forge import analyze`, `forge import inspect`, and `forge inspect imported --json`.
|
|
385
|
+
- Emits `.forge/import` inventory, route, frontend call, candidate entry, risk, migration plan, and imported agent contract artifacts.
|
|
386
|
+
- Keeps every imported entry hidden from agents until review, with approval required for command-like or risky static detections.
|
|
387
|
+
|
|
388
|
+
## 0.1.0-alpha.14
|
|
389
|
+
|
|
390
|
+
Java and Nuxt/Vue support:
|
|
391
|
+
|
|
392
|
+
- Added the Java external runtime adapter, Spring Boot starter, and `java-billing` conformance example.
|
|
393
|
+
- Added generated Vue bindings and the `forgeos/vue` export.
|
|
394
|
+
- Added Nuxt UI scaffolding through `forge make ui --framework nuxt`.
|
|
395
|
+
- Updated docs, agent adapter guidance, generated manifests, and focused Java/Vue/Nuxt tests.
|
|
396
|
+
|
|
397
|
+
## 0.1.0-alpha.13
|
|
398
|
+
|
|
399
|
+
Agent Memory Bridge:
|
|
400
|
+
|
|
401
|
+
- Added H48 redacted external agent event ingestion with normalized `forge.agent-event.v1` envelopes.
|
|
402
|
+
- Added Codex and Claude Code hook installers plus Cursor MCP/rules setup.
|
|
403
|
+
- Added `forge mcp serve`, `forge agent install`, `forge agent ingest`, `forge agent context`, and `forge agent memory`.
|
|
404
|
+
- Persisted external agent activity in DeltaDB and linked agent/tool/file events into the semantic timeline.
|
|
405
|
+
|
|
406
|
+
## 0.1.0-alpha.12
|
|
407
|
+
|
|
408
|
+
Semantic Timeline:
|
|
409
|
+
|
|
410
|
+
- Added the H47 DeltaDB semantic timeline projection with rebuildable events, entity indexes, causal edges, and projection state.
|
|
411
|
+
- Upgraded `forge timeline` from raw operations into an entity-oriented timeline for runtime entries, policies, diagnostics, proofs, services, files, and sessions.
|
|
412
|
+
- Added proof staleness detection and timeline context in `forge explain`.
|
|
413
|
+
|
|
414
|
+
## 0.1.0-alpha.11
|
|
415
|
+
|
|
416
|
+
Strict verify performance:
|
|
417
|
+
|
|
418
|
+
- Reduced the validated `forge verify --strict` wall time from roughly 358-454s to about 116s on the current Windows test machine.
|
|
419
|
+
- Added stable repo-local `tsx` CLI caching under `node_modules/.cache/forge-tsx-cli` so spawned CLI tests reuse the warm compiler path.
|
|
420
|
+
- Balanced TestGraph strict execution across shared and isolated lanes, bringing the slowest files down from roughly 50s to under 10s in the updated profile.
|
|
421
|
+
- Moved heavy refactor/impact/external runtime suites onto faster shared paths where safe and kept isolation for process-sensitive tests.
|
|
422
|
+
- Documented and guarded the cache behavior so future test helpers preserve the speedup without checking cache contents into git.
|
|
423
|
+
- Added guarded alpha release workflow support for promoting the public `latest` dist-tag when npm token auth is configured.
|
|
424
|
+
|
|
425
|
+
## 0.1.0-alpha.10
|
|
426
|
+
|
|
427
|
+
Launch polish:
|
|
428
|
+
|
|
429
|
+
- Fixed `forge run <external-command> --args ...` so CLI arguments reach the external runtime bridge.
|
|
430
|
+
- Added direct external query CLI support through `forge query <service.query> --args ...`.
|
|
431
|
+
- Emit generated `.json` artifacts as pure JSON while keeping deterministic headers on code/text artifacts.
|
|
432
|
+
- Relaxed the `minimal-web` template verify script to `forge verify --smoke` and added the missing `check` script to `b2b-support-web`.
|
|
433
|
+
- Updated public protocol/changelog docs for the external runtime and Go adapter alpha line.
|
|
434
|
+
- Bumped the create-app wrapper package line to `create-forgeos-app@0.1.0-alpha.4`.
|
|
435
|
+
|
|
436
|
+
## 0.1.0-alpha.9
|
|
437
|
+
|
|
438
|
+
Compiler, external runtime, and Go adapter:
|
|
439
|
+
|
|
440
|
+
- Added the Forge external runtime protocol bridge for manifest-backed commands and queries.
|
|
441
|
+
- Added the Go adapter MVP with a real `go-billing` conformance example.
|
|
442
|
+
- Emitted external service metadata into inspect/API/agent artifacts, including `needsApproval` for agent tools.
|
|
443
|
+
- Reuse compiler classifier package signals across export classification, dropping repeated package signal scans.
|
|
444
|
+
- Reuse serialized graph JSON when rendering the largest generated TypeScript graph artifacts.
|
|
445
|
+
- Keep generated Forge artifacts aligned with the `0.1.0-alpha.9` compiler/runtime version.
|
|
446
|
+
|
|
447
|
+
## 0.1.0-alpha.8
|
|
448
|
+
|
|
449
|
+
Publishing:
|
|
450
|
+
|
|
451
|
+
- Publish prerelease packages through the ForgeOS alpha publisher so npm dist-tags stay aligned.
|
|
452
|
+
|
|
453
|
+
## 0.1.0-alpha.7
|
|
454
|
+
|
|
455
|
+
Publishing:
|
|
456
|
+
|
|
457
|
+
- Keep npm prerelease publishing on the public alpha dist-tag.
|
|
458
|
+
|
|
459
|
+
## 0.1.0-alpha.6
|
|
460
|
+
|
|
461
|
+
Release and packaging hardening:
|
|
462
|
+
|
|
463
|
+
- Added `forge --version` / `forge --version --json`.
|
|
464
|
+
- 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`.
|
|
465
|
+
- Added dependency vulnerability evidence with an explicit waiver file and CI release gate.
|
|
466
|
+
- Updated generated web template dependencies to current Vite/plugin-react and Next majors.
|
|
467
|
+
|
|
468
|
+
## 0.1.0-alpha.5
|
|
469
|
+
|
|
470
|
+
Release alignment for the public alpha channel:
|
|
471
|
+
|
|
472
|
+
- Added `forge ai redteam --model-level --json` with deterministic prompt-injection, secret-exfiltration, approval-bypass, cross-tenant, and indirect tool-injection probes.
|
|
473
|
+
- Added `forge security prove --full --json` support for source checkouts, with graceful structural-proof fallback when packaged apps do not include ForgeOS test fixtures.
|
|
474
|
+
- Strengthened npm publish workflows to run `security prove --db postgres --full --json`.
|
|
475
|
+
- Added public registry smoke coverage for `forgeos@alpha` and `create-forgeos-app@alpha`.
|
|
476
|
+
- Bumped the create-app wrapper package line to `create-forgeos-app@0.1.0-alpha.1`.
|
|
477
|
+
|
|
478
|
+
## 0.1.0-alpha.4
|
|
479
|
+
|
|
480
|
+
Security assurance and release evidence hardening:
|
|
481
|
+
|
|
482
|
+
- Added value-aware telemetry redaction for known secret values in safe-looking fields, messages, details, outputs, and stack traces.
|
|
483
|
+
- Added webhook signature, timestamp, and replay protection helpers with Stripe/GitHub/generic HMAC coverage.
|
|
484
|
+
- Added HTTP tenant-isolation tests that exercise the dev server/API boundary, not only the internal runtime executor.
|
|
485
|
+
- Added `forge rls mutate-test --json` to kill dangerous generated RLS mutations such as missing FORCE RLS, missing policies, unconditional predicates, and `BYPASSRLS`.
|
|
486
|
+
- Extended `forge security prove --json` with RLS mutation proof and invariant-level evidence metadata.
|
|
487
|
+
- Added scripts to split security evidence by invariant and emit basic release supply-chain evidence plus CycloneDX SBOM.
|
|
488
|
+
- Strengthened publish/security workflows so release gates use Postgres-backed security proof, RLS mutation proof, release evidence, and SBOM generation.
|
|
489
|
+
|
|
490
|
+
## 0.1.0-alpha.3
|
|
491
|
+
|
|
492
|
+
Native Forge AI agents on top of Vercel AI SDK v6:
|
|
493
|
+
|
|
494
|
+
- Added `aiTool` and `agent` primitives with generated `agentTools.json` / `agentTools.md`.
|
|
495
|
+
- Added `ctx.agent.run` and `ctx.ai.runAgent` using AI SDK `ToolLoopAgent`.
|
|
496
|
+
- Added auto-tools for commands, queries, and liveQueries with read-only vs approval-required writes.
|
|
497
|
+
- Added dev agent endpoints: `POST /ai/agents/run` and `POST /ai/agents/chat`.
|
|
498
|
+
- Extended `forge ai` CLI with `tools`, `agents`, and `trace` subcommands.
|
|
499
|
+
- Added `forge inspect agent-tools` and agent tool metadata in `agentContract.json`.
|
|
500
|
+
- Upgraded runtime dependency to AI SDK v6 for tool calling, streaming UI, and MCP compatibility.
|
|
501
|
+
|
|
502
|
+
Documentation:
|
|
503
|
+
|
|
504
|
+
- Added public [AI](ai.md) page and AST-aware `rename command` codemod docs.
|
|
505
|
+
- 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.
|
|
506
|
+
|
|
507
|
+
## 0.1.0-alpha.2
|
|
508
|
+
|
|
509
|
+
Windows and generated-app hardening:
|
|
510
|
+
|
|
511
|
+
- 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.
|
|
512
|
+
- Fixed `forge dev` SSE streaming on the Node HTTP fallback so liveQuery snapshots are flushed immediately instead of buffering forever.
|
|
513
|
+
- Hardened generated app scaffolding and web dev spawning on Windows.
|
|
514
|
+
- Updated the B2B support template to route frontend imports through `web/lib/forge.ts` and use safer handler input validation.
|
|
515
|
+
- Added focused tests for Node compatibility, template scaffolding, runtime imports, and streaming responses.
|
|
516
|
+
- Added `create-forgeos-app@alpha` for `npm create forgeos-app@alpha`.
|
|
517
|
+
- Added GitHub Packages mirror workflow for scoped package publishing.
|
|
518
|
+
|
|
519
|
+
## 0.1.0-alpha.1
|
|
520
|
+
|
|
521
|
+
Republish alpha with the dependency/API oracle improvements:
|
|
522
|
+
|
|
523
|
+
- Added dependency API inspection commands for agents: `forge deps api`, `forge deps trace`, and `forge deps runtime-compat`.
|
|
524
|
+
- Added dependency API summaries to `agentContract.json`.
|
|
525
|
+
- Added package resolution traces, runtime compatibility metadata, and runtime/type mismatch diagnostics to `packageGraph`.
|
|
526
|
+
- Reduced package graph warning noise for `package.json` metadata exports, declaration-file subpaths, and pattern exports.
|
|
527
|
+
|
|
528
|
+
## 0.1.0-alpha.0
|
|
529
|
+
|
|
530
|
+
Initial alpha packaging baseline for ForgeOS.
|
|
531
|
+
|
|
532
|
+
This release line validates npm installation, the `forge` CLI binary, template creation, generated contracts, and the agent-native local development loop.
|
|
533
|
+
|
|
534
|
+
Added Read the Docs-ready public documentation, generator/package version alignment checks, and a broad generated-app field-test harness for release hardening.
|