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,9 +1,9 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=d59bb8df90c08b0c58e2ebc859e33e7f1d23dfded131809f593a36b5426b8720
|
|
2
2
|
export const testGraph = {
|
|
3
3
|
"analyzerVersion": "test-graph-0.1.0",
|
|
4
4
|
"diagnostics": [],
|
|
5
|
-
"generatorVersion": "0.1.0-alpha.
|
|
6
|
-
"inputHash": "
|
|
5
|
+
"generatorVersion": "0.1.0-alpha.14",
|
|
6
|
+
"inputHash": "675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69",
|
|
7
7
|
"schemaVersion": "0.1.0",
|
|
8
8
|
"tests": [
|
|
9
9
|
{
|
|
@@ -1532,6 +1532,24 @@ export const testGraph = {
|
|
|
1532
1532
|
"kind": "unknown",
|
|
1533
1533
|
"reasons": []
|
|
1534
1534
|
},
|
|
1535
|
+
{
|
|
1536
|
+
"confidence": "weak",
|
|
1537
|
+
"cost": "fast",
|
|
1538
|
+
"covers": {
|
|
1539
|
+
"actions": [],
|
|
1540
|
+
"commands": [],
|
|
1541
|
+
"components": [],
|
|
1542
|
+
"liveQueries": [],
|
|
1543
|
+
"packages": [],
|
|
1544
|
+
"policies": [],
|
|
1545
|
+
"queries": [],
|
|
1546
|
+
"tables": [],
|
|
1547
|
+
"workflows": []
|
|
1548
|
+
},
|
|
1549
|
+
"file": "tests/external-manifest/java-adapter-conformance.test.ts",
|
|
1550
|
+
"kind": "unknown",
|
|
1551
|
+
"reasons": []
|
|
1552
|
+
},
|
|
1535
1553
|
{
|
|
1536
1554
|
"confidence": "probable",
|
|
1537
1555
|
"cost": "fast",
|
|
@@ -1853,7 +1871,8 @@ export const testGraph = {
|
|
|
1853
1871
|
"packages": [
|
|
1854
1872
|
"ai",
|
|
1855
1873
|
"react",
|
|
1856
|
-
"tsx"
|
|
1874
|
+
"tsx",
|
|
1875
|
+
"vue"
|
|
1857
1876
|
],
|
|
1858
1877
|
"policies": [],
|
|
1859
1878
|
"queries": [],
|
|
@@ -1865,7 +1884,8 @@ export const testGraph = {
|
|
|
1865
1884
|
"reasons": [
|
|
1866
1885
|
"probable: packages ai",
|
|
1867
1886
|
"probable: packages react",
|
|
1868
|
-
"probable: packages tsx"
|
|
1887
|
+
"probable: packages tsx",
|
|
1888
|
+
"probable: packages vue"
|
|
1869
1889
|
]
|
|
1870
1890
|
},
|
|
1871
1891
|
{
|
|
@@ -3720,6 +3740,52 @@ export const testGraph = {
|
|
|
3720
3740
|
"probable: packages tsx"
|
|
3721
3741
|
]
|
|
3722
3742
|
},
|
|
3743
|
+
{
|
|
3744
|
+
"confidence": "confirmed",
|
|
3745
|
+
"cost": "fast",
|
|
3746
|
+
"covers": {
|
|
3747
|
+
"actions": [],
|
|
3748
|
+
"commands": [],
|
|
3749
|
+
"components": [],
|
|
3750
|
+
"liveQueries": [],
|
|
3751
|
+
"packages": [
|
|
3752
|
+
"ai",
|
|
3753
|
+
"vue"
|
|
3754
|
+
],
|
|
3755
|
+
"policies": [],
|
|
3756
|
+
"queries": [],
|
|
3757
|
+
"tables": [],
|
|
3758
|
+
"workflows": []
|
|
3759
|
+
},
|
|
3760
|
+
"file": "tests/vue/generated-vue.test.ts",
|
|
3761
|
+
"kind": "unknown",
|
|
3762
|
+
"reasons": [
|
|
3763
|
+
"confirmed: packages vue",
|
|
3764
|
+
"probable: packages ai"
|
|
3765
|
+
]
|
|
3766
|
+
},
|
|
3767
|
+
{
|
|
3768
|
+
"confidence": "confirmed",
|
|
3769
|
+
"cost": "fast",
|
|
3770
|
+
"covers": {
|
|
3771
|
+
"actions": [],
|
|
3772
|
+
"commands": [],
|
|
3773
|
+
"components": [],
|
|
3774
|
+
"liveQueries": [],
|
|
3775
|
+
"packages": [
|
|
3776
|
+
"vue"
|
|
3777
|
+
],
|
|
3778
|
+
"policies": [],
|
|
3779
|
+
"queries": [],
|
|
3780
|
+
"tables": [],
|
|
3781
|
+
"workflows": []
|
|
3782
|
+
},
|
|
3783
|
+
"file": "tests/vue/hooks.test.ts",
|
|
3784
|
+
"kind": "unknown",
|
|
3785
|
+
"reasons": [
|
|
3786
|
+
"confirmed: packages vue"
|
|
3787
|
+
]
|
|
3788
|
+
},
|
|
3723
3789
|
{
|
|
3724
3790
|
"confidence": "weak",
|
|
3725
3791
|
"cost": "standard",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"commands":["forge impact --changed --json","forge test plan --changed --json","forge test run --changed --json","forge test run --changed --timeout-ms <ms> --json","forge test explain <testFile> --json","forge verify --changed","forge verify --fast","forge verify --smoke","forge verify --standard","forge verify --strict"],"costs":["instant","fast","standard","slow","docker","browser"],"generatedArtifacts":["src/forge/_generated/testGraph.json","src/forge/_generated/testGraph.ts","src/forge/_generated/testPlanRegistry.json","src/forge/_generated/testPlanRegistry.ts"],"generatorVersion":"0.1.0-alpha.
|
|
1
|
+
{"commands":["forge impact --changed --json","forge test plan --changed --json","forge test run --changed --json","forge test run --changed --timeout-ms <ms> --json","forge test explain <testFile> --json","forge verify --changed","forge verify --fast","forge verify --smoke","forge verify --standard","forge verify --strict"],"costs":["instant","fast","standard","slow","docker","browser"],"generatedArtifacts":["src/forge/_generated/testGraph.json","src/forge/_generated/testGraph.ts","src/forge/_generated/testPlanRegistry.json","src/forge/_generated/testPlanRegistry.ts"],"generatorVersion":"0.1.0-alpha.14","planDirectory":".forge/test-plans","runDirectory":".forge/test-runs","schemaVersion":"0.1.0"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=b19778372e3a2e9aef8b949e07b1115427fafb46cfc8bcf7f0149065b4ce2631
|
|
2
2
|
export const testPlanRegistry = {
|
|
3
3
|
"commands": [
|
|
4
4
|
"forge impact --changed --json",
|
|
@@ -26,7 +26,7 @@ export const testPlanRegistry = {
|
|
|
26
26
|
"src/forge/_generated/testPlanRegistry.json",
|
|
27
27
|
"src/forge/_generated/testPlanRegistry.ts"
|
|
28
28
|
],
|
|
29
|
-
"generatorVersion": "0.1.0-alpha.
|
|
29
|
+
"generatorVersion": "0.1.0-alpha.14",
|
|
30
30
|
"planDirectory": ".forge/test-plans",
|
|
31
31
|
"runDirectory": ".forge/test-runs",
|
|
32
32
|
"schemaVersion": "0.1.0"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=4ced4073bc3f7f08c3794c880f820a5ef036a697698fd9db92fade96ed283bc2
|
|
2
2
|
export const uiRoutes = {
|
|
3
3
|
"routes": [
|
|
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=9f058eb2077646e169007bbff7911b3113ef95d12a5c7001db88e378557732d6
|
|
2
2
|
export const uiScenarios = {
|
|
3
3
|
"scenarios": [
|
|
4
4
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"defaultBaseUrl":"http://127.0.0.1:3000","framework":"unknown","generatorVersion":"0.1.0-alpha.
|
|
1
|
+
{"defaultBaseUrl":"http://127.0.0.1:3000","framework":"unknown","generatorVersion":"0.1.0-alpha.14","routes":[{"name":"home","path":"/","uses":{"commands":[],"components":[],"liveQueries":[],"queries":[]}}],"runtimeUrl":"http://127.0.0.1:3765","scenarios":["home-loads"],"schemaVersion":"0.1.0","selectors":["[data-forge-testid='app-root'], body"],"webRoot":""}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=adbae592cde677af1269b8b52694de57b132a0d05c2b9a9572b2f7cac7323136
|
|
2
2
|
export const uiTestManifest = {
|
|
3
3
|
"defaultBaseUrl": "http://127.0.0.1:3000",
|
|
4
4
|
"framework": "unknown",
|
|
5
|
-
"generatorVersion": "0.1.0-alpha.
|
|
5
|
+
"generatorVersion": "0.1.0-alpha.14",
|
|
6
6
|
"routes": [
|
|
7
7
|
{
|
|
8
8
|
"name": "home",
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=460b155973fd4668339a981e516f317a29a3af1b1313414fdb786d9a28044d84
|
|
2
|
+
export type {
|
|
3
|
+
ForgeDevAuthConfig,
|
|
4
|
+
ForgeVueAuth,
|
|
5
|
+
ForgeVueAuthProvider,
|
|
6
|
+
ForgeVueBindings,
|
|
7
|
+
ForgeVueClient,
|
|
8
|
+
ForgeVueClientConfig,
|
|
9
|
+
ForgeVueError,
|
|
10
|
+
ForgeVuePluginOptions,
|
|
11
|
+
UseForgeCommandOptions,
|
|
12
|
+
UseForgeCommandResult,
|
|
13
|
+
UseForgeLiveQueryOptions,
|
|
14
|
+
UseForgeLiveQueryResult,
|
|
15
|
+
UseForgeQueryOptions,
|
|
16
|
+
UseForgeQueryResult,
|
|
17
|
+
} from "forge/vue";
|
|
18
|
+
|
|
19
|
+
export declare const ForgeVuePlugin: import("forge/vue").ForgeVueBindings["ForgeVuePlugin"];
|
|
20
|
+
export declare const provideForge: import("forge/vue").ForgeVueBindings["provideForge"];
|
|
21
|
+
export declare const useForgeClient: import("forge/vue").ForgeVueBindings["useForgeClient"];
|
|
22
|
+
export declare const useForgeAuth: import("forge/vue").ForgeVueBindings["useForgeAuth"];
|
|
23
|
+
export declare const useForgeQuery: import("forge/vue").ForgeVueBindings["useForgeQuery"];
|
|
24
|
+
export declare const useForgeCommand: import("forge/vue").ForgeVueBindings["useForgeCommand"];
|
|
25
|
+
export declare const useForgeLiveQuery: import("forge/vue").ForgeVueBindings["useForgeLiveQuery"];
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=7c33d583c6f4e735c4f18c6bd8cc68342f8b7ca1053ac068db5f836c5c56c1fa
|
|
2
|
+
import { createForgeVueBindings } from "forge/vue";
|
|
3
|
+
import { createForgeClient } from "./client.ts";
|
|
4
|
+
|
|
5
|
+
export type {
|
|
6
|
+
ForgeDevAuthConfig,
|
|
7
|
+
ForgeVueAuth,
|
|
8
|
+
ForgeVueAuthProvider,
|
|
9
|
+
ForgeVueBindings,
|
|
10
|
+
ForgeVueClient,
|
|
11
|
+
ForgeVueClientConfig,
|
|
12
|
+
ForgeVueError,
|
|
13
|
+
ForgeVuePluginOptions,
|
|
14
|
+
UseForgeCommandOptions,
|
|
15
|
+
UseForgeCommandResult,
|
|
16
|
+
UseForgeLiveQueryOptions,
|
|
17
|
+
UseForgeLiveQueryResult,
|
|
18
|
+
UseForgeQueryOptions,
|
|
19
|
+
UseForgeQueryResult,
|
|
20
|
+
} from "forge/vue";
|
|
21
|
+
|
|
22
|
+
const forgeVue = createForgeVueBindings(createForgeClient);
|
|
23
|
+
|
|
24
|
+
export const ForgeVuePlugin = forgeVue.ForgeVuePlugin;
|
|
25
|
+
export const provideForge = forgeVue.provideForge;
|
|
26
|
+
export const useForgeClient = forgeVue.useForgeClient;
|
|
27
|
+
export const useForgeAuth = forgeVue.useForgeAuth;
|
|
28
|
+
export const useForgeQuery = forgeVue.useForgeQuery;
|
|
29
|
+
export const useForgeCommand = forgeVue.useForgeCommand;
|
|
30
|
+
export const useForgeLiveQuery = forgeVue.useForgeLiveQuery;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"clientSafe":true,"commands":[],"composables":["provideForge","useForgeClient","useForgeAuth","useForgeQuery","useForgeCommand","useForgeLiveQuery"],"entrypoint":"src/forge/_generated/vue.ts","generatorVersion":"0.1.0-alpha.14","inputHash":"fa91cddd17b0506bfbda138df4715590759a3d3febcc837f5d0cea1dd769d7df","liveQueries":[],"queries":[],"schemaVersion":"1.0.0"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=05ed00bd2a5f5b97f130b2eadad8bae9f590f3f54a9d8c425733b827aad0b8f7
|
|
2
|
+
export const vueManifest = {
|
|
3
|
+
"schemaVersion": "1.0.0",
|
|
4
|
+
"generatorVersion": "0.1.0-alpha.14",
|
|
5
|
+
"inputHash": "fa91cddd17b0506bfbda138df4715590759a3d3febcc837f5d0cea1dd769d7df",
|
|
6
|
+
"entrypoint": "src/forge/_generated/vue.ts",
|
|
7
|
+
"composables": [
|
|
8
|
+
"provideForge",
|
|
9
|
+
"useForgeClient",
|
|
10
|
+
"useForgeAuth",
|
|
11
|
+
"useForgeQuery",
|
|
12
|
+
"useForgeCommand",
|
|
13
|
+
"useForgeLiveQuery"
|
|
14
|
+
],
|
|
15
|
+
"queries": [],
|
|
16
|
+
"commands": [],
|
|
17
|
+
"liveQueries": [],
|
|
18
|
+
"clientSafe": true
|
|
19
|
+
} as const;
|
|
@@ -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","schemaVersion":"0.1.0","workflows":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=443e54eecec15b7e93a479b62f466eddca6446f27229fbd4ec2fce4952397697
|
|
2
2
|
export const workflowRegistry = {
|
|
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
|
"schemaVersion": "0.1.0",
|
|
8
8
|
"workflows": []
|
|
9
9
|
} as const;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"analyzerVersion":"0.1.0","byEvent":{},"diagnostics":[],"generatorVersion":"0.1.0-alpha.
|
|
1
|
+
{"analyzerVersion":"0.1.0","byEvent":{},"diagnostics":[],"generatorVersion":"0.1.0-alpha.14","inputHash":"3a1a49f565e22702d7fcd7d8d5ea3c45eebacec22f93ea9c5cbfbb50241e2871","schemaVersion":"0.1.0","subscriptions":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
// @forge-generated generator=0.1.0-alpha.
|
|
1
|
+
// @forge-generated generator=0.1.0-alpha.14 input=675f1561e5787d5107285fb1d3627501242d220f0be03e89adf99930e6c23c69 content=bf1a6c115e889ce084cfbb4e6d3ec5a4135e191babe287b9149e3ead3b4c15cd
|
|
2
2
|
export const workflowSubscriptions = {
|
|
3
3
|
"analyzerVersion": "0.1.0",
|
|
4
4
|
"byEvent": {},
|
|
5
5
|
"diagnostics": [],
|
|
6
|
-
"generatorVersion": "0.1.0-alpha.
|
|
7
|
-
"inputHash": "
|
|
6
|
+
"generatorVersion": "0.1.0-alpha.14",
|
|
7
|
+
"inputHash": "3a1a49f565e22702d7fcd7d8d5ea3c45eebacec22f93ea9c5cbfbb50241e2871",
|
|
8
8
|
"schemaVersion": "0.1.0",
|
|
9
9
|
"subscriptions": []
|
|
10
10
|
} as const;
|
|
@@ -384,7 +384,7 @@ function playbookFiles(): AgentExportFile[] {
|
|
|
384
384
|
"Prefer targeted repairs and impacted tests before full verify.",
|
|
385
385
|
]],
|
|
386
386
|
["frontend-change.md", "Frontend Change", [
|
|
387
|
-
"Use generated client APIs and React hooks.",
|
|
387
|
+
"Use generated client APIs and framework bindings: React hooks or Vue composables.",
|
|
388
388
|
"Do not import server adapters or server-only packages into client code.",
|
|
389
389
|
"Preserve `ForgeError.traceId` in visible error states.",
|
|
390
390
|
"Run affected frontend tests and `forge verify --changed`.",
|
package/src/forge/cli/parse.ts
CHANGED
|
@@ -1266,7 +1266,7 @@ export function parseCli(argv: string[]): ParsedCli {
|
|
|
1266
1266
|
event: parseOptionValue(argv, "--event"),
|
|
1267
1267
|
trigger: parseOptionValue(argv, "--trigger"),
|
|
1268
1268
|
component: parseOptionValue(argv, "--component"),
|
|
1269
|
-
framework: parseOptionValue(argv, "--framework") as "vite" | "next" | undefined,
|
|
1269
|
+
framework: parseOptionValue(argv, "--framework") as "vite" | "next" | "nuxt" | undefined,
|
|
1270
1270
|
withAi: parseFlag(argv, "--with-ai"),
|
|
1271
1271
|
withCrud: parseFlag(argv, "--with-crud"),
|
|
1272
1272
|
withLiveQuery: parseFlag(argv, "--with-livequery"),
|
package/src/forge/cli/verify.ts
CHANGED
|
@@ -350,6 +350,7 @@ const STRICT_TEST_FALLBACK_MS_BY_PATH: Array<{ pattern: RegExp; estimatedMs: num
|
|
|
350
350
|
{ pattern: /^tests\/external-manifest\/external-runtime-cli\.test\.ts$/, estimatedMs: 6_000 },
|
|
351
351
|
{ pattern: /^tests\/external-manifest\/external-runtime-node-cli\.test\.ts$/, estimatedMs: 12_000 },
|
|
352
352
|
{ pattern: /^tests\/external-manifest\/go-adapter-conformance\.test\.ts$/, estimatedMs: 5_000 },
|
|
353
|
+
{ pattern: /^tests\/external-manifest\/java-adapter-conformance\.test\.ts$/, estimatedMs: 20_000 },
|
|
353
354
|
{ pattern: /^tests\/impact\/h28-impact\.test\.ts$/, estimatedMs: 8_000 },
|
|
354
355
|
{ pattern: /^tests\/impact\/h28-impact-runner\.test\.ts$/, estimatedMs: 7_000 },
|
|
355
356
|
{ pattern: /^tests\/impact\/h28-impact-runner-diagnostics\.test\.ts$/, estimatedMs: 3_000 },
|
|
@@ -378,6 +379,7 @@ const STRICT_ISOLATED_TEST_PATTERNS = [
|
|
|
378
379
|
/^tests\/dev\//,
|
|
379
380
|
/^tests\/external-manifest\/external-manifest\.test\.ts$/,
|
|
380
381
|
/^tests\/external-manifest\/go-adapter-conformance\.test\.ts$/,
|
|
382
|
+
/^tests\/external-manifest\/java-adapter-conformance\.test\.ts$/,
|
|
381
383
|
/^tests\/external-manifest\/external-runtime-bridge\.test\.ts$/,
|
|
382
384
|
/^tests\/external-manifest\/external-runtime-node-cli\.test\.ts$/,
|
|
383
385
|
/^tests\/impact\/h28-impact\.test\.ts$/,
|
|
@@ -453,17 +453,17 @@ function playbooks(): AgentPlaybook[] {
|
|
|
453
453
|
"Run forge dev --once --json for a one-shot diagnostic cycle.",
|
|
454
454
|
"Use --api-only, --web-only, --no-watch, or --no-worker only when narrowing the loop intentionally.",
|
|
455
455
|
"When a web app exists, forge dev starts the API runtime and the web dev server together and prints both URLs.",
|
|
456
|
-
"Use generated client
|
|
456
|
+
"Use generated client bindings through web/lib/forge.ts, web/src/lib/forge.ts, or Nuxt web/composables/forge.ts.",
|
|
457
457
|
],
|
|
458
458
|
},
|
|
459
459
|
{
|
|
460
460
|
title: "Add or update frontend",
|
|
461
461
|
steps: [
|
|
462
|
-
"Run forge make ui --framework vite --dry-run --json when the app does not have a web root.",
|
|
462
|
+
"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.",
|
|
463
463
|
"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.",
|
|
464
|
-
"Use web/lib/forge.ts as the generated client bridge.",
|
|
465
|
-
"Mount ForgeProvider once in the web app provider/layout layer; use devAuth for local development.",
|
|
466
|
-
"Use useQuery
|
|
464
|
+
"Use web/lib/forge.ts, web/src/lib/forge.ts, or web/composables/forge.ts as the generated client bridge.",
|
|
465
|
+
"Mount ForgeProvider or install the Nuxt Forge plugin once in the web app provider/layout layer; use devAuth for local development.",
|
|
466
|
+
"Use useQuery/useCommand/useLiveQuery or useForgeQuery/useForgeCommand/useForgeLiveQuery instead of raw /commands or /queries fetches.",
|
|
467
467
|
"Run forge generate so frontendGraph and agentContract include routes and bindings.",
|
|
468
468
|
"Run forge inspect capabilities --json to confirm UI actions map to runtime capabilities.",
|
|
469
469
|
"Run forge dev --once --json and forge doctor --json.",
|
|
@@ -1502,9 +1502,9 @@ ${contract.frontend.dev ? `- Web URL: ${contract.frontend.dev.url}
|
|
|
1502
1502
|
|
|
1503
1503
|
Rules:
|
|
1504
1504
|
|
|
1505
|
-
- Use the local \`web/**/lib/forge.ts\` bridge to generated
|
|
1506
|
-
- Mount \`<ForgeProvider devAuth>\` in local development.
|
|
1507
|
-
- Use \`useQuery
|
|
1505
|
+
- Use the local \`web/**/lib/forge.ts\` or Nuxt \`web/composables/forge.ts\` bridge to generated bindings.
|
|
1506
|
+
- Mount \`<ForgeProvider devAuth>\` or install the Nuxt Forge plugin in local development.
|
|
1507
|
+
- Use \`useQuery\`/\`useCommand\`/\`useLiveQuery\` or \`useForgeQuery\`/\`useForgeCommand\`/\`useForgeLiveQuery\` instead of raw Forge endpoint fetches in components.
|
|
1508
1508
|
- Keep frontend routes reflected in \`src/forge/_generated/frontendGraph.json\`.
|
|
1509
1509
|
|
|
1510
1510
|
## Common tasks
|
|
@@ -1537,6 +1537,7 @@ Use:
|
|
|
1537
1537
|
forge make resource <name> --fields title:text,status:enum(open,closed) --dry-run --json
|
|
1538
1538
|
forge make resource <name> --fields title:text,status:enum(open,closed) --with-ui --yes
|
|
1539
1539
|
forge make ui --framework vite --dry-run --json
|
|
1540
|
+
forge make ui --framework nuxt --dry-run --json
|
|
1540
1541
|
forge make ai-chat support --dry-run --json
|
|
1541
1542
|
\`\`\`
|
|
1542
1543
|
|
|
@@ -1553,7 +1554,7 @@ forge inspect frontend --json
|
|
|
1553
1554
|
forge inspect capabilities --json
|
|
1554
1555
|
\`\`\`
|
|
1555
1556
|
|
|
1556
|
-
\`forge dev\` starts the API runtime and web app together when \`web/\` exists. \`forge dev --once --json\` reports routes, components,
|
|
1557
|
+
\`forge dev\` starts the API runtime and web app together when \`web/\` exists. \`forge dev --once --json\` reports routes, components, providers/plugins, bridge files, generated client bindings, direct runtime fetch warnings, capability-map parity warnings, and fix hints.
|
|
1557
1558
|
|
|
1558
1559
|
### Apply a feature blueprint
|
|
1559
1560
|
|
|
@@ -23,6 +23,10 @@ export interface ClientManifest {
|
|
|
23
23
|
entrypoint: string;
|
|
24
24
|
hooks: string[];
|
|
25
25
|
};
|
|
26
|
+
vue: {
|
|
27
|
+
entrypoint: string;
|
|
28
|
+
composables: string[];
|
|
29
|
+
};
|
|
26
30
|
excluded: {
|
|
27
31
|
actions: string[];
|
|
28
32
|
workflows: string[];
|
|
@@ -43,6 +47,18 @@ export interface ReactManifest {
|
|
|
43
47
|
clientSafe: true;
|
|
44
48
|
}
|
|
45
49
|
|
|
50
|
+
export interface VueManifest {
|
|
51
|
+
schemaVersion: string;
|
|
52
|
+
generatorVersion: string;
|
|
53
|
+
inputHash: string;
|
|
54
|
+
entrypoint: string;
|
|
55
|
+
composables: string[];
|
|
56
|
+
queries: string[];
|
|
57
|
+
commands: string[];
|
|
58
|
+
liveQueries: string[];
|
|
59
|
+
clientSafe: true;
|
|
60
|
+
}
|
|
61
|
+
|
|
46
62
|
const SERVER_ADAPTER_SUFFIX = ".server.ts";
|
|
47
63
|
|
|
48
64
|
function collectServerAdapters(classified: ClassifiedPackage[]): string[] {
|
|
@@ -117,6 +133,17 @@ export function buildClientManifest(
|
|
|
117
133
|
"useLiveQuery",
|
|
118
134
|
],
|
|
119
135
|
},
|
|
136
|
+
vue: {
|
|
137
|
+
entrypoint: "src/forge/_generated/vue.ts",
|
|
138
|
+
composables: [
|
|
139
|
+
"provideForge",
|
|
140
|
+
"useForgeClient",
|
|
141
|
+
"useForgeAuth",
|
|
142
|
+
"useForgeQuery",
|
|
143
|
+
"useForgeCommand",
|
|
144
|
+
"useForgeLiveQuery",
|
|
145
|
+
],
|
|
146
|
+
},
|
|
120
147
|
excluded: {
|
|
121
148
|
actions,
|
|
122
149
|
workflows,
|
|
@@ -153,3 +180,31 @@ export function buildReactManifest(clientManifest: ClientManifest): ReactManifes
|
|
|
153
180
|
clientSafe: true,
|
|
154
181
|
};
|
|
155
182
|
}
|
|
183
|
+
|
|
184
|
+
export function buildVueManifest(clientManifest: ClientManifest): VueManifest {
|
|
185
|
+
const composables = [
|
|
186
|
+
"provideForge",
|
|
187
|
+
"useForgeClient",
|
|
188
|
+
"useForgeAuth",
|
|
189
|
+
"useForgeQuery",
|
|
190
|
+
"useForgeCommand",
|
|
191
|
+
"useForgeLiveQuery",
|
|
192
|
+
];
|
|
193
|
+
|
|
194
|
+
return {
|
|
195
|
+
schemaVersion: "1.0.0",
|
|
196
|
+
generatorVersion: GENERATOR_VERSION,
|
|
197
|
+
inputHash: hashStable(
|
|
198
|
+
canonicalJson({
|
|
199
|
+
clientInputHash: clientManifest.inputHash,
|
|
200
|
+
composables,
|
|
201
|
+
}),
|
|
202
|
+
),
|
|
203
|
+
entrypoint: "src/forge/_generated/vue.ts",
|
|
204
|
+
composables,
|
|
205
|
+
queries: clientManifest.queries,
|
|
206
|
+
commands: clientManifest.commands,
|
|
207
|
+
liveQueries: clientManifest.liveQueries,
|
|
208
|
+
clientSafe: true,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClientManifest, ReactManifest } from "./build-manifest.ts";
|
|
1
|
+
import type { ClientManifest, ReactManifest, VueManifest } from "./build-manifest.ts";
|
|
2
2
|
|
|
3
3
|
export function renderClientTypesTs(): string {
|
|
4
4
|
return `export type ForgeStaticAuth = {
|
|
@@ -535,3 +535,68 @@ export declare const useLiveQuery: import("forge/react").ForgeReactBindings["use
|
|
|
535
535
|
export function renderReactManifestTs(manifest: ReactManifest): string {
|
|
536
536
|
return `export const reactManifest = ${JSON.stringify(manifest, null, 2)} as const;\n`;
|
|
537
537
|
}
|
|
538
|
+
|
|
539
|
+
export function renderVueTs(): string {
|
|
540
|
+
return `import { createForgeVueBindings } from "forge/vue";
|
|
541
|
+
import { createForgeClient } from "./client.ts";
|
|
542
|
+
|
|
543
|
+
export type {
|
|
544
|
+
ForgeDevAuthConfig,
|
|
545
|
+
ForgeVueAuth,
|
|
546
|
+
ForgeVueAuthProvider,
|
|
547
|
+
ForgeVueBindings,
|
|
548
|
+
ForgeVueClient,
|
|
549
|
+
ForgeVueClientConfig,
|
|
550
|
+
ForgeVueError,
|
|
551
|
+
ForgeVuePluginOptions,
|
|
552
|
+
UseForgeCommandOptions,
|
|
553
|
+
UseForgeCommandResult,
|
|
554
|
+
UseForgeLiveQueryOptions,
|
|
555
|
+
UseForgeLiveQueryResult,
|
|
556
|
+
UseForgeQueryOptions,
|
|
557
|
+
UseForgeQueryResult,
|
|
558
|
+
} from "forge/vue";
|
|
559
|
+
|
|
560
|
+
const forgeVue = createForgeVueBindings(createForgeClient);
|
|
561
|
+
|
|
562
|
+
export const ForgeVuePlugin = forgeVue.ForgeVuePlugin;
|
|
563
|
+
export const provideForge = forgeVue.provideForge;
|
|
564
|
+
export const useForgeClient = forgeVue.useForgeClient;
|
|
565
|
+
export const useForgeAuth = forgeVue.useForgeAuth;
|
|
566
|
+
export const useForgeQuery = forgeVue.useForgeQuery;
|
|
567
|
+
export const useForgeCommand = forgeVue.useForgeCommand;
|
|
568
|
+
export const useForgeLiveQuery = forgeVue.useForgeLiveQuery;
|
|
569
|
+
`;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
export function renderVueDts(): string {
|
|
573
|
+
return `export type {
|
|
574
|
+
ForgeDevAuthConfig,
|
|
575
|
+
ForgeVueAuth,
|
|
576
|
+
ForgeVueAuthProvider,
|
|
577
|
+
ForgeVueBindings,
|
|
578
|
+
ForgeVueClient,
|
|
579
|
+
ForgeVueClientConfig,
|
|
580
|
+
ForgeVueError,
|
|
581
|
+
ForgeVuePluginOptions,
|
|
582
|
+
UseForgeCommandOptions,
|
|
583
|
+
UseForgeCommandResult,
|
|
584
|
+
UseForgeLiveQueryOptions,
|
|
585
|
+
UseForgeLiveQueryResult,
|
|
586
|
+
UseForgeQueryOptions,
|
|
587
|
+
UseForgeQueryResult,
|
|
588
|
+
} from "forge/vue";
|
|
589
|
+
|
|
590
|
+
export declare const ForgeVuePlugin: import("forge/vue").ForgeVueBindings["ForgeVuePlugin"];
|
|
591
|
+
export declare const provideForge: import("forge/vue").ForgeVueBindings["provideForge"];
|
|
592
|
+
export declare const useForgeClient: import("forge/vue").ForgeVueBindings["useForgeClient"];
|
|
593
|
+
export declare const useForgeAuth: import("forge/vue").ForgeVueBindings["useForgeAuth"];
|
|
594
|
+
export declare const useForgeQuery: import("forge/vue").ForgeVueBindings["useForgeQuery"];
|
|
595
|
+
export declare const useForgeCommand: import("forge/vue").ForgeVueBindings["useForgeCommand"];
|
|
596
|
+
export declare const useForgeLiveQuery: import("forge/vue").ForgeVueBindings["useForgeLiveQuery"];
|
|
597
|
+
`;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
export function renderVueManifestTs(manifest: VueManifest): string {
|
|
601
|
+
return `export const vueManifest = ${JSON.stringify(manifest, null, 2)} as const;\n`;
|
|
602
|
+
}
|
|
@@ -106,7 +106,12 @@ function defaultGuidanceForCode(code: string): DiagnosticGuidance | null {
|
|
|
106
106
|
if (code.startsWith("FORGE_FRONTEND_")) {
|
|
107
107
|
return {
|
|
108
108
|
fixHint: "Use the generated frontend bridge and inspect src/forge/_generated/frontendGraph.json before editing UI wiring.",
|
|
109
|
-
suggestedCommands: [
|
|
109
|
+
suggestedCommands: [
|
|
110
|
+
"forge inspect frontend --json",
|
|
111
|
+
"forge make ui --framework vite --dry-run --json",
|
|
112
|
+
"forge make ui --framework nuxt --dry-run --json",
|
|
113
|
+
"forge generate",
|
|
114
|
+
],
|
|
110
115
|
docs: ["src/forge/_generated/frontendGraph.json", "AGENTS.md"],
|
|
111
116
|
};
|
|
112
117
|
}
|
|
@@ -33,6 +33,9 @@ export function buildBarrelIndexBody(exportFilePaths: string[]): string {
|
|
|
33
33
|
|
|
34
34
|
const lines = unique.map((path) => {
|
|
35
35
|
const exportPath = toBarrelExportPath(path);
|
|
36
|
+
if (exportPath === "./vue") {
|
|
37
|
+
return `export * as vue from "${exportPath}";`;
|
|
38
|
+
}
|
|
36
39
|
return `export * from "${exportPath}";`;
|
|
37
40
|
});
|
|
38
41
|
|