@adea-ai/plugins 1.0.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.
- package/LICENSE +201 -0
- package/README.md +74 -0
- package/dist/agent-plugins-catalog.d.ts +26 -0
- package/dist/agent-plugins-catalog.js +699 -0
- package/dist/agent-plugins-catalog.js.map +1 -0
- package/dist/agent-plugins-harness.d.ts +54 -0
- package/dist/agent-plugins-harness.js +212 -0
- package/dist/agent-plugins-harness.js.map +1 -0
- package/dist/agent-plugins-schema.d.ts +402 -0
- package/dist/agent-plugins-schema.js +200 -0
- package/dist/agent-plugins-schema.js.map +1 -0
- package/dist/consumer-index.d.ts +217 -0
- package/dist/consumer-index.js +358 -0
- package/dist/consumer-index.js.map +1 -0
- package/dist/display-name.d.ts +8 -0
- package/dist/display-name.js +160 -0
- package/dist/display-name.js.map +1 -0
- package/dist/harness.d.ts +13 -0
- package/dist/harness.js +169 -0
- package/dist/harness.js.map +1 -0
- package/dist/icon-mirror.d.ts +69 -0
- package/dist/icon-mirror.js +147 -0
- package/dist/icon-mirror.js.map +1 -0
- package/dist/icons.d.ts +65 -0
- package/dist/icons.js +268 -0
- package/dist/icons.js.map +1 -0
- package/dist/index.d.ts +304 -0
- package/dist/index.js +1877 -0
- package/dist/index.js.map +1 -0
- package/dist/portable-catalog.d.ts +9 -0
- package/dist/portable-catalog.js +175 -0
- package/dist/portable-catalog.js.map +1 -0
- package/dist/publication.d.ts +98 -0
- package/dist/publication.js +121 -0
- package/dist/publication.js.map +1 -0
- package/dist/schema.d.ts +705 -0
- package/dist/schema.js +267 -0
- package/dist/schema.js.map +1 -0
- package/dist/site-icons.d.ts +55 -0
- package/dist/site-icons.js +155 -0
- package/dist/site-icons.js.map +1 -0
- package/dist/sources.d.ts +54 -0
- package/dist/sources.js +306 -0
- package/dist/sources.js.map +1 -0
- package/package.json +102 -0
- package/schemas/agent-package.v1.json +387 -0
- package/schemas/catalog.v1.schema.json +407 -0
- package/schemas/compatibility.v1.schema.json +23 -0
- package/schemas/harness-profile.v1.json +75 -0
- package/schemas/installation-plan.v2.json +695 -0
- package/schemas/sources-lock.v1.schema.json +61 -0
- package/src/agent-plugins-catalog.test.ts +402 -0
- package/src/agent-plugins-catalog.ts +800 -0
- package/src/agent-plugins-harness.test.ts +272 -0
- package/src/agent-plugins-harness.ts +281 -0
- package/src/agent-plugins-schema.test.ts +27 -0
- package/src/agent-plugins-schema.ts +219 -0
- package/src/artifacts.test.ts +545 -0
- package/src/catalog-installation.test.ts +42 -0
- package/src/consumer-index.test.ts +465 -0
- package/src/consumer-index.ts +592 -0
- package/src/display-name.test.ts +56 -0
- package/src/display-name.ts +157 -0
- package/src/harness.ts +202 -0
- package/src/icon-mirror.ts +196 -0
- package/src/icons.test.ts +185 -0
- package/src/icons.ts +297 -0
- package/src/index.test.ts +888 -0
- package/src/index.ts +2538 -0
- package/src/portable-catalog.test.ts +186 -0
- package/src/portable-catalog.ts +203 -0
- package/src/publication.test.ts +117 -0
- package/src/publication.ts +171 -0
- package/src/schema.ts +309 -0
- package/src/site-icon-fallback.test.ts +267 -0
- package/src/site-icons.test.ts +171 -0
- package/src/site-icons.ts +161 -0
- package/src/sources.ts +360 -0
- package/src/upstream-headers.test.ts +148 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-plugins-catalog.js","sourceRoot":"","sources":["../src/agent-plugins-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type HarnessProfile, type McpServer, type InstallationPlan } from './agent-plugins-schema.js';
|
|
2
|
+
import type { Catalog } from './schema.js';
|
|
3
|
+
export interface InstallationInput {
|
|
4
|
+
readonly pluginId: string;
|
|
5
|
+
readonly releaseId: string;
|
|
6
|
+
readonly instanceId: string;
|
|
7
|
+
readonly source: InstallationPlan['source'];
|
|
8
|
+
readonly package: unknown;
|
|
9
|
+
readonly profile: HarnessProfile;
|
|
10
|
+
readonly requiredCredentials?: readonly string[];
|
|
11
|
+
readonly requiredConnectors?: readonly string[];
|
|
12
|
+
readonly allowPartial?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface CatalogInstallationInput {
|
|
15
|
+
readonly catalog: Catalog;
|
|
16
|
+
readonly pluginId: string;
|
|
17
|
+
readonly releaseId?: string;
|
|
18
|
+
readonly instanceId: string;
|
|
19
|
+
readonly profile: HarnessProfile;
|
|
20
|
+
readonly allowPartial?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/** Resolve the exact catalog release before planning. The caller must also authenticate
|
|
23
|
+
* the catalog publisher and verify its artifact integrity before invoking this API.
|
|
24
|
+
*/
|
|
25
|
+
export declare function createCatalogInstallationPlan(input: CatalogInstallationInput): InstallationPlan;
|
|
26
|
+
/** A declarative proposal, never an execution grant. No brand-based support assumptions. */
|
|
27
|
+
export declare function createInstallationPlan(input: InstallationInput): InstallationPlan;
|
|
28
|
+
export interface RuntimeRoots {
|
|
29
|
+
readonly pluginRoot: string;
|
|
30
|
+
readonly pluginData: string;
|
|
31
|
+
}
|
|
32
|
+
/** Exact, single-pass expansion. Replacement text is never scanned recursively. */
|
|
33
|
+
export declare function expandPluginPaths(value: string, roots: RuntimeRoots): string;
|
|
34
|
+
export type McpBinding = {
|
|
35
|
+
type: 'stdio';
|
|
36
|
+
command: string;
|
|
37
|
+
args: string[];
|
|
38
|
+
cwd: string;
|
|
39
|
+
env: Record<string, string>;
|
|
40
|
+
shell: false;
|
|
41
|
+
} | {
|
|
42
|
+
type: 'streamable-http' | 'sse';
|
|
43
|
+
url: string;
|
|
44
|
+
headers: Record<string, string>;
|
|
45
|
+
redirectPolicy: 'same-origin';
|
|
46
|
+
authorization: 'control-plane';
|
|
47
|
+
};
|
|
48
|
+
/** Produce concrete Control Plane launch/connect descriptors, without launching or connecting. */
|
|
49
|
+
export declare function resolveMcpBinding(input: McpServer, roots: RuntimeRoots, baseEnv?: Readonly<Record<string, string>>, platform?: 'posix' | 'win32'): McpBinding;
|
|
50
|
+
/** Mandatory filesystem preflight for Control Plane callers after safe materialization.
|
|
51
|
+
* Call immediately before activation inside the same protected installation boundary;
|
|
52
|
+
* a separate preflight is not a substitute for preventing concurrent filesystem mutation.
|
|
53
|
+
*/
|
|
54
|
+
export declare function verifyBindingPaths(input: McpServer, roots: RuntimeRoots): Promise<void>;
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { isAbsolute, resolve, relative, sep } from 'node:path';
|
|
2
|
+
import { realpath } from 'node:fs/promises';
|
|
3
|
+
import { createHash } from 'node:crypto';
|
|
4
|
+
import { HarnessProfileSchema, InstallationPlanSchema, } from './agent-plugins-schema.js';
|
|
5
|
+
import { verifyPortableCatalog, PACKAGE_METADATA_KEY } from './portable-catalog.js';
|
|
6
|
+
import { verifyAgentPackage, validateServer } from './agent-plugins-catalog.js';
|
|
7
|
+
/** Resolve the exact catalog release before planning. The caller must also authenticate
|
|
8
|
+
* the catalog publisher and verify its artifact integrity before invoking this API.
|
|
9
|
+
*/
|
|
10
|
+
export function createCatalogInstallationPlan(input) {
|
|
11
|
+
verifyPortableCatalog(input.catalog);
|
|
12
|
+
const plugin = input.catalog.plugins.find((entry) => entry.pluginId === input.pluginId);
|
|
13
|
+
if (!plugin)
|
|
14
|
+
throw new Error(`PLUGIN_NOT_FOUND: ${input.pluginId}`);
|
|
15
|
+
const release = plugin.availableReleases.find((entry) => entry.releaseId === (input.releaseId ?? plugin.currentReleaseId));
|
|
16
|
+
if (!release)
|
|
17
|
+
throw new Error('RELEASE_NOT_FOUND');
|
|
18
|
+
if (release.contentResolution !== 'complete')
|
|
19
|
+
throw new Error('COMPLETE_SOURCE_REQUIRED');
|
|
20
|
+
const pkg = release.releaseMetadata[PACKAGE_METADATA_KEY];
|
|
21
|
+
if (pkg === undefined)
|
|
22
|
+
throw new Error('PORTABLE_RESYNC_REQUIRED: run a full catalog sync before planning portable installation');
|
|
23
|
+
return createInstallationPlan({
|
|
24
|
+
pluginId: plugin.pluginId,
|
|
25
|
+
releaseId: release.releaseId,
|
|
26
|
+
instanceId: input.instanceId,
|
|
27
|
+
profile: input.profile,
|
|
28
|
+
package: pkg,
|
|
29
|
+
allowPartial: input.allowPartial === true,
|
|
30
|
+
source: {
|
|
31
|
+
repositoryUrl: release.resolvedRepositoryUrl,
|
|
32
|
+
commitSha: release.resolvedCommitSha,
|
|
33
|
+
pluginSubdirectory: release.pluginSubdirectory,
|
|
34
|
+
contentDigest: release.canonicalContentDigest,
|
|
35
|
+
},
|
|
36
|
+
requiredCredentials: release.requiredCredentials,
|
|
37
|
+
requiredConnectors: release.requiredConnectors,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function identity(...parts) {
|
|
41
|
+
return createHash('sha256').update(JSON.stringify(parts)).digest('hex');
|
|
42
|
+
}
|
|
43
|
+
/** A declarative proposal, never an execution grant. No brand-based support assumptions. */
|
|
44
|
+
export function createInstallationPlan(input) {
|
|
45
|
+
const profile = HarnessProfileSchema.parse(input.profile);
|
|
46
|
+
const pkg = verifyAgentPackage(input.package);
|
|
47
|
+
if (pkg.sourceDigest !== input.source.contentDigest)
|
|
48
|
+
throw new Error('Package recipe does not match the selected immutable release.');
|
|
49
|
+
if (!input.instanceId || input.instanceId.length > 256)
|
|
50
|
+
throw new Error('A stable installation instanceId is required.');
|
|
51
|
+
const disabled = [];
|
|
52
|
+
for (const item of pkg.nonPortable)
|
|
53
|
+
disabled.push({ component: item.kind, reason: item.reason });
|
|
54
|
+
for (const item of pkg.diagnostics.filter((entry) => entry.severity === 'error'))
|
|
55
|
+
disabled.push({ component: item.path, reason: item.message });
|
|
56
|
+
const nativeEligible = profile.agentPlugins.versions.includes(pkg.specVersion) &&
|
|
57
|
+
pkg.nonPortable.length === 0 &&
|
|
58
|
+
!Object.keys(pkg.manifest?.extensions ?? {}).length;
|
|
59
|
+
const nativeCoverage = (profile.agentPlugins.skills ? pkg.skills.length : 0) +
|
|
60
|
+
Object.values(pkg.mcpServers).filter((server) => profile.agentPlugins.mcpTransports.includes(server.type)).length;
|
|
61
|
+
const adapterCoverage = (profile.components.skillDirectories ? pkg.skills.length : 0) +
|
|
62
|
+
Object.values(pkg.mcpServers).filter((server) => profile.components.mcpTransports.includes(server.type)).length;
|
|
63
|
+
const native = nativeEligible && nativeCoverage > 0 && nativeCoverage >= adapterCoverage;
|
|
64
|
+
const strategy = pkg.status === 'unavailable'
|
|
65
|
+
? 'unavailable'
|
|
66
|
+
: native
|
|
67
|
+
? 'native-agent-plugin'
|
|
68
|
+
: 'component-adapter';
|
|
69
|
+
let skillDirectories = [];
|
|
70
|
+
const servers = new Map();
|
|
71
|
+
if (strategy !== 'unavailable') {
|
|
72
|
+
if (native ? profile.agentPlugins.skills : profile.components.skillDirectories)
|
|
73
|
+
skillDirectories = pkg.skills.map((skill) => skill.path);
|
|
74
|
+
else
|
|
75
|
+
for (const skill of pkg.skills)
|
|
76
|
+
disabled.push({
|
|
77
|
+
component: `skill:${skill.name}`,
|
|
78
|
+
reason: 'The selected adapter cannot expose skill directories.',
|
|
79
|
+
});
|
|
80
|
+
for (const [name, server] of Object.entries(pkg.mcpServers)) {
|
|
81
|
+
if ((native ? profile.agentPlugins.mcpTransports : profile.components.mcpTransports).includes(server.type))
|
|
82
|
+
servers.set(name, server);
|
|
83
|
+
else
|
|
84
|
+
disabled.push({
|
|
85
|
+
component: `mcp:${name}`,
|
|
86
|
+
reason: `No ${server.type} MCP binding on this harness adapter.`,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const hasContent = skillDirectories.length > 0 || servers.size > 0;
|
|
91
|
+
const compatibility = !hasContent ? 'unsupported' : disabled.length > 0 ? 'partial' : 'full';
|
|
92
|
+
const selectedStrategy = !hasContent || (compatibility === 'partial' && !input.allowPartial) ? 'unavailable' : strategy;
|
|
93
|
+
return InstallationPlanSchema.parse({
|
|
94
|
+
planVersion: 2,
|
|
95
|
+
pluginId: input.pluginId,
|
|
96
|
+
releaseId: input.releaseId,
|
|
97
|
+
instanceId: input.instanceId,
|
|
98
|
+
profile,
|
|
99
|
+
source: input.source,
|
|
100
|
+
package: pkg,
|
|
101
|
+
// Git source identity also pins executable modes, which the v1 byte snapshot omits.
|
|
102
|
+
packageKey: pkg.packageDigest
|
|
103
|
+
? `packages/${identity(input.source.repositoryUrl, input.source.commitSha, input.source.pluginSubdirectory, pkg.packageDigest)}`
|
|
104
|
+
: '',
|
|
105
|
+
// Deliberately excludes release, package digest and harness. Switching harnesses or updating
|
|
106
|
+
// the same approved instance preserves data; distinct scopes use distinct instance IDs.
|
|
107
|
+
dataKey: `instances/${identity(input.pluginId, input.instanceId)}`,
|
|
108
|
+
preserveDataAcrossUpdates: true,
|
|
109
|
+
strategy: selectedStrategy,
|
|
110
|
+
compatibility,
|
|
111
|
+
allowedToActivate: false,
|
|
112
|
+
approvalRequired: true,
|
|
113
|
+
selection: selectedStrategy === 'unavailable'
|
|
114
|
+
? { skillDirectories: [], mcpServers: {} }
|
|
115
|
+
: { skillDirectories, mcpServers: Object.fromEntries(servers) },
|
|
116
|
+
disabled,
|
|
117
|
+
requiredCredentials: [...(input.requiredCredentials ?? [])],
|
|
118
|
+
requiredConnectors: [...(input.requiredConnectors ?? [])],
|
|
119
|
+
preconditions: [
|
|
120
|
+
'Verify catalog integrity/provenance and exact source digest before applying the package recipe.',
|
|
121
|
+
'Use an immutable package root; preserve source file modes and complete skill directories/resources.',
|
|
122
|
+
'Create a writable data directory for this instance; never key it by release or copy credentials between instances.',
|
|
123
|
+
'Control Plane must authorize activation, filesystem/network access, executables and credential bindings.',
|
|
124
|
+
'Recheck the actual harness/runtime/adapter profile and realpath containment immediately before activation.',
|
|
125
|
+
'Native mode registers exactly one package root. Component mode registers only the selected skill directories and MCP bindings, never legacy hooks/config files.',
|
|
126
|
+
'Do not install dependencies or run lifecycle scripts implicitly; review required executables and skill compatibility requirements.',
|
|
127
|
+
'Skill allowed-tools metadata is advisory and never grants permission.',
|
|
128
|
+
'Namespace registrations by installation identity; detect skill/server name collisions instead of overwriting existing harness configuration.',
|
|
129
|
+
'Remote authorization is client-managed. Do not expand remote URLs/headers or forward configured headers to another origin without authorization.',
|
|
130
|
+
],
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
/** Exact, single-pass expansion. Replacement text is never scanned recursively. */
|
|
134
|
+
export function expandPluginPaths(value, roots) {
|
|
135
|
+
return value.replace(/\$\{(PLUGIN_ROOT|PLUGIN_DATA)\}/g, (_match, name) => name === 'PLUGIN_ROOT' ? roots.pluginRoot : roots.pluginData);
|
|
136
|
+
}
|
|
137
|
+
function within(path, root) {
|
|
138
|
+
const suffix = relative(root, path);
|
|
139
|
+
return suffix === '' || (suffix !== '..' && !suffix.startsWith(`..${sep}`) && !isAbsolute(suffix));
|
|
140
|
+
}
|
|
141
|
+
/** Produce concrete Control Plane launch/connect descriptors, without launching or connecting. */
|
|
142
|
+
export function resolveMcpBinding(input, roots, baseEnv = {}, platform = process.platform === 'win32' ? 'win32' : 'posix') {
|
|
143
|
+
const server = validateServer(input);
|
|
144
|
+
if (!isAbsolute(roots.pluginRoot) || !isAbsolute(roots.pluginData))
|
|
145
|
+
throw new Error('Runtime plugin roots must be absolute paths.');
|
|
146
|
+
if (server.type !== 'stdio')
|
|
147
|
+
return {
|
|
148
|
+
type: server.type,
|
|
149
|
+
url: server.url,
|
|
150
|
+
headers: { ...server.headers },
|
|
151
|
+
redirectPolicy: 'same-origin',
|
|
152
|
+
authorization: 'control-plane',
|
|
153
|
+
};
|
|
154
|
+
const command = server.command.startsWith('./')
|
|
155
|
+
? resolve(roots.pluginRoot, server.command)
|
|
156
|
+
: server.command;
|
|
157
|
+
if (server.command.startsWith('./') && !within(command, roots.pluginRoot))
|
|
158
|
+
throw new Error('Executable escapes the plugin root.');
|
|
159
|
+
const cwdInput = server.cwd ?? '${PLUGIN_ROOT}';
|
|
160
|
+
const cwdRoot = cwdInput.startsWith('${PLUGIN_DATA}') ? roots.pluginData : roots.pluginRoot;
|
|
161
|
+
const expanded = expandPluginPaths(cwdInput, roots);
|
|
162
|
+
const cwd = resolve(roots.pluginRoot, expanded);
|
|
163
|
+
if (!within(cwd, cwdRoot))
|
|
164
|
+
throw new Error('Working directory escapes its declared root.');
|
|
165
|
+
const env = {};
|
|
166
|
+
const overlay = (name, value) => {
|
|
167
|
+
if (platform === 'win32')
|
|
168
|
+
for (const existing of Object.keys(env))
|
|
169
|
+
if (existing.toUpperCase() === name.toUpperCase())
|
|
170
|
+
delete env[existing];
|
|
171
|
+
Object.defineProperty(env, name, {
|
|
172
|
+
value,
|
|
173
|
+
enumerable: true,
|
|
174
|
+
configurable: true,
|
|
175
|
+
writable: true,
|
|
176
|
+
});
|
|
177
|
+
};
|
|
178
|
+
for (const [key, value] of Object.entries(baseEnv))
|
|
179
|
+
overlay(key, value);
|
|
180
|
+
for (const [key, value] of Object.entries(server.env ?? {}))
|
|
181
|
+
overlay(key, expandPluginPaths(value, roots));
|
|
182
|
+
overlay('PLUGIN_ROOT', roots.pluginRoot);
|
|
183
|
+
overlay('PLUGIN_DATA', roots.pluginData);
|
|
184
|
+
return {
|
|
185
|
+
type: 'stdio',
|
|
186
|
+
command,
|
|
187
|
+
args: (server.args ?? []).map((arg) => expandPluginPaths(arg, roots)),
|
|
188
|
+
cwd,
|
|
189
|
+
env,
|
|
190
|
+
shell: false,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
/** Mandatory filesystem preflight for Control Plane callers after safe materialization.
|
|
194
|
+
* Call immediately before activation inside the same protected installation boundary;
|
|
195
|
+
* a separate preflight is not a substitute for preventing concurrent filesystem mutation.
|
|
196
|
+
*/
|
|
197
|
+
export async function verifyBindingPaths(input, roots) {
|
|
198
|
+
const binding = resolveMcpBinding(input, roots);
|
|
199
|
+
if (binding.type !== 'stdio' || input.type !== 'stdio')
|
|
200
|
+
return;
|
|
201
|
+
const root = await realpath(roots.pluginRoot);
|
|
202
|
+
const data = await realpath(roots.pluginData);
|
|
203
|
+
if (root !== roots.pluginRoot || data !== roots.pluginData)
|
|
204
|
+
throw new Error('Supply canonical filesystem-resolved runtime roots.');
|
|
205
|
+
const cwd = await realpath(binding.cwd);
|
|
206
|
+
const expected = input.cwd?.startsWith('${PLUGIN_DATA}') ? data : root;
|
|
207
|
+
if (!within(cwd, expected))
|
|
208
|
+
throw new Error('Working directory resolves outside its declared root.');
|
|
209
|
+
if (input.command.startsWith('./') && !within(await realpath(binding.command), root))
|
|
210
|
+
throw new Error('Executable resolves outside the package root.');
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=agent-plugins-harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-plugins-harness.js","sourceRoot":"","sources":["../src/agent-plugins-harness.ts"],"names":[],"mappings":"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"}
|