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
83] as const;83] as const;
84 84
85const config = {85const config = {
86 scope,86 scopes: [scope],
87 adapter: makeMemoryAdapter({ schema: collectSchemas(plugins) }),87 adapter: makeMemoryAdapter({ schema: collectSchemas(plugins) }),
88 blobs: makeInMemoryBlobStore(),88 blobs: makeInMemoryBlobStore(),
89 plugins,89 plugins,
@@ -208,6 +208,7 @@ const program = Effect.gen(function* () { · 118 unmodified lines
208 yield* executor.secrets.set(208 yield* executor.secrets.set(
209 new SetSecretInput({209 new SetSecretInput({
210 id: SecretId.make("example-api-token"),210 id: SecretId.make("example-api-token"),
211 scope: "example-scope" as SetSecretInput["scope"],
211 name: "Example API Token",212 name: "Example API Token",
212 value: "sk-example-redacted",213 value: "sk-example-redacted",
213 provider: "file",214 provider: "file",
@@ -262,6 +263,7 @@ const program = Effect.gen(function* () { · 48 unmodified lines
262 spec: exampleOpenApiSpec,263 spec: exampleOpenApiSpec,
263 namespace: "example-api",264 namespace: "example-api",
264 baseUrl: "https://example.com/api",265 baseUrl: "https://example.com/api",
266 scope: "example-scope",
265 });267 });
266 console.log("Registered OpenAPI source:", addSpecResult);268 console.log("Registered OpenAPI source:", addSpecResult);
267 269
@@ -371,6 +373,7 @@ const program = Effect.gen(function* () { · 103 unmodified lines
371 endpoint: "https://example.com/graphql",373 endpoint: "https://example.com/graphql",
372 introspectionJson,374 introspectionJson,
373 namespace: "example-graphql",375 namespace: "example-graphql",
376 scope: "example-scope",
374 });377 });
375 console.log("Registered GraphQL source:", gqlResult);378 console.log("Registered GraphQL source:", gqlResult);
376 379