@agentxm/extension-model 0.29.4 → 0.30.2

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 (25) hide show
  1. package/dist/src/unstable/agent-capabilities/catalog.d.ts +1030 -1042
  2. package/dist/src/unstable/agent-capabilities/catalog.js +0 -85
  3. package/dist/src/unstable/agent-capabilities/data/agents/codex.d.ts +2 -1
  4. package/dist/src/unstable/agent-capabilities/data/agents/codex.js +2 -1
  5. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.d.ts +3 -3
  6. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.js +3 -2
  7. package/dist/src/unstable/agent-capabilities/derive.d.ts +2 -2
  8. package/dist/src/unstable/agent-capabilities/derive.js +2 -1
  9. package/dist/src/unstable/agent-capabilities/identity.d.ts +17 -0
  10. package/dist/src/unstable/agent-capabilities/identity.js +79 -0
  11. package/dist/src/unstable/agent-capabilities/index.d.ts +2 -1
  12. package/dist/src/unstable/agent-capabilities/index.js +2 -1
  13. package/dist/src/unstable/agent-capabilities/lookup.d.ts +1 -1
  14. package/dist/src/unstable/agent-capabilities/lookup.js +1 -0
  15. package/dist/src/unstable/agent-capabilities/schema.d.ts +16 -0
  16. package/dist/src/unstable/agent-capabilities/schema.js +2 -0
  17. package/dist/src/unstable/agents/types.d.ts +1 -1
  18. package/dist/src/unstable/agents/types.js +1 -1
  19. package/dist/src/unstable/extensions/common.d.ts +2 -2
  20. package/dist/src/unstable/extensions/common.js +2 -3
  21. package/dist/src/unstable/extensions/name-patterns.d.ts +35 -0
  22. package/dist/src/unstable/extensions/name-patterns.js +75 -0
  23. package/dist/src/unstable/version-constraints/version-selection.d.ts +27 -0
  24. package/dist/src/unstable/version-constraints/version-selection.js +39 -0
  25. package/package.json +132 -179
@@ -3,7 +3,6 @@
3
3
  *
4
4
  * @experimental This API is unstable and may change without notice.
5
5
  */
6
- import * as Schema from "effect/Schema";
7
6
  import { adalAgent, aiderDeskAgent, ampAgent, antigravityCliAgent, antigravityAgent, augmentAgent, chatgptAgent, claudeAiAgent, claudeCodeAgent, clineAgent, codeartsAgentAgent, codebuddyAgent, codemakerAgent, codestudioAgent, codexAgent, commandCodeAgent, continueAgent, cortexAgent, coworkAgent, crushAgent, cursorAgent, deepagentsAgent, devinAgent, dextoAgent, droidAgent, firebenderAgent, forgecodeAgent, geminiCliAgent, geminiAppAgent, githubCopilotCliAgent, gooseAgent, grokCliAgent, hermesAgent, ibmBobAgent, iflowCliAgent, junieAgent, lingmaAgent, kiloAgent, kimiCliAgent, kiroCliAgent, kodeAgent, mcpjamAgent, minimaxCodeAgent, mistralVibeAgent, muxAgent, neovateAgent, openclawAgent, opencodeAgent, openhandsAgent, onaAgent, piAgent, pochiAgent, qoderAgent, qoderCnAgent, qwenCodeAgent, replitAgent, rooAgent, rovodevAgent, tabnineCliAgent, traeCnAgent, traeAgent, warpAgent, windsurfAgent, zencoderAgent, zedAgent, zenflowAgent, } from "./data/agents/index.js";
8
7
  const defineCatalog = (entries) => entries;
9
8
  /** @experimental This API is unstable and may change without notice. */
@@ -72,71 +71,6 @@ export const CONFIGURABLE_AGENTS_BY_ID = defineCatalog({
72
71
  zenflow: zenflowAgent,
73
72
  });
74
73
  /** @experimental This API is unstable and may change without notice. */
75
- export const CONFIGURABLE_AGENT_IDS = [
76
- "adal",
77
- "aider-desk",
78
- "amp",
79
- "antigravity",
80
- "antigravity-cli",
81
- "augment",
82
- "claude-code",
83
- "cline",
84
- "codearts-agent",
85
- "codebuddy",
86
- "codemaker",
87
- "codestudio",
88
- "codex",
89
- "command-code",
90
- "continue",
91
- "cortex",
92
- "crush",
93
- "cursor",
94
- "deepagents",
95
- "devin",
96
- "dexto",
97
- "droid",
98
- "firebender",
99
- "forgecode",
100
- "gemini-cli",
101
- "github-copilot-cli",
102
- "goose",
103
- "grok-cli",
104
- "hermes",
105
- "ibm-bob",
106
- "iflow-cli",
107
- "junie",
108
- "lingma",
109
- "kilo",
110
- "kimi-cli",
111
- "kiro-cli",
112
- "kode",
113
- "mcpjam",
114
- "minimax-code",
115
- "mistral-vibe",
116
- "mux",
117
- "neovate",
118
- "openclaw",
119
- "opencode",
120
- "openhands",
121
- "ona",
122
- "pi",
123
- "pochi",
124
- "qoder",
125
- "qoder-cn",
126
- "qwen-code",
127
- "replit",
128
- "roo",
129
- "rovodev",
130
- "tabnine-cli",
131
- "trae-cn",
132
- "trae",
133
- "warp",
134
- "windsurf",
135
- "zencoder",
136
- "zed",
137
- "zenflow",
138
- ];
139
- /** @experimental This API is unstable and may change without notice. */
140
74
  export const HOSTED_AGENTS_BY_ID = defineCatalog({
141
75
  chatgpt: chatgptAgent,
142
76
  "claude-ai": claudeAiAgent,
@@ -144,29 +78,10 @@ export const HOSTED_AGENTS_BY_ID = defineCatalog({
144
78
  "gemini-app": geminiAppAgent,
145
79
  });
146
80
  /** @experimental This API is unstable and may change without notice. */
147
- export const HOSTED_AGENT_IDS = [
148
- "chatgpt",
149
- "claude-ai",
150
- "cowork",
151
- "gemini-app",
152
- ];
153
- /** @experimental This API is unstable and may change without notice. */
154
81
  export const AGENTS_BY_ID = defineCatalog({
155
82
  ...CONFIGURABLE_AGENTS_BY_ID,
156
83
  ...HOSTED_AGENTS_BY_ID,
157
84
  });
158
85
  /** @experimental This API is unstable and may change without notice. */
159
- export const AGENT_IDS = [
160
- ...CONFIGURABLE_AGENT_IDS,
161
- ...HOSTED_AGENT_IDS,
162
- ];
163
- /** @experimental This API is unstable and may change without notice. */
164
- export const AgentIdSchema = Schema.Literals(AGENT_IDS).annotate({
165
- identifier: "AgentId",
166
- title: "Agent ID",
167
- description: "Verified coding agent identifier in the capability catalog.",
168
- examples: ["claude-code", "codex", "cursor"],
169
- });
170
- /** @experimental This API is unstable and may change without notice. */
171
86
  export const AGENTS = Object.values(AGENTS_BY_ID);
172
87
  //# sourceMappingURL=catalog.js.map
@@ -95,7 +95,7 @@ export declare const codexAgent: {
95
95
  };
96
96
  readonly axm: {
97
97
  readonly status: "supported";
98
- readonly lastVerified: "2026-08-05";
98
+ readonly lastVerified: "2026-09-12";
99
99
  readonly writer: {
100
100
  readonly config: {
101
101
  readonly serversKey: "mcp_servers";
@@ -129,6 +129,7 @@ export declare const codexAgent: {
129
129
  };
130
130
  readonly command: "split";
131
131
  readonly envKey: "env";
132
+ readonly envVarsKey: "env_vars";
132
133
  };
133
134
  readonly remote: {
134
135
  readonly typeField: {
@@ -80,7 +80,7 @@ export const codexAgent = {
80
80
  },
81
81
  axm: {
82
82
  status: "supported",
83
- lastVerified: "2026-08-05",
83
+ lastVerified: "2026-09-12",
84
84
  writer: {
85
85
  config: {
86
86
  serversKey: "mcp_servers",
@@ -106,6 +106,7 @@ export const codexAgent = {
106
106
  typeField: { required: null, accepted: [null] },
107
107
  command: "split",
108
108
  envKey: "env",
109
+ envVarsKey: "env_vars",
109
110
  },
110
111
  remote: {
111
112
  typeField: { required: null, accepted: [null] },
@@ -76,19 +76,19 @@ export declare const githubCopilotCliAgent: {
76
76
  };
77
77
  readonly notes: null;
78
78
  readonly docs: readonly [];
79
- readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference"];
79
+ readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference", "https://github.com/github/copilot-cli/issues/1232#issuecomment-4198097885"];
80
80
  readonly scopes: readonly ["user", "project"];
81
81
  readonly standardsCompliance: "full";
82
82
  readonly convention: "vendor";
83
83
  readonly transports: readonly ["stdio", "http", "sse"];
84
84
  readonly mcpEnvExpansion: {
85
- readonly variables: "none";
85
+ readonly variables: "braced";
86
86
  readonly defaults: false;
87
87
  };
88
88
  };
89
89
  readonly axm: {
90
90
  readonly status: "supported";
91
- readonly lastVerified: "2026-08-05";
91
+ readonly lastVerified: "2026-09-12";
92
92
  readonly writer: {
93
93
  readonly config: {
94
94
  readonly serversKey: "mcpServers";
@@ -67,19 +67,20 @@ export const githubCopilotCliAgent = {
67
67
  "https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers",
68
68
  "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference",
69
69
  "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference",
70
+ "https://github.com/github/copilot-cli/issues/1232#issuecomment-4198097885",
70
71
  ],
71
72
  scopes: ["user", "project"],
72
73
  standardsCompliance: "full",
73
74
  convention: "vendor",
74
75
  transports: ["stdio", "http", "sse"],
75
76
  mcpEnvExpansion: {
76
- variables: "none",
77
+ variables: "braced",
77
78
  defaults: false,
78
79
  },
79
80
  },
80
81
  axm: {
81
82
  status: "supported",
82
- lastVerified: "2026-08-05",
83
+ lastVerified: "2026-09-12",
83
84
  writer: {
84
85
  config: {
85
86
  serversKey: "mcpServers",
@@ -108,8 +108,8 @@ export interface HookPortabilityVerdict {
108
108
  export declare const canonicalCoverage: (agent: Agent) => {
109
109
  events: readonly ("session.start" | "prompt.submit" | "turn.end" | "tool.pre" | "tool.post" | "subagent.stop" | "compaction.pre")[];
110
110
  tools: readonly ("file.read" | "file.write" | "file.edit" | "shell.exec" | "web.fetch" | "mcp.call")[];
111
- mechanism: readonly ("command-stdin" | "raw")[];
112
- matcherKinds: readonly ("regex" | "literal-list" | "glob" | "tool-category" | "exact-substring" | "none-imperative")[];
111
+ mechanism: readonly ("raw" | "command-stdin")[];
112
+ matcherKinds: readonly ("regex" | "glob" | "literal-list" | "tool-category" | "exact-substring" | "none-imperative")[];
113
113
  decision: ({
114
114
  readonly kind: "observe";
115
115
  } | {
@@ -4,7 +4,8 @@
4
4
  * @experimental This API is unstable and may change without notice.
5
5
  */
6
6
  import { PER_AGENT_EXTENSION_TYPES } from "../extensions/common.js";
7
- import { AGENTS, CONFIGURABLE_AGENT_IDS } from "./catalog.js";
7
+ import { AGENTS } from "./catalog.js";
8
+ import { CONFIGURABLE_AGENT_IDS } from "./identity.js";
8
9
  import { LEAF_EXTENSION_TYPES } from "../extension-types/schema.js";
9
10
  import { SUPPORTED_AXM_SUPPORT, } from "./schema.js";
10
11
  import {} from "../extensions/common.js";
@@ -0,0 +1,17 @@
1
+ /** Published coding-agent identities, independent of capability data and adapters. */
2
+ import * as Schema from "effect/Schema";
3
+ /** @experimental This API is unstable and may change without notice. */
4
+ export declare const CONFIGURABLE_AGENT_IDS: readonly ["adal", "aider-desk", "amp", "antigravity", "antigravity-cli", "augment", "claude-code", "cline", "codearts-agent", "codebuddy", "codemaker", "codestudio", "codex", "command-code", "continue", "cortex", "crush", "cursor", "deepagents", "devin", "dexto", "droid", "firebender", "forgecode", "gemini-cli", "github-copilot-cli", "goose", "grok-cli", "hermes", "ibm-bob", "iflow-cli", "junie", "lingma", "kilo", "kimi-cli", "kiro-cli", "kode", "mcpjam", "minimax-code", "mistral-vibe", "mux", "neovate", "openclaw", "opencode", "openhands", "ona", "pi", "pochi", "qoder", "qoder-cn", "qwen-code", "replit", "roo", "rovodev", "tabnine-cli", "trae-cn", "trae", "warp", "windsurf", "zencoder", "zed", "zenflow"];
5
+ /** @experimental This API is unstable and may change without notice. */
6
+ export type ConfigurableAgentId = (typeof CONFIGURABLE_AGENT_IDS)[number];
7
+ /** @experimental This API is unstable and may change without notice. */
8
+ export declare const HOSTED_AGENT_IDS: readonly ["chatgpt", "claude-ai", "cowork", "gemini-app"];
9
+ /** @experimental This API is unstable and may change without notice. */
10
+ export type HostedAgentId = (typeof HOSTED_AGENT_IDS)[number];
11
+ /** @experimental This API is unstable and may change without notice. */
12
+ export declare const AGENT_IDS: readonly ["adal", "aider-desk", "amp", "antigravity", "antigravity-cli", "augment", "claude-code", "cline", "codearts-agent", "codebuddy", "codemaker", "codestudio", "codex", "command-code", "continue", "cortex", "crush", "cursor", "deepagents", "devin", "dexto", "droid", "firebender", "forgecode", "gemini-cli", "github-copilot-cli", "goose", "grok-cli", "hermes", "ibm-bob", "iflow-cli", "junie", "lingma", "kilo", "kimi-cli", "kiro-cli", "kode", "mcpjam", "minimax-code", "mistral-vibe", "mux", "neovate", "openclaw", "opencode", "openhands", "ona", "pi", "pochi", "qoder", "qoder-cn", "qwen-code", "replit", "roo", "rovodev", "tabnine-cli", "trae-cn", "trae", "warp", "windsurf", "zencoder", "zed", "zenflow", "chatgpt", "claude-ai", "cowork", "gemini-app"];
13
+ /** @experimental This API is unstable and may change without notice. */
14
+ export type AgentId = (typeof AGENT_IDS)[number];
15
+ /** @experimental This API is unstable and may change without notice. */
16
+ export declare const AgentIdSchema: Schema.Literals<readonly ["adal", "aider-desk", "amp", "antigravity", "antigravity-cli", "augment", "claude-code", "cline", "codearts-agent", "codebuddy", "codemaker", "codestudio", "codex", "command-code", "continue", "cortex", "crush", "cursor", "deepagents", "devin", "dexto", "droid", "firebender", "forgecode", "gemini-cli", "github-copilot-cli", "goose", "grok-cli", "hermes", "ibm-bob", "iflow-cli", "junie", "lingma", "kilo", "kimi-cli", "kiro-cli", "kode", "mcpjam", "minimax-code", "mistral-vibe", "mux", "neovate", "openclaw", "opencode", "openhands", "ona", "pi", "pochi", "qoder", "qoder-cn", "qwen-code", "replit", "roo", "rovodev", "tabnine-cli", "trae-cn", "trae", "warp", "windsurf", "zencoder", "zed", "zenflow", "chatgpt", "claude-ai", "cowork", "gemini-app"]>;
17
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1,79 @@
1
+ /** Published coding-agent identities, independent of capability data and adapters. */
2
+ import * as Schema from "effect/Schema";
3
+ /** @experimental This API is unstable and may change without notice. */
4
+ export const CONFIGURABLE_AGENT_IDS = [
5
+ "adal",
6
+ "aider-desk",
7
+ "amp",
8
+ "antigravity",
9
+ "antigravity-cli",
10
+ "augment",
11
+ "claude-code",
12
+ "cline",
13
+ "codearts-agent",
14
+ "codebuddy",
15
+ "codemaker",
16
+ "codestudio",
17
+ "codex",
18
+ "command-code",
19
+ "continue",
20
+ "cortex",
21
+ "crush",
22
+ "cursor",
23
+ "deepagents",
24
+ "devin",
25
+ "dexto",
26
+ "droid",
27
+ "firebender",
28
+ "forgecode",
29
+ "gemini-cli",
30
+ "github-copilot-cli",
31
+ "goose",
32
+ "grok-cli",
33
+ "hermes",
34
+ "ibm-bob",
35
+ "iflow-cli",
36
+ "junie",
37
+ "lingma",
38
+ "kilo",
39
+ "kimi-cli",
40
+ "kiro-cli",
41
+ "kode",
42
+ "mcpjam",
43
+ "minimax-code",
44
+ "mistral-vibe",
45
+ "mux",
46
+ "neovate",
47
+ "openclaw",
48
+ "opencode",
49
+ "openhands",
50
+ "ona",
51
+ "pi",
52
+ "pochi",
53
+ "qoder",
54
+ "qoder-cn",
55
+ "qwen-code",
56
+ "replit",
57
+ "roo",
58
+ "rovodev",
59
+ "tabnine-cli",
60
+ "trae-cn",
61
+ "trae",
62
+ "warp",
63
+ "windsurf",
64
+ "zencoder",
65
+ "zed",
66
+ "zenflow",
67
+ ];
68
+ /** @experimental This API is unstable and may change without notice. */
69
+ export const HOSTED_AGENT_IDS = ["chatgpt", "claude-ai", "cowork", "gemini-app"];
70
+ /** @experimental This API is unstable and may change without notice. */
71
+ export const AGENT_IDS = [...CONFIGURABLE_AGENT_IDS, ...HOSTED_AGENT_IDS];
72
+ /** @experimental This API is unstable and may change without notice. */
73
+ export const AgentIdSchema = Schema.Literals(AGENT_IDS).annotate({
74
+ identifier: "AgentId",
75
+ title: "Agent ID",
76
+ description: "Verified coding agent identifier in the capability catalog.",
77
+ examples: ["claude-code", "codex", "cursor"],
78
+ });
79
+ //# sourceMappingURL=identity.js.map
@@ -10,6 +10,7 @@ export { type PerAgentType } from "../extensions/common.js";
10
10
  export { STANDARDS } from "../extension-types/standards.js";
11
11
  export { CAPABILITY_VERIFICATION_BUDGET_DAYS, capabilityVerificationAgeReport, type AgentCapabilitySlot, type CapabilityVerificationAge, } from "./verification.js";
12
12
  export { agentCapabilityStatus, agentSupportsType, axmIntegrationStatus, canonicalCoverage, deriveAgentDescriptor, deriveSkillConvention, deriveHookPortability, getSupportedAgentsForExtension, getSupportedAgentsForExtensionType, getSupportedAgentsForExtensionTypes, getSupportedExtensionTypesForAgent, isCapabilitySupported, isLeafExtensionType, listCapabilities, installable, toNativeAgent, type AgentCapabilityStatus, type AxmIntegrationStatus, type CapabilityListing, type ExtensionCompatibilityInput, type HookDecisionKind, type HookDecisionRequirement, type HookInstallabilityVerdict, type HookInstallBinding, type HookPortabilityRequirement, type HookPortabilityVerdict, type NativeAgent, type NativeAgentCapabilities, } from "./derive.js";
13
- export { AGENTS, AGENTS_BY_ID, AGENT_IDS, AgentIdSchema, CONFIGURABLE_AGENTS_BY_ID, CONFIGURABLE_AGENT_IDS, HOSTED_AGENTS_BY_ID, HOSTED_AGENT_IDS, type AgentId, type ConfigurableAgentId, type HostedAgentId, } from "./catalog.js";
13
+ export { AGENTS, AGENTS_BY_ID, CONFIGURABLE_AGENTS_BY_ID, HOSTED_AGENTS_BY_ID } from "./catalog.js";
14
+ export { AGENT_IDS, AgentIdSchema, CONFIGURABLE_AGENT_IDS, HOSTED_AGENT_IDS, type AgentId, type ConfigurableAgentId, type HostedAgentId, } from "./identity.js";
14
15
  export { agentById } from "./lookup.js";
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -10,6 +10,7 @@ export {} from "../extensions/common.js";
10
10
  export { STANDARDS } from "../extension-types/standards.js";
11
11
  export { CAPABILITY_VERIFICATION_BUDGET_DAYS, capabilityVerificationAgeReport, } from "./verification.js";
12
12
  export { agentCapabilityStatus, agentSupportsType, axmIntegrationStatus, canonicalCoverage, deriveAgentDescriptor, deriveSkillConvention, deriveHookPortability, getSupportedAgentsForExtension, getSupportedAgentsForExtensionType, getSupportedAgentsForExtensionTypes, getSupportedExtensionTypesForAgent, isCapabilitySupported, isLeafExtensionType, listCapabilities, installable, toNativeAgent, } from "./derive.js";
13
- export { AGENTS, AGENTS_BY_ID, AGENT_IDS, AgentIdSchema, CONFIGURABLE_AGENTS_BY_ID, CONFIGURABLE_AGENT_IDS, HOSTED_AGENTS_BY_ID, HOSTED_AGENT_IDS, } from "./catalog.js";
13
+ export { AGENTS, AGENTS_BY_ID, CONFIGURABLE_AGENTS_BY_ID, HOSTED_AGENTS_BY_ID } from "./catalog.js";
14
+ export { AGENT_IDS, AgentIdSchema, CONFIGURABLE_AGENT_IDS, HOSTED_AGENT_IDS, } from "./identity.js";
14
15
  export { agentById } from "./lookup.js";
15
16
  //# sourceMappingURL=index.js.map
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @experimental This API is unstable and may change without notice.
5
5
  */
6
- import { type AgentId } from "./catalog.js";
6
+ import { type AgentId } from "./identity.js";
7
7
  import type { Agent } from "./schema.js";
8
8
  /** @experimental This API is unstable and may change without notice. */
9
9
  export declare const agentById: (id: AgentId) => Agent;
@@ -4,6 +4,7 @@
4
4
  * @experimental This API is unstable and may change without notice.
5
5
  */
6
6
  import { AGENTS_BY_ID } from "./catalog.js";
7
+ import {} from "./identity.js";
7
8
  /** @experimental This API is unstable and may change without notice. */
8
9
  export const agentById = (id) => AGENTS_BY_ID[id];
9
10
  //# sourceMappingURL=lookup.js.map
@@ -1012,6 +1012,8 @@ export declare const McpStdioDialectSchema: Schema.Struct<{
1012
1012
  }>;
1013
1013
  readonly command: Schema.Literals<readonly ["split", "array"]>;
1014
1014
  readonly envKey: Schema.NullOr<Schema.NonEmptyString>;
1015
+ /** Native allowlist for forwarding same-name environment variables. */
1016
+ readonly envVarsKey: Schema.optional<Schema.NonEmptyString>;
1015
1017
  }>;
1016
1018
  /** @experimental This API is unstable and may change without notice. */
1017
1019
  export type McpStdioDialect = Schema.Schema.Type<typeof McpStdioDialectSchema>;
@@ -1090,6 +1092,8 @@ export declare const McpConfigSchema: Schema.Struct<{
1090
1092
  }>;
1091
1093
  readonly command: Schema.Literals<readonly ["split", "array"]>;
1092
1094
  readonly envKey: Schema.NullOr<Schema.NonEmptyString>;
1095
+ /** Native allowlist for forwarding same-name environment variables. */
1096
+ readonly envVarsKey: Schema.optional<Schema.NonEmptyString>;
1093
1097
  }>>;
1094
1098
  readonly remote: Schema.NullOr<Schema.Struct<{
1095
1099
  readonly typeField: Schema.Struct<{
@@ -1234,6 +1238,8 @@ export declare const McpExtensionCapabilitySchema: Schema.Union<readonly [Schema
1234
1238
  }>;
1235
1239
  readonly command: Schema.Literals<readonly ["split", "array"]>;
1236
1240
  readonly envKey: Schema.NullOr<Schema.NonEmptyString>;
1241
+ /** Native allowlist for forwarding same-name environment variables. */
1242
+ readonly envVarsKey: Schema.optional<Schema.NonEmptyString>;
1237
1243
  }>>;
1238
1244
  readonly remote: Schema.NullOr<Schema.Struct<{
1239
1245
  readonly typeField: Schema.Struct<{
@@ -1337,6 +1343,8 @@ export declare const McpExtensionCapabilitySchema: Schema.Union<readonly [Schema
1337
1343
  }>;
1338
1344
  readonly command: Schema.Literals<readonly ["split", "array"]>;
1339
1345
  readonly envKey: Schema.NullOr<Schema.NonEmptyString>;
1346
+ /** Native allowlist for forwarding same-name environment variables. */
1347
+ readonly envVarsKey: Schema.optional<Schema.NonEmptyString>;
1340
1348
  }>>;
1341
1349
  readonly remote: Schema.NullOr<Schema.Struct<{
1342
1350
  readonly typeField: Schema.Struct<{
@@ -2147,6 +2155,8 @@ export declare const AgentCapabilitiesSchema: Schema.Struct<{
2147
2155
  }>;
2148
2156
  readonly command: Schema.Literals<readonly ["split", "array"]>;
2149
2157
  readonly envKey: Schema.NullOr<Schema.NonEmptyString>;
2158
+ /** Native allowlist for forwarding same-name environment variables. */
2159
+ readonly envVarsKey: Schema.optional<Schema.NonEmptyString>;
2150
2160
  }>>;
2151
2161
  readonly remote: Schema.NullOr<Schema.Struct<{
2152
2162
  readonly typeField: Schema.Struct<{
@@ -2250,6 +2260,8 @@ export declare const AgentCapabilitiesSchema: Schema.Struct<{
2250
2260
  }>;
2251
2261
  readonly command: Schema.Literals<readonly ["split", "array"]>;
2252
2262
  readonly envKey: Schema.NullOr<Schema.NonEmptyString>;
2263
+ /** Native allowlist for forwarding same-name environment variables. */
2264
+ readonly envVarsKey: Schema.optional<Schema.NonEmptyString>;
2253
2265
  }>>;
2254
2266
  readonly remote: Schema.NullOr<Schema.Struct<{
2255
2267
  readonly typeField: Schema.Struct<{
@@ -2988,6 +3000,8 @@ export declare const AgentSchema: Schema.Struct<{
2988
3000
  }>;
2989
3001
  readonly command: Schema.Literals<readonly ["split", "array"]>;
2990
3002
  readonly envKey: Schema.NullOr<Schema.NonEmptyString>;
3003
+ /** Native allowlist for forwarding same-name environment variables. */
3004
+ readonly envVarsKey: Schema.optional<Schema.NonEmptyString>;
2991
3005
  }>>;
2992
3006
  readonly remote: Schema.NullOr<Schema.Struct<{
2993
3007
  readonly typeField: Schema.Struct<{
@@ -3091,6 +3105,8 @@ export declare const AgentSchema: Schema.Struct<{
3091
3105
  }>;
3092
3106
  readonly command: Schema.Literals<readonly ["split", "array"]>;
3093
3107
  readonly envKey: Schema.NullOr<Schema.NonEmptyString>;
3108
+ /** Native allowlist for forwarding same-name environment variables. */
3109
+ readonly envVarsKey: Schema.optional<Schema.NonEmptyString>;
3094
3110
  }>>;
3095
3111
  readonly remote: Schema.NullOr<Schema.Struct<{
3096
3112
  readonly typeField: Schema.Struct<{
@@ -607,6 +607,8 @@ export const McpStdioDialectSchema = Schema.Struct({
607
607
  typeField: McpTypeFieldSchema,
608
608
  command: Schema.Literals(["split", "array"]),
609
609
  envKey: Schema.NullOr(Schema.NonEmptyString),
610
+ /** Native allowlist for forwarding same-name environment variables. */
611
+ envVarsKey: Schema.optional(Schema.NonEmptyString),
610
612
  }).annotate({
611
613
  identifier: "McpStdioDialect",
612
614
  title: "MCP Stdio Dialect",
@@ -5,7 +5,7 @@
5
5
  * @packageDocumentation
6
6
  */
7
7
  import type { Record } from "effect";
8
- import { CONFIGURABLE_AGENT_IDS, type ConfigurableAgentId } from "../agent-capabilities/catalog.js";
8
+ import { CONFIGURABLE_AGENT_IDS, type ConfigurableAgentId } from "../agent-capabilities/identity.js";
9
9
  import type { DetectionMarker, Scope, ScopeDetection, SkillReadPath } from "../agent-capabilities/schema.js";
10
10
  /**
11
11
  * Skills-specific configuration for an agent.
@@ -4,7 +4,7 @@
4
4
  * @experimental This API is unstable and may change without notice.
5
5
  * @packageDocumentation
6
6
  */
7
- import { CONFIGURABLE_AGENT_IDS } from "../agent-capabilities/catalog.js";
7
+ import { CONFIGURABLE_AGENT_IDS, } from "../agent-capabilities/identity.js";
8
8
  // -----------------------------------------------------------------------------
9
9
  // Agent Identifiers
10
10
  // -----------------------------------------------------------------------------
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import * as Schema from "effect/Schema";
7
7
  import * as Option from "effect/Option";
8
- import { AgentIdSchema } from "../agent-capabilities/catalog.js";
8
+ import { AgentIdSchema } from "../agent-capabilities/identity.js";
9
9
  /**
10
10
  * Author information for a manifest.
11
11
  *
@@ -512,7 +512,7 @@ export declare const NonPackManifestFields: {
512
512
  };
513
513
  /**
514
514
  * Agent identifier enumeration for supported coding agents: the single
515
- * definition lives in the capability catalog.
515
+ * definition lives in the agent identity module.
516
516
  *
517
517
  * @experimental This API is unstable and may change without notice.
518
518
  */
@@ -7,8 +7,7 @@ import * as EffectRecord from "effect/Record";
7
7
  import * as Schema from "effect/Schema";
8
8
  import * as Option from "effect/Option";
9
9
  import * as Result from "effect/Result";
10
- import { AgentIdSchema } from "../agent-capabilities/catalog.js";
11
- import { CONFIGURABLE_AGENT_IDS } from "../agents/types.js";
10
+ import { AgentIdSchema, CONFIGURABLE_AGENT_IDS } from "../agent-capabilities/identity.js";
12
11
  import { HANDLE_PATTERN_SOURCE, HandleSchema } from "./handle.js";
13
12
  import { parseLicenseExpression } from "./license.js";
14
13
  import { CompanionPackageSchema } from "../package-urls/index.js";
@@ -577,7 +576,7 @@ export const NonPackManifestFields = {
577
576
  };
578
577
  /**
579
578
  * Agent identifier enumeration for supported coding agents: the single
580
- * definition lives in the capability catalog.
579
+ * definition lives in the agent identity module.
581
580
  *
582
581
  * @experimental This API is unstable and may change without notice.
583
582
  */
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Glob expansion for extension names.
3
+ *
4
+ * Expands `*` wildcards against a list of names. Only `*` is supported
5
+ * as a wildcard — all other characters are treated as literals.
6
+ *
7
+ * @experimental This API is unstable and may change without notice.
8
+ */
9
+ /**
10
+ * Expand a glob pattern against a list of names.
11
+ *
12
+ * Only `*` wildcards are supported. All other characters (including `?`, `[`, `]`)
13
+ * are treated as literals. Matching is case-sensitive.
14
+ *
15
+ * @param pattern - The pattern to match (may contain `*`)
16
+ * @param names - Available names to match against
17
+ * @returns Matching names in their original order
18
+ */
19
+ export declare const expandGlob: (pattern: string, names: ReadonlyArray<string>) => ReadonlyArray<string>;
20
+ /**
21
+ * Expand multiple glob patterns against a list of extension names.
22
+ *
23
+ * Returns the union of all matches, deduplicated, preserving the original
24
+ * order of `names`.
25
+ *
26
+ * @param patterns - Patterns to match (may contain `*`)
27
+ * @param names - Available names to match against
28
+ * @returns Matching names in their original order, deduplicated
29
+ */
30
+ export declare const expandGlobs: (patterns: ReadonlyArray<string>, names: ReadonlyArray<string>) => ReadonlyArray<string>;
31
+ /**
32
+ * Returns true when an input should be treated as a glob pattern.
33
+ */
34
+ export declare const isGlobPattern: (input: string) => boolean;
35
+ //# sourceMappingURL=name-patterns.d.ts.map
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Glob expansion for extension names.
3
+ *
4
+ * Expands `*` wildcards against a list of names. Only `*` is supported
5
+ * as a wildcard — all other characters are treated as literals.
6
+ *
7
+ * @experimental This API is unstable and may change without notice.
8
+ */
9
+ /**
10
+ * Expand a glob pattern against a list of names.
11
+ *
12
+ * Only `*` wildcards are supported. All other characters (including `?`, `[`, `]`)
13
+ * are treated as literals. Matching is case-sensitive.
14
+ *
15
+ * @param pattern - The pattern to match (may contain `*`)
16
+ * @param names - Available names to match against
17
+ * @returns Matching names in their original order
18
+ */
19
+ export const expandGlob = (pattern, names) => {
20
+ const matches = (name) => {
21
+ let patternIndex = 0;
22
+ let nameIndex = 0;
23
+ let wildcardIndex = -1;
24
+ let wildcardNameIndex = 0;
25
+ while (nameIndex < name.length) {
26
+ const token = pattern[patternIndex];
27
+ if (token !== undefined && token !== "*" && token === name[nameIndex]) {
28
+ patternIndex += 1;
29
+ nameIndex += 1;
30
+ }
31
+ else if (token === "*") {
32
+ wildcardIndex = patternIndex;
33
+ wildcardNameIndex = nameIndex;
34
+ patternIndex += 1;
35
+ }
36
+ else if (wildcardIndex >= 0) {
37
+ patternIndex = wildcardIndex + 1;
38
+ wildcardNameIndex += 1;
39
+ nameIndex = wildcardNameIndex;
40
+ }
41
+ else {
42
+ return false;
43
+ }
44
+ }
45
+ while (pattern[patternIndex] === "*") {
46
+ patternIndex += 1;
47
+ }
48
+ return patternIndex === pattern.length;
49
+ };
50
+ return names.filter(matches);
51
+ };
52
+ /**
53
+ * Expand multiple glob patterns against a list of extension names.
54
+ *
55
+ * Returns the union of all matches, deduplicated, preserving the original
56
+ * order of `names`.
57
+ *
58
+ * @param patterns - Patterns to match (may contain `*`)
59
+ * @param names - Available names to match against
60
+ * @returns Matching names in their original order, deduplicated
61
+ */
62
+ export const expandGlobs = (patterns, names) => {
63
+ const matched = new Set();
64
+ for (const pattern of patterns) {
65
+ for (const name of expandGlob(pattern, names)) {
66
+ matched.add(name);
67
+ }
68
+ }
69
+ return names.filter((n) => matched.has(n));
70
+ };
71
+ /**
72
+ * Returns true when an input should be treated as a glob pattern.
73
+ */
74
+ export const isGlobPattern = (input) => input.includes("*");
75
+ //# sourceMappingURL=name-patterns.js.map
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Select a published extension release from domain facts.
3
+ *
4
+ * An exact request may select a yanked release; a range selects the highest
5
+ * non-yanked release it admits. Transport metadata and consumer-specific
6
+ * admission policies are outside this algorithm.
7
+ *
8
+ * @experimental This API is unstable and may change without notice.
9
+ * @packageDocumentation
10
+ */
11
+ import * as Option from "effect/Option";
12
+ import type * as DateTime from "effect/DateTime";
13
+ import { type VersionEntryLike } from "./version-constraints.js";
14
+ /** The release facts needed for selection, independent of index serialization. */
15
+ export interface ReleasedVersion extends VersionEntryLike {
16
+ readonly yankedAt?: DateTime.Utc | undefined;
17
+ }
18
+ /**
19
+ * Select the highest non-yanked version, independent of index order.
20
+ */
21
+ export declare const selectVersion: <T extends ReleasedVersion>(versions: ReadonlyArray<T>) => Option.Option<T>;
22
+ /**
23
+ * Resolve an optional exact version or range against an index: an exact
24
+ * version matches even when yanked; a range excludes yanked versions.
25
+ */
26
+ export declare const resolveVersionEntry: <T extends ReleasedVersion>(versions: ReadonlyArray<T>, versionRange: Option.Option<string>) => Option.Option<T>;
27
+ //# sourceMappingURL=version-selection.d.ts.map