@agentxm/extension-model 0.38.0 → 0.39.0

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 (65) hide show
  1. package/dist/src/unstable/agent-capabilities/catalog.d.ts +1820 -96
  2. package/dist/src/unstable/agent-capabilities/catalog.js +2 -1
  3. package/dist/src/unstable/agent-capabilities/data/agents/augment.d.ts +1 -1
  4. package/dist/src/unstable/agent-capabilities/data/agents/augment.js +1 -1
  5. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.d.ts +21 -3
  6. package/dist/src/unstable/agent-capabilities/data/agents/claude-code.js +18 -3
  7. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.d.ts +1 -1
  8. package/dist/src/unstable/agent-capabilities/data/agents/codebuddy.js +1 -1
  9. package/dist/src/unstable/agent-capabilities/data/agents/codex.d.ts +3 -2
  10. package/dist/src/unstable/agent-capabilities/data/agents/codex.js +3 -2
  11. package/dist/src/unstable/agent-capabilities/data/agents/cursor.d.ts +186 -10
  12. package/dist/src/unstable/agent-capabilities/data/agents/cursor.js +223 -10
  13. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.d.ts +1 -1
  14. package/dist/src/unstable/agent-capabilities/data/agents/deepagents.js +1 -1
  15. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.d.ts +1 -1
  16. package/dist/src/unstable/agent-capabilities/data/agents/gemini-cli.js +1 -1
  17. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.d.ts +19 -1
  18. package/dist/src/unstable/agent-capabilities/data/agents/github-copilot-cli.js +16 -1
  19. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.d.ts +1 -1
  20. package/dist/src/unstable/agent-capabilities/data/agents/ibm-bob.js +1 -1
  21. package/dist/src/unstable/agent-capabilities/data/agents/index.d.ts +1 -0
  22. package/dist/src/unstable/agent-capabilities/data/agents/index.js +1 -0
  23. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.d.ts +1 -1
  24. package/dist/src/unstable/agent-capabilities/data/agents/kiro-cli.js +1 -1
  25. package/dist/src/unstable/agent-capabilities/data/agents/opencode.d.ts +2 -1
  26. package/dist/src/unstable/agent-capabilities/data/agents/opencode.js +2 -1
  27. package/dist/src/unstable/agent-capabilities/data/agents/pi.d.ts +105 -6
  28. package/dist/src/unstable/agent-capabilities/data/agents/pi.js +77 -6
  29. package/dist/src/unstable/agent-capabilities/data/agents/qoder.d.ts +1 -1
  30. package/dist/src/unstable/agent-capabilities/data/agents/qoder.js +1 -1
  31. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.d.ts +1 -1
  32. package/dist/src/unstable/agent-capabilities/data/agents/qwen-code.js +1 -1
  33. package/dist/src/unstable/agent-capabilities/data/agents/roo.d.ts +1 -1
  34. package/dist/src/unstable/agent-capabilities/data/agents/roo.js +1 -1
  35. package/dist/src/unstable/agent-capabilities/data/agents/vscode.d.ts +263 -0
  36. package/dist/src/unstable/agent-capabilities/data/agents/vscode.js +139 -0
  37. package/dist/src/unstable/agent-capabilities/derive.d.ts +14 -22
  38. package/dist/src/unstable/agent-capabilities/derive.js +40 -51
  39. package/dist/src/unstable/agent-capabilities/identity.d.ts +3 -3
  40. package/dist/src/unstable/agent-capabilities/identity.js +1 -0
  41. package/dist/src/unstable/agent-capabilities/schema.d.ts +50 -12
  42. package/dist/src/unstable/agent-capabilities/schema.js +10 -2
  43. package/dist/src/unstable/agents/types.d.ts +1 -1
  44. package/dist/src/unstable/extensions/common.d.ts +17 -3
  45. package/dist/src/unstable/extensions/common.js +8 -8
  46. package/dist/src/unstable/extensions/installable-types.d.ts +2 -2
  47. package/dist/src/unstable/extensions/refs/mcp-server.d.ts +16 -2
  48. package/dist/src/unstable/extensions/refs/mcp-server.js +12 -1
  49. package/dist/src/unstable/extensions/refs/ref-base.d.ts +17 -2
  50. package/dist/src/unstable/extensions/refs/ref-base.js +16 -1
  51. package/dist/src/unstable/extensions/refs/skill.d.ts +14 -2
  52. package/dist/src/unstable/extensions/refs/skill.js +0 -9
  53. package/dist/src/unstable/hooks/manifest-schema.d.ts +221 -105
  54. package/dist/src/unstable/hooks/manifest-schema.js +271 -87
  55. package/dist/src/unstable/hooks/resolution.d.ts +24 -0
  56. package/dist/src/unstable/hooks/resolution.js +99 -0
  57. package/dist/src/unstable/sources/http-artifact.d.ts +24 -0
  58. package/dist/src/unstable/sources/http-artifact.js +46 -0
  59. package/dist/src/unstable/sources/printer.js +14 -1
  60. package/dist/src/unstable/sources/source-host-provider.d.ts +3 -0
  61. package/dist/src/unstable/sources/types.d.ts +16 -6
  62. package/dist/src/unstable/sources/types.js +2 -0
  63. package/dist/src/unstable/subagents/manifest-schema.d.ts +48 -18
  64. package/dist/src/unstable/subagents/manifest-schema.js +85 -18
  65. package/package.json +10 -2
@@ -87,7 +87,7 @@ export type StandardGoverns = "package-body" | "runtime-protocol" | "host-file";
87
87
  /** Workspace-level capability a type participates in. */
88
88
  export type WorkspaceCapabilityKey = "instructions";
89
89
  /** Authority families an extension may be installed from. */
90
- export declare const extensionSourceFamilies: readonly ["git", "registry", "path", "workspace"];
90
+ export declare const extensionSourceFamilies: readonly ["git", "registry", "path", "workspace", "http"];
91
91
  export type ExtensionSourceFamily = (typeof extensionSourceFamilies)[number];
92
92
  type ExtensionInstallability = {
93
93
  readonly [Family in ExtensionSourceFamily]: boolean;
@@ -137,6 +137,7 @@ export declare const EXTENSION_TYPE_TABLE: {
137
137
  readonly registry: true;
138
138
  readonly path: true;
139
139
  readonly workspace: true;
140
+ readonly http: true;
140
141
  };
141
142
  readonly workspaceCapability: null;
142
143
  };
@@ -156,6 +157,7 @@ export declare const EXTENSION_TYPE_TABLE: {
156
157
  readonly registry: true;
157
158
  readonly path: true;
158
159
  readonly workspace: true;
160
+ readonly http: false;
159
161
  };
160
162
  readonly workspaceCapability: null;
161
163
  };
@@ -175,6 +177,7 @@ export declare const EXTENSION_TYPE_TABLE: {
175
177
  readonly registry: true;
176
178
  readonly path: true;
177
179
  readonly workspace: true;
180
+ readonly http: false;
178
181
  };
179
182
  readonly workspaceCapability: null;
180
183
  };
@@ -194,6 +197,7 @@ export declare const EXTENSION_TYPE_TABLE: {
194
197
  readonly registry: true;
195
198
  readonly path: true;
196
199
  readonly workspace: true;
200
+ readonly http: false;
197
201
  };
198
202
  readonly workspaceCapability: "instructions";
199
203
  };
@@ -213,6 +217,7 @@ export declare const EXTENSION_TYPE_TABLE: {
213
217
  readonly registry: true;
214
218
  readonly path: true;
215
219
  readonly workspace: true;
220
+ readonly http: false;
216
221
  };
217
222
  readonly workspaceCapability: null;
218
223
  };
@@ -232,6 +237,7 @@ export declare const EXTENSION_TYPE_TABLE: {
232
237
  readonly registry: true;
233
238
  readonly path: true;
234
239
  readonly workspace: true;
240
+ readonly http: false;
235
241
  };
236
242
  readonly workspaceCapability: null;
237
243
  };
@@ -251,6 +257,7 @@ export declare const EXTENSION_TYPE_TABLE: {
251
257
  readonly registry: true;
252
258
  readonly path: true;
253
259
  readonly workspace: true;
260
+ readonly http: false;
254
261
  };
255
262
  readonly workspaceCapability: null;
256
263
  };
@@ -299,7 +306,7 @@ export type RegistryType = PerAgentType | WorkspaceType;
299
306
  export type InputType = TypesWhere<"installInputs", true>;
300
307
  /** Extension types installable from one source family. */
301
308
  export type InstallableFrom<Family extends ExtensionSourceFamily> = {
302
- [Type in ExtensionType]: ExtensionTypeRows[Type]["installableFrom"][Family] extends true ? Type : never;
309
+ [Type in ExtensionType]: true extends ExtensionTypeRows[Type]["installableFrom"][Family] ? Type : never;
303
310
  }[ExtensionType];
304
311
  /** Extension types whose governing standard covers the package body. */
305
312
  export type BodyGovernedType = TypesWhere<"governs", "package-body">;
@@ -326,36 +333,43 @@ export declare const INSTALLABLE_FROM_BY_TYPE: Record<"skill" | "mcp-server" | "
326
333
  readonly registry: true;
327
334
  readonly path: true;
328
335
  readonly workspace: true;
336
+ readonly http: true;
329
337
  } | {
330
338
  readonly git: true;
331
339
  readonly registry: true;
332
340
  readonly path: true;
333
341
  readonly workspace: true;
342
+ readonly http: false;
334
343
  } | {
335
344
  readonly git: true;
336
345
  readonly registry: true;
337
346
  readonly path: true;
338
347
  readonly workspace: true;
348
+ readonly http: false;
339
349
  } | {
340
350
  readonly git: true;
341
351
  readonly registry: true;
342
352
  readonly path: true;
343
353
  readonly workspace: true;
354
+ readonly http: false;
344
355
  } | {
345
356
  readonly git: true;
346
357
  readonly registry: true;
347
358
  readonly path: true;
348
359
  readonly workspace: true;
360
+ readonly http: false;
349
361
  } | {
350
362
  readonly git: true;
351
363
  readonly registry: true;
352
364
  readonly path: true;
353
365
  readonly workspace: true;
366
+ readonly http: false;
354
367
  } | {
355
368
  readonly git: true;
356
369
  readonly registry: true;
357
370
  readonly path: true;
358
371
  readonly workspace: true;
372
+ readonly http: false;
359
373
  }>;
360
374
  export declare const extensionTypesInstallableFrom: <Family extends ExtensionSourceFamily>(family: Family) => ReadonlyArray<InstallableFrom<Family>>;
361
375
  export declare const isInstallableFrom: <Family extends ExtensionSourceFamily>(type: ExtensionType, family: Family) => type is InstallableFrom<Family>;
@@ -681,7 +695,7 @@ export { AgentIdSchema };
681
695
  *
682
696
  * @experimental This API is unstable and may change without notice.
683
697
  */
684
- export declare const ConfigurableAgentIdSchema: Schema.Literals<readonly ["adal", "fx", "muse-code", "mimo-code", "coder-agents", "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"]>;
698
+ export declare const ConfigurableAgentIdSchema: Schema.Literals<readonly ["adal", "fx", "muse-code", "mimo-code", "coder-agents", "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", "vscode", "pochi", "qoder", "qoder-cn", "qwen-code", "replit", "roo", "rovodev", "tabnine-cli", "trae-cn", "trae", "warp", "windsurf", "zencoder", "zed", "zenflow"]>;
685
699
  /**
686
700
  * Inferred type for AgentId schema.
687
701
  *
@@ -113,7 +113,7 @@ export const LicenseSchema = Schema.String.annotate({
113
113
  ? true
114
114
  : "Expected a valid SPDX license expression or UNLICENSED"));
115
115
  /** Authority families an extension may be installed from. */
116
- export const extensionSourceFamilies = ["git", "registry", "path", "workspace"];
116
+ export const extensionSourceFamilies = ["git", "registry", "path", "workspace", "http"];
117
117
  /**
118
118
  * Single source of truth for extension type naming. Row order is the canonical
119
119
  * display order. Every other type-naming export in this module derives from
@@ -136,7 +136,7 @@ export const EXTENSION_TYPE_TABLE = {
136
136
  placement: "per-agent",
137
137
  governs: "package-body",
138
138
  installInputs: false,
139
- installableFrom: { git: true, registry: true, path: true, workspace: true },
139
+ installableFrom: { git: true, registry: true, path: true, workspace: true, http: true },
140
140
  workspaceCapability: null,
141
141
  },
142
142
  "mcp-server": {
@@ -150,7 +150,7 @@ export const EXTENSION_TYPE_TABLE = {
150
150
  placement: "per-agent",
151
151
  governs: "runtime-protocol",
152
152
  installInputs: true,
153
- installableFrom: { git: true, registry: true, path: true, workspace: true },
153
+ installableFrom: { git: true, registry: true, path: true, workspace: true, http: false },
154
154
  workspaceCapability: null,
155
155
  },
156
156
  subagent: {
@@ -164,7 +164,7 @@ export const EXTENSION_TYPE_TABLE = {
164
164
  placement: "per-agent",
165
165
  governs: null,
166
166
  installInputs: false,
167
- installableFrom: { git: true, registry: true, path: true, workspace: true },
167
+ installableFrom: { git: true, registry: true, path: true, workspace: true, http: false },
168
168
  workspaceCapability: null,
169
169
  },
170
170
  rule: {
@@ -178,7 +178,7 @@ export const EXTENSION_TYPE_TABLE = {
178
178
  placement: "workspace",
179
179
  governs: "host-file",
180
180
  installInputs: false,
181
- installableFrom: { git: true, registry: true, path: true, workspace: true },
181
+ installableFrom: { git: true, registry: true, path: true, workspace: true, http: false },
182
182
  workspaceCapability: "instructions",
183
183
  },
184
184
  hook: {
@@ -192,7 +192,7 @@ export const EXTENSION_TYPE_TABLE = {
192
192
  placement: "per-agent",
193
193
  governs: null,
194
194
  installInputs: false,
195
- installableFrom: { git: true, registry: true, path: true, workspace: true },
195
+ installableFrom: { git: true, registry: true, path: true, workspace: true, http: false },
196
196
  workspaceCapability: null,
197
197
  },
198
198
  knowledge: {
@@ -206,7 +206,7 @@ export const EXTENSION_TYPE_TABLE = {
206
206
  placement: "workspace",
207
207
  governs: "package-body",
208
208
  installInputs: false,
209
- installableFrom: { git: true, registry: true, path: true, workspace: true },
209
+ installableFrom: { git: true, registry: true, path: true, workspace: true, http: false },
210
210
  workspaceCapability: null,
211
211
  },
212
212
  pack: {
@@ -220,7 +220,7 @@ export const EXTENSION_TYPE_TABLE = {
220
220
  placement: "container",
221
221
  governs: null,
222
222
  installInputs: false,
223
- installableFrom: { git: true, registry: true, path: true, workspace: true },
223
+ installableFrom: { git: true, registry: true, path: true, workspace: true, http: false },
224
224
  workspaceCapability: null,
225
225
  },
226
226
  };
@@ -1,5 +1,5 @@
1
1
  import * as Schema from "effect/Schema";
2
- export declare const installableExtensionTypes: import("./common.js").InstallableFrom<"git" | "workspace" | "registry" | "path">[];
2
+ export declare const installableExtensionTypes: import("./common.js").InstallableFrom<"git" | "workspace" | "registry" | "path" | "http">[];
3
3
  export type InstallableExtensionType = (typeof installableExtensionTypes)[number];
4
4
  export declare const isInstallableExtensionType: (value: string | undefined) => value is InstallableExtensionType;
5
5
  export declare const installableExtensionTypePluralSegments: ("skills" | "mcps" | "subagents" | "rules" | "hooks" | "knowledge" | "packs")[];
@@ -7,6 +7,6 @@ export type InstallableExtensionTypePlural = (typeof installableExtensionTypePlu
7
7
  export declare const isInstallableExtensionTypePlural: (value: string | undefined) => value is InstallableExtensionTypePlural;
8
8
  export declare const toInstallableExtensionType: (segment: InstallableExtensionTypePlural) => InstallableExtensionType;
9
9
  export declare const toInstallableExtensionTypePlural: (type: InstallableExtensionType) => InstallableExtensionTypePlural;
10
- export declare const InstallableExtensionTypeSchema: Schema.Literals<import("./common.js").InstallableFrom<"git" | "workspace" | "registry" | "path">[]>;
10
+ export declare const InstallableExtensionTypeSchema: Schema.Literals<import("./common.js").InstallableFrom<"git" | "workspace" | "registry" | "path" | "http">[]>;
11
11
  export declare const InstallableExtensionTypePluralSchema: Schema.Literals<("skills" | "mcps" | "subagents" | "rules" | "hooks" | "knowledge" | "packs")[]>;
12
12
  //# sourceMappingURL=installable-types.d.ts.map
@@ -4,16 +4,30 @@
4
4
  * @experimental This API is unstable and may change without notice.
5
5
  * @packageDocumentation
6
6
  */
7
+ import * as Schema from "effect/Schema";
8
+ import type { Handle } from "../handle.js";
9
+ /** Selects one unchanged plugin configuration entry independently from its package. */
10
+ export declare const NativeMcpComponentSchema: Schema.Struct<{
11
+ readonly format: Schema.Literal<"agent-plugins">;
12
+ readonly configPath: Schema.NonEmptyString;
13
+ readonly name: Schema.NonEmptyString;
14
+ }>;
15
+ export type NativeMcpComponent = typeof NativeMcpComponentSchema.Type;
16
+ type ExternalMcpRefDetails<T extends GitHostedRefDetails | LocalRefDetails> = Omit<T, "owner"> & {
17
+ readonly owner?: Handle;
18
+ readonly nativeComponent?: NativeMcpComponent;
19
+ };
7
20
  import type { McpServerExtensionRefBase, GitHostedRefDetails, RegistryRefDetails, LocalRefDetails, WorkspaceRefDetails } from "./ref-base.js";
8
21
  import type { GitBasedSource, RegistrySource, LocalSource, WorkspaceSource } from "../../sources/types.js";
9
22
  /** @experimental */
10
- export type GitHostedMcpServerRef = McpServerExtensionRefBase<"git-hosted", GitBasedSource> & GitHostedRefDetails;
23
+ export type GitHostedMcpServerRef = McpServerExtensionRefBase<"git-hosted", GitBasedSource> & ExternalMcpRefDetails<GitHostedRefDetails>;
11
24
  /** @experimental */
12
25
  export type RegistryMcpServerRef = McpServerExtensionRefBase<"registry", RegistrySource> & RegistryRefDetails;
13
26
  /** @experimental */
14
- export type LocalMcpServerRef = McpServerExtensionRefBase<"local", LocalSource> & LocalRefDetails;
27
+ export type LocalMcpServerRef = McpServerExtensionRefBase<"local", LocalSource> & ExternalMcpRefDetails<LocalRefDetails>;
15
28
  /** @experimental */
16
29
  export type WorkspaceMcpServerRef = McpServerExtensionRefBase<"workspace", WorkspaceSource> & WorkspaceRefDetails;
17
30
  /** @experimental */
18
31
  export type McpServerExtensionRef = GitHostedMcpServerRef | RegistryMcpServerRef | LocalMcpServerRef | WorkspaceMcpServerRef;
32
+ export {};
19
33
  //# sourceMappingURL=mcp-server.d.ts.map
@@ -4,5 +4,16 @@
4
4
  * @experimental This API is unstable and may change without notice.
5
5
  * @packageDocumentation
6
6
  */
7
- export {};
7
+ import * as Schema from "effect/Schema";
8
+ /** Selects one unchanged plugin configuration entry independently from its package. */
9
+ export const NativeMcpComponentSchema = Schema.Struct({
10
+ format: Schema.Literal("agent-plugins"),
11
+ configPath: Schema.NonEmptyString.check(Schema.makeFilter((value) => /^[A-Za-z]:/u.test(value) ||
12
+ value.startsWith("/") ||
13
+ value.includes("\\") ||
14
+ value.split("/").some((part) => part === "" || part === "..")
15
+ ? "Expected a package-relative MCP configuration path"
16
+ : undefined)),
17
+ name: Schema.NonEmptyString,
18
+ });
8
19
  //# sourceMappingURL=mcp-server.js.map
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import type { ExtensionName, ExtensionType } from "../common.js";
12
12
  import type * as Option from "effect/Option";
13
+ import * as Schema from "effect/Schema";
13
14
  import type * as Record from "effect/Record";
14
15
  import type { RefType, Source } from "../../sources/types.js";
15
16
  import type { PackMemberConstraintMap } from "../common.js";
@@ -20,6 +21,17 @@ import type { WorkspaceScope } from "../../workspace-scope.js";
20
21
  import type { SourceHash } from "../../sources/source-hash.js";
21
22
  import type { DeprecationView } from "../deprecation.js";
22
23
  import type { ArchivalView } from "../archival.js";
24
+ export declare const DistributionDescriptorSchema: Schema.Struct<{
25
+ readonly format: Schema.Literals<readonly ["agent-plugins", "claude", "codex", "cursor"]>;
26
+ readonly packageRoot: Schema.String;
27
+ readonly componentPath: Schema.String;
28
+ readonly manifestPath: Schema.optionalKey<Schema.String>;
29
+ readonly marketplace: Schema.optionalKey<Schema.Struct<{
30
+ readonly path: Schema.String;
31
+ readonly name: Schema.String;
32
+ }>>;
33
+ }>;
34
+ export type DistributionDescriptor = typeof DistributionDescriptorSchema.Type;
23
35
  /** Ref details for git-hosted sources (GitHub, GitLab, Bitbucket, AzureRepos, Git). @experimental */
24
36
  export interface GitHostedRefDetails {
25
37
  /** Publisher identity declared by the resolved package manifest. */
@@ -30,6 +42,7 @@ export interface GitHostedRefDetails {
30
42
  readonly location: string;
31
43
  /** Repository-relative directory selected for this extension */
32
44
  readonly sourcePath?: string;
45
+ readonly distribution?: DistributionDescriptor;
33
46
  /** Git tree SHA for integrity verification */
34
47
  readonly gitTreeSha: string;
35
48
  /** Immutable commit checked out while resolving this ref. */
@@ -70,6 +83,9 @@ export interface LocalRefDetails {
70
83
  readonly location: string;
71
84
  /** Workspace-relative selected package directory when known. */
72
85
  readonly sourcePath?: string;
86
+ /** Selected member relative to the supplied source directory, before workspace normalization. */
87
+ readonly sourceRelativePath?: string;
88
+ readonly distribution?: DistributionDescriptor;
73
89
  }
74
90
  /** Ref details for intrinsic workspace sources. @experimental */
75
91
  export interface WorkspaceRefDetails {
@@ -97,6 +113,7 @@ export type SkillExtensionRefBase<TRefType extends RefType, TSource extends Sour
97
113
  readonly skill: {
98
114
  readonly name: ExtensionName;
99
115
  readonly description: Option.Option<string>;
116
+ readonly displayName?: string;
100
117
  readonly metadata: Option.Option<Record.ReadonlyRecord<string, unknown>>;
101
118
  };
102
119
  };
@@ -113,8 +130,6 @@ export type SubagentExtensionRefBase<TRefType extends RefType, TSource extends S
113
130
  readonly name: ExtensionName;
114
131
  readonly description: Option.Option<string>;
115
132
  };
116
- /** Override platform capability degradation for this extension. */
117
- readonly fallback?: "auto" | "none";
118
133
  };
119
134
  /** @experimental */
120
135
  /** @experimental */
@@ -8,5 +8,20 @@
8
8
  * @experimental This API is unstable and may change without notice.
9
9
  * @packageDocumentation
10
10
  */
11
- export {};
11
+ import * as Schema from "effect/Schema";
12
+ /** Source-format metadata is kept outside the untouched package payload. */
13
+ const DistributionPathSchema = Schema.String.pipe(Schema.check(Schema.makeFilter((value) => value.length === 0 ||
14
+ value.includes("\\") ||
15
+ value.startsWith("/") ||
16
+ /^[A-Za-z]:/u.test(value) ||
17
+ value.split("/").some((segment) => segment === ".." || segment.length === 0)
18
+ ? "Expected a contained package-relative path"
19
+ : undefined)));
20
+ export const DistributionDescriptorSchema = Schema.Struct({
21
+ format: Schema.Literals(["agent-plugins", "claude", "codex", "cursor"]),
22
+ packageRoot: DistributionPathSchema,
23
+ componentPath: DistributionPathSchema,
24
+ manifestPath: Schema.optionalKey(DistributionPathSchema),
25
+ marketplace: Schema.optionalKey(Schema.Struct({ path: DistributionPathSchema, name: Schema.String })),
26
+ });
12
27
  //# sourceMappingURL=ref-base.js.map
@@ -1,3 +1,6 @@
1
+ import type { HttpArtifactSnapshot } from "../../sources/http-artifact.js";
2
+ import type { DistributionDescriptor } from "./ref-base.js";
3
+ import type { ExtensionName } from "../common.js";
1
4
  /**
2
5
  * Skill extension ref types.
3
6
  *
@@ -8,7 +11,7 @@
8
11
  * @packageDocumentation
9
12
  */
10
13
  import type { SkillExtensionRefBase, GitHostedRefDetails, RegistryRefDetails, LocalRefDetails, WorkspaceRefDetails } from "./ref-base.js";
11
- import type { GitBasedSource, RegistrySource, LocalSource, WorkspaceSource } from "../../sources/types.js";
14
+ import type { GitBasedSource, HttpSource, RegistrySource, LocalSource, WorkspaceSource } from "../../sources/types.js";
12
15
  import type { Handle } from "../handle.js";
13
16
  type ExternalSkillRefDetails<TDetails extends GitHostedRefDetails | LocalRefDetails> = Omit<TDetails, "owner"> & {
14
17
  readonly owner?: Handle;
@@ -23,6 +26,15 @@ export type LocalSkillRef = SkillExtensionRefBase<"local", LocalSource> & Extern
23
26
  /** @experimental */
24
27
  export type WorkspaceSkillRef = SkillExtensionRefBase<"workspace", WorkspaceSource> & WorkspaceRefDetails;
25
28
  /** @experimental */
26
- export type SkillExtensionRef = GitHostedSkillRef | RegistrySkillRef | LocalSkillRef | WorkspaceSkillRef;
29
+ export type HttpSkillRef = SkillExtensionRefBase<"http", HttpSource> & {
30
+ readonly name: ExtensionName;
31
+ readonly owner?: Handle;
32
+ readonly portable: boolean;
33
+ readonly location: string;
34
+ readonly sourcePath: string;
35
+ readonly distribution?: DistributionDescriptor;
36
+ readonly snapshot: HttpArtifactSnapshot;
37
+ };
38
+ export type SkillExtensionRef = HttpSkillRef | GitHostedSkillRef | RegistrySkillRef | LocalSkillRef | WorkspaceSkillRef;
27
39
  export {};
28
40
  //# sourceMappingURL=skill.d.ts.map
@@ -1,11 +1,2 @@
1
- /**
2
- * Skill extension ref types.
3
- *
4
- * Concrete ref types for skill extensions, built on the shared
5
- * ExtensionRefBase and ref detail interfaces.
6
- *
7
- * @experimental This API is unstable and may change without notice.
8
- * @packageDocumentation
9
- */
10
1
  export {};
11
2
  //# sourceMappingURL=skill.js.map