forgeos 0.1.0-alpha.7 → 0.1.0-alpha.9

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.
Files changed (185) hide show
  1. package/AGENTS.md +1 -1
  2. package/CHANGELOG.md +14 -0
  3. package/adapters/go/README.md +23 -0
  4. package/adapters/go/go.mod +3 -0
  5. package/adapters/go/http.go +149 -0
  6. package/adapters/go/registry.go +234 -0
  7. package/adapters/go/types.go +136 -0
  8. package/docs/changelog.md +82 -0
  9. package/docs/forge-protocol.md +155 -0
  10. package/examples/go-billing/go.mod +7 -0
  11. package/examples/go-billing/main.go +120 -0
  12. package/package.json +5 -1
  13. package/schemas/forge-manifest.schema.json +57 -0
  14. package/src/forge/_generated/actionSubscriptions.json +2 -2
  15. package/src/forge/_generated/actionSubscriptions.ts +3 -3
  16. package/src/forge/_generated/agentAdapterManifest.json +2 -2
  17. package/src/forge/_generated/agentAdapterManifest.ts +3 -3
  18. package/src/forge/_generated/agentContract.json +2 -2
  19. package/src/forge/_generated/agentContract.ts +5 -2
  20. package/src/forge/_generated/agentQuickstart.md +1 -1
  21. package/src/forge/_generated/agentTools.json +2 -2
  22. package/src/forge/_generated/agentTools.md +1 -1
  23. package/src/forge/_generated/agentTools.ts +2 -2
  24. package/src/forge/_generated/aiContext.ts +1 -1
  25. package/src/forge/_generated/aiModels.json +1 -1
  26. package/src/forge/_generated/aiModels.ts +1 -1
  27. package/src/forge/_generated/aiProviders.json +1 -1
  28. package/src/forge/_generated/aiProviders.ts +1 -1
  29. package/src/forge/_generated/aiRegistry.json +2 -2
  30. package/src/forge/_generated/aiRegistry.ts +3 -3
  31. package/src/forge/_generated/api.json +2 -2
  32. package/src/forge/_generated/api.ts +7 -2
  33. package/src/forge/_generated/appGraph.json +2 -2
  34. package/src/forge/_generated/appGraph.ts +661 -254
  35. package/src/forge/_generated/appMap.md +1 -1
  36. package/src/forge/_generated/artifactManifest.json +2 -2
  37. package/src/forge/_generated/artifactManifest.ts +2 -2
  38. package/src/forge/_generated/authClaims.json +1 -1
  39. package/src/forge/_generated/authClaims.ts +1 -1
  40. package/src/forge/_generated/authConfig.json +1 -1
  41. package/src/forge/_generated/authConfig.ts +1 -1
  42. package/src/forge/_generated/authContext.ts +1 -1
  43. package/src/forge/_generated/authRegistry.json +1 -1
  44. package/src/forge/_generated/authRegistry.ts +1 -1
  45. package/src/forge/_generated/buildInfo.json +2 -2
  46. package/src/forge/_generated/buildInfo.ts +4 -4
  47. package/src/forge/_generated/capabilityMap.json +2 -2
  48. package/src/forge/_generated/capabilityMap.md +1 -1
  49. package/src/forge/_generated/capabilityMap.ts +2 -2
  50. package/src/forge/_generated/client.ts +88 -1
  51. package/src/forge/_generated/clientApi.ts +2 -1
  52. package/src/forge/_generated/clientManifest.json +2 -2
  53. package/src/forge/_generated/clientManifest.ts +6 -4
  54. package/src/forge/_generated/clientTypes.ts +19 -1
  55. package/src/forge/_generated/configRegistry.json +1 -1
  56. package/src/forge/_generated/configRegistry.ts +1 -1
  57. package/src/forge/_generated/dataGraph.json +2 -2
  58. package/src/forge/_generated/dataGraph.ts +3 -3
  59. package/src/forge/_generated/db.json +1 -1
  60. package/src/forge/_generated/db.ts +1 -1
  61. package/src/forge/_generated/dbSecurityManifest.json +1 -1
  62. package/src/forge/_generated/dbSecurityManifest.ts +1 -1
  63. package/src/forge/_generated/dbSessionContext.json +1 -1
  64. package/src/forge/_generated/dbSessionContext.ts +1 -1
  65. package/src/forge/_generated/deployManifest.json +2 -2
  66. package/src/forge/_generated/deployManifest.ts +7 -7
  67. package/src/forge/_generated/devManifest.json +2 -2
  68. package/src/forge/_generated/devManifest.ts +3 -3
  69. package/src/forge/_generated/envSchema.json +1 -1
  70. package/src/forge/_generated/envSchema.ts +1 -1
  71. package/src/forge/_generated/externalServices.json +2 -0
  72. package/src/forge/_generated/externalServices.ts +9 -0
  73. package/src/forge/_generated/frontendGraph.json +1 -1
  74. package/src/forge/_generated/frontendGraph.ts +1 -1
  75. package/src/forge/_generated/importGuards.json +1 -1
  76. package/src/forge/_generated/importGuards.ts +1 -1
  77. package/src/forge/_generated/index.ts +2 -1
  78. package/src/forge/_generated/liveProductionManifest.json +1 -1
  79. package/src/forge/_generated/liveProductionManifest.ts +1 -1
  80. package/src/forge/_generated/liveProtocol.json +1 -1
  81. package/src/forge/_generated/liveProtocol.ts +1 -1
  82. package/src/forge/_generated/liveQueryRegistry.json +2 -2
  83. package/src/forge/_generated/liveQueryRegistry.ts +3 -3
  84. package/src/forge/_generated/liveTransportConfig.json +1 -1
  85. package/src/forge/_generated/liveTransportConfig.ts +1 -1
  86. package/src/forge/_generated/makeRegistry.json +2 -2
  87. package/src/forge/_generated/makeRegistry.ts +2 -2
  88. package/src/forge/_generated/makeTemplates.json +1 -1
  89. package/src/forge/_generated/makeTemplates.ts +1 -1
  90. package/src/forge/_generated/mockMap.json +1 -1
  91. package/src/forge/_generated/mockMap.ts +1 -1
  92. package/src/forge/_generated/operationPlaybooks.md +1 -1
  93. package/src/forge/_generated/packageGraph.json +2 -2
  94. package/src/forge/_generated/packageGraph.ts +2 -2
  95. package/src/forge/_generated/packageUpgradeRegistry.json +2 -2
  96. package/src/forge/_generated/packageUpgradeRegistry.ts +2 -2
  97. package/src/forge/_generated/permissionMatrix.json +2 -2
  98. package/src/forge/_generated/permissionMatrix.ts +3 -3
  99. package/src/forge/_generated/policyRegistry.json +2 -2
  100. package/src/forge/_generated/policyRegistry.ts +3 -3
  101. package/src/forge/_generated/queryRegistry.json +2 -2
  102. package/src/forge/_generated/queryRegistry.ts +3 -3
  103. package/src/forge/_generated/react.d.ts +1 -1
  104. package/src/forge/_generated/react.ts +1 -1
  105. package/src/forge/_generated/reactManifest.json +2 -2
  106. package/src/forge/_generated/reactManifest.ts +3 -3
  107. package/src/forge/_generated/releaseManifest.json +2 -2
  108. package/src/forge/_generated/releaseManifest.ts +3 -3
  109. package/src/forge/_generated/rlsPolicies.json +1 -1
  110. package/src/forge/_generated/rlsPolicies.sql +1 -1
  111. package/src/forge/_generated/rlsPolicies.ts +1 -1
  112. package/src/forge/_generated/runtimeGraph.json +2 -2
  113. package/src/forge/_generated/runtimeGraph.ts +3 -3
  114. package/src/forge/_generated/runtimeMatrix.json +1 -1
  115. package/src/forge/_generated/runtimeMatrix.ts +1 -1
  116. package/src/forge/_generated/runtimeRegistry.ts +1 -1
  117. package/src/forge/_generated/runtimeRules.md +1 -1
  118. package/src/forge/_generated/secretRegistry.json +1 -1
  119. package/src/forge/_generated/secretRegistry.ts +1 -1
  120. package/src/forge/_generated/secretsContext.ts +1 -1
  121. package/src/forge/_generated/serverApi.ts +2 -1
  122. package/src/forge/_generated/sourceMapManifest.json +2 -2
  123. package/src/forge/_generated/sourceMapManifest.ts +2 -2
  124. package/src/forge/_generated/sqlPlan.json +1 -1
  125. package/src/forge/_generated/sqlPlan.ts +1 -1
  126. package/src/forge/_generated/subscriptionManifest.json +2 -2
  127. package/src/forge/_generated/subscriptionManifest.ts +3 -3
  128. package/src/forge/_generated/symbolicationManifest.json +2 -2
  129. package/src/forge/_generated/symbolicationManifest.ts +2 -2
  130. package/src/forge/_generated/telemetryRegistry.json +2 -2
  131. package/src/forge/_generated/telemetryRegistry.ts +3 -3
  132. package/src/forge/_generated/telemetrySinks.json +2 -2
  133. package/src/forge/_generated/telemetrySinks.ts +2 -2
  134. package/src/forge/_generated/tenantScope.json +2 -2
  135. package/src/forge/_generated/tenantScope.ts +3 -3
  136. package/src/forge/_generated/testGraph.json +2 -2
  137. package/src/forge/_generated/testGraph.ts +57 -3
  138. package/src/forge/_generated/testPlanRegistry.json +2 -2
  139. package/src/forge/_generated/testPlanRegistry.ts +2 -2
  140. package/src/forge/_generated/uiRoutes.json +1 -1
  141. package/src/forge/_generated/uiRoutes.ts +1 -1
  142. package/src/forge/_generated/uiScenarios.json +1 -1
  143. package/src/forge/_generated/uiScenarios.ts +1 -1
  144. package/src/forge/_generated/uiTestManifest.json +2 -2
  145. package/src/forge/_generated/uiTestManifest.ts +2 -2
  146. package/src/forge/_generated/workflowRegistry.json +2 -2
  147. package/src/forge/_generated/workflowRegistry.ts +3 -3
  148. package/src/forge/_generated/workflowSubscriptions.json +2 -2
  149. package/src/forge/_generated/workflowSubscriptions.ts +3 -3
  150. package/src/forge/bench.ts +248 -0
  151. package/src/forge/cli/ai.ts +16 -1
  152. package/src/forge/cli/build.ts +1 -1
  153. package/src/forge/cli/commands.ts +118 -0
  154. package/src/forge/cli/main.ts +3 -1
  155. package/src/forge/cli/parse.ts +84 -0
  156. package/src/forge/cli/run.ts +41 -0
  157. package/src/forge/cli/verify.ts +201 -24
  158. package/src/forge/compiler/agent-contract/build.ts +121 -7
  159. package/src/forge/compiler/agent-contract/types.ts +30 -1
  160. package/src/forge/compiler/api-surface/build.ts +47 -0
  161. package/src/forge/compiler/app-graph/build.ts +33 -5
  162. package/src/forge/compiler/app-graph/module-graph.ts +73 -78
  163. package/src/forge/compiler/app-graph/parser.ts +24 -24
  164. package/src/forge/compiler/app-graph/profile.ts +26 -0
  165. package/src/forge/compiler/classifier/capabilities.ts +3 -2
  166. package/src/forge/compiler/classifier/classify.ts +32 -8
  167. package/src/forge/compiler/classifier/secrets.ts +3 -2
  168. package/src/forge/compiler/classifier/signals.ts +91 -1
  169. package/src/forge/compiler/client-sdk/build-manifest.ts +4 -0
  170. package/src/forge/compiler/client-sdk/render-client.ts +105 -0
  171. package/src/forge/compiler/diagnostics/codes.ts +12 -0
  172. package/src/forge/compiler/external-manifest/registry.ts +204 -0
  173. package/src/forge/compiler/external-manifest/types.ts +89 -0
  174. package/src/forge/compiler/external-manifest/validate.ts +335 -0
  175. package/src/forge/compiler/orchestrator/plan-profile.ts +23 -0
  176. package/src/forge/compiler/orchestrator/plan.ts +52 -11
  177. package/src/forge/compiler/orchestrator/profile.ts +65 -0
  178. package/src/forge/compiler/orchestrator/run.ts +97 -31
  179. package/src/forge/compiler/orchestrator/serialize.ts +13 -6
  180. package/src/forge/compiler/policy-registry/build.ts +44 -1
  181. package/src/forge/compiler/test-graph/build.ts +11 -3
  182. package/src/forge/compiler/types/cli.ts +3 -0
  183. package/src/forge/dev/server.ts +68 -0
  184. package/src/forge/runtime/external/bridge.ts +553 -0
  185. package/src/forge/version.ts +1 -1
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=53abf93e3b82e98f1dad118f3dc94ecffcc2a39bc531ba5f7acd4f8e78c296e2
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=53abf93e3b82e98f1dad118f3dc94ecffcc2a39bc531ba5f7acd4f8e78c296e2
2
2
  # App Map
3
3
 
4
4
  ## Data
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=ab0c2ed8845d0f380534e369164d65ae96953b4dca67d31ffc93ad67fad148c5
2
- {"artifacts":[],"diagnostics":[],"releaseId":"forgeos@0.1.0-alpha.7+unknown","schemaVersion":"0.1.0"}
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=fdaeef45a250947455994bd89d8ddc3afc75f4713645206815535c377828c5b2
2
+ {"artifacts":[],"diagnostics":[],"releaseId":"forgeos@0.1.0-alpha.9+unknown","schemaVersion":"0.1.0"}
@@ -1,7 +1,7 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=fa01b1c59d10ecf043106b9180dca83cc116f8e7934cf28fa7139fee60ed5f57
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=ab6868232b5248df7ab5e760dd70e94e14f2c23ba47565cc915c666d5033a82a
2
2
  export const artifactManifest = {
3
3
  "artifacts": [],
4
4
  "diagnostics": [],
5
- "releaseId": "forgeos@0.1.0-alpha.7+unknown",
5
+ "releaseId": "forgeos@0.1.0-alpha.9+unknown",
6
6
  "schemaVersion": "0.1.0"
7
7
  } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=c9bda2f6e9efc218ecd5cf8504fc1115b75c98927021cd1a6a48b49c7df32798
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=c9bda2f6e9efc218ecd5cf8504fc1115b75c98927021cd1a6a48b49c7df32798
2
2
  {"claims":{"email":"email","name":"name","permissions":"permissions","role":"role","roles":"roles","tenantId":"tenant_id","userId":"sub"},"schemaVersion":"0.1.0"}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=de95cece618768716693e2af73b236224507426781ce72787dfd87ce4bf286c2
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=de95cece618768716693e2af73b236224507426781ce72787dfd87ce4bf286c2
2
2
  export const authClaims = {
3
3
  "claims": {
4
4
  "email": "email",
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=7e85a943f955729dbee32461491b254b819595d84ce79d8e56bc522066654bba
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=7e85a943f955729dbee32461491b254b819595d84ce79d8e56bc522066654bba
2
2
  {"algorithmsEnv":"FORGE_AUTH_ALGORITHMS","audienceEnv":"FORGE_AUTH_AUDIENCE","defaultMode":"dev-headers","issuerEnv":"FORGE_AUTH_ISSUER","jwksUriEnv":"FORGE_AUTH_JWKS_URI","modeEnv":"FORGE_AUTH_MODE","modes":["dev-headers","jwt","oidc","disabled"],"requiresTenant":false,"schemaVersion":"0.1.0"}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=ffd5e95a6107ad58380a0a171f1602594eca9c5bef9feb12f9d4568013e3e9d2
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=ffd5e95a6107ad58380a0a171f1602594eca9c5bef9feb12f9d4568013e3e9d2
2
2
  export const authConfig = {
3
3
  "algorithmsEnv": "FORGE_AUTH_ALGORITHMS",
4
4
  "audienceEnv": "FORGE_AUTH_AUDIENCE",
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=cf170e035d456c3ac698211e5b5a5b65a5743332654a8d5987281c050002cf99
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=cf170e035d456c3ac698211e5b5a5b65a5743332654a8d5987281c050002cf99
2
2
  export type AuthContext =
3
3
  | {
4
4
  kind: "user";
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=0b60f773fa78808792114ca707760eaf310233136c684ee57e1df018a24f8d4c
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=0b60f773fa78808792114ca707760eaf310233136c684ee57e1df018a24f8d4c
2
2
  {"algorithmsEnv":"FORGE_AUTH_ALGORITHMS","audienceEnv":"FORGE_AUTH_AUDIENCE","claims":{"email":"email","name":"name","permissions":"permissions","role":"role","roles":"roles","tenantId":"tenant_id","userId":"sub"},"defaultMode":"dev-headers","issuerEnv":"FORGE_AUTH_ISSUER","jwksUriEnv":"FORGE_AUTH_JWKS_URI","modes":["dev-headers","jwt","oidc","disabled"],"requiresTenant":false,"schemaVersion":"0.1.0"}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=737febf357ddca0e97368d301087ceced8b4223b213fde817240434825a77b1e
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=737febf357ddca0e97368d301087ceced8b4223b213fde817240434825a77b1e
2
2
  export const authRegistry = {
3
3
  "algorithmsEnv": "FORGE_AUTH_ALGORITHMS",
4
4
  "audienceEnv": "FORGE_AUTH_AUDIENCE",
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=6190a7581683044308aa24c6261f64cd1b206a81224f18f27fc90437a9594636
2
- {"generatedHash":"4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9","gitSha":"unknown","packageName":"forgeos","packageVersion":"0.1.0-alpha.7","releaseId":"forgeos@0.1.0-alpha.7+unknown","schemaVersion":"0.1.0"}
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=3b2bfa2da677704c4c60b73e5eadb6a394eeb204fc0b7e0d963b99c42efc2b5f
2
+ {"generatedHash":"f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36","gitSha":"unknown","packageName":"forgeos","packageVersion":"0.1.0-alpha.9","releaseId":"forgeos@0.1.0-alpha.9+unknown","schemaVersion":"0.1.0"}
@@ -1,9 +1,9 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=306d7ad26f4df772c088dcdd4e0b79390f0a0ddad645220966b8ca59b6735c40
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=4e4f528f6c24fe589e0ebc583207c753bc8f35a028f25f71e23f2998f71928a4
2
2
  export const buildInfo = {
3
- "generatedHash": "4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9",
3
+ "generatedHash": "f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36",
4
4
  "gitSha": "unknown",
5
5
  "packageName": "forgeos",
6
- "packageVersion": "0.1.0-alpha.7",
7
- "releaseId": "forgeos@0.1.0-alpha.7+unknown",
6
+ "packageVersion": "0.1.0-alpha.9",
7
+ "releaseId": "forgeos@0.1.0-alpha.9+unknown",
8
8
  "schemaVersion": "0.1.0"
9
9
  } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=ec1f0689821848b0cdb9fc6a0332ad4bb305bd5226b900dde9217af4be9ecd0d
2
- {"diagnostics":[],"entries":[],"generatorVersion":"0.1.0-alpha.7","project":{"name":"forgeos","type":"forgeos-app"},"schemaVersion":"0.1.0","summary":{"backendOnly":0,"covered":0,"frontendOnly":0,"warnings":0}}
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=caa7dbae914e526b51be0ca2711d4d657da39265bbf109cdccdcdecd8a8e1b60
2
+ {"diagnostics":[],"entries":[],"generatorVersion":"0.1.0-alpha.9","project":{"name":"forgeos","type":"forgeos-app"},"schemaVersion":"0.1.0","summary":{"backendOnly":0,"covered":0,"frontendOnly":0,"warnings":0}}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=b43b8f016935ebd1e3e8eb40b01ae80c052ab5907ece3edfca511372c7f0bd60
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=b43b8f016935ebd1e3e8eb40b01ae80c052ab5907ece3edfca511372c7f0bd60
2
2
  # Capability Map
3
3
 
4
4
  Project: forgeos
@@ -1,8 +1,8 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=80f967727a6b80ffc34fc332537ad1d78e731ce0ce3ddb4c59862a6eb7c716da
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=75079d90a4b0baa1d2ba06285bf2d218b5d222ca433bf8441e7c5c842ec04650
2
2
  export const capabilityMap = {
3
3
  "diagnostics": [],
4
4
  "entries": [],
5
- "generatorVersion": "0.1.0-alpha.7",
5
+ "generatorVersion": "0.1.0-alpha.9",
6
6
  "project": {
7
7
  "name": "forgeos",
8
8
  "type": "forgeos-app"
@@ -1,9 +1,11 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=9b27e66a63e6abbf0c65ca5d8c1d64c7992fc7249842a9174b97b4a99c72a4bd
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=beb8a95a58b094f5f4f5407dc18f0e22f9f88c30747976a374dacea44feef3f2
2
2
  import { api } from "./api.ts";
3
3
  import type {
4
4
  ForgeAuthProvider,
5
5
  ForgeClient,
6
6
  ForgeClientConfig,
7
+ ExternalCommandRef,
8
+ ExternalQueryRef,
7
9
  LiveQueryOptions,
8
10
  LiveSnapshot,
9
11
  } from "./clientTypes.ts";
@@ -19,6 +21,11 @@ export type {
19
21
  QueryName,
20
22
  CommandName,
21
23
  LiveQueryName,
24
+ ExternalCommandName,
25
+ ExternalQueryName,
26
+ ExternalRuntimeRefObject,
27
+ ExternalCommandRef,
28
+ ExternalQueryRef,
22
29
  ForgeResolvedAuth,
23
30
  LiveQueryOptions,
24
31
  LiveSnapshot,
@@ -96,6 +103,16 @@ function parseJsonPayload(body: unknown): {
96
103
  };
97
104
  }
98
105
 
106
+ function normalizeExternalRef(
107
+ ref: ExternalCommandRef | ExternalQueryRef,
108
+ ): { service: string; name: string } {
109
+ if (typeof ref === "string") {
110
+ const [service, ...entryParts] = ref.split(".");
111
+ return { service: service ?? "", name: entryParts.join(".") };
112
+ }
113
+ return { service: ref.service, name: ref.name };
114
+ }
115
+
99
116
  class ForgeHttpClient implements ForgeClient {
100
117
  lastTraceId?: string;
101
118
 
@@ -109,6 +126,14 @@ class ForgeHttpClient implements ForgeClient {
109
126
  return this.invoke("commands", name, args);
110
127
  }
111
128
 
129
+ externalQuery(name: ExternalQueryRef, args: unknown): Promise<unknown> {
130
+ return this.invokeExternal("queries", name, args);
131
+ }
132
+
133
+ externalCommand(name: ExternalCommandRef, args: unknown): Promise<unknown> {
134
+ return this.invokeExternal("commands", name, args);
135
+ }
136
+
112
137
  liveQuery(
113
138
  name: string,
114
139
  args: unknown,
@@ -185,6 +210,68 @@ class ForgeHttpClient implements ForgeClient {
185
210
  return payload.result;
186
211
  }
187
212
 
213
+ private async invokeExternal(
214
+ kind: "queries" | "commands",
215
+ name: ExternalCommandRef | ExternalQueryRef,
216
+ args: unknown,
217
+ ): Promise<unknown> {
218
+ const normalized = normalizeExternalRef(name);
219
+ const serviceName = normalized.service;
220
+ const entryName = normalized.name;
221
+ if (!serviceName || !entryName) {
222
+ throw new ForgeError(`External runtime name must be service.entry`, {
223
+ code: "FORGE_EXTERNAL_RUNTIME_NOT_FOUND",
224
+ });
225
+ }
226
+ const baseUrl = this.config.url.replace(/\/$/, "");
227
+ const url = `${baseUrl}/external/${encodeURIComponent(serviceName)}/${kind}/${encodeURIComponent(entryName)}`;
228
+ return this.invokeUrl(url, args);
229
+ }
230
+
231
+ private async invokeUrl(url: string, args: unknown): Promise<unknown> {
232
+ const authHeaders = await resolveAuthHeaders(this.config.auth);
233
+
234
+ const response = await fetch(url, {
235
+ method: "POST",
236
+ headers: {
237
+ "Content-Type": "application/json",
238
+ ...authHeaders,
239
+ },
240
+ body: JSON.stringify({ args }),
241
+ });
242
+
243
+ let body: unknown;
244
+ try {
245
+ body = await response.json();
246
+ } catch {
247
+ throw new ForgeError(`HTTP ${response.status}`, {
248
+ code: "FORGE_HTTP_ERROR",
249
+ status: response.status,
250
+ });
251
+ }
252
+
253
+ const payload = parseJsonPayload(body);
254
+ this.lastTraceId = payload.traceId;
255
+
256
+ if (!response.ok || payload.ok === false) {
257
+ const diagnostic = payload.diagnostics?.find((entry) => entry.code);
258
+ const code =
259
+ payload.error?.code ?? diagnostic?.code ?? "FORGE_REQUEST_FAILED";
260
+ const message =
261
+ payload.error?.message ??
262
+ diagnostic?.message ??
263
+ `Request failed with status ${response.status}`;
264
+ throw new ForgeError(message, {
265
+ code,
266
+ traceId: payload.traceId,
267
+ status: response.status,
268
+ details: payload.error?.details ?? payload.diagnostics,
269
+ });
270
+ }
271
+
272
+ return payload.result;
273
+ }
274
+
188
275
  private async openLiveQuery(
189
276
  name: string,
190
277
  args: unknown,
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=d331e860feeb8e9f3bcdcf45c3ff0ab2ebcd41bb96fbf204bb83dc7fcfda1ab3
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=f76d5aedd5c0f5bd80995094379b6dce0fbf0f8873c038119ca2251a44e4113d
2
2
  import { api } from "./api.ts";
3
3
 
4
4
  /** Client-side typed API surface (queries, commands; no server adapters). */
@@ -6,4 +6,5 @@ export const clientApi = {
6
6
  queries: api.queries,
7
7
  commands: api.commands,
8
8
  liveQueries: api.liveQueries,
9
+ external: api.external,
9
10
  } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=a36b7f8a41acab02b2e21fa2a1887a9c135f968f1aa9384ad2d3ba8bfc1304e3
2
- {"commands":[],"excluded":{"actions":[],"serverAdapters":["ai.anthropic.server.ts","ai.gateway.server.ts","ai.openai.server.ts"],"serverPackages":["@ai-sdk/anthropic","@ai-sdk/openai","ai"],"workflows":[]},"generatorVersion":"0.1.0-alpha.7","inputHash":"4430bceb316f84215223cb55e790176f23fbb900a73a1248a6fbe1a749048433","liveQueries":[],"queries":[],"react":{"entrypoint":"src/forge/_generated/react.ts","hooks":["ForgeProvider","useForgeClient","useAuth","useQuery","useCommand","useLiveQuery"]},"schemaVersion":"1.0.0","transport":{"commands":"POST /commands/:name","liveQueries":"GET /live/:name","queries":"POST /queries/:name"}}
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=84241ef0c937097931b8f16bac39135d2e3ec0fdce13f2faec602c2d738fa988
2
+ {"commands":[],"excluded":{"actions":[],"serverAdapters":["ai.anthropic.server.ts","ai.gateway.server.ts","ai.openai.server.ts"],"serverPackages":["@ai-sdk/anthropic","@ai-sdk/openai","ai"],"workflows":[]},"generatorVersion":"0.1.0-alpha.9","inputHash":"6cc5c31ceafa2db21dca968b5a8551984929d30a5e456947c7655a5965dfbed3","liveQueries":[],"queries":[],"react":{"entrypoint":"src/forge/_generated/react.ts","hooks":["ForgeProvider","useForgeClient","useAuth","useQuery","useCommand","useLiveQuery"]},"schemaVersion":"1.0.0","transport":{"commands":"POST /commands/:name","externalCommands":"POST /external/:service/commands/:name","externalQueries":"POST /external/:service/queries/:name","liveQueries":"GET /live/:name","queries":"POST /queries/:name"}}
@@ -1,15 +1,17 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=b76ff2ebc4ce2d7edcd396e1e3c76451556a3df05d07a2d73cc34887928ccd0e
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=b8935ae04c9e7efafc731f68db266d0adc62feea82f758ae6abdc0644b4ea0ff
2
2
  export const clientManifest = {
3
3
  "schemaVersion": "1.0.0",
4
- "generatorVersion": "0.1.0-alpha.7",
5
- "inputHash": "4430bceb316f84215223cb55e790176f23fbb900a73a1248a6fbe1a749048433",
4
+ "generatorVersion": "0.1.0-alpha.9",
5
+ "inputHash": "6cc5c31ceafa2db21dca968b5a8551984929d30a5e456947c7655a5965dfbed3",
6
6
  "queries": [],
7
7
  "commands": [],
8
8
  "liveQueries": [],
9
9
  "transport": {
10
10
  "queries": "POST /queries/:name",
11
11
  "commands": "POST /commands/:name",
12
- "liveQueries": "GET /live/:name"
12
+ "liveQueries": "GET /live/:name",
13
+ "externalQueries": "POST /external/:service/queries/:name",
14
+ "externalCommands": "POST /external/:service/commands/:name"
13
15
  },
14
16
  "react": {
15
17
  "entrypoint": "src/forge/_generated/react.ts",
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=39ad42ec98ed7aebc56e061aa399738c1175f0a7b4261b5bf2df70eb59afcfe2
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=b893b27f895193111546b90974f4ad1540aef6ede0d9ab3a11972a1dce2519e2
2
2
  export type ForgeStaticAuth = {
3
3
  userId?: string;
4
4
  tenantId?: string;
@@ -50,6 +50,22 @@ export class ForgeError extends Error {
50
50
  export type QueryName = keyof typeof import("./api.ts").api.queries;
51
51
  export type CommandName = keyof typeof import("./api.ts").api.commands;
52
52
  export type LiveQueryName = keyof typeof import("./api.ts").api.liveQueries;
53
+ export type ExternalCommandName = string;
54
+ export type ExternalQueryName = string;
55
+ export type ExternalRuntimeRefObject = {
56
+ service: string;
57
+ name: string;
58
+ kind?: "command" | "query";
59
+ language?: string;
60
+ framework?: string;
61
+ transport?: string;
62
+ };
63
+ export type ExternalCommandRef =
64
+ | ExternalCommandName
65
+ | ExternalRuntimeRefObject;
66
+ export type ExternalQueryRef =
67
+ | ExternalQueryName
68
+ | ExternalRuntimeRefObject;
53
69
 
54
70
  export type LiveSnapshot<T> = {
55
71
  subscriptionId: string;
@@ -68,6 +84,8 @@ export type ForgeClient = {
68
84
  readonly lastTraceId?: string;
69
85
  query<Name extends QueryName>(name: Name, args: unknown): Promise<unknown>;
70
86
  command<Name extends CommandName>(name: Name, args: unknown): Promise<unknown>;
87
+ externalQuery<Name extends ExternalQueryRef>(name: Name, args: unknown): Promise<unknown>;
88
+ externalCommand<Name extends ExternalCommandRef>(name: Name, args: unknown): Promise<unknown>;
71
89
  liveQuery<Name extends LiveQueryName>(
72
90
  name: Name,
73
91
  args: unknown,
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=48ddd915b14870e3230c517f0d28dfa3bf01e62ce885807bf4b66172c4378ad5
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=48ddd915b14870e3230c517f0d28dfa3bf01e62ce885807bf4b66172c4378ad5
2
2
  {"configs":[]}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=c67952f1bae9aeedf0c0188f162d06dfb747b265c3c6ee7fdb1ef75782e76f3b
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=c67952f1bae9aeedf0c0188f162d06dfb747b265c3c6ee7fdb1ef75782e76f3b
2
2
  export const configRegistry = {
3
3
  "configs": []
4
4
  } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=f074738e56921dce35d5646b226cfd1654615691f0ecca9ce7d2d778d44d6091
2
- {"analyzerVersion":"0.1.0","generatorVersion":"0.1.0-alpha.7","inputHash":"0b8ff4b3a8f4274274c8d35b86fbcc35601a900d30032359ef872626a1a0799d","schemaVersion":"1.0.0","tables":[]}
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=1ec1e81e43f2b5723c1ad6cb002a38cb0a51fa1612b478d68edd7aeda1dab923
2
+ {"analyzerVersion":"0.1.0","generatorVersion":"0.1.0-alpha.9","inputHash":"d32670173917f0bc753936a6605c4345a1a51a9dfd187e3171e5bff881bcef1a","schemaVersion":"1.0.0","tables":[]}
@@ -1,8 +1,8 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=2ed5092ea39855672358dd7cf86dac0bfcf359b58b90e1278a43386cfb264ab6
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=0797b891f6a3703d87a8e73875f852074ef840634e4ba2628de3363140336fd9
2
2
  export const dataGraph = {
3
3
  "analyzerVersion": "0.1.0",
4
- "generatorVersion": "0.1.0-alpha.7",
5
- "inputHash": "0b8ff4b3a8f4274274c8d35b86fbcc35601a900d30032359ef872626a1a0799d",
4
+ "generatorVersion": "0.1.0-alpha.9",
5
+ "inputHash": "d32670173917f0bc753936a6605c4345a1a51a9dfd187e3171e5bff881bcef1a",
6
6
  "schemaVersion": "1.0.0",
7
7
  "tables": []
8
8
  } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=15ac2222f939e36b4d437bd5e54aa65ec9c2027a53825883f8a4b9e2710d65d3
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=15ac2222f939e36b4d437bd5e54aa65ec9c2027a53825883f8a4b9e2710d65d3
2
2
  {"tableMap":{}}
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=34af9d0c4498776568d3d0171658539c0a25ebe08af51c34526617eb944fe106
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=34af9d0c4498776568d3d0171658539c0a25ebe08af51c34526617eb944fe106
2
2
  export const tableMap = {} as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=2990ae1c7d12671f2204605202c9e7d982b0156793644525ae0f7df2c0e18f6e
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=2990ae1c7d12671f2204605202c9e7d982b0156793644525ae0f7df2c0e18f6e
2
2
  {"authoritativeAdapters":["postgres"],"diagnostics":[],"nonAuthoritativeAdapters":["pglite","memory"],"provider":"postgres","schemaVersion":"0.1.0","tables":[],"tenantIsolation":"postgres-rls"}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=7c04c09131fcff86b3da6eae92a195c39c0bb2c0be618f597422f7a38dda024c
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=7c04c09131fcff86b3da6eae92a195c39c0bb2c0be618f597422f7a38dda024c
2
2
  export const dbSecurityManifest = {
3
3
  "authoritativeAdapters": [
4
4
  "postgres"
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=ab172af9fb4ae301ead04afe571f772b22425daf1cebd6833bde50a543cbb42c
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=ab172af9fb4ae301ead04afe571f772b22425daf1cebd6833bde50a543cbb42c
2
2
  {"diagnostics":[],"method":"set_config","schemaVersion":"0.1.0","settings":[{"name":"forge.tenant_id","required":true,"source":"ctx.auth","transactionScoped":true},{"name":"forge.user_id","required":false,"source":"ctx.auth","transactionScoped":true},{"name":"forge.role","required":false,"source":"ctx.auth","transactionScoped":true},{"name":"forge.roles","required":false,"source":"ctx.auth","transactionScoped":true},{"name":"forge.permissions","required":false,"source":"ctx.auth","transactionScoped":true}],"transactionScoped":true}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=e54bf648fe6662c29d0d9c42922a496c64c84a75baf369274e75ff48da670d2a
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=e54bf648fe6662c29d0d9c42922a496c64c84a75baf369274e75ff48da670d2a
2
2
  export const dbSessionContext = {
3
3
  "diagnostics": [],
4
4
  "method": "set_config",
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=3dd5921a98588f7124ba16653b372197007634557fa47c785e0ddc6f42138772
2
- {"attributes":{"deployment.environment":"local","forge.deploy_id":"local-forgeos@0.1.0-alpha.7+unknown","forge.generated_hash":"4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9","forge.release_id":"forgeos@0.1.0-alpha.7+unknown","service.version":"forgeos@0.1.0-alpha.7+unknown"},"deployId":"local-forgeos@0.1.0-alpha.7+unknown","environment":"local","releaseId":"forgeos@0.1.0-alpha.7+unknown","schemaVersion":"0.1.0"}
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=c9534eebdcf2532178bb3fcc88eed40d3cae5585e2990057c2466c00f43ccc59
2
+ {"attributes":{"deployment.environment":"local","forge.deploy_id":"local-forgeos@0.1.0-alpha.9+unknown","forge.generated_hash":"f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36","forge.release_id":"forgeos@0.1.0-alpha.9+unknown","service.version":"forgeos@0.1.0-alpha.9+unknown"},"deployId":"local-forgeos@0.1.0-alpha.9+unknown","environment":"local","releaseId":"forgeos@0.1.0-alpha.9+unknown","schemaVersion":"0.1.0"}
@@ -1,14 +1,14 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=dee7501be979030947c981e178f06f6572e8152470bf751183bb4a9916ba4c83
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=a1fdacf7731699d2bfe45c3c1817a083210e13dad967865ee3fce3977c16d63f
2
2
  export const deployManifest = {
3
3
  "attributes": {
4
4
  "deployment.environment": "local",
5
- "forge.deploy_id": "local-forgeos@0.1.0-alpha.7+unknown",
6
- "forge.generated_hash": "4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9",
7
- "forge.release_id": "forgeos@0.1.0-alpha.7+unknown",
8
- "service.version": "forgeos@0.1.0-alpha.7+unknown"
5
+ "forge.deploy_id": "local-forgeos@0.1.0-alpha.9+unknown",
6
+ "forge.generated_hash": "f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36",
7
+ "forge.release_id": "forgeos@0.1.0-alpha.9+unknown",
8
+ "service.version": "forgeos@0.1.0-alpha.9+unknown"
9
9
  },
10
- "deployId": "local-forgeos@0.1.0-alpha.7+unknown",
10
+ "deployId": "local-forgeos@0.1.0-alpha.9+unknown",
11
11
  "environment": "local",
12
- "releaseId": "forgeos@0.1.0-alpha.7+unknown",
12
+ "releaseId": "forgeos@0.1.0-alpha.9+unknown",
13
13
  "schemaVersion": "0.1.0"
14
14
  } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=1c666df4b77793246dbfef0faf32b63b15459d4910beb1b2f82b2258b83ad3c8
2
- {"analyzerVersion":"0.1.0","diagnostics":[],"entries":[],"generatorVersion":"0.1.0-alpha.7","inputHash":"bed258138bd72d95d5230a0640167c9b9e433ebb0e53d566668e385bdf633b25","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
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=861e4f1e6fc03ac5b8fe2ffe5fc2136ccb2d93599a7cb239b9dac62047298a0a
2
+ {"analyzerVersion":"0.1.0","diagnostics":[],"entries":[],"generatorVersion":"0.1.0-alpha.9","inputHash":"b97878bb21357f18fd0c14c6eae7d814d8d438cda27fd26969061e7c8a89c29a","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.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=227c6a06d7479835ae485cfb7cd37ff5443829139c4bca942cb01ccd41295403
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=d3427b3c256de8d2306104da13f5bb08b16c447ca39861c0d688691dbb1b6100
2
2
  export const devManifest = {
3
3
  "analyzerVersion": "0.1.0",
4
4
  "diagnostics": [],
5
5
  "entries": [],
6
- "generatorVersion": "0.1.0-alpha.7",
7
- "inputHash": "bed258138bd72d95d5230a0640167c9b9e433ebb0e53d566668e385bdf633b25",
6
+ "generatorVersion": "0.1.0-alpha.9",
7
+ "inputHash": "b97878bb21357f18fd0c14c6eae7d814d8d438cda27fd26969061e7c8a89c29a",
8
8
  "routes": [
9
9
  {
10
10
  "method": "GET",
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=9ce97ae302f03954033b56f247fbdc2189372ad0fdd9297d929793ffc70965d9
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=9ce97ae302f03954033b56f247fbdc2189372ad0fdd9297d929793ffc70965d9
2
2
  {"variables":[{"integration":"ai-gateway","kind":"secret","name":"AI_GATEWAY_API_KEY","public":false,"required":true,"source":"recipe"},{"integration":"ai-provider-anthropic","kind":"secret","name":"ANTHROPIC_API_KEY","public":false,"required":true,"source":"recipe"},{"kind":"config","name":"FORGE_AUTH_ALGORITHMS","required":false,"source":"auth"},{"kind":"config","name":"FORGE_AUTH_AUDIENCE","required":false,"source":"auth"},{"kind":"config","name":"FORGE_AUTH_ISSUER","required":false,"source":"auth"},{"kind":"config","name":"FORGE_AUTH_JWKS_URI","required":false,"source":"auth"},{"kind":"config","name":"FORGE_AUTH_MODE","required":false,"source":"auth"},{"integration":"ai-provider-openai","kind":"secret","name":"OPENAI_API_KEY","public":false,"required":true,"source":"recipe"}]}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=a3d1351f5a64cfe2964d5140049c55de5620e2abfb8187bbb244990852cfbbef
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=a3d1351f5a64cfe2964d5140049c55de5620e2abfb8187bbb244990852cfbbef
2
2
  export const envSchema = {
3
3
  "variables": [
4
4
  {
@@ -0,0 +1,2 @@
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=ba0a471b93cddb0b5ea4b56699f84049ec20a8276c1e44efe3a003012248375c
2
+ {"diagnostics":[],"inputHash":"85c3c58e20a742fa7b446ed1f6f1adcc8f8b5571145599328e5c170e066a9bca","protocolVersion":"1.0","registryPath":".forge/external-manifests.json","schemaVersion":"0.1.0","services":[]}
@@ -0,0 +1,9 @@
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=7aeff47a93a78a4713ba01405a41681c466d0a0145579996e8ad71054d4d822d
2
+ export const externalServices = {
3
+ "diagnostics": [],
4
+ "inputHash": "85c3c58e20a742fa7b446ed1f6f1adcc8f8b5571145599328e5c170e066a9bca",
5
+ "protocolVersion": "1.0",
6
+ "registryPath": ".forge/external-manifests.json",
7
+ "schemaVersion": "0.1.0",
8
+ "services": []
9
+ } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=c9761a223a8d510711c5e18e835a8bca78cede975c218a5f437c016a2ffc1a25
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=c9761a223a8d510711c5e18e835a8bca78cede975c218a5f437c016a2ffc1a25
2
2
  {"bridgeFiles":[],"clientBindings":[],"components":[],"diagnostics":[],"framework":"none","present":false,"providers":[],"routes":[],"schemaVersion":"0.1.0","webManifest":{"bridge":{"files":[],"valid":false},"env":{"apiUrl":"NEXT_PUBLIC_FORGE_URL"},"framework":"none","present":false,"scripts":{},"urls":{"api":"http://127.0.0.1:3765"}}}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=8c2052b427d11b806490a59ef256bbb8e8816bc90db57525b0f68a0596e1e7c4
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=8c2052b427d11b806490a59ef256bbb8e8816bc90db57525b0f68a0596e1e7c4
2
2
  export const frontendGraph = {
3
3
  "bridgeFiles": [],
4
4
  "clientBindings": [],
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=e032fc411a614945d1f7e2b314c9de2d08c09559b510caba67341001d4f084de
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=e032fc411a614945d1f7e2b314c9de2d08c09559b510caba67341001d4f084de
2
2
  {"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,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.7 input=4fe172e9300b7393cef5b37bfef064fb779c42d420e54af7e07045ad230330a9 content=e432d0f4305ef18d98e0d14b95def5b007ce3ac3498ac5ce46c10dd6f14b5502
1
+ // @forge-generated generator=0.1.0-alpha.9 input=f9063a03ef56a20a89f1418951bede5ab5ed87d800bb0512a0d0445309642a36 content=e432d0f4305ef18d98e0d14b95def5b007ce3ac3498ac5ce46c10dd6f14b5502
2
2
  export const importGuards = {
3
3
  "schemaVersion": "1",
4
4
  "entries": [