@stigmer/react 0.0.78 → 0.0.80

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 (99) hide show
  1. package/agent/AgentDetailView.js +2 -2
  2. package/agent/AgentDetailView.js.map +1 -1
  3. package/agent/agentSetupReducer.d.ts +3 -3
  4. package/agent/agentSetupReducer.d.ts.map +1 -1
  5. package/agent/index.d.ts +1 -1
  6. package/agent/index.d.ts.map +1 -1
  7. package/agent/index.js +1 -1
  8. package/agent/index.js.map +1 -1
  9. package/agent/useAgentSetup.d.ts +4 -4
  10. package/agent/useAgentSetup.js +9 -9
  11. package/agent/useAgentSetup.js.map +1 -1
  12. package/environment/EnvVarForm.d.ts +9 -3
  13. package/environment/EnvVarForm.d.ts.map +1 -1
  14. package/environment/EnvVarForm.js +1 -1
  15. package/environment/EnvVarForm.js.map +1 -1
  16. package/environment/EnvironmentListPanel.d.ts +19 -4
  17. package/environment/EnvironmentListPanel.d.ts.map +1 -1
  18. package/environment/EnvironmentListPanel.js +7 -3
  19. package/environment/EnvironmentListPanel.js.map +1 -1
  20. package/environment/{diffEnvSpec.d.ts → diffEnv.d.ts} +9 -8
  21. package/environment/diffEnv.d.ts.map +1 -0
  22. package/environment/{diffEnvSpec.js → diffEnv.js} +10 -9
  23. package/environment/diffEnv.js.map +1 -0
  24. package/environment/index.d.ts +1 -1
  25. package/environment/index.d.ts.map +1 -1
  26. package/environment/index.js +1 -1
  27. package/environment/index.js.map +1 -1
  28. package/execution/SessionVariablesInput.d.ts +1 -1
  29. package/index.d.ts +3 -3
  30. package/index.d.ts.map +1 -1
  31. package/index.js +3 -3
  32. package/index.js.map +1 -1
  33. package/library/parse-resource-yaml.d.ts +1 -1
  34. package/library/parse-resource-yaml.d.ts.map +1 -1
  35. package/library/parse-resource-yaml.js +26 -16
  36. package/library/parse-resource-yaml.js.map +1 -1
  37. package/library/serialize-resource-yaml.js +17 -21
  38. package/library/serialize-resource-yaml.js.map +1 -1
  39. package/mcp-server/McpServerDetailView.d.ts +8 -1
  40. package/mcp-server/McpServerDetailView.d.ts.map +1 -1
  41. package/mcp-server/McpServerDetailView.js +27 -6
  42. package/mcp-server/McpServerDetailView.js.map +1 -1
  43. package/mcp-server/McpServerPicker.d.ts +8 -1
  44. package/mcp-server/McpServerPicker.d.ts.map +1 -1
  45. package/mcp-server/McpServerPicker.js +2 -2
  46. package/mcp-server/McpServerPicker.js.map +1 -1
  47. package/mcp-server/OAuthCallbackHandler.d.ts +2 -0
  48. package/mcp-server/OAuthCallbackHandler.d.ts.map +1 -1
  49. package/mcp-server/OAuthCallbackHandler.js.map +1 -1
  50. package/mcp-server/index.d.ts +2 -0
  51. package/mcp-server/index.d.ts.map +1 -1
  52. package/mcp-server/index.js +1 -0
  53. package/mcp-server/index.js.map +1 -1
  54. package/mcp-server/mcpServerSetupReducer.d.ts +4 -4
  55. package/mcp-server/useMcpServerConnect.d.ts +15 -12
  56. package/mcp-server/useMcpServerConnect.d.ts.map +1 -1
  57. package/mcp-server/useMcpServerConnect.js +17 -17
  58. package/mcp-server/useMcpServerConnect.js.map +1 -1
  59. package/mcp-server/useMcpServerCredentials.d.ts +32 -17
  60. package/mcp-server/useMcpServerCredentials.d.ts.map +1 -1
  61. package/mcp-server/useMcpServerCredentials.js +30 -19
  62. package/mcp-server/useMcpServerCredentials.js.map +1 -1
  63. package/mcp-server/useMcpServerOAuthConnect.d.ts +4 -3
  64. package/mcp-server/useMcpServerOAuthConnect.d.ts.map +1 -1
  65. package/mcp-server/useMcpServerOAuthConnect.js +16 -4
  66. package/mcp-server/useMcpServerOAuthConnect.js.map +1 -1
  67. package/mcp-server/useMcpServerSetup.d.ts +5 -5
  68. package/mcp-server/useMcpServerSetup.d.ts.map +1 -1
  69. package/mcp-server/useMcpServerSetup.js +33 -13
  70. package/mcp-server/useMcpServerSetup.js.map +1 -1
  71. package/mcp-server/useOAuthGrantStatus.d.ts +41 -0
  72. package/mcp-server/useOAuthGrantStatus.d.ts.map +1 -0
  73. package/mcp-server/useOAuthGrantStatus.js +91 -0
  74. package/mcp-server/useOAuthGrantStatus.js.map +1 -0
  75. package/package.json +4 -4
  76. package/src/agent/AgentDetailView.tsx +5 -5
  77. package/src/agent/agentSetupReducer.ts +3 -3
  78. package/src/agent/index.ts +1 -1
  79. package/src/agent/useAgentSetup.ts +11 -11
  80. package/src/environment/EnvVarForm.tsx +9 -3
  81. package/src/environment/EnvironmentListPanel.tsx +27 -9
  82. package/src/environment/{diffEnvSpec.ts → diffEnv.ts} +10 -9
  83. package/src/environment/index.ts +1 -1
  84. package/src/execution/SessionVariablesInput.tsx +1 -1
  85. package/src/index.ts +4 -2
  86. package/src/library/parse-resource-yaml.ts +27 -18
  87. package/src/library/serialize-resource-yaml.ts +20 -27
  88. package/src/mcp-server/McpServerDetailView.tsx +39 -7
  89. package/src/mcp-server/McpServerPicker.tsx +9 -1
  90. package/src/mcp-server/OAuthCallbackHandler.tsx +2 -0
  91. package/src/mcp-server/index.ts +3 -0
  92. package/src/mcp-server/mcpServerSetupReducer.ts +4 -4
  93. package/src/mcp-server/useMcpServerConnect.ts +25 -22
  94. package/src/mcp-server/useMcpServerCredentials.ts +65 -32
  95. package/src/mcp-server/useMcpServerOAuthConnect.ts +20 -6
  96. package/src/mcp-server/useMcpServerSetup.ts +38 -15
  97. package/src/mcp-server/useOAuthGrantStatus.ts +125 -0
  98. package/environment/diffEnvSpec.d.ts.map +0 -1
  99. package/environment/diffEnvSpec.js.map +0 -1
@@ -1,11 +1,12 @@
1
1
  "use client";
2
2
  import { useCallback, useMemo } from "react";
3
3
  import { usePersonalEnvironment } from "../environment/usePersonalEnvironment";
4
- import { diffEnvSpec } from "../environment/diffEnvSpec";
4
+ import { diffEnv } from "../environment/diffEnv";
5
5
  import { SYSTEM_ENV_VAR_KEYS } from "../environment/systemEnvVars";
6
+ import { useOAuthGrantStatus } from "./useOAuthGrantStatus";
6
7
  /**
7
8
  * Checks the user's personal environment against an MCP server's
8
- * `env_spec` and provides a mechanism to save missing credentials.
9
+ * `env` declarations and provides a mechanism to save missing credentials.
9
10
  *
10
11
  * Designed for the discovery flow on the MCP server detail page:
11
12
  * before triggering discovery, the UI needs to ensure all required
@@ -14,10 +15,12 @@ import { SYSTEM_ENV_VAR_KEYS } from "../environment/systemEnvVars";
14
15
  * them.
15
16
  *
16
17
  * **Auth-mode-aware**: when `spec.auth` is configured, the hook
17
- * identifies the OAuth-managed variable (`target_env_var`) and
18
- * excludes it from `missingVariables` that variable is acquired
19
- * via {@link useMcpServerOAuthConnect}, not a manual form. Additional
20
- * non-OAuth vars still appear in `missingVariables` (mixed mode).
18
+ * composes {@link useOAuthGrantStatus} to determine whether the
19
+ * OAuth-managed variable (`target_env_var`) is connected via an
20
+ * active grant. The OAuth variable is excluded from `missingVariables`
21
+ * it is acquired via {@link useMcpServerOAuthConnect}, not a manual
22
+ * form. Additional non-OAuth vars still appear in `missingVariables`
23
+ * (mixed mode).
21
24
  *
22
25
  * Unlike {@link useMcpServerSetup} which manages multi-server setup
23
26
  * for session creation, this hook is scoped to a single server and
@@ -53,40 +56,48 @@ export function useMcpServerCredentials(org, mcpServer) {
53
56
  const authMode = auth ? "oauth" : "manual";
54
57
  const oauthTargetEnvVar = auth?.targetEnvVar || null;
55
58
  const tokenLifetimeHint = auth?.tokenLifetimeHint || null;
59
+ const grantStatus = useOAuthGrantStatus(authMode === "oauth" ? (mcpServer?.metadata?.id ?? null) : null, authMode === "oauth" ? org : null);
60
+ const isOAuthConnected = authMode === "oauth" && grantStatus.connected;
56
61
  const existingKeys = useMemo(() => new Set(Object.keys(personalEnv.environment?.spec?.data ?? {})), [personalEnv.environment]);
57
- const isOAuthConnected = authMode === "oauth"
58
- && oauthTargetEnvVar !== null
59
- && existingKeys.has(oauthTargetEnvVar);
60
62
  const allMissingVariables = useMemo(() => {
61
63
  if (!mcpServer)
62
64
  return [];
63
- const envSpecData = mcpServer.spec?.envSpec?.data;
64
- if (!envSpecData || Object.keys(envSpecData).length === 0)
65
+ const envDeclarations = mcpServer.spec?.env;
66
+ if (!envDeclarations || Object.keys(envDeclarations).length === 0)
65
67
  return [];
66
- return diffEnvSpec(envSpecData, existingKeys).filter((v) => !SYSTEM_ENV_VAR_KEYS.has(v.key));
68
+ return diffEnv(envDeclarations, existingKeys).filter((v) => !SYSTEM_ENV_VAR_KEYS.has(v.key));
67
69
  }, [mcpServer, existingKeys]);
70
+ const requiredMissing = useMemo(() => allMissingVariables.filter((v) => !v.optional), [allMissingVariables]);
68
71
  const missingVariables = useMemo(() => {
69
72
  if (!oauthTargetEnvVar)
70
- return allMissingVariables;
71
- return allMissingVariables.filter((v) => v.key !== oauthTargetEnvVar);
72
- }, [allMissingVariables, oauthTargetEnvVar]);
73
- const isReady = !personalEnv.isLoading && allMissingVariables.length === 0;
73
+ return requiredMissing;
74
+ return requiredMissing.filter((v) => v.key !== oauthTargetEnvVar);
75
+ }, [requiredMissing, oauthTargetEnvVar]);
76
+ const isReady = !personalEnv.isLoading &&
77
+ !grantStatus.isLoading &&
78
+ missingVariables.length === 0 &&
79
+ (authMode === "manual" || isOAuthConnected);
74
80
  const saveCredentials = useCallback(async (values) => {
75
81
  await personalEnv.getOrCreate();
76
82
  await personalEnv.addVariables(values);
77
83
  }, [personalEnv]);
84
+ const refetch = useCallback(() => {
85
+ personalEnv.refetch();
86
+ grantStatus.refetch();
87
+ }, [personalEnv, grantStatus]);
78
88
  return {
79
89
  authMode,
80
90
  oauthTargetEnvVar,
81
91
  isOAuthConnected,
92
+ accessTokenExpiresAt: grantStatus.accessTokenExpiresAt,
82
93
  tokenLifetimeHint,
83
94
  missingVariables,
84
95
  isReady,
85
- isLoading: personalEnv.isLoading,
86
- error: personalEnv.error,
96
+ isLoading: personalEnv.isLoading || grantStatus.isLoading,
97
+ error: personalEnv.error ?? grantStatus.error,
87
98
  saveCredentials,
88
99
  isSaving: personalEnv.isMutating,
89
- refetch: personalEnv.refetch,
100
+ refetch,
90
101
  };
91
102
  }
92
103
  //# sourceMappingURL=useMcpServerCredentials.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMcpServerCredentials.js","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerCredentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMcpServerCredentials.js","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerCredentials.ts"],"names":[],"mappings":"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"}
@@ -32,14 +32,15 @@ export interface UseMcpServerOAuthConnectReturn {
32
32
  * blockers.
33
33
  *
34
34
  * @param mcpServerId - System-generated ID (metadata.id) of the MCP server.
35
+ * @param org - Organization context for token storage (caller's active org).
35
36
  * @returns The updated McpServer after tool discovery completes.
36
37
  */
37
- readonly startOAuth: (mcpServerId: string) => Promise<McpServer>;
38
+ readonly startOAuth: (mcpServerId: string, org: string) => Promise<McpServer>;
38
39
  /** `true` while any phase of the OAuth flow is in progress. */
39
40
  readonly isInProgress: boolean;
40
41
  /** Current phase of the OAuth flow. */
41
42
  readonly phase: OAuthConnectPhase;
42
- /** Error from the most recent failed attempt, or `null`. */
43
+ /** Error from the most recent unsuccessful attempt, or `null`. */
43
44
  readonly error: Error | null;
44
45
  /** Reset the hook to idle state, clearing any error. */
45
46
  readonly clearError: () => void;
@@ -65,7 +66,7 @@ export interface UseMcpServerOAuthConnectReturn {
65
66
  *
66
67
  * async function handleSignIn() {
67
68
  * try {
68
- * await oauth.startOAuth(mcpServer.metadata.id);
69
+ * await oauth.startOAuth(mcpServer.metadata.id, org);
69
70
  * refetch();
70
71
  * } catch {
71
72
  * // error is available via oauth.error
@@ -1 +1 @@
1
- {"version":3,"file":"useMcpServerOAuthConnect.d.ts","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerOAuthConnect.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AASxF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,2BAA2B,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,iDAAiD;AACjD,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,YAAY,GACZ,mBAAmB,GACnB,YAAY,GACZ,YAAY,GACZ,MAAM,CAAC;AAEX,wDAAwD;AACxD,MAAM,WAAW,8BAA8B;IAC7C;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACjE,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,wBAAwB,IAAI,8BAA8B,CAqGzE"}
1
+ {"version":3,"file":"useMcpServerOAuthConnect.d.ts","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerOAuthConnect.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAUxF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,2BAA2B,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,iDAAiD;AACjD,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,YAAY,GACZ,mBAAmB,GACnB,YAAY,GACZ,YAAY,GACZ,MAAM,CAAC;AAEX,wDAAwD;AACxD,MAAM,WAAW,8BAA8B;IAC7C;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9E,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,wBAAwB,IAAI,8BAA8B,CAiHzE"}
@@ -3,6 +3,7 @@ import { useCallback, useEffect, useRef, useState } from "react";
3
3
  import { create } from "@bufbuild/protobuf";
4
4
  import { InitiateOAuthConnectInputSchema, CompleteOAuthConnectInputSchema, ConnectInputSchema, } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/io_pb";
5
5
  import { useStigmer } from "../hooks";
6
+ import { resolveSystemEnvVarValues } from "../environment/systemEnvVars";
6
7
  import { toError } from "../internal/toError";
7
8
  /**
8
9
  * Message type posted by {@link OAuthCallbackHandler} to the opener window.
@@ -34,7 +35,7 @@ const POPUP_CALLBACK_TIMEOUT_MS = 120_000;
34
35
  *
35
36
  * async function handleSignIn() {
36
37
  * try {
37
- * await oauth.startOAuth(mcpServer.metadata.id);
38
+ * await oauth.startOAuth(mcpServer.metadata.id, org);
38
39
  * refetch();
39
40
  * } catch {
40
41
  * // error is available via oauth.error
@@ -61,7 +62,7 @@ export function useMcpServerOAuthConnect() {
61
62
  setPhase("idle");
62
63
  setError(null);
63
64
  }, []);
64
- const startOAuth = useCallback(async (mcpServerId) => {
65
+ const startOAuth = useCallback(async (mcpServerId, org) => {
65
66
  setPhase("initiating");
66
67
  setError(null);
67
68
  cleanupRef.current?.();
@@ -77,7 +78,7 @@ export function useMcpServerOAuthConnect() {
77
78
  }
78
79
  popupRef.current = popup;
79
80
  try {
80
- const initOutput = await stigmer.mcpServer.initiateOAuthConnect(create(InitiateOAuthConnectInputSchema, { mcpServerId }));
81
+ const initOutput = await stigmer.mcpServer.initiateOAuthConnect(create(InitiateOAuthConnectInputSchema, { mcpServerId, org }));
81
82
  popup.location.href = initOutput.authorizationUrl;
82
83
  setPhase("awaiting-callback");
83
84
  const { code, state } = await waitForOAuthCallback(popup, initOutput.state, (dispose) => {
@@ -90,7 +91,18 @@ export function useMcpServerOAuthConnect() {
90
91
  state,
91
92
  }));
92
93
  setPhase("connecting");
93
- const server = await stigmer.mcpServer.connect(create(ConnectInputSchema, { mcpServerId }));
94
+ const systemEnv = await resolveSystemEnvVarValues(stigmer);
95
+ const runtimeEnvMap = {};
96
+ for (const [key, envInput] of Object.entries(systemEnv)) {
97
+ runtimeEnvMap[key] = {
98
+ value: envInput.value,
99
+ isSecret: envInput.isSecret ?? false,
100
+ };
101
+ }
102
+ const server = await stigmer.mcpServer.connect(create(ConnectInputSchema, {
103
+ mcpServerId,
104
+ runtimeEnv: runtimeEnvMap,
105
+ }));
94
106
  setPhase("done");
95
107
  return server;
96
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useMcpServerOAuthConnect.js","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerOAuthConnect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMcpServerOAuthConnect.js","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerOAuthConnect.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,8 @@ export interface UseMcpServerSetupReturn {
29
29
  /**
30
30
  * Add an MCP server to the setup flow.
31
31
  *
32
- * Fetches the full server resource, checks `env_spec` against the
33
- * personal environment, and resolves the entry to either `ready`
32
+ * Fetches the full server resource, checks `env` declarations against
33
+ * the personal environment, and resolves the entry to either `ready`
34
34
  * (no credentials needed or all present) or `needsSetup` (missing
35
35
  * variables). Also extracts discovered tools and approval policies
36
36
  * for the tool selector.
@@ -104,8 +104,8 @@ export interface UseMcpServerSetupReturn {
104
104
  * MCP servers selected in the {@link McpServerPicker}.
105
105
  *
106
106
  * When a user toggles an MCP server ON, this hook fetches the server's
107
- * full resource, checks its `env_spec` against the personal environment
108
- * (via {@link diffEnvSpec}), and determines whether credentials are
107
+ * full resource, checks its `env` declarations against the personal
108
+ * environment (via {@link diffEnv}), and determines whether credentials are
109
109
  * needed. It also extracts discovered tools and approval policies for
110
110
  * the tool selector UI.
111
111
  *
@@ -131,7 +131,7 @@ export interface UseMcpServerSetupReturn {
131
131
  * @param org - Organization slug. Pass `null` to disable.
132
132
  * @param poolKeys - Optional set of env-var keys already available
133
133
  * from the session env pool (manual secrets, one-time env vars from
134
- * other components). When provided, servers whose `env_spec` keys
134
+ * other components). When provided, servers whose `env` keys
135
135
  * are fully covered by `poolKeys` + personal env auto-resolve to
136
136
  * `ready` without prompting. Reactive — when `poolKeys` changes,
137
137
  * `needsSetup` entries are re-evaluated.
@@ -1 +1 @@
1
- {"version":3,"file":"useMcpServerSetup.d.ts","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerSetup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAkBlF,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,iEAAiE;AACjE,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,iDAAiD;AACjD,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,yBAAyB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAElG;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAElD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,EAAE,CACtB,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,OAAO,CAAC,EAAE,uBAAuB,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEtE,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAEhD,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAExD;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC;CAC7C;AA2BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,uBAAuB,CAgQzB"}
1
+ {"version":3,"file":"useMcpServerSetup.d.ts","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerSetup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAoBlF,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,iEAAiE;AACjE,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,iDAAiD;AACjD,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,yBAAyB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAElG;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAElD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,EAAE,CACtB,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,OAAO,CAAC,EAAE,uBAAuB,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEtE,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAEhD,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAExD;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC;CAC7C;AA2BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,uBAAuB,CAqRzB"}
@@ -1,9 +1,11 @@
1
1
  "use client";
2
2
  import { useCallback, useEffect, useMemo, useReducer, useRef } from "react";
3
+ import { create } from "@bufbuild/protobuf";
4
+ import { GetOAuthGrantStatusInputSchema } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/io_pb";
3
5
  import { ApiResourceKind } from "@stigmer/protos/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb";
4
6
  import { useStigmer } from "../hooks";
5
7
  import { usePersonalEnvironment } from "../environment/usePersonalEnvironment";
6
- import { diffEnvSpec } from "../environment/diffEnvSpec";
8
+ import { diffEnv } from "../environment/diffEnv";
7
9
  import { toError } from "../internal/toError";
8
10
  import { mcpServerSetupReducer, INITIAL_MCP_SETUP_STATE, toServerKey, } from "./mcpServerSetupReducer";
9
11
  export { toServerKey } from "./mcpServerSetupReducer";
@@ -32,8 +34,8 @@ function computeDefaultEnabledTools(mcpServer, discoveredTools) {
32
34
  * MCP servers selected in the {@link McpServerPicker}.
33
35
  *
34
36
  * When a user toggles an MCP server ON, this hook fetches the server's
35
- * full resource, checks its `env_spec` against the personal environment
36
- * (via {@link diffEnvSpec}), and determines whether credentials are
37
+ * full resource, checks its `env` declarations against the personal
38
+ * environment (via {@link diffEnv}), and determines whether credentials are
37
39
  * needed. It also extracts discovered tools and approval policies for
38
40
  * the tool selector UI.
39
41
  *
@@ -59,7 +61,7 @@ function computeDefaultEnabledTools(mcpServer, discoveredTools) {
59
61
  * @param org - Organization slug. Pass `null` to disable.
60
62
  * @param poolKeys - Optional set of env-var keys already available
61
63
  * from the session env pool (manual secrets, one-time env vars from
62
- * other components). When provided, servers whose `env_spec` keys
64
+ * other components). When provided, servers whose `env` keys
63
65
  * are fully covered by `poolKeys` + personal env auto-resolve to
64
66
  * `ready` without prompting. Reactive — when `poolKeys` changes,
65
67
  * `needsSetup` entries are re-evaluated.
@@ -108,8 +110,8 @@ export function useMcpServerSetup(org, poolKeys) {
108
110
  const mcpServer = await stigmer.mcpServer.getByReference(ref);
109
111
  const discoveredTools = mcpServer.status?.discoveredCapabilities?.tools ?? [];
110
112
  const toolApprovals = mcpServer.spec?.pinnedToolApprovals ?? [];
111
- const envSpecData = mcpServer.spec?.envSpec?.data;
112
- if (!envSpecData || Object.keys(envSpecData).length === 0) {
113
+ const envDeclarations = mcpServer.spec?.env;
114
+ if (!envDeclarations || Object.keys(envDeclarations).length === 0) {
113
115
  dispatch({
114
116
  type: "RESOLVE_READY",
115
117
  key,
@@ -121,8 +123,25 @@ export function useMcpServerSetup(org, poolKeys) {
121
123
  return;
122
124
  }
123
125
  const existingKeys = new Set(Object.keys(personalEnv.environment?.spec?.data ?? {}));
124
- const missingVariables = diffEnvSpec(envSpecData, existingKeys, poolKeys);
125
- if (missingVariables.length === 0) {
126
+ const auth = mcpServer.spec?.auth;
127
+ if (auth?.targetEnvVar && mcpServer.metadata?.id) {
128
+ try {
129
+ const grantStatus = await stigmer.mcpServer.getOAuthGrantStatus(create(GetOAuthGrantStatusInputSchema, {
130
+ resourceId: mcpServer.metadata.id,
131
+ org,
132
+ }));
133
+ if (grantStatus.connected) {
134
+ existingKeys.add(auth.targetEnvVar);
135
+ }
136
+ }
137
+ catch {
138
+ // Non-fatal: if grant status lookup fails, the OAuth var stays
139
+ // in missingVariables and the UI shows the sign-in button.
140
+ }
141
+ }
142
+ const allMissing = diffEnv(envDeclarations, existingKeys, poolKeys);
143
+ const requiredMissing = allMissing.filter((v) => !v.optional);
144
+ if (requiredMissing.length === 0) {
126
145
  dispatch({
127
146
  type: "RESOLVE_READY",
128
147
  key,
@@ -137,7 +156,7 @@ export function useMcpServerSetup(org, poolKeys) {
137
156
  type: "RESOLVE_NEEDS_SETUP",
138
157
  key,
139
158
  mcpServer,
140
- missingVariables,
159
+ missingVariables: requiredMissing,
141
160
  discoveredTools,
142
161
  toolApprovals,
143
162
  });
@@ -215,12 +234,13 @@ export function useMcpServerSetup(org, poolKeys) {
215
234
  for (const [key, entry] of Object.entries(entriesRef.current)) {
216
235
  if (entry.status !== "needsSetup")
217
236
  continue;
218
- const envSpecData = entry.mcpServer.spec?.envSpec?.data;
219
- if (!envSpecData)
237
+ const envDeclarations = entry.mcpServer.spec?.env;
238
+ if (!envDeclarations)
220
239
  continue;
221
- const missingVariables = diffEnvSpec(envSpecData, personalKeys, poolKeys);
240
+ const allMissing = diffEnv(envDeclarations, personalKeys, poolKeys);
241
+ const requiredMissing = allMissing.filter((v) => !v.optional);
222
242
  const enabledTools = computeDefaultEnabledTools(entry.mcpServer, entry.discoveredTools);
223
- dispatch({ type: "POOL_RESOLVE", key, missingVariables, enabledTools });
243
+ dispatch({ type: "POOL_RESOLVE", key, missingVariables: requiredMissing, enabledTools });
224
244
  }
225
245
  }, [poolKeys, personalEnv.environment]);
226
246
  // -------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"useMcpServerSetup.js","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerSetup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMcpServerSetup.js","sourceRoot":"","sources":["../../src/mcp-server/useMcpServerSetup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /** Return value of {@link useOAuthGrantStatus}. */
2
+ export interface UseOAuthGrantStatusReturn {
3
+ /** Whether the user has an active OAuth grant for this resource + org. */
4
+ readonly connected: boolean;
5
+ /**
6
+ * When the access token expires (Unix timestamp seconds).
7
+ * `BigInt(0)` when no grant exists or the token does not expire.
8
+ */
9
+ readonly accessTokenExpiresAt: bigint;
10
+ /** The env var name managed by OAuth, or empty string when no grant exists. */
11
+ readonly targetEnvVar: string;
12
+ /** Auth method used (`"mcp_oauth"` or `"vendor_oauth"`), or empty string. */
13
+ readonly authMethod: string;
14
+ /** `true` while the grant status is being fetched. */
15
+ readonly isLoading: boolean;
16
+ /** Error from the last failed request, or `null` when healthy. */
17
+ readonly error: Error | null;
18
+ /** Discard cached data and re-fetch the grant status. */
19
+ readonly refetch: () => void;
20
+ }
21
+ /**
22
+ * Data hook that fetches the OAuth grant status for a single MCP server.
23
+ *
24
+ * Wraps `stigmer.mcpServer.getOAuthGrantStatus()` with loading, error,
25
+ * and idle state management. When `resourceId` or `org` changes, the
26
+ * previous in-flight request is discarded and a fresh fetch begins.
27
+ *
28
+ * Pass `null` for either parameter to skip fetching (stable no-op).
29
+ * This is useful when the MCP server resource has not loaded yet.
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * const grantStatus = useOAuthGrantStatus(mcpServer?.metadata?.id ?? null, org);
34
+ *
35
+ * if (grantStatus.isLoading) return <Spinner />;
36
+ * if (grantStatus.connected) return <span>Connected via OAuth</span>;
37
+ * return <button onClick={startOAuth}>Sign in</button>;
38
+ * ```
39
+ */
40
+ export declare function useOAuthGrantStatus(resourceId: string | null, org: string | null): UseOAuthGrantStatusReturn;
41
+ //# sourceMappingURL=useOAuthGrantStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOAuthGrantStatus.d.ts","sourceRoot":"","sources":["../../src/mcp-server/useOAuthGrantStatus.ts"],"names":[],"mappings":"AAQA,mDAAmD;AACnD,MAAM,WAAW,yBAAyB;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,+EAA+E;IAC/E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAcD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB,yBAAyB,CA6D3B"}
@@ -0,0 +1,91 @@
1
+ "use client";
2
+ import { useCallback, useEffect, useState } from "react";
3
+ import { create } from "@bufbuild/protobuf";
4
+ import { GetOAuthGrantStatusInputSchema } from "@stigmer/protos/ai/stigmer/agentic/mcpserver/v1/io_pb";
5
+ import { useStigmer } from "../hooks";
6
+ import { toError } from "../internal/toError";
7
+ const BIGINT_ZERO = BigInt(0);
8
+ const IDLE = {
9
+ connected: false,
10
+ accessTokenExpiresAt: BIGINT_ZERO,
11
+ targetEnvVar: "",
12
+ authMethod: "",
13
+ isLoading: false,
14
+ error: null,
15
+ refetch: () => { },
16
+ };
17
+ /**
18
+ * Data hook that fetches the OAuth grant status for a single MCP server.
19
+ *
20
+ * Wraps `stigmer.mcpServer.getOAuthGrantStatus()` with loading, error,
21
+ * and idle state management. When `resourceId` or `org` changes, the
22
+ * previous in-flight request is discarded and a fresh fetch begins.
23
+ *
24
+ * Pass `null` for either parameter to skip fetching (stable no-op).
25
+ * This is useful when the MCP server resource has not loaded yet.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * const grantStatus = useOAuthGrantStatus(mcpServer?.metadata?.id ?? null, org);
30
+ *
31
+ * if (grantStatus.isLoading) return <Spinner />;
32
+ * if (grantStatus.connected) return <span>Connected via OAuth</span>;
33
+ * return <button onClick={startOAuth}>Sign in</button>;
34
+ * ```
35
+ */
36
+ export function useOAuthGrantStatus(resourceId, org) {
37
+ const stigmer = useStigmer();
38
+ const [connected, setConnected] = useState(false);
39
+ const [accessTokenExpiresAt, setAccessTokenExpiresAt] = useState(BIGINT_ZERO);
40
+ const [targetEnvVar, setTargetEnvVar] = useState("");
41
+ const [authMethod, setAuthMethod] = useState("");
42
+ const [isLoading, setIsLoading] = useState(false);
43
+ const [error, setError] = useState(null);
44
+ const [fetchKey, setFetchKey] = useState(0);
45
+ const refetch = useCallback(() => setFetchKey((k) => k + 1), []);
46
+ useEffect(() => {
47
+ if (!resourceId || !org) {
48
+ setConnected(false);
49
+ setAccessTokenExpiresAt(BIGINT_ZERO);
50
+ setTargetEnvVar("");
51
+ setAuthMethod("");
52
+ setIsLoading(false);
53
+ setError(null);
54
+ return;
55
+ }
56
+ const cancelled = { current: false };
57
+ setIsLoading(true);
58
+ setError(null);
59
+ stigmer.mcpServer
60
+ .getOAuthGrantStatus(create(GetOAuthGrantStatusInputSchema, { resourceId, org }))
61
+ .then((result) => {
62
+ if (cancelled.current)
63
+ return;
64
+ setConnected(result.connected);
65
+ setAccessTokenExpiresAt(result.accessTokenExpiresAt);
66
+ setTargetEnvVar(result.targetEnvVar);
67
+ setAuthMethod(result.authMethod);
68
+ setIsLoading(false);
69
+ }, (err) => {
70
+ if (cancelled.current)
71
+ return;
72
+ setError(toError(err));
73
+ setIsLoading(false);
74
+ });
75
+ return () => {
76
+ cancelled.current = true;
77
+ };
78
+ }, [resourceId, org, stigmer, fetchKey]);
79
+ if (!resourceId || !org)
80
+ return { ...IDLE, refetch };
81
+ return {
82
+ connected,
83
+ accessTokenExpiresAt,
84
+ targetEnvVar,
85
+ authMethod,
86
+ isLoading,
87
+ error,
88
+ refetch,
89
+ };
90
+ }
91
+ //# sourceMappingURL=useOAuthGrantStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOAuthGrantStatus.js","sourceRoot":"","sources":["../../src/mcp-server/useOAuthGrantStatus.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/react",
3
- "version": "0.0.78",
3
+ "version": "0.0.80",
4
4
  "description": "React provider and client hook for the Stigmer platform SDK",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -35,7 +35,7 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@stigmer/theme": "0.0.78",
38
+ "@stigmer/theme": "0.0.80",
39
39
  "react-markdown": "^10.1.0",
40
40
  "remark-gfm": "^4.0.1",
41
41
  "yaml": "^2.8.2"
@@ -43,8 +43,8 @@
43
43
  "peerDependencies": {
44
44
  "@base-ui/react": "^1.0.0",
45
45
  "@bufbuild/protobuf": "^2.0.0",
46
- "@stigmer/protos": "0.0.78",
47
- "@stigmer/sdk": "0.0.78",
46
+ "@stigmer/protos": "0.0.80",
47
+ "@stigmer/sdk": "0.0.80",
48
48
  "react": "^19.0.0",
49
49
  "react-dom": "^19.0.0"
50
50
  }
@@ -9,7 +9,7 @@ import type {
9
9
  SubAgent,
10
10
  } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/spec_pb";
11
11
  import type { ApiResourceReference } from "@stigmer/protos/ai/stigmer/commons/apiresource/io_pb";
12
- import type { EnvironmentValue } from "@stigmer/protos/ai/stigmer/agentic/environment/v1/spec_pb";
12
+ import type { EnvVarDeclaration } from "@stigmer/protos/ai/stigmer/agentic/environment/v1/spec_pb";
13
13
  import { ApiResourceVisibility } from "@stigmer/protos/ai/stigmer/commons/apiresource/enum_pb";
14
14
  import { useAgent } from "./useAgent";
15
15
  import { ErrorMessage } from "../error/ErrorMessage";
@@ -155,8 +155,8 @@ export function AgentDetailView({
155
155
  <SubAgentsSection subAgents={spec.subAgents} />
156
156
  )}
157
157
 
158
- {spec?.envSpec && Object.keys(spec.envSpec.data).length > 0 && (
159
- <EnvSpecSection data={spec.envSpec.data} />
158
+ {spec?.env && Object.keys(spec.env).length > 0 && (
159
+ <EnvSection data={spec.env} />
160
160
  )}
161
161
  </div>
162
162
  );
@@ -534,10 +534,10 @@ function SubAgentDetails({
534
534
  );
535
535
  }
536
536
 
537
- function EnvSpecSection({
537
+ function EnvSection({
538
538
  data,
539
539
  }: {
540
- readonly data: { [key: string]: EnvironmentValue };
540
+ readonly data: { [key: string]: EnvVarDeclaration };
541
541
  }) {
542
542
  const entries = Object.entries(data).sort(([a], [b]) =>
543
543
  a.localeCompare(b),
@@ -14,8 +14,8 @@ import type { AgentEnvFormVariable } from "./AgentEnvForm";
14
14
  * existed). Use `instanceId` with `createSession`.
15
15
  * - `"oneTime"` — Secrets were collected but **not** persisted. Pass
16
16
  * `runtimeEnv` to `createExecution` for this run only.
17
- * - `"direct"` — The agent has no `env_spec` and needs no secrets.
18
- * Create the session with `agentRef` directly.
17
+ * - `"direct"` — The agent has no `env` declarations and needs no
18
+ * secrets. Create the session with `agentRef` directly.
19
19
  */
20
20
  export type AgentResolution =
21
21
  | {
@@ -31,7 +31,7 @@ export type AgentResolution =
31
31
  readonly runtimeEnv: Record<string, EnvVarInput>;
32
32
  }
33
33
  | {
34
- /** The agent has no `env_spec` and needs no secrets. */
34
+ /** The agent has no `env` declarations and needs no secrets. */
35
35
  readonly mode: "direct";
36
36
  };
37
37