@agentxm/extension-model 0.29.2 → 0.30.1
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.
- package/dist/src/unstable/agent-capabilities/catalog.d.ts +1015 -1030
- package/dist/src/unstable/agent-capabilities/catalog.js +0 -85
- package/dist/src/unstable/agent-capabilities/derive.d.ts +2 -2
- package/dist/src/unstable/agent-capabilities/derive.js +2 -1
- package/dist/src/unstable/agent-capabilities/identity.d.ts +17 -0
- package/dist/src/unstable/agent-capabilities/identity.js +79 -0
- package/dist/src/unstable/agent-capabilities/index.d.ts +2 -1
- package/dist/src/unstable/agent-capabilities/index.js +2 -1
- package/dist/src/unstable/agent-capabilities/lookup.d.ts +1 -1
- package/dist/src/unstable/agent-capabilities/lookup.js +1 -0
- package/dist/src/unstable/agents/types.d.ts +1 -1
- package/dist/src/unstable/agents/types.js +1 -1
- package/dist/src/unstable/extensions/common.d.ts +2 -2
- package/dist/src/unstable/extensions/common.js +2 -3
- package/dist/src/unstable/version-constraints/version-selection.d.ts +27 -0
- package/dist/src/unstable/version-constraints/version-selection.js +39 -0
- package/package.json +128 -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
|
|
@@ -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 ("
|
|
112
|
-
matcherKinds: readonly ("regex" | "
|
|
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
|
|
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,
|
|
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,
|
|
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 "./
|
|
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
|
|
@@ -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/
|
|
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/
|
|
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/
|
|
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
|
|
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/
|
|
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
|
|
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,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
|
|
@@ -0,0 +1,39 @@
|
|
|
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 * as semver from "semver";
|
|
13
|
+
import { resolveVersionInRange } from "./version-constraints.js";
|
|
14
|
+
/**
|
|
15
|
+
* Select the highest non-yanked version, independent of index order.
|
|
16
|
+
*/
|
|
17
|
+
export const selectVersion = (versions) => {
|
|
18
|
+
const availableVersions = versions.filter((entry) => entry.yankedAt === undefined);
|
|
19
|
+
return resolveVersionInRange(availableVersions, Option.none());
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Resolve an optional exact version or range against an index: an exact
|
|
23
|
+
* version matches even when yanked; a range excludes yanked versions.
|
|
24
|
+
*/
|
|
25
|
+
export const resolveVersionEntry = (versions, versionRange) => {
|
|
26
|
+
if (Option.isNone(versionRange)) {
|
|
27
|
+
return selectVersion(versions);
|
|
28
|
+
}
|
|
29
|
+
if (semver.valid(versionRange.value) === versionRange.value) {
|
|
30
|
+
return Option.fromUndefinedOr(versions.find((candidate) => candidate.version === versionRange.value));
|
|
31
|
+
}
|
|
32
|
+
const availableVersions = versions.filter((entry) => entry.yankedAt === undefined);
|
|
33
|
+
const resolved = resolveVersionInRange(availableVersions, versionRange);
|
|
34
|
+
if (Option.isNone(resolved)) {
|
|
35
|
+
return Option.none();
|
|
36
|
+
}
|
|
37
|
+
return Option.fromUndefinedOr(availableVersions.find((candidate) => candidate.version === resolved.value.version));
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=version-selection.js.map
|