History

cloud/local/examples: thread per-user ScopeStack through HTTP + MCP

- cloud: resolves userId from the authenticated session and builds a [userOrgScope, orgScope] stack via createScopedExecutor(userId, orgId, orgName). userId threaded through execution-stack, mcp-session, and MCP dispatch init. - cloud env refactor: deletes the lazy Proxy apps/cloud/src/env.ts in favor of cloudflare:workers env imported at call sites; adds env-augment.d.ts to type secrets not present in generated wrangler types. - cloud/server.ts: env-guarded OTEL wiring (skips instrument() when AXIOM_TOKEN absent); captures rawFetch before instrument() mutates it so dev requests still land on the Hono app. - cloud/services/db.ts: prefers DATABASE_URL over the hyperdrive proxy so local dev works without the tunnel. - vite.config.ts: devCrashGuard plugin that prints uncaught Worker errors with a stable exit. - hosts/mcp: optional debug flag surfaces verbose session logging, wired up from cloud mcp-session. - local/examples/marketing: migrated to scopes: [scope].

Rhys Sullivan committed 6 months ago

Commit d4e311e1 parent 427699c25 files · +320 −174Browse files

Showing the changes to examples/all-plugins (1 of 25 files). Show all

Unified · Split

examples/all-plugins/src/main.ts+4−1
@@ -83,7 +83,7 @@ const plugins = [ · 82 unmodified lines
8383 ] as const;
8484
8585 const config = {
86− scope,
86+ scopes: [scope],
8787 adapter: makeMemoryAdapter({ schema: collectSchemas(plugins) }),
8888 blobs: makeInMemoryBlobStore(),
8989 plugins,
@@ -208,6 +208,7 @@ const program = Effect.gen(function* () { · 118 unmodified lines
208208 yield* executor.secrets.set(
209209 new SetSecretInput({
210210 id: SecretId.make("example-api-token"),
211+ scope: "example-scope" as SetSecretInput["scope"],
211212 name: "Example API Token",
212213 value: "sk-example-redacted",
213214 provider: "file",
@@ -262,6 +263,7 @@ const program = Effect.gen(function* () { · 48 unmodified lines
262263 spec: exampleOpenApiSpec,
263264 namespace: "example-api",
264265 baseUrl: "https://example.com/api",
266+ scope: "example-scope",
265267 });
266268 console.log("Registered OpenAPI source:", addSpecResult);
267269
@@ -371,6 +373,7 @@ const program = Effect.gen(function* () { · 103 unmodified lines
371373 endpoint: "https://example.com/graphql",
372374 introspectionJson,
373375 namespace: "example-graphql",
376+ scope: "example-scope",
374377 });
375378 console.log("Registered GraphQL source:", gqlResult);
376379