forgeos 0.1.0-alpha.13 → 0.1.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +6 -5
- package/CHANGELOG.md +12 -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/docs/forge-protocol.md +33 -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 +4 -1
- package/src/forge/_generated/actionSubscriptions.json +1 -1
- package/src/forge/_generated/actionSubscriptions.ts +3 -3
- package/src/forge/_generated/agentAdapterManifest.json +1 -1
- package/src/forge/_generated/agentAdapterManifest.ts +3 -3
- package/src/forge/_generated/agentContract.json +1 -1
- package/src/forge/_generated/agentContract.ts +1274 -7
- package/src/forge/_generated/agentQuickstart.md +1 -1
- package/src/forge/_generated/agentTools.json +1 -1
- package/src/forge/_generated/agentTools.md +1 -1
- package/src/forge/_generated/agentTools.ts +2 -2
- package/src/forge/_generated/aiContext.ts +1 -1
- package/src/forge/_generated/aiModels.ts +1 -1
- package/src/forge/_generated/aiProviders.ts +1 -1
- package/src/forge/_generated/aiRegistry.json +1 -1
- package/src/forge/_generated/aiRegistry.ts +3 -3
- package/src/forge/_generated/api.json +1 -1
- package/src/forge/_generated/api.ts +1 -1
- package/src/forge/_generated/appGraph.json +1 -1
- package/src/forge/_generated/appGraph.ts +107 -78
- package/src/forge/_generated/appMap.md +1 -1
- package/src/forge/_generated/artifactManifest.json +1 -1
- package/src/forge/_generated/artifactManifest.ts +2 -2
- package/src/forge/_generated/authClaims.ts +1 -1
- package/src/forge/_generated/authConfig.ts +1 -1
- package/src/forge/_generated/authContext.ts +1 -1
- package/src/forge/_generated/authRegistry.ts +1 -1
- package/src/forge/_generated/buildInfo.json +1 -1
- package/src/forge/_generated/buildInfo.ts +4 -4
- package/src/forge/_generated/capabilityMap.json +1 -1
- package/src/forge/_generated/capabilityMap.md +1 -1
- package/src/forge/_generated/capabilityMap.ts +2 -2
- package/src/forge/_generated/client.ts +1 -1
- package/src/forge/_generated/clientApi.ts +1 -1
- package/src/forge/_generated/clientManifest.json +1 -1
- package/src/forge/_generated/clientManifest.ts +14 -3
- package/src/forge/_generated/clientTypes.ts +1 -1
- package/src/forge/_generated/configRegistry.ts +1 -1
- package/src/forge/_generated/dataGraph.json +1 -1
- package/src/forge/_generated/dataGraph.ts +3 -3
- package/src/forge/_generated/db.ts +1 -1
- package/src/forge/_generated/dbSecurityManifest.ts +1 -1
- package/src/forge/_generated/dbSessionContext.ts +1 -1
- package/src/forge/_generated/deployManifest.json +1 -1
- package/src/forge/_generated/deployManifest.ts +7 -7
- package/src/forge/_generated/devManifest.json +1 -1
- package/src/forge/_generated/devManifest.ts +3 -3
- package/src/forge/_generated/envSchema.ts +1 -1
- package/src/forge/_generated/externalServices.ts +1 -1
- package/src/forge/_generated/frontendGraph.ts +1 -1
- package/src/forge/_generated/importGuards.json +1 -1
- package/src/forge/_generated/importGuards.ts +35 -1
- package/src/forge/_generated/index.ts +3 -1
- package/src/forge/_generated/liveProductionManifest.ts +1 -1
- package/src/forge/_generated/liveProtocol.ts +1 -1
- package/src/forge/_generated/liveQueryRegistry.json +1 -1
- package/src/forge/_generated/liveQueryRegistry.ts +3 -3
- package/src/forge/_generated/liveTransportConfig.ts +1 -1
- package/src/forge/_generated/makeRegistry.json +1 -1
- package/src/forge/_generated/makeRegistry.ts +8 -8
- package/src/forge/_generated/makeTemplates.json +1 -1
- package/src/forge/_generated/makeTemplates.ts +2 -2
- package/src/forge/_generated/mockMap.ts +1 -1
- package/src/forge/_generated/operationPlaybooks.md +6 -6
- package/src/forge/_generated/packageGraph.json +1 -1
- package/src/forge/_generated/packageGraph.ts +52412 -2
- package/src/forge/_generated/packageUpgradeRegistry.json +1 -1
- package/src/forge/_generated/packageUpgradeRegistry.ts +2 -2
- package/src/forge/_generated/permissionMatrix.json +1 -1
- package/src/forge/_generated/permissionMatrix.ts +3 -3
- package/src/forge/_generated/policyRegistry.json +1 -1
- package/src/forge/_generated/policyRegistry.ts +3 -3
- package/src/forge/_generated/queryRegistry.json +1 -1
- package/src/forge/_generated/queryRegistry.ts +3 -3
- package/src/forge/_generated/react.d.ts +1 -1
- package/src/forge/_generated/react.ts +1 -1
- package/src/forge/_generated/reactManifest.json +1 -1
- package/src/forge/_generated/reactManifest.ts +3 -3
- package/src/forge/_generated/releaseManifest.json +1 -1
- package/src/forge/_generated/releaseManifest.ts +3 -3
- package/src/forge/_generated/rlsPolicies.sql +1 -1
- package/src/forge/_generated/rlsPolicies.ts +1 -1
- package/src/forge/_generated/runtimeGraph.json +1 -1
- package/src/forge/_generated/runtimeGraph.ts +3 -3
- package/src/forge/_generated/runtimeMatrix.json +1 -1
- package/src/forge/_generated/runtimeMatrix.ts +70357 -1
- package/src/forge/_generated/runtimeRegistry.ts +1 -1
- package/src/forge/_generated/runtimeRules.md +1 -1
- package/src/forge/_generated/secretRegistry.ts +1 -1
- package/src/forge/_generated/secretsContext.ts +1 -1
- package/src/forge/_generated/serverApi.ts +1 -1
- package/src/forge/_generated/sourceMapManifest.json +1 -1
- package/src/forge/_generated/sourceMapManifest.ts +2 -2
- package/src/forge/_generated/sqlPlan.ts +1 -1
- package/src/forge/_generated/subscriptionManifest.json +1 -1
- package/src/forge/_generated/subscriptionManifest.ts +3 -3
- package/src/forge/_generated/symbolicationManifest.json +1 -1
- package/src/forge/_generated/symbolicationManifest.ts +2 -2
- package/src/forge/_generated/telemetryRegistry.json +1 -1
- package/src/forge/_generated/telemetryRegistry.ts +3 -3
- package/src/forge/_generated/telemetrySinks.json +1 -1
- package/src/forge/_generated/telemetrySinks.ts +2 -2
- package/src/forge/_generated/tenantScope.json +1 -1
- package/src/forge/_generated/tenantScope.ts +3 -3
- package/src/forge/_generated/testGraph.json +1 -1
- package/src/forge/_generated/testGraph.ts +71 -5
- package/src/forge/_generated/testPlanRegistry.json +1 -1
- package/src/forge/_generated/testPlanRegistry.ts +2 -2
- package/src/forge/_generated/uiRoutes.ts +1 -1
- package/src/forge/_generated/uiScenarios.ts +1 -1
- package/src/forge/_generated/uiTestManifest.json +1 -1
- package/src/forge/_generated/uiTestManifest.ts +2 -2
- package/src/forge/_generated/vue.d.ts +25 -0
- package/src/forge/_generated/vue.ts +30 -0
- package/src/forge/_generated/vueManifest.json +1 -0
- package/src/forge/_generated/vueManifest.ts +19 -0
- package/src/forge/_generated/workflowRegistry.json +1 -1
- package/src/forge/_generated/workflowRegistry.ts +3 -3
- package/src/forge/_generated/workflowSubscriptions.json +1 -1
- package/src/forge/_generated/workflowSubscriptions.ts +3 -3
- package/src/forge/agent-adapters/index.ts +1 -1
- package/src/forge/cli/parse.ts +1 -1
- package/src/forge/cli/verify.ts +2 -0
- package/src/forge/compiler/agent-contract/build.ts +10 -9
- package/src/forge/compiler/client-sdk/build-manifest.ts +55 -0
- package/src/forge/compiler/client-sdk/render-client.ts +66 -1
- package/src/forge/compiler/diagnostics/create.ts +6 -1
- package/src/forge/compiler/emitter/barrel.ts +3 -0
- package/src/forge/compiler/frontend-graph/build.ts +85 -13
- package/src/forge/compiler/make-registry/build.ts +6 -7
- package/src/forge/compiler/orchestrator/plan.ts +13 -0
- package/src/forge/compiler/orchestrator/serialize.ts +6 -0
- package/src/forge/compiler/types/frontend-graph.ts +2 -2
- package/src/forge/intent/index.ts +11 -6
- package/src/forge/make/index.ts +23 -3
- package/src/forge/make/templates.ts +153 -0
- package/src/forge/make/types.ts +2 -1
- package/src/forge/version.ts +1 -1
- package/src/forge/vue/index.ts +407 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"analyzerVersion":"0.1.0","diagnostics":[],"entries":[],"generatorVersion":"0.1.0-alpha.
|
|
1
|
+
{"analyzerVersion":"0.1.0","diagnostics":[],"entries":[],"generatorVersion":"0.1.0-alpha.14","inputHash":"a4f170ef53aaf7b17cb82b1cdde827369c1eb127c4fb1e503abd7fca5e0ff03e","routes":[{"method":"GET","path":"/","purpose":"home"},{"method":"POST","path":"/ai/agents/chat","purpose":"ai-agent-chat"},{"method":"POST","path":"/ai/agents/run","purpose":"ai-agent-run"},{"method":"GET","path":"/ai/providers","purpose":"ai-providers"},{"method":"GET","path":"/entries","purpose":"entries"},{"method":"GET","path":"/health","purpose":"health"},{"method":"GET","path":"/queries","purpose":"queries"},{"method":"GET","path":"/workflows","purpose":"workflows"},{"method":"POST","path":"/workflows/process","purpose":"workflow-process"},{"method":"GET","path":"/workflows/runs","purpose":"workflow-runs"}],"schemaVersion":"1.0.0","workflows":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=f2e7b8a7a92da07571bbc85664a9a552b74434059e13205d804f811a6564bf49
|
|
2
2
|
export const devManifest = {
|
|
3
3
|
"analyzerVersion": "0.1.0",
|
|
4
4
|
"diagnostics": [],
|
|
5
5
|
"entries": [],
|
|
6
|
-
"generatorVersion": "0.1.0-alpha.
|
|
7
|
-
"inputHash": "
|
|
6
|
+
"generatorVersion": "0.1.0-alpha.14",
|
|
7
|
+
"inputHash": "a4f170ef53aaf7b17cb82b1cdde827369c1eb127c4fb1e503abd7fca5e0ff03e",
|
|
8
8
|
"routes": [
|
|
9
9
|
{
|
|
10
10
|
"method": "GET",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=a3d1351f5a64cfe2964d5140049c55de5620e2abfb8187bbb244990852cfbbef
|
|
2
2
|
export const envSchema = {
|
|
3
3
|
"variables": [
|
|
4
4
|
{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=7aeff47a93a78a4713ba01405a41681c466d0a0145579996e8ad71054d4d822d
|
|
2
2
|
export const externalServices = {
|
|
3
3
|
"diagnostics": [],
|
|
4
4
|
"inputHash": "85c3c58e20a742fa7b446ed1f6f1adcc8f8b5571145599328e5c170e066a9bca",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=8c2052b427d11b806490a59ef256bbb8e8816bc90db57525b0f68a0596e1e7c4
|
|
2
2
|
export const frontendGraph = {
|
|
3
3
|
"bridgeFiles": [],
|
|
4
4
|
"clientBindings": [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"entries":[{"alias":"ai-provider-anthropic","compatible":["server","action","workflow","endpoint","test","build"],"incompatible":["shared","client","query","liveQuery","command","edge"],"packageName":"@ai-sdk/anthropic","rationale":{"action":"allowed by integration recipe","build":"allowed by integration recipe","client":"denied by integration recipe","command":"denied by integration recipe","edge":"denied by integration recipe","endpoint":"allowed by integration recipe","liveQuery":"denied by integration recipe","query":"denied by integration recipe","server":"allowed by integration recipe","shared":"denied by integration recipe","test":"allowed by integration recipe","workflow":"allowed by integration recipe"}},{"alias":"ai-provider-openai","compatible":["server","action","workflow","endpoint","test","build"],"incompatible":["shared","client","query","liveQuery","command","edge"],"packageName":"@ai-sdk/openai","rationale":{"action":"allowed by integration recipe","build":"allowed by integration recipe","client":"denied by integration recipe","command":"denied by integration recipe","edge":"denied by integration recipe","endpoint":"allowed by integration recipe","liveQuery":"denied by integration recipe","query":"denied by integration recipe","server":"allowed by integration recipe","shared":"denied by integration recipe","test":"allowed by integration recipe","workflow":"allowed by integration recipe"}},{"alias":"@changesets/changelog-github","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@changesets/changelog-github","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@changesets/cli","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@changesets/cli","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@electric-sql/pglite","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@electric-sql/pglite","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@types/bun","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@types/bun","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@types/node","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@types/node","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@types/react","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@types/react","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@types/react-test-renderer","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@types/react-test-renderer","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"ai-gateway","compatible":["server","action","workflow","endpoint","test","build"],"incompatible":["shared","client","query","liveQuery","command","edge"],"packageName":"ai","rationale":{"action":"allowed by integration recipe","build":"allowed by integration recipe","client":"denied by integration recipe","command":"denied by integration recipe","edge":"denied by integration recipe","endpoint":"allowed by integration recipe","liveQuery":"denied by integration recipe","query":"denied by integration recipe","server":"allowed by integration recipe","shared":"denied by integration recipe","test":"allowed by integration recipe","workflow":"allowed by integration recipe"}},{"alias":"fast-check","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"fast-check","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"jose","compatible":["client","server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","query","liveQuery","command"],"packageName":"jose","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"client may perform network egress","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"shared context requires pure code without network/fs/process","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"postgres","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"postgres","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"react","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"react","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"react-test-renderer","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"react-test-renderer","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"tree-sitter","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"tree-sitter","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"tree-sitter-typescript","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"tree-sitter-typescript","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"tsx","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"tsx","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"typescript","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"typescript","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"node builtins/process not allowed in client","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"zod","compatible":["shared","client","server","query","liveQuery","command","action","workflow","endpoint","edge","test","build"],"incompatible":[],"packageName":"zod","rationale":{"action":"allowed by integration recipe","build":"allowed by integration recipe","client":"allowed by integration recipe","command":"allowed by integration recipe","edge":"allowed by integration recipe","endpoint":"allowed by integration recipe","liveQuery":"allowed by integration recipe","query":"allowed by integration recipe","server":"allowed by integration recipe","shared":"allowed by integration recipe","test":"allowed by integration recipe","workflow":"allowed by integration recipe"}}],"moduleContexts":[],"schemaVersion":"1"}
|
|
1
|
+
{"entries":[{"alias":"ai-provider-anthropic","compatible":["server","action","workflow","endpoint","test","build"],"incompatible":["shared","client","query","liveQuery","command","edge"],"packageName":"@ai-sdk/anthropic","rationale":{"action":"allowed by integration recipe","build":"allowed by integration recipe","client":"denied by integration recipe","command":"denied by integration recipe","edge":"denied by integration recipe","endpoint":"allowed by integration recipe","liveQuery":"denied by integration recipe","query":"denied by integration recipe","server":"allowed by integration recipe","shared":"denied by integration recipe","test":"allowed by integration recipe","workflow":"allowed by integration recipe"}},{"alias":"ai-provider-openai","compatible":["server","action","workflow","endpoint","test","build"],"incompatible":["shared","client","query","liveQuery","command","edge"],"packageName":"@ai-sdk/openai","rationale":{"action":"allowed by integration recipe","build":"allowed by integration recipe","client":"denied by integration recipe","command":"denied by integration recipe","edge":"denied by integration recipe","endpoint":"allowed by integration recipe","liveQuery":"denied by integration recipe","query":"denied by integration recipe","server":"allowed by integration recipe","shared":"denied by integration recipe","test":"allowed by integration recipe","workflow":"allowed by integration recipe"}},{"alias":"@changesets/changelog-github","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@changesets/changelog-github","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@changesets/cli","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@changesets/cli","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@electric-sql/pglite","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@electric-sql/pglite","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@types/bun","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@types/bun","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@types/node","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@types/node","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@types/react","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@types/react","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"@types/react-test-renderer","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"@types/react-test-renderer","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"ai-gateway","compatible":["server","action","workflow","endpoint","test","build"],"incompatible":["shared","client","query","liveQuery","command","edge"],"packageName":"ai","rationale":{"action":"allowed by integration recipe","build":"allowed by integration recipe","client":"denied by integration recipe","command":"denied by integration recipe","edge":"denied by integration recipe","endpoint":"allowed by integration recipe","liveQuery":"denied by integration recipe","query":"denied by integration recipe","server":"allowed by integration recipe","shared":"denied by integration recipe","test":"allowed by integration recipe","workflow":"allowed by integration recipe"}},{"alias":"fast-check","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"fast-check","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"jose","compatible":["client","server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","query","liveQuery","command"],"packageName":"jose","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"client may perform network egress","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"shared context requires pure code without network/fs/process","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"postgres","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"postgres","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"react","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"react","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"react-test-renderer","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"react-test-renderer","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"tree-sitter","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"tree-sitter","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"tree-sitter-typescript","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"tree-sitter-typescript","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"tsx","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"tsx","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"insufficient signals for client compatibility","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"typescript","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"typescript","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"node builtins/process not allowed in client","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"vue","compatible":["server","action","workflow","endpoint","edge","test","build"],"incompatible":["shared","client","query","liveQuery","command"],"packageName":"vue","rationale":{"action":"server-side context allows IO capabilities","build":"test/build contexts allow broad compatibility","client":"node builtins/process not allowed in client","command":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","edge":"edge-compatible by heuristic","endpoint":"server-side context allows IO capabilities","liveQuery":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","query":"capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)","server":"server-side context allows IO capabilities","shared":"insufficient signals to prove shared-safe purity","test":"test/build contexts allow broad compatibility","workflow":"server-side context allows IO capabilities"}},{"alias":"zod","compatible":["shared","client","server","query","liveQuery","command","action","workflow","endpoint","edge","test","build"],"incompatible":[],"packageName":"zod","rationale":{"action":"allowed by integration recipe","build":"allowed by integration recipe","client":"allowed by integration recipe","command":"allowed by integration recipe","edge":"allowed by integration recipe","endpoint":"allowed by integration recipe","liveQuery":"allowed by integration recipe","query":"allowed by integration recipe","server":"allowed by integration recipe","shared":"allowed by integration recipe","test":"allowed by integration recipe","workflow":"allowed by integration recipe"}}],"moduleContexts":[],"schemaVersion":"1"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=ad7ecb223cb611bfbf7d20074dfbd842c862146bfdb7e34494f1d57faf66623f
|
|
2
2
|
export const importGuards = {
|
|
3
3
|
"schemaVersion": "1",
|
|
4
4
|
"entries": [
|
|
@@ -648,6 +648,40 @@ export const importGuards = {
|
|
|
648
648
|
"build": "test/build contexts allow broad compatibility"
|
|
649
649
|
}
|
|
650
650
|
},
|
|
651
|
+
{
|
|
652
|
+
"packageName": "vue",
|
|
653
|
+
"alias": "vue",
|
|
654
|
+
"compatible": [
|
|
655
|
+
"server",
|
|
656
|
+
"action",
|
|
657
|
+
"workflow",
|
|
658
|
+
"endpoint",
|
|
659
|
+
"edge",
|
|
660
|
+
"test",
|
|
661
|
+
"build"
|
|
662
|
+
],
|
|
663
|
+
"incompatible": [
|
|
664
|
+
"shared",
|
|
665
|
+
"client",
|
|
666
|
+
"query",
|
|
667
|
+
"liveQuery",
|
|
668
|
+
"command"
|
|
669
|
+
],
|
|
670
|
+
"rationale": {
|
|
671
|
+
"shared": "insufficient signals to prove shared-safe purity",
|
|
672
|
+
"client": "node builtins/process not allowed in client",
|
|
673
|
+
"server": "server-side context allows IO capabilities",
|
|
674
|
+
"query": "capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)",
|
|
675
|
+
"liveQuery": "capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)",
|
|
676
|
+
"command": "capability is `unknown`; cannot prove determinism (static analysis cannot prove absence of network/fs)",
|
|
677
|
+
"action": "server-side context allows IO capabilities",
|
|
678
|
+
"workflow": "server-side context allows IO capabilities",
|
|
679
|
+
"endpoint": "server-side context allows IO capabilities",
|
|
680
|
+
"edge": "edge-compatible by heuristic",
|
|
681
|
+
"test": "test/build contexts allow broad compatibility",
|
|
682
|
+
"build": "test/build contexts allow broad compatibility"
|
|
683
|
+
}
|
|
684
|
+
},
|
|
651
685
|
{
|
|
652
686
|
"packageName": "zod",
|
|
653
687
|
"alias": "zod",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=3a0c12a66741d47e5365b0826e91424cb3e5838294f99e13a43ca7306e0aa0ea
|
|
2
2
|
export * from "./actionSubscriptions";
|
|
3
3
|
export * from "./agentAdapterManifest";
|
|
4
4
|
export * from "./agentContract";
|
|
@@ -65,5 +65,7 @@ export * from "./testPlanRegistry";
|
|
|
65
65
|
export * from "./uiRoutes";
|
|
66
66
|
export * from "./uiScenarios";
|
|
67
67
|
export * from "./uiTestManifest";
|
|
68
|
+
export * as vue from "./vue";
|
|
69
|
+
export * from "./vueManifest";
|
|
68
70
|
export * from "./workflowRegistry";
|
|
69
71
|
export * from "./workflowSubscriptions";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=0439047e248d49da4c0bad6c54d6accfbdd68738a961a52f373ffb440742f841
|
|
2
2
|
export const liveProductionManifest = {
|
|
3
3
|
"dependencyGranularity": "table-tenant",
|
|
4
4
|
"invalidationSource": "durable-table",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=9893ba2b2189291fef35ab6ea0abea261f01415a078c25760333a00933c313ed
|
|
2
2
|
export const liveProtocol = {
|
|
3
3
|
"messages": [
|
|
4
4
|
"hello",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"analyzerVersion":"0.1.0","diagnostics":[],"generatorVersion":"0.1.0-alpha.
|
|
1
|
+
{"analyzerVersion":"0.1.0","diagnostics":[],"generatorVersion":"0.1.0-alpha.14","inputHash":"d246f50ec0b6590b208e20bd19a4b0e5c2fccbbef8dc850013ebc8351f868252","liveQueries":[],"schemaVersion":"0.1.0"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=83d0010a745863fd661c3d2904b8dd6a0b72d2b1b9a7556955eac603fa9beb7c
|
|
2
2
|
export const liveQueryRegistry = {
|
|
3
3
|
"analyzerVersion": "0.1.0",
|
|
4
4
|
"diagnostics": [],
|
|
5
|
-
"generatorVersion": "0.1.0-alpha.
|
|
6
|
-
"inputHash": "
|
|
5
|
+
"generatorVersion": "0.1.0-alpha.14",
|
|
6
|
+
"inputHash": "d246f50ec0b6590b208e20bd19a4b0e5c2fccbbef8dc850013ebc8351f868252",
|
|
7
7
|
"liveQueries": [],
|
|
8
8
|
"schemaVersion": "0.1.0"
|
|
9
9
|
} as const;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=9166cbf6c2ee6161ea374ec2da35d146fc04efd6f2a1ca307eb3518c4f6c2046
|
|
2
2
|
export const liveTransportConfig = {
|
|
3
3
|
"defaultTransport": "sse",
|
|
4
4
|
"schemaVersion": "0.1.0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"commands":["forge make list --json","forge make explain <primitive> --json","forge make ui --framework vite --dry-run --json","forge make ai-chat support --dry-run --json","forge make resource <name> --fields title:text,status:enum(open,closed) --dry-run --json","forge make resource <name> --fields title:text --with-ui --yes","forge make apply <planId>","forge make rollback <planId>"],"generatorVersion":"0.1.0-alpha.
|
|
1
|
+
{"commands":["forge make list --json","forge make explain <primitive> --json","forge make ui --framework vite --dry-run --json","forge make ui --framework nuxt --dry-run --json","forge make ai-chat support --dry-run --json","forge make resource <name> --fields title:text,status:enum(open,closed) --dry-run --json","forge make resource <name> --fields title:text --with-ui --yes","forge make apply <planId>","forge make rollback <planId>"],"generatorVersion":"0.1.0-alpha.14","planDirectory":".forge/make-plans","primitives":[{"creates":[],"examples":["forge make table invoices --fields amount:number,status:text"],"modifies":["src/forge/schema.ts"],"name":"table","summary":"Add a schema table declaration."},{"creates":[],"examples":["forge make field invoices.status --type enum --values draft,paid"],"modifies":["src/forge/schema.ts"],"name":"field","summary":"Add a field to an existing table declaration."},{"creates":["src/policies.ts when missing"],"examples":["forge make policy invoices.read --roles owner,admin,member"],"modifies":["src/policies.ts"],"name":"policy","summary":"Add a named policy with allowed roles."},{"creates":["src/commands/<name>.ts"],"examples":["forge make command invoices.create --table invoices --policy invoices.create --emit invoice.created"],"modifies":[],"name":"command","summary":"Add a transactional command with policy and optional event emission."},{"creates":["src/queries/<name>.ts"],"examples":["forge make query invoices.list --table invoices --policy invoices.read"],"modifies":[],"name":"query","summary":"Add a read-only query."},{"creates":["src/queries/live<Name>.ts"],"examples":["forge make livequery invoices.live --table invoices --policy invoices.read"],"modifies":[],"name":"livequery","summary":"Add a read-only liveQuery for reactive clients."},{"creates":["src/actions/<name>.ts"],"examples":["forge make action captureInvoiceCreated --event invoice.created"],"modifies":[],"name":"action","summary":"Add an after-commit action subscribed to an event."},{"creates":["src/workflows/<name>.ts"],"examples":["forge make workflow invoiceWorkflow --table invoices --trigger invoice.created"],"modifies":[],"name":"workflow","summary":"Add a durable workflow triggered by an event."},{"creates":["web/components/<Component>.tsx"],"examples":["forge make component InvoiceList --table invoices"],"modifies":[],"name":"component","summary":"Add a React component that uses generated Forge client hooks."},{"creates":["web/app/<route>/page.tsx"],"examples":["forge make page invoices --table invoices --with-create-form"],"modifies":[],"name":"page","summary":"Add a minimal app page wired to generated components."},{"creates":["web/package.json","web/src/lib/forge.ts or web/composables/forge.ts","web/src/main.tsx or web/app.vue"],"examples":["forge make ui --framework vite --yes","forge make ui --framework nuxt --yes"],"modifies":[],"name":"ui","summary":"Add a Vite React or Nuxt Vue frontend shell with generated Forge client bindings."},{"creates":["src/ai/<name>Agent.ts","web/components/<Name>AiChat.tsx","web/app/<name>-ai/page.tsx when web/app exists"],"examples":["forge make ai-chat support --yes"],"modifies":[],"name":"ai-chat","summary":"Add a Forge AI agent and React chat component backed by /ai/agents/run."},{"creates":["src/commands/*","src/queries/*","src/actions/*","web/components/*","web/app/*","tests/make-generated/*"],"examples":["forge make resource invoices --fields amount:number,status:enum(draft,paid) --with-ui --yes"],"modifies":["src/forge/schema.ts","src/policies.ts"],"name":"resource","summary":"Add schema, policies, CRUD, queries, liveQuery, optional UI, and tests."}],"schemaVersion":"0.1.0"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=d6317212f78f637f186a3a282849f30e09cfcfe8a2ee2e04d592b03fff069eae
|
|
2
2
|
export const makeRegistry = {
|
|
3
3
|
"commands": [
|
|
4
4
|
"forge make list --json",
|
|
5
5
|
"forge make explain <primitive> --json",
|
|
6
6
|
"forge make ui --framework vite --dry-run --json",
|
|
7
|
+
"forge make ui --framework nuxt --dry-run --json",
|
|
7
8
|
"forge make ai-chat support --dry-run --json",
|
|
8
9
|
"forge make resource <name> --fields title:text,status:enum(open,closed) --dry-run --json",
|
|
9
10
|
"forge make resource <name> --fields title:text --with-ui --yes",
|
|
10
11
|
"forge make apply <planId>",
|
|
11
12
|
"forge make rollback <planId>"
|
|
12
13
|
],
|
|
13
|
-
"generatorVersion": "0.1.0-alpha.
|
|
14
|
+
"generatorVersion": "0.1.0-alpha.14",
|
|
14
15
|
"planDirectory": ".forge/make-plans",
|
|
15
16
|
"primitives": [
|
|
16
17
|
{
|
|
@@ -128,17 +129,16 @@ export const makeRegistry = {
|
|
|
128
129
|
{
|
|
129
130
|
"creates": [
|
|
130
131
|
"web/package.json",
|
|
131
|
-
"web/
|
|
132
|
-
"web/src/
|
|
133
|
-
"web/src/main.tsx",
|
|
134
|
-
"web/src/App.tsx"
|
|
132
|
+
"web/src/lib/forge.ts or web/composables/forge.ts",
|
|
133
|
+
"web/src/main.tsx or web/app.vue"
|
|
135
134
|
],
|
|
136
135
|
"examples": [
|
|
137
|
-
"forge make ui --framework vite --yes"
|
|
136
|
+
"forge make ui --framework vite --yes",
|
|
137
|
+
"forge make ui --framework nuxt --yes"
|
|
138
138
|
],
|
|
139
139
|
"modifies": [],
|
|
140
140
|
"name": "ui",
|
|
141
|
-
"summary": "Add a Vite React frontend shell with
|
|
141
|
+
"summary": "Add a Vite React or Nuxt Vue frontend shell with generated Forge client bindings."
|
|
142
142
|
},
|
|
143
143
|
{
|
|
144
144
|
"creates": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"schemaVersion":"0.1.0","templates":[{"name":"schema-table","outputPattern":"src/forge/schema.ts","sourceKind":"schema"},{"name":"policy","outputPattern":"src/policies.ts","sourceKind":"policy"},{"name":"command","outputPattern":"src/commands/<name>.ts","sourceKind":"runtime"},{"name":"query","outputPattern":"src/queries/<name>.ts","sourceKind":"runtime"},{"name":"livequery","outputPattern":"src/queries/live<Name>.ts","sourceKind":"runtime"},{"name":"action","outputPattern":"src/actions/<name>.ts","sourceKind":"runtime"},{"name":"workflow","outputPattern":"src/workflows/<name>.ts","sourceKind":"runtime"},{"name":"component","outputPattern":"web/components/<name>.tsx","sourceKind":"frontend"},{"name":"page","outputPattern":"web/app/<route>/page.tsx","sourceKind":"frontend"},{"name":"ui","outputPattern":"web/src/App.tsx","sourceKind":"frontend"},{"name":"ai-chat","outputPattern":"web/components/<name>AiChat.tsx","sourceKind":"frontend"},{"name":"placeholder-test","outputPattern":"tests/make-generated/<name>.test.ts","sourceKind":"test"}]}
|
|
1
|
+
{"schemaVersion":"0.1.0","templates":[{"name":"schema-table","outputPattern":"src/forge/schema.ts","sourceKind":"schema"},{"name":"policy","outputPattern":"src/policies.ts","sourceKind":"policy"},{"name":"command","outputPattern":"src/commands/<name>.ts","sourceKind":"runtime"},{"name":"query","outputPattern":"src/queries/<name>.ts","sourceKind":"runtime"},{"name":"livequery","outputPattern":"src/queries/live<Name>.ts","sourceKind":"runtime"},{"name":"action","outputPattern":"src/actions/<name>.ts","sourceKind":"runtime"},{"name":"workflow","outputPattern":"src/workflows/<name>.ts","sourceKind":"runtime"},{"name":"component","outputPattern":"web/components/<name>.tsx","sourceKind":"frontend"},{"name":"page","outputPattern":"web/app/<route>/page.tsx","sourceKind":"frontend"},{"name":"ui","outputPattern":"web/src/App.tsx or web/app.vue","sourceKind":"frontend"},{"name":"ai-chat","outputPattern":"web/components/<name>AiChat.tsx","sourceKind":"frontend"},{"name":"placeholder-test","outputPattern":"tests/make-generated/<name>.test.ts","sourceKind":"test"}]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=5239d21f9c87bfad8b8ab8128df724fa0ea0030add19884c47d4f9fbb16a7cb0
|
|
2
2
|
export const makeTemplates = {
|
|
3
3
|
"schemaVersion": "0.1.0",
|
|
4
4
|
"templates": [
|
|
@@ -49,7 +49,7 @@ export const makeTemplates = {
|
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
"name": "ui",
|
|
52
|
-
"outputPattern": "web/src/App.tsx",
|
|
52
|
+
"outputPattern": "web/src/App.tsx or web/app.vue",
|
|
53
53
|
"sourceKind": "frontend"
|
|
54
54
|
},
|
|
55
55
|
{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=4c569da5df387f6bb7fe7fd94d42b4cc6b05f5218ab0bc129d9637c184625057
|
|
2
2
|
export const mockMap = {
|
|
3
3
|
"@ai-sdk/anthropic": "src/forge/_generated/testkits/ai.anthropic.mock.ts",
|
|
4
4
|
"@ai-sdk/openai": "src/forge/_generated/testkits/ai.openai.mock.ts",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=24234c760a47f0f438e811125db8d767ce276f01d699bda62f6f71ec6c9a17ca
|
|
2
2
|
# Operation Playbooks
|
|
3
3
|
|
|
4
4
|
## Choose the right workflow
|
|
@@ -140,15 +140,15 @@
|
|
|
140
140
|
2. Run forge dev --once --json for a one-shot diagnostic cycle.
|
|
141
141
|
3. Use --api-only, --web-only, --no-watch, or --no-worker only when narrowing the loop intentionally.
|
|
142
142
|
4. When a web app exists, forge dev starts the API runtime and the web dev server together and prints both URLs.
|
|
143
|
-
5. Use generated client
|
|
143
|
+
5. Use generated client bindings through web/lib/forge.ts, web/src/lib/forge.ts, or Nuxt web/composables/forge.ts.
|
|
144
144
|
|
|
145
145
|
## Add or update frontend
|
|
146
146
|
|
|
147
|
-
1. Run forge make ui --framework vite --dry-run --json when the app does not have a web root.
|
|
147
|
+
1. Run forge make ui --framework vite --dry-run --json or forge make ui --framework nuxt --dry-run --json when the app does not have a web root.
|
|
148
148
|
2. Run forge make ai-chat support --dry-run --json to add a chat surface backed by /ai/agents/chat streaming and /ai/agents/run JSON automation.
|
|
149
|
-
3. Use web/lib/forge.ts as the generated client bridge.
|
|
150
|
-
4. Mount ForgeProvider once in the web app provider/layout layer; use devAuth for local development.
|
|
151
|
-
5. Use useQuery
|
|
149
|
+
3. Use web/lib/forge.ts, web/src/lib/forge.ts, or web/composables/forge.ts as the generated client bridge.
|
|
150
|
+
4. Mount ForgeProvider or install the Nuxt Forge plugin once in the web app provider/layout layer; use devAuth for local development.
|
|
151
|
+
5. Use useQuery/useCommand/useLiveQuery or useForgeQuery/useForgeCommand/useForgeLiveQuery instead of raw /commands or /queries fetches.
|
|
152
152
|
6. Run forge generate so frontendGraph and agentContract include routes and bindings.
|
|
153
153
|
7. Run forge inspect capabilities --json to confirm UI actions map to runtime capabilities.
|
|
154
154
|
8. Run forge dev --once --json and forge doctor --json.
|