forgeos 0.1.0-alpha.2 → 0.1.0-alpha.21
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 +4 -0
- package/AGENTS.md +168 -81
- package/CHANGELOG.md +211 -0
- package/README.md +88 -14
- 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/target/classes/dev/forgeos/adapter/Auth.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/Diagnostic.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/Entry.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/EntryKind.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/ErrorInfo.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/Forge.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/ForgeCall.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/ForgeContext.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/ForgeHandler.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/ForgeHttpHandler.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/ForgeRegistry$EntryOption.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/ForgeRegistry$RegisteredEntry.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/ForgeRegistry$RegistryOption.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/ForgeRegistry.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/Json.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/Manifest.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/RequestEnvelope.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/ResponseEnvelope.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/Risk.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/Schemas.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/Service.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/TransactionMode.class +0 -0
- package/adapters/java/target/classes/dev/forgeos/adapter/TypedForgeHandler.class +0 -0
- package/adapters/java/target/forge-java-adapter-0.1.0-alpha.11.jar +0 -0
- package/adapters/java/target/maven-archiver/pom.properties +3 -0
- package/adapters/java/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +23 -0
- package/adapters/java/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +20 -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/adapters/java-spring-boot-starter/target/classes/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +1 -0
- package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeCommand.class +0 -0
- package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeExternalService.class +0 -0
- package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeQuery.class +0 -0
- package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeServiceBeanCondition.class +0 -0
- package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeSpringAutoConfiguration.class +0 -0
- package/adapters/java-spring-boot-starter/target/classes/dev/forgeos/adapter/spring/ForgeSpringRuntime.class +0 -0
- package/adapters/java-spring-boot-starter/target/forge-java-spring-boot-starter-0.1.0-alpha.11.jar +0 -0
- package/adapters/java-spring-boot-starter/target/maven-archiver/pom.properties +3 -0
- package/adapters/java-spring-boot-starter/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +6 -0
- package/adapters/java-spring-boot-starter/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +6 -0
- package/bin/forge.mjs +18 -0
- package/docs/changelog.md +242 -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/examples/java-billing/target/classes/dev/forgeos/examples/billing/CreateInvoiceInput.class +0 -0
- package/examples/java-billing/target/classes/dev/forgeos/examples/billing/Invoice.class +0 -0
- package/examples/java-billing/target/classes/dev/forgeos/examples/billing/Main$EmptyInput.class +0 -0
- package/examples/java-billing/target/classes/dev/forgeos/examples/billing/Main$Options.class +0 -0
- package/examples/java-billing/target/classes/dev/forgeos/examples/billing/Main.class +0 -0
- package/examples/java-billing/target/java-billing-0.1.0-alpha.11-all.jar +0 -0
- package/examples/java-billing/target/java-billing-0.1.0-alpha.11.jar +0 -0
- package/examples/java-billing/target/maven-archiver/pom.properties +3 -0
- package/examples/java-billing/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +5 -0
- package/examples/java-billing/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +3 -0
- package/package.json +29 -7
- 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 +1511 -123
- package/src/forge/agent-adapters/types.ts +216 -1
- package/src/forge/agent-memory/bridge.ts +1245 -0
- package/src/forge/agent-memory/context-pack.ts +151 -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 +191 -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 +671 -3
- package/src/forge/cli/auth.ts +36 -1
- package/src/forge/cli/build.ts +20 -4
- package/src/forge/cli/changed.ts +300 -0
- package/src/forge/cli/codex-app-server.ts +877 -0
- package/src/forge/cli/commands.ts +1285 -7
- package/src/forge/cli/db.ts +121 -2
- package/src/forge/cli/deps.ts +79 -12
- package/src/forge/cli/dev.ts +502 -38
- package/src/forge/cli/docs.ts +265 -0
- package/src/forge/cli/handoff.ts +250 -0
- package/src/forge/cli/index.ts +1 -0
- package/src/forge/cli/main.ts +49 -3
- package/src/forge/cli/new.ts +3 -1
- package/src/forge/cli/next-actions.ts +23 -0
- package/src/forge/cli/output.ts +290 -1
- package/src/forge/cli/parse.ts +770 -36
- package/src/forge/cli/query.ts +32 -0
- package/src/forge/cli/release.ts +35 -11
- package/src/forge/cli/rls.ts +568 -17
- package/src/forge/cli/run.ts +41 -0
- package/src/forge/cli/secrets.ts +46 -1
- package/src/forge/cli/security.ts +381 -0
- package/src/forge/cli/self-host.ts +56 -14
- package/src/forge/cli/studio.ts +2163 -0
- package/src/forge/cli/verify.ts +1422 -32
- package/src/forge/compiler/agent-contract/build.ts +725 -41
- package/src/forge/compiler/agent-contract/types.ts +85 -0
- package/src/forge/compiler/ai-registry/build.ts +62 -1
- package/src/forge/compiler/ai-registry/constants.ts +1 -1
- package/src/forge/compiler/ai-registry/parse.ts +168 -5
- package/src/forge/compiler/api-surface/build.ts +47 -0
- package/src/forge/compiler/app-graph/build.ts +68 -8
- package/src/forge/compiler/app-graph/extract.ts +107 -0
- package/src/forge/compiler/app-graph/forge-apis.ts +1 -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 +188 -13
- package/src/forge/compiler/data-graph/parse.ts +3 -3
- package/src/forge/compiler/data-graph/sql/ddl.ts +60 -2
- 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/dev-manifest/build.ts +3 -0
- package/src/forge/compiler/diagnostics/codes.ts +35 -0
- package/src/forge/compiler/diagnostics/create.ts +8 -3
- 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 +5 -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 +85 -13
- package/src/forge/compiler/integration/add.ts +498 -22
- package/src/forge/compiler/integration/snapshot.ts +2 -0
- package/src/forge/compiler/make-registry/build.ts +19 -7
- package/src/forge/compiler/orchestrator/plan-profile.ts +23 -0
- package/src/forge/compiler/orchestrator/plan.ts +78 -7
- 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 +101 -8
- package/src/forge/compiler/package-graph/compiler.ts +13 -3
- 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/policy-registry/build.ts +44 -1
- package/src/forge/compiler/test-graph/build.ts +11 -3
- package/src/forge/compiler/types/ai-registry.ts +25 -1
- package/src/forge/compiler/types/app-graph.ts +9 -2
- package/src/forge/compiler/types/cli.ts +76 -1
- package/src/forge/compiler/types/dev-manifest.ts +3 -0
- package/src/forge/compiler/types/frontend-graph.ts +2 -2
- package/src/forge/delta/classifier.ts +52 -0
- package/src/forge/delta/explain.ts +126 -0
- package/src/forge/delta/git-observer.ts +43 -0
- package/src/forge/delta/ids.ts +44 -0
- package/src/forge/delta/index.ts +13 -0
- package/src/forge/delta/recorder.ts +402 -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 +489 -0
- package/src/forge/delta/store.ts +2975 -0
- package/src/forge/delta/timeline.ts +104 -0
- package/src/forge/dev/server.ts +768 -15
- package/src/forge/dev/types.ts +15 -1
- package/src/forge/dev/watch.ts +17 -7
- package/src/forge/dev-console/cycle.ts +233 -21
- package/src/forge/dev-console/types.ts +46 -1
- package/src/forge/impact/index.ts +46 -8
- package/src/forge/impact/types.ts +6 -0
- package/src/forge/intent/index.ts +35 -16
- package/src/forge/make/index.ts +149 -6
- package/src/forge/make/templates.ts +343 -2
- package/src/forge/make/types.ts +3 -1
- 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/ai/context.ts +210 -5
- package/src/forge/runtime/ai/types.ts +70 -0
- package/src/forge/runtime/auth/claims.ts +32 -0
- package/src/forge/runtime/auth/errors.ts +2 -0
- package/src/forge/runtime/context/create-context.ts +30 -6
- package/src/forge/runtime/db/generated-client.ts +13 -2
- package/src/forge/runtime/db/memory-adapter.ts +2 -2
- package/src/forge/runtime/db/pglite-adapter.ts +77 -2
- package/src/forge/runtime/db/postgres-adapter.ts +6 -3
- package/src/forge/runtime/executor.ts +112 -2
- package/src/forge/runtime/external/bridge.ts +649 -0
- package/src/forge/runtime/runner/run-entry.ts +16 -7
- package/src/forge/runtime/telemetry/scrubber.ts +91 -10
- package/src/forge/runtime/webhooks/security.ts +184 -0
- package/src/forge/server.ts +100 -2
- package/src/forge/version.ts +1 -1
- package/src/forge/vue/index.ts +407 -0
- package/src/forge/workspace/change-summary.ts +209 -0
- package/src/forge/workspace/forge-cli.ts +14 -0
- package/src/forge/workspace/git-summary.ts +279 -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 +2 -0
- package/templates/b2b-support-web/tsconfig.json +4 -1
- package/templates/b2b-support-web/web/package.json +1 -1
- package/templates/minimal-web/package.json +2 -1
- package/templates/minimal-web/tsconfig.json +3 -1
- package/templates/minimal-web/web/package.json +2 -2
- 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 -7696
- package/src/forge/_generated/agentQuickstart.md +0 -32
- package/src/forge/_generated/aiContext.ts +0 -59
- package/src/forge/_generated/aiModels.json +0 -2
- package/src/forge/_generated/aiModels.ts +0 -35
- 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 -29
- 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 -14667
- package/src/forge/_generated/appMap.md +0 -35
- 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 -47
- 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 -67
- 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 -163
- package/src/forge/_generated/makeTemplates.json +0 -2
- package/src/forge/_generated/makeTemplates.ts +0 -61
- package/src/forge/_generated/mockMap.json +0 -2
- package/src/forge/_generated/mockMap.ts +0 -7
- package/src/forge/_generated/operationPlaybooks.md +0 -147
- package/src/forge/_generated/packageGraph.json +0 -2
- package/src/forge/_generated/packageGraph.ts +0 -245249
- 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 -327385
- package/src/forge/_generated/runtimeRegistry.ts +0 -2
- package/src/forge/_generated/runtimeRules.md +0 -79
- 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 -3108
- package/src/forge/_generated/testPlanRegistry.json +0 -2
- package/src/forge/_generated/testPlanRegistry.ts +0 -33
- package/src/forge/_generated/uiRoutes.json +0 -2
- package/src/forge/_generated/uiRoutes.ts +0 -16
- package/src/forge/_generated/uiScenarios.json +0 -2
- package/src/forge/_generated/uiScenarios.ts +0 -30
- package/src/forge/_generated/uiTestManifest.json +0 -2
- package/src/forge/_generated/uiTestManifest.ts +0 -27
- package/src/forge/_generated/workflowRegistry.json +0 -2
- package/src/forge/_generated/workflowRegistry.ts +0 -9
- package/src/forge/_generated/workflowSubscriptions.json +0 -2
- package/src/forge/_generated/workflowSubscriptions.ts +0 -10
package/.npmignore
CHANGED
package/AGENTS.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.21 input=e2f2a360a9fd4118a2d21dd1353365628fe3927c40f9f9ce870f448f3e221f90 content=0d493cf0e41b71cb652d5e0e1b0c1f83d2a1281b748321f0b00f0773ba93074e
|
|
2
2
|
# AGENTS.md
|
|
3
3
|
|
|
4
4
|
<!-- forge-generated:start -->
|
|
@@ -7,23 +7,51 @@
|
|
|
7
7
|
|
|
8
8
|
This is a ForgeOS application named `forgeos`.
|
|
9
9
|
|
|
10
|
+
## CLI entrypoint
|
|
11
|
+
|
|
12
|
+
This is the ForgeOS framework checkout. Use `node bin/forge.mjs ...` so maintainer commands run against this source tree; reserve the global `forge` command for installed-package smoke tests.
|
|
13
|
+
|
|
10
14
|
## Required workflow
|
|
11
15
|
|
|
12
16
|
Before editing:
|
|
13
17
|
|
|
14
18
|
```bash
|
|
15
|
-
forge
|
|
16
|
-
forge
|
|
17
|
-
forge
|
|
18
|
-
forge
|
|
19
|
+
node bin/forge.mjs agent onboard --target codex --json
|
|
20
|
+
node bin/forge.mjs status --json
|
|
21
|
+
node bin/forge.mjs changed --json
|
|
22
|
+
node bin/forge.mjs handoff --json
|
|
23
|
+
node bin/forge.mjs do inspect --json
|
|
24
|
+
node bin/forge.mjs dev --once --json
|
|
25
|
+
node bin/forge.mjs agent print-context --json
|
|
26
|
+
node bin/forge.mjs check --json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## CAIR first
|
|
30
|
+
|
|
31
|
+
Before reading large files or hand-writing patches, prefer the generated CAIR guide:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
node bin/forge.mjs cair snapshot
|
|
35
|
+
node bin/forge.mjs cair query "Q ST"
|
|
36
|
+
node bin/forge.mjs cair query "Q S name=<symbol>"
|
|
37
|
+
node bin/forge.mjs cair query "Q D S#1"
|
|
38
|
+
node bin/forge.mjs cair query "Q R S#1"
|
|
39
|
+
node bin/forge.mjs cair query "Q I S#1"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Use `src/forge/_generated/agentCairGuide.md` for the full compact protocol. Plan CAIR mutations before applying them:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
node bin/forge.mjs cair action --plan "A RN t=S#1 nn=<newName>"
|
|
46
|
+
node bin/forge.mjs cair action "A APPLY plan=<returned-plan-path>"
|
|
19
47
|
```
|
|
20
48
|
|
|
21
49
|
After editing:
|
|
22
50
|
|
|
23
51
|
```bash
|
|
24
|
-
forge generate
|
|
25
|
-
forge check
|
|
26
|
-
forge verify
|
|
52
|
+
node bin/forge.mjs generate
|
|
53
|
+
node bin/forge.mjs check
|
|
54
|
+
node bin/forge.mjs verify framework
|
|
27
55
|
```
|
|
28
56
|
|
|
29
57
|
## Do not edit
|
|
@@ -34,7 +62,7 @@ Do not:
|
|
|
34
62
|
- `forge.lock`
|
|
35
63
|
- `deploy/docker-compose.yml`, unless changing deployment config intentionally
|
|
36
64
|
|
|
37
|
-
Template apps may ignore `src/forge/_generated/**` and `forge.lock` in git to reduce visual noise. Recreate them with `forge generate` before checking, testing, or handing work off.
|
|
65
|
+
Template apps may ignore `src/forge/_generated/**` and `forge.lock` in git to reduce visual noise. Recreate them with `node bin/forge.mjs generate` before checking, testing, or handing work off.
|
|
38
66
|
|
|
39
67
|
## Runtime model
|
|
40
68
|
|
|
@@ -44,14 +72,14 @@ Template apps may ignore `src/forge/_generated/**` and `forge.lock` in git to re
|
|
|
44
72
|
- Workflows orchestrate durable steps.
|
|
45
73
|
- Production liveQuery uses a durable invalidation log; polling/notify are wakeups only.
|
|
46
74
|
- Production API calls use `Authorization: Bearer <JWT>` in `jwt` or `oidc` auth mode.
|
|
47
|
-
- `dev-headers` auth is for `forge dev`, tests, and local agent workflows only.
|
|
75
|
+
- `dev-headers` auth is for `node bin/forge.mjs dev`, tests, and local agent workflows only.
|
|
48
76
|
- AI is only allowed in actions, workflows, endpoints, and server code.
|
|
49
77
|
- Secrets are accessed through `ctx.secrets`.
|
|
50
78
|
|
|
51
79
|
## Runtime rules
|
|
52
80
|
|
|
53
81
|
- Do not import network packages inside `command`, `query`, or `liveQuery`.
|
|
54
|
-
- Do not
|
|
82
|
+
- Do not read secrets or server runtime config through `process.env` in Forge runtime code; use `ctx.secrets` or generated config context. Public frontend bridge env such as `NEXT_PUBLIC_*` and `NUXT_PUBLIC_*` is allowed in web bridge files.
|
|
55
83
|
- Do not access cross-tenant data.
|
|
56
84
|
- Commands must use `ctx.emit` for side effects.
|
|
57
85
|
- Actions and workflows handle side effects after commit.
|
|
@@ -60,31 +88,38 @@ Template apps may ignore `src/forge/_generated/**` and `forge.lock` in git to re
|
|
|
60
88
|
## Useful commands
|
|
61
89
|
|
|
62
90
|
```bash
|
|
63
|
-
forge do "<objective>" --json
|
|
64
|
-
forge do fix --json
|
|
65
|
-
forge do verify --json
|
|
66
|
-
forge dev --once --json
|
|
67
|
-
forge dev
|
|
68
|
-
forge
|
|
69
|
-
forge inspect
|
|
70
|
-
forge inspect
|
|
71
|
-
forge inspect
|
|
72
|
-
forge
|
|
73
|
-
forge
|
|
74
|
-
forge
|
|
75
|
-
forge
|
|
76
|
-
forge
|
|
77
|
-
forge
|
|
78
|
-
forge
|
|
79
|
-
forge inspect
|
|
80
|
-
forge
|
|
81
|
-
forge
|
|
82
|
-
forge
|
|
83
|
-
forge
|
|
84
|
-
forge
|
|
85
|
-
forge
|
|
86
|
-
forge
|
|
87
|
-
forge
|
|
91
|
+
node bin/forge.mjs do "<objective>" --json
|
|
92
|
+
node bin/forge.mjs do fix --json
|
|
93
|
+
node bin/forge.mjs do verify --json
|
|
94
|
+
node bin/forge.mjs dev --once --json
|
|
95
|
+
node bin/forge.mjs dev
|
|
96
|
+
node bin/forge.mjs handoff --json
|
|
97
|
+
node bin/forge.mjs inspect app --json
|
|
98
|
+
node bin/forge.mjs inspect all --json
|
|
99
|
+
node bin/forge.mjs inspect all --full --json
|
|
100
|
+
node bin/forge.mjs inspect frontend --json
|
|
101
|
+
node bin/forge.mjs inspect capabilities --json
|
|
102
|
+
node bin/forge.mjs inspect agent-tools --json
|
|
103
|
+
node bin/forge.mjs deps inspect <package> --json
|
|
104
|
+
node bin/forge.mjs deps api <package> <symbol> --json
|
|
105
|
+
node bin/forge.mjs deps trace <package> --json
|
|
106
|
+
node bin/forge.mjs auth check --json
|
|
107
|
+
node bin/forge.mjs inspect runtime-matrix --json
|
|
108
|
+
node bin/forge.mjs inspect policies --json
|
|
109
|
+
node bin/forge.mjs inspect client --json
|
|
110
|
+
node bin/forge.mjs inspect live-production --json
|
|
111
|
+
node bin/forge.mjs live status --json
|
|
112
|
+
node bin/forge.mjs doctor
|
|
113
|
+
node bin/forge.mjs doctor windows --json
|
|
114
|
+
node bin/forge.mjs setup windows --json
|
|
115
|
+
node bin/forge.mjs agent print-context --json
|
|
116
|
+
node bin/forge.mjs agent doctor --target codex --json
|
|
117
|
+
node bin/forge.mjs ai tools --json
|
|
118
|
+
node bin/forge.mjs ai agents --json
|
|
119
|
+
node bin/forge.mjs ai trace <traceId> --json
|
|
120
|
+
node bin/forge.mjs verify --smoke
|
|
121
|
+
node bin/forge.mjs verify --standard
|
|
122
|
+
node bin/forge.mjs verify framework
|
|
88
123
|
```
|
|
89
124
|
|
|
90
125
|
## Data
|
|
@@ -103,6 +138,21 @@ Tenant-scoped tables:
|
|
|
103
138
|
- ANTHROPIC_API_KEY (required)
|
|
104
139
|
- OPENAI_API_KEY (required)
|
|
105
140
|
|
|
141
|
+
## AI Tools And Agents
|
|
142
|
+
|
|
143
|
+
- AI SDK engine: Vercel AI SDK v6.
|
|
144
|
+
- Forge layer: generated registry, runtime rules, telemetry, secrets, tenant/auth context, and agent contract.
|
|
145
|
+
- Use `ctx.agent.run` or `ctx.ai.runAgent` only in actions, workflows, endpoints, and server code.
|
|
146
|
+
- Do not create custom tool loops; use Forge tools and AI SDK `ToolLoopAgent` through the Forge runtime.
|
|
147
|
+
|
|
148
|
+
Tools:
|
|
149
|
+
|
|
150
|
+
- none
|
|
151
|
+
|
|
152
|
+
Agents:
|
|
153
|
+
|
|
154
|
+
- none
|
|
155
|
+
|
|
106
156
|
## Auth
|
|
107
157
|
|
|
108
158
|
- Modes: dev-headers, jwt, oidc, disabled
|
|
@@ -123,9 +173,9 @@ Tenant-scoped tables:
|
|
|
123
173
|
|
|
124
174
|
Rules:
|
|
125
175
|
|
|
126
|
-
- Use the local `web/**/lib/forge.ts` bridge to generated
|
|
127
|
-
- Mount `<ForgeProvider devAuth>` in local development.
|
|
128
|
-
- Use `useQuery
|
|
176
|
+
- Use the local `web/**/lib/forge.ts` or Nuxt `web/composables/forge.ts` bridge to generated bindings.
|
|
177
|
+
- Mount `<ForgeProvider devAuth>` or install the Nuxt Forge plugin in local development.
|
|
178
|
+
- Use `useQuery`/`useCommand`/`useLiveQuery` or `useForgeQuery`/`useForgeCommand`/`useForgeLiveQuery` instead of raw Forge endpoint fetches in components.
|
|
129
179
|
- Keep frontend routes reflected in `src/forge/_generated/frontendGraph.json`.
|
|
130
180
|
|
|
131
181
|
## Common tasks
|
|
@@ -135,29 +185,31 @@ Rules:
|
|
|
135
185
|
Use:
|
|
136
186
|
|
|
137
187
|
```bash
|
|
138
|
-
forge do "<objective>" --json
|
|
139
|
-
forge do fix --json
|
|
140
|
-
forge do connect-ui --json
|
|
141
|
-
forge do verify --json
|
|
188
|
+
node bin/forge.mjs do "<objective>" --json
|
|
189
|
+
node bin/forge.mjs do fix --json
|
|
190
|
+
node bin/forge.mjs do connect-ui --json
|
|
191
|
+
node bin/forge.mjs do verify --json
|
|
142
192
|
```
|
|
143
193
|
|
|
144
|
-
`forge do` returns intent, plan, filesToInspect, filesToChange, risks, concrete commands, and nextAction. Prefer it before choosing lower-level CLI commands manually.
|
|
194
|
+
`node bin/forge.mjs do` returns intent, plan, filesToInspect, filesToChange, risks, concrete commands, and nextAction. Prefer it before choosing lower-level CLI commands manually.
|
|
145
195
|
|
|
146
196
|
### Add a command
|
|
147
197
|
|
|
148
198
|
1. Add file in `src/commands`.
|
|
149
199
|
2. Declare `auth: can("...")`.
|
|
150
|
-
3. Run `forge generate`.
|
|
151
|
-
4. Run `forge verify
|
|
200
|
+
3. Run `node bin/forge.mjs generate`.
|
|
201
|
+
4. Run `node bin/forge.mjs verify framework`.
|
|
152
202
|
|
|
153
203
|
### Scaffold a resource
|
|
154
204
|
|
|
155
205
|
Use:
|
|
156
206
|
|
|
157
207
|
```bash
|
|
158
|
-
forge make resource <name> --fields title:text,status:enum(open,closed) --dry-run --json
|
|
159
|
-
forge make resource <name> --fields title:text,status:enum(open,closed) --with-ui --yes
|
|
160
|
-
forge make ui --framework vite --dry-run --json
|
|
208
|
+
node bin/forge.mjs make resource <name> --fields title:text,status:enum(open,closed) --dry-run --json
|
|
209
|
+
node bin/forge.mjs make resource <name> --fields title:text,status:enum(open,closed) --with-ui --yes
|
|
210
|
+
node bin/forge.mjs make ui --framework vite --dry-run --json
|
|
211
|
+
node bin/forge.mjs make ui --framework nuxt --dry-run --json
|
|
212
|
+
node bin/forge.mjs make ai-chat support --dry-run --json
|
|
161
213
|
```
|
|
162
214
|
|
|
163
215
|
Review the plan before applying when the resource touches schema or policies.
|
|
@@ -167,22 +219,22 @@ Review the plan before applying when the resource touches schema or policies.
|
|
|
167
219
|
Use:
|
|
168
220
|
|
|
169
221
|
```bash
|
|
170
|
-
forge dev --once --json
|
|
171
|
-
forge dev
|
|
172
|
-
forge inspect frontend --json
|
|
173
|
-
forge inspect capabilities --json
|
|
222
|
+
node bin/forge.mjs dev --once --json
|
|
223
|
+
node bin/forge.mjs dev
|
|
224
|
+
node bin/forge.mjs inspect frontend --json
|
|
225
|
+
node bin/forge.mjs inspect capabilities --json
|
|
174
226
|
```
|
|
175
227
|
|
|
176
|
-
`forge dev` starts the API runtime and web app together when `web/` exists. `forge dev --once --json` reports routes, components,
|
|
228
|
+
`node bin/forge.mjs dev` starts the API runtime and web app together when `web/` exists. `node bin/forge.mjs dev --once --json` reports routes, components, providers/plugins, bridge files, generated client bindings, direct runtime fetch warnings, capability-map parity warnings, and fix hints.
|
|
177
229
|
|
|
178
230
|
### Apply a feature blueprint
|
|
179
231
|
|
|
180
232
|
Use:
|
|
181
233
|
|
|
182
234
|
```bash
|
|
183
|
-
forge feature validate .forge/blueprints/<name>.json --json
|
|
184
|
-
forge feature plan .forge/blueprints/<name>.json
|
|
185
|
-
forge feature apply .forge/blueprints/<name>.json --yes
|
|
235
|
+
node bin/forge.mjs feature validate .forge/blueprints/<name>.json --json
|
|
236
|
+
node bin/forge.mjs feature plan .forge/blueprints/<name>.json
|
|
237
|
+
node bin/forge.mjs feature apply .forge/blueprints/<name>.json --yes
|
|
186
238
|
```
|
|
187
239
|
|
|
188
240
|
Review high-risk plans before applying. Use `--allow-high-risk` only when intentional.
|
|
@@ -192,47 +244,63 @@ Review high-risk plans before applying. Use `--allow-high-risk` only when intent
|
|
|
192
244
|
Use:
|
|
193
245
|
|
|
194
246
|
```bash
|
|
195
|
-
forge refactor rename field tickets.priority tickets.urgency --dry-run --json
|
|
196
|
-
forge refactor rename field tickets.priority tickets.urgency --yes
|
|
247
|
+
node bin/forge.mjs refactor rename field tickets.priority tickets.urgency --dry-run --json
|
|
248
|
+
node bin/forge.mjs refactor rename field tickets.priority tickets.urgency --yes
|
|
249
|
+
node bin/forge.mjs refactor rename command createTicket openTicket --dry-run --json
|
|
250
|
+
node bin/forge.mjs refactor rename command createTicket openTicket --yes
|
|
197
251
|
```
|
|
198
252
|
|
|
199
|
-
These codemods are AST-aware for `extract-action`, `rename field`, and `rename table`. Field renames are scoped to the target table, so `tickets.priority` only rewrites references linked to `tickets`.
|
|
253
|
+
These codemods are AST-aware for `extract-action`, `rename command`, `rename field`, and `rename table`. Command renames update runtime registries, generated client references, frontend hooks, tests, and string references where safe. Field renames are scoped to the target table, so `tickets.priority` only rewrites references linked to `tickets`.
|
|
200
254
|
|
|
201
|
-
Never edit `src/forge/_generated/**` directly. Review migration hints before applying field or table renames.
|
|
255
|
+
Never edit `src/forge/_generated/**` directly. Review migration hints before applying command, field, or table renames.
|
|
202
256
|
|
|
203
257
|
### Plan impact-based tests
|
|
204
258
|
|
|
205
259
|
Use:
|
|
206
260
|
|
|
207
261
|
```bash
|
|
208
|
-
forge impact --changed --json
|
|
209
|
-
forge test plan --changed --json
|
|
210
|
-
forge test run --changed --timeout-ms 120000 --json
|
|
211
|
-
forge verify --standard
|
|
262
|
+
node bin/forge.mjs impact --changed --json
|
|
263
|
+
node bin/forge.mjs test plan --changed --json
|
|
264
|
+
node bin/forge.mjs test run --changed --timeout-ms 120000 --json
|
|
265
|
+
node bin/forge.mjs verify --standard
|
|
212
266
|
```
|
|
213
267
|
|
|
214
|
-
Use `forge verify --standard` for the normal agent development loop. Finish handoffs with `forge verify
|
|
268
|
+
Use `node bin/forge.mjs verify --standard` for the normal agent development loop. Finish handoffs with `node bin/forge.mjs verify framework` when the change is ready.
|
|
215
269
|
|
|
216
270
|
### Repair a failing check
|
|
217
271
|
|
|
218
272
|
When a Forge check fails, do not guess. Use:
|
|
219
273
|
|
|
220
274
|
```bash
|
|
221
|
-
forge repair diagnose --from-last-test-run --json
|
|
222
|
-
forge repair plan --from-last-test-run --write
|
|
275
|
+
node bin/forge.mjs repair diagnose --from-last-test-run --json
|
|
276
|
+
node bin/forge.mjs repair plan --from-last-test-run --write
|
|
223
277
|
```
|
|
224
278
|
|
|
225
279
|
Apply only high-confidence deterministic repairs automatically. Review medium or low confidence repairs before changing code.
|
|
226
280
|
|
|
281
|
+
### Add AI tools or agents
|
|
282
|
+
|
|
283
|
+
Use:
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
node bin/forge.mjs generate
|
|
287
|
+
node bin/forge.mjs inspect ai --json
|
|
288
|
+
node bin/forge.mjs agent print-context --json
|
|
289
|
+
node bin/forge.mjs ai check --json
|
|
290
|
+
node bin/forge.mjs ai trace <traceId> --json
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
Define tools with `aiTool({ inputSchema, outputSchema, risk, needsApproval, handler })` and agents with `agent({ provider, model, instructions, tools, stopWhen })`. Execute agents with `ctx.agent.run` or `ctx.ai.runAgent` only from actions, workflows, endpoints, or server code. In dev, POST `/ai/agents/run` returns JSON for automation and POST `/ai/agents/chat` returns an AI SDK UIMessage stream for React `useChat`; both accept `agent: "<exportedAgentName>"` and use generated auto-tools from `agentTools.json`.
|
|
294
|
+
|
|
227
295
|
### Export agent adapters
|
|
228
296
|
|
|
229
297
|
Use:
|
|
230
298
|
|
|
231
299
|
```bash
|
|
232
|
-
forge agent export --target generic
|
|
233
|
-
forge agent export --target codex
|
|
234
|
-
forge agent export --target cursor
|
|
235
|
-
forge agent export --target claude
|
|
300
|
+
node bin/forge.mjs agent export --target generic
|
|
301
|
+
node bin/forge.mjs agent export --target codex
|
|
302
|
+
node bin/forge.mjs agent export --target cursor
|
|
303
|
+
node bin/forge.mjs agent export --target claude
|
|
236
304
|
```
|
|
237
305
|
|
|
238
306
|
Adapter files are derived from `agentContract.json`, `appMap.md`, `runtimeRules.md`, `operationPlaybooks.md`, and this `AGENTS.md`. Do not treat Codex, Cursor, Claude, or custom adapter files as the source of truth.
|
|
@@ -242,7 +310,7 @@ Adapter files are derived from `agentContract.json`, `appMap.md`, `runtimeRules.
|
|
|
242
310
|
Use:
|
|
243
311
|
|
|
244
312
|
```bash
|
|
245
|
-
forge add <alias>
|
|
313
|
+
node bin/forge.mjs add <alias>
|
|
246
314
|
```
|
|
247
315
|
|
|
248
316
|
Do not install packages manually unless intentional.
|
|
@@ -252,11 +320,11 @@ Do not install packages manually unless intentional.
|
|
|
252
320
|
Use:
|
|
253
321
|
|
|
254
322
|
```bash
|
|
255
|
-
forge deps upgrade-plan <package> --to latest
|
|
256
|
-
forge deps inspect <package> --json
|
|
257
|
-
forge deps api <package> <symbol> --json
|
|
258
|
-
forge deps upgrade-apply <plan>
|
|
259
|
-
forge verify
|
|
323
|
+
node bin/forge.mjs deps upgrade-plan <package> --to latest
|
|
324
|
+
node bin/forge.mjs deps inspect <package> --json
|
|
325
|
+
node bin/forge.mjs deps api <package> <symbol> --json
|
|
326
|
+
node bin/forge.mjs deps upgrade-apply <plan>
|
|
327
|
+
node bin/forge.mjs verify framework
|
|
260
328
|
```
|
|
261
329
|
|
|
262
330
|
Do not manually edit `package.json` for package upgrades unless necessary.
|
|
@@ -266,9 +334,9 @@ Do not manually edit `package.json` for package upgrades unless necessary.
|
|
|
266
334
|
Use:
|
|
267
335
|
|
|
268
336
|
```bash
|
|
269
|
-
forge live status --json
|
|
270
|
-
forge live invalidations list --json
|
|
271
|
-
forge live debug <subscriptionId> --json
|
|
337
|
+
node bin/forge.mjs live status --json
|
|
338
|
+
node bin/forge.mjs live invalidations list --json
|
|
339
|
+
node bin/forge.mjs live debug <subscriptionId> --json
|
|
272
340
|
```
|
|
273
341
|
|
|
274
342
|
Durable invalidations live in `_forge_live_invalidations`.
|
|
@@ -279,4 +347,23 @@ Durable invalidations live in `_forge_live_invalidations`.
|
|
|
279
347
|
|
|
280
348
|
Project-specific notes can go here.
|
|
281
349
|
|
|
350
|
+
## Cursor Cloud specific instructions
|
|
351
|
+
|
|
352
|
+
This repo is the ForgeOS framework/compiler itself (package `forgeos`), not a generated app. The development toolchain is Node.js (>= 22.14, present) plus **Bun**, which is the repo's test runner and canonical package manager (`bun.lock`). The Cloud VM snapshot has Bun pre-installed at `~/.bun/bin/bun` (added to `PATH` via `~/.bashrc`); if `bun` is not on `PATH` in a non-login shell, use `~/.bun/bin/bun` or `export PATH="$HOME/.bun/bin:$PATH"`.
|
|
353
|
+
|
|
354
|
+
Standard commands (see `package.json`, `CONTRIBUTING.md`, `.github/workflows/ci.yml`):
|
|
355
|
+
|
|
356
|
+
- Install deps: `bun install --ignore-scripts` (the update script runs this). `--ignore-scripts` matches CI; native deps like `tree-sitter` are not built and tests do not need them.
|
|
357
|
+
- Lint: `npm run lint` (runs `node --import tsx ./src/forge/cli/lint-forge.ts`).
|
|
358
|
+
- Typecheck: `npm run typecheck` (`tsc --noEmit`).
|
|
359
|
+
- Tests: `bun test` (~2 min, 650 tests). 4 tests are skipped by design unless extra tooling/env is set (`FORGE_SMOKE_REAL=1`, a real Postgres, `FORGE_MAVEN`).
|
|
360
|
+
- Generate + verify: `bun run forge generate` then `bun run forge verify --standard --script-timeout-ms 120000`.
|
|
361
|
+
|
|
362
|
+
Non-obvious gotchas:
|
|
363
|
+
|
|
364
|
+
- `bun run forge generate` rewrites `src/forge/_generated/**`, `forge.lock`, and the `// @forge-generated` header `input=` hash in `AGENTS.md`. These regenerated diffs are environment-dependent and should NOT be committed (per "Do not edit" above). `forge verify` regenerates internally, so `generate-check` can pass even while `git status` shows these as dirty. Run `git checkout -- .` to discard them before committing unrelated work.
|
|
365
|
+
- The CLI runs under Node via `tsx` (`node ./bin/forge.mjs ...` or `npm run forge -- ...`); only the test runner needs Bun.
|
|
366
|
+
- To run an actual Forge app end-to-end, scaffold one from a template and run the dev servers. From a temp dir: `node /workspace/bin/forge.mjs new notes-app --template minimal-web --package-manager npm --forge-spec "file:/workspace" --install --no-git`, then `cd notes-app && npm run dev`. `forge dev` starts the API runtime (pglite, default `http://127.0.0.1:3765`) and the Vite web app (default `http://127.0.0.1:5173`); use `forge dev --api-only` for backend only.
|
|
367
|
+
- Hitting the runtime directly: POST `/commands/<name>` and `/queries/<name>` with body shaped as `{ "args": { ... } }`. In `dev-headers` auth mode pass `x-forge-user-id` and `x-forge-role` (e.g. `owner`) headers; `<ForgeProvider devAuth>` defaults to user `dev-user`, tenant `dev-tenant`, role `owner`.
|
|
368
|
+
|
|
282
369
|
<!-- user-notes:end -->
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,216 @@
|
|
|
1
1
|
# forgeos
|
|
2
2
|
|
|
3
|
+
## 0.1.0-alpha.21
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Harden Codex hook queue privacy and brownfield import classification.
|
|
8
|
+
|
|
9
|
+
- Queue new Codex hook events as redacted payloads instead of storing raw prompts, tool inputs, tool responses, or transcripts in `.forge/agent/events.ndjson`.
|
|
10
|
+
- Compact consumed hook queue history into redacted `.history` lines so old raw queue entries are not copied forward during drain retention.
|
|
11
|
+
- Scope brownfield route classification to the detected route handler, so read-only GET handlers are not marked command-like because a sibling route in the same file writes state.
|
|
12
|
+
- Mark read-shaped `POST /search`, `/query`, `/filter`, `/lookup`, and `/graphql` routes as `command-candidate` with `ambiguous-post-query` risk instead of treating them as normal writes.
|
|
13
|
+
- Sync the public docs changelog/CLI reference and clarify the alpha/latest npm dist-tag policy.
|
|
14
|
+
|
|
15
|
+
## 0.1.0-alpha.20
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Fix generated-change diagnostics, Codex hook queue handling, and external stdio command parsing.
|
|
20
|
+
|
|
21
|
+
- Classify generated `AGENTS.md` blocks and `.forge/agent/context.json` as derived artifacts in `forge changed`/`forge status`.
|
|
22
|
+
- Skip probe, invalid, and out-of-workspace queued hook events during Agent Memory drain, and bound queue inspection for large hook queues.
|
|
23
|
+
- Preserve empty stdio command arguments, diagnose malformed command strings, and support structured `service.commandArgs` in external manifests.
|
|
24
|
+
- Include the basic example client demo in typecheck coverage.
|
|
25
|
+
|
|
26
|
+
## Unreleased
|
|
27
|
+
|
|
28
|
+
## 0.1.0-alpha.19
|
|
29
|
+
|
|
30
|
+
Alpha hardening:
|
|
31
|
+
|
|
32
|
+
- Added the `agent-workroom` app template for Forge Studio style demos: external
|
|
33
|
+
agents edit the app, while ForgeOS shows preview URL, agent signals, check
|
|
34
|
+
runs, and handoff evidence through generated commands and liveQuery bindings.
|
|
35
|
+
- 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.
|
|
36
|
+
- 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.
|
|
37
|
+
- 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.
|
|
38
|
+
- `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.
|
|
39
|
+
- Improved `forge check --json` next actions by surfacing diagnostic-specific repair/inspect commands instead of a generic last-test-run repair hint.
|
|
40
|
+
- Added `forge doctor agent --target <agent>` as the top-level agent readiness check.
|
|
41
|
+
- Added explicit `forge agent ingest <source> --watch --file <events.ndjson>` support for opt-in hook/export file ingestion.
|
|
42
|
+
- Added human-friendly verifier aliases: `forge verify quick`, `forge verify agent`, and `forge verify release`.
|
|
43
|
+
- Made `forge status --human` an explicit accepted spelling and documented `forge add <npm-package> --workspace web` as the normal package-add path.
|
|
44
|
+
- Made bare `forge inspect` default to the compact `summary` target instead of returning a usage error.
|
|
45
|
+
- 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.
|
|
46
|
+
- 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.
|
|
47
|
+
- Expanded `forge docs check` with YAML shape checks, internal Markdown link validation, optional ReadTheDocs-style venv installation, and strict MkDocs build execution.
|
|
48
|
+
- Added authored-only review paths through `forge changed --authored` and `forge diff authored`, keeping generated artifacts collapsed unless explicitly requested.
|
|
49
|
+
- Added `forge delta status --verbose --json` for schema, lock, path, and aggregate-count diagnostics without expanding the default status payload.
|
|
50
|
+
- 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.
|
|
51
|
+
|
|
52
|
+
## 0.1.0-alpha.18
|
|
53
|
+
|
|
54
|
+
Codex hook memory hardening:
|
|
55
|
+
|
|
56
|
+
- Hardened Codex hook ingestion by deriving useful tool-call metadata from the documented hook wire format while keeping raw prompts, tool inputs, tool responses, transcripts, and secrets out of Agent Memory.
|
|
57
|
+
- Added safe command summaries, tool-call ids, result status, exit codes, response summaries, inferred files, and inferred runtime entries for Codex `PreToolUse`, `PermissionRequest`, and `PostToolUse` events.
|
|
58
|
+
- Updated the Codex hook installer with hook timeouts and status messages, and added a local wrapper so repo hooks can use the checkout implementation.
|
|
59
|
+
- Documented the safe Codex hook metadata surface and added regression coverage for real hook payload shapes.
|
|
60
|
+
|
|
61
|
+
## 0.1.0-alpha.17
|
|
62
|
+
|
|
63
|
+
External runtime timeline metadata:
|
|
64
|
+
|
|
65
|
+
- Enriched DeltaDB runtime call recording for imported Go/Java/external services by reading generated `externalServices.json` metadata during `forge run` and `forge query`.
|
|
66
|
+
- `forge timeline` and `forge explain` now report external runtime `service`, `language`, `risk`, `policy`, `tenantScoped`, and `needsApproval` state instead of falling back to null/false values after successful external calls.
|
|
67
|
+
- Added a DeltaDB schema migration for `runtime_calls.needs_approval` and bumped the local DeltaDB schema to `0.3.1`.
|
|
68
|
+
- Added regression coverage for the real CLI recorder path so manifest-imported external commands keep semantic metadata in timelines.
|
|
69
|
+
- Promotes this release on npm as both `alpha` and `latest`.
|
|
70
|
+
|
|
71
|
+
## 0.1.0-alpha.16
|
|
72
|
+
|
|
73
|
+
Stability alignment:
|
|
74
|
+
|
|
75
|
+
- Fixed H47 `forge timeline` and `forge explain` crashes after large `artifact.generated` payloads by replacing unsafe JSON string truncation with a safe summary/hash envelope.
|
|
76
|
+
- Summarized generated artifact batches in the Semantic Timeline with count, hash, sample, and omitted count instead of embedding every artifact in timeline event data.
|
|
77
|
+
- Fixed H49 brownfield import detection for root-level Next.js App Router and Pages API routes such as `app/api/.../route.ts` and `pages/api/...`.
|
|
78
|
+
- Updated public CLI and DeltaDB docs for timeline/session/explain/MCP/agent-memory commands and clarified that `.forge/delta/delta.db` is a PGlite/Postgres data directory.
|
|
79
|
+
- Verified the release against a public GitHub `main` smoke app using `generate`, `check`, `delta status`, `timeline`, `explain`, `import analyze`, and `inspect imported`.
|
|
80
|
+
|
|
81
|
+
## 0.1.0-alpha.15
|
|
82
|
+
|
|
83
|
+
Brownfield import analysis:
|
|
84
|
+
|
|
85
|
+
- Added H49 `forge import analyze` and `forge import inspect` for static brownfield TypeScript/JavaScript app inventory.
|
|
86
|
+
- Detects Next.js App Router routes, Pages API routes, Express/Nest-style handlers, frontend `fetch`/`axios` calls, env usage, framework/data/external package signals, and conservative candidate command/query entries.
|
|
87
|
+
- Writes `.forge/import` artifacts including inventory, routes, frontend calls, candidate entries, risk report, migration plan, and imported agent contract.
|
|
88
|
+
- Keeps imported entries hidden from agents by default with `origin: imported`, `assurance: static-scan`, `reviewStatus: needs-review`, `visibleToAgent: false`, and approval required for command-like or risky entries.
|
|
89
|
+
- Added `forge inspect imported --json` plus focused H49 CLI and scanner coverage.
|
|
90
|
+
|
|
91
|
+
## 0.1.0-alpha.14
|
|
92
|
+
|
|
93
|
+
Java and Nuxt/Vue support:
|
|
94
|
+
|
|
95
|
+
- Added the Java external runtime adapter with a lightweight JDK HTTP bridge, manifest export, typed handlers, tenant/auth context, diagnostics, and command/query registration.
|
|
96
|
+
- Added a Spring Boot starter for Java services that want annotation-based Forge command/query exposure.
|
|
97
|
+
- Added the `java-billing` conformance example and packaged it with the public alpha line.
|
|
98
|
+
- Added generated Vue bindings and a `forgeos/vue` export with `provideForge`, `ForgeVuePlugin`, `useForgeQuery`, `useForgeCommand`, and `useForgeLiveQuery`.
|
|
99
|
+
- Added Nuxt UI scaffolding through `forge make ui --framework nuxt`, including plugin wiring, composable bridge files, and frontend graph detection for `.vue` routes/components.
|
|
100
|
+
- Updated docs, agent adapter guidance, generated manifests, and focused Java/Vue/Nuxt tests.
|
|
101
|
+
- Kept H44-H48 memory, sessions, timeline, grouping, and MCP surfaces intact while merging the Java/Nuxt work into `main`.
|
|
102
|
+
|
|
103
|
+
## 0.1.0-alpha.13
|
|
104
|
+
|
|
105
|
+
Agent Memory Bridge:
|
|
106
|
+
|
|
107
|
+
- Added the H48 Agent Memory Bridge alpha with redacted external agent event ingestion and normalized `forge.agent-event.v1` envelopes.
|
|
108
|
+
- Added Codex and Claude Code hook installers plus Cursor MCP/rules setup, all with raw prompts, completions, tool args, transcripts, and cloud sync off by default.
|
|
109
|
+
- Added `forge mcp serve` with context, memory, timeline, and inspect tools for external agents.
|
|
110
|
+
- Added `forge agent install`, `forge agent ingest`, `forge agent context`, and `forge agent memory` commands.
|
|
111
|
+
- Persisted external agent activity in DeltaDB and linked agent/tool/file events into the semantic timeline.
|
|
112
|
+
- Added focused privacy, ingest, MCP, installer, and CLI parse coverage for the H48 bridge.
|
|
113
|
+
|
|
114
|
+
## 0.1.0-alpha.12
|
|
115
|
+
|
|
116
|
+
Semantic Timeline:
|
|
117
|
+
|
|
118
|
+
- Added the H47 Semantic Timeline projection for DeltaDB with rebuildable timeline events, entity indexes, causal edges, and projection state.
|
|
119
|
+
- Upgraded `forge timeline` from a raw operation log view into an entity-oriented semantic timeline for runtime entries, policies, diagnostics, proofs, services, files, and sessions.
|
|
120
|
+
- Added proof staleness detection and causal links for denial -> policy repair -> successful execution flows.
|
|
121
|
+
- Updated `forge explain` to include semantic timeline context and current-state summaries when available.
|
|
122
|
+
- Documented the timeline projection/rebuild model and added focused DeltaDB coverage for runtime, policy, diagnostic, proof, and deterministic rebuild scenarios.
|
|
123
|
+
|
|
124
|
+
## 0.1.0-alpha.11
|
|
125
|
+
|
|
126
|
+
Strict verify performance:
|
|
127
|
+
|
|
128
|
+
- Reduced the validated `forge verify --strict` wall time from roughly 358-454s to about 116s on the current Windows test machine.
|
|
129
|
+
- Added stable repo-local `tsx` CLI caching under `node_modules/.cache/forge-tsx-cli` so spawned CLI tests reuse the warm compiler path.
|
|
130
|
+
- Balanced TestGraph strict execution across shared and isolated lanes, bringing the slowest files down from roughly 50s to under 10s in the updated profile.
|
|
131
|
+
- Moved heavy refactor/impact/external runtime suites onto faster shared paths where safe and kept isolation for process-sensitive tests.
|
|
132
|
+
- Documented and guarded the cache behavior so future test helpers preserve the speedup without checking cache contents into git.
|
|
133
|
+
- Added guarded alpha release workflow support for promoting the public `latest` dist-tag when npm token auth is configured.
|
|
134
|
+
|
|
135
|
+
## 0.1.0-alpha.10
|
|
136
|
+
|
|
137
|
+
Launch polish:
|
|
138
|
+
|
|
139
|
+
- Fixed `forge run <external-command> --args ...` so CLI arguments reach the external runtime bridge.
|
|
140
|
+
- Added direct external query CLI support through `forge query <service.query> --args ...`.
|
|
141
|
+
- Emit generated `.json` artifacts as pure JSON while keeping deterministic headers on code/text artifacts.
|
|
142
|
+
- Relaxed the `minimal-web` template verify script to `forge verify --smoke` and added the missing `check` script to `b2b-support-web`.
|
|
143
|
+
- Updated public protocol/changelog docs for the external runtime and Go adapter alpha line.
|
|
144
|
+
- Bumped the create-app wrapper package line to `create-forgeos-app@0.1.0-alpha.4`.
|
|
145
|
+
|
|
146
|
+
## 0.1.0-alpha.9
|
|
147
|
+
|
|
148
|
+
### Patch Changes
|
|
149
|
+
|
|
150
|
+
- Added the Forge external runtime protocol bridge for manifest-backed commands and queries.
|
|
151
|
+
- Added the Go adapter MVP with a real `go-billing` conformance example.
|
|
152
|
+
- Emitted external service metadata into inspect/API/agent artifacts, including `needsApproval` for agent tools.
|
|
153
|
+
- Reuse compiler classifier package signals across export classification, dropping repeated package signal scans.
|
|
154
|
+
- Reuse serialized graph JSON when rendering the largest generated TypeScript graph artifacts.
|
|
155
|
+
- Keep generated Forge artifacts aligned with the `0.1.0-alpha.9` compiler/runtime version.
|
|
156
|
+
|
|
157
|
+
## 0.1.0-alpha.8
|
|
158
|
+
|
|
159
|
+
### Patch Changes
|
|
160
|
+
|
|
161
|
+
- [`7568756`](https://github.com/Stahldavid/forge/commit/756875688873dd60d3d6cf700a7bb7c211968c69) Thanks [@Stahldavid](https://github.com/Stahldavid)! - Publish prerelease packages through the ForgeOS alpha publisher so npm dist-tags stay aligned.
|
|
162
|
+
|
|
163
|
+
## 0.1.0-alpha.7
|
|
164
|
+
|
|
165
|
+
### Patch Changes
|
|
166
|
+
|
|
167
|
+
- [`4ace311`](https://github.com/Stahldavid/forge/commit/4ace3113e3298b5c306000870922fcfbae9c1861) Thanks [@Stahldavid](https://github.com/Stahldavid)! - Keep npm prerelease publishing on the public alpha dist-tag.
|
|
168
|
+
|
|
169
|
+
## 0.1.0-alpha.6
|
|
170
|
+
|
|
171
|
+
### Patch Changes
|
|
172
|
+
|
|
173
|
+
- [`c30f906`](https://github.com/Stahldavid/forge/commit/c30f9069c99ac747ce143ab5fbcbf13912ed8760) Thanks [@Stahldavid](https://github.com/Stahldavid)! - Add CLI version output, align create-app help with package metadata, and add release dependency audit evidence.
|
|
174
|
+
|
|
175
|
+
## 0.1.0-alpha.5
|
|
176
|
+
|
|
177
|
+
Release alignment for the public alpha channel:
|
|
178
|
+
|
|
179
|
+
- Added `forge ai redteam --model-level --json` with deterministic prompt-injection, secret-exfiltration, approval-bypass, cross-tenant, and indirect tool-injection probes.
|
|
180
|
+
- Added `forge security prove --full --json` support for source checkouts, with graceful structural-proof fallback when packaged apps do not include ForgeOS test fixtures.
|
|
181
|
+
- Strengthened npm publish workflows to run `security prove --db postgres --full --json`.
|
|
182
|
+
- Added public registry smoke coverage for `forgeos@alpha` and `create-forgeos-app@alpha`.
|
|
183
|
+
- Bumped the create-app wrapper package line to `create-forgeos-app@0.1.0-alpha.1`.
|
|
184
|
+
|
|
185
|
+
## 0.1.0-alpha.4
|
|
186
|
+
|
|
187
|
+
Security assurance and release evidence hardening:
|
|
188
|
+
|
|
189
|
+
- Added value-aware telemetry redaction for known secret values in safe-looking fields, messages, details, outputs, and stack traces.
|
|
190
|
+
- Added webhook signature, timestamp, and replay protection helpers with Stripe/GitHub/generic HMAC coverage.
|
|
191
|
+
- Added HTTP tenant-isolation tests that exercise the dev server/API boundary, not only the internal runtime executor.
|
|
192
|
+
- Added `forge rls mutate-test --json` to kill dangerous generated RLS mutations such as missing FORCE RLS, missing policies, unconditional predicates, and `BYPASSRLS`.
|
|
193
|
+
- Extended `forge security prove --json` with RLS mutation proof and invariant-level evidence metadata.
|
|
194
|
+
- Added scripts to split security evidence by invariant and emit basic release supply-chain evidence plus CycloneDX SBOM.
|
|
195
|
+
- Strengthened publish/security workflows so release gates use Postgres-backed security proof, RLS mutation proof, release evidence, and SBOM generation.
|
|
196
|
+
|
|
197
|
+
## 0.1.0-alpha.3
|
|
198
|
+
|
|
199
|
+
Native Forge AI agents on top of Vercel AI SDK v6:
|
|
200
|
+
|
|
201
|
+
- Added `aiTool` and `agent` primitives with generated `agentTools.json` / `agentTools.md`.
|
|
202
|
+
- Added `ctx.agent.run` and `ctx.ai.runAgent` using AI SDK `ToolLoopAgent`.
|
|
203
|
+
- Added auto-tools for commands, queries, and liveQueries with read-only vs approval-required writes.
|
|
204
|
+
- Added dev agent endpoints: `POST /ai/agents/run` and `POST /ai/agents/chat`.
|
|
205
|
+
- Extended `forge ai` CLI with `tools`, `agents`, and `trace` subcommands.
|
|
206
|
+
- Added `forge inspect agent-tools` and agent tool metadata in `agentContract.json`.
|
|
207
|
+
- Upgraded runtime dependency to AI SDK v6 for tool calling, streaming UI, and MCP compatibility.
|
|
208
|
+
|
|
209
|
+
Documentation:
|
|
210
|
+
|
|
211
|
+
- Added public [AI](https://forgeos.readthedocs.io/en/latest/ai/) page and AST-aware `rename command` codemod docs.
|
|
212
|
+
- Expanded ReadTheDocs to full agent-native coverage: agent workflow (`forge do`), frontend/liveQuery, security/data, authoring, testing/repair, self-host, templates, Material theme, and changelog page.
|
|
213
|
+
|
|
3
214
|
## 0.1.0-alpha.2
|
|
4
215
|
|
|
5
216
|
Windows and generated-app hardening:
|