@stratusagent/plugins 0.11.2 → 0.11.4

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.
@@ -0,0 +1,102 @@
1
+ import { ChannelRegistry, ContributionRegistry, type ChannelRegistrationHandle, type ChannelTransportSecrets, type ExecutorContribution, type ExecutorRegistrationHandle, type MemoryRegistrationHandle, type MemoryStoreContribution, type ProviderContribution, type ProviderRegistrationHandle } from '@stratusagent/core';
2
+ import { type PluginManifest } from './manifest.ts';
3
+ /**
4
+ * Where a plugin's non-tool contributions land once it has loaded whole.
5
+ * A host passes the registries it serves from; the loader supplies private
6
+ * ones for any it omits, so a plugin contributing a kind this host does not
7
+ * carry still loads — recorded, and going nowhere, the way a contributed
8
+ * skill is ignored by a host with no catalog.
9
+ */
10
+ export interface ContributionTargets {
11
+ providers: ContributionRegistry<ProviderContribution>;
12
+ channels: ChannelRegistry;
13
+ memory: ContributionRegistry<MemoryStoreContribution>;
14
+ executors: ContributionRegistry<ExecutorContribution>;
15
+ }
16
+ export declare const createContributionTargets: (partial?: Partial<ContributionTargets>) => ContributionTargets;
17
+ /**
18
+ * Which package owns each registered name, per kind, across every plugin
19
+ * a loader has committed — so a collision can name both packages, the way
20
+ * the tool `owners` map does. Channels key on (agent, kind).
21
+ */
22
+ export interface ContributionOwners {
23
+ providers: Map<string, string>;
24
+ channels: Map<string, string>;
25
+ memory: Map<string, string>;
26
+ executors: Map<string, string>;
27
+ }
28
+ export declare const createContributionOwners: () => ContributionOwners;
29
+ /**
30
+ * How the host answers a channel plugin's request for its transport
31
+ * secrets: the values under `channels.<kind>.<agentId>` in the credential
32
+ * store, by agent. The host owns this path — see
33
+ * `ChannelRegistrationHandle.transportSecrets` in `@stratusagent/core`.
34
+ */
35
+ export type ChannelSecretSource = (kind: string) => Promise<ChannelTransportSecrets>;
36
+ /** What the daemon knows a loaded plugin contributed besides tools and skills. */
37
+ export interface PluginContributionRecords {
38
+ providers: string[];
39
+ channels: Array<{
40
+ kind: string;
41
+ agents: string[];
42
+ }>;
43
+ memory: string[];
44
+ executors: string[];
45
+ }
46
+ /**
47
+ * The manifest-bound views a plugin's `setup()` registers providers,
48
+ * channels, memory stores, and executors through.
49
+ *
50
+ * Same reasoning as `ManifestBoundToolRegistry`, four kinds over: the
51
+ * manifest says what a plugin *claims*, and only a view that checks
52
+ * registrations against it makes the claim enforceable. A plugin that
53
+ * declares a channel and registers a provider is refused at load, naming
54
+ * the package and the undeclared kind; two plugins registering the same
55
+ * provider name are refused rather than one silently winning.
56
+ *
57
+ * Staged, not committed, for the same reason tools are: a plugin that
58
+ * registers a provider and then throws must not leave the provider live.
59
+ * Unlike the tool view, nothing here stays live after commit — a provider
60
+ * or an executor has no reconnect-time discovery to serve, and a
61
+ * registration after `setup()` returned is refused as the mistake it is.
62
+ */
63
+ export declare class ManifestBoundContributions {
64
+ readonly providers: ProviderRegistrationHandle;
65
+ readonly channels: ChannelRegistrationHandle;
66
+ readonly memory: MemoryRegistrationHandle;
67
+ readonly executors: ExecutorRegistrationHandle;
68
+ private readonly manifest;
69
+ private readonly targets;
70
+ private readonly owners;
71
+ private readonly channelSecrets;
72
+ private readonly stagedProviders;
73
+ private readonly stagedMemory;
74
+ private readonly stagedExecutors;
75
+ private readonly stagedChannels;
76
+ private committed;
77
+ constructor(options: {
78
+ manifest: PluginManifest;
79
+ targets: ContributionTargets;
80
+ owners: ContributionOwners;
81
+ channelSecrets?: ChannelSecretSource;
82
+ });
83
+ private assertDeclared;
84
+ private assertUnclaimed;
85
+ private registerProvider;
86
+ private registerMemory;
87
+ private registerExecutor;
88
+ private registerChannel;
89
+ private assertChannelUnclaimed;
90
+ private transportSecrets;
91
+ /**
92
+ * Refuse now if committing would collide — checked before anything else
93
+ * of the plugin lands, so a plugin never ends up with its tools live and
94
+ * its provider refused. Registration already checked all of this; a
95
+ * second pass costs nothing and holds if a host registers between.
96
+ */
97
+ preflightCommit(): void;
98
+ private assertCommittable;
99
+ /** Land everything staged in the shared registries and record ownership. */
100
+ commit(): PluginContributionRecords;
101
+ }
102
+ //# sourceMappingURL=contributions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributions.d.ts","sourceRoot":"","sources":["../src/contributions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,227 @@
1
+ import { ChannelRegistry, ContributionRegistry, channelClaimKey, } from '@stratusagent/core';
2
+ import { PluginManifestError, } from "./manifest.js";
3
+ export const createContributionTargets = (partial = {}) => ({
4
+ providers: partial.providers ?? new ContributionRegistry(),
5
+ channels: partial.channels ?? new ChannelRegistry(),
6
+ memory: partial.memory ?? new ContributionRegistry(),
7
+ executors: partial.executors ?? new ContributionRegistry(),
8
+ });
9
+ export const createContributionOwners = () => ({
10
+ providers: new Map(),
11
+ channels: new Map(),
12
+ memory: new Map(),
13
+ executors: new Map(),
14
+ });
15
+ const KIND_LABEL = {
16
+ providers: 'provider',
17
+ channels: 'channel',
18
+ memory: 'memory store',
19
+ executors: 'executor',
20
+ };
21
+ /**
22
+ * The manifest-bound views a plugin's `setup()` registers providers,
23
+ * channels, memory stores, and executors through.
24
+ *
25
+ * Same reasoning as `ManifestBoundToolRegistry`, four kinds over: the
26
+ * manifest says what a plugin *claims*, and only a view that checks
27
+ * registrations against it makes the claim enforceable. A plugin that
28
+ * declares a channel and registers a provider is refused at load, naming
29
+ * the package and the undeclared kind; two plugins registering the same
30
+ * provider name are refused rather than one silently winning.
31
+ *
32
+ * Staged, not committed, for the same reason tools are: a plugin that
33
+ * registers a provider and then throws must not leave the provider live.
34
+ * Unlike the tool view, nothing here stays live after commit — a provider
35
+ * or an executor has no reconnect-time discovery to serve, and a
36
+ * registration after `setup()` returned is refused as the mistake it is.
37
+ */
38
+ export class ManifestBoundContributions {
39
+ providers;
40
+ channels;
41
+ memory;
42
+ executors;
43
+ manifest;
44
+ targets;
45
+ owners;
46
+ channelSecrets;
47
+ stagedProviders = new Map();
48
+ stagedMemory = new Map();
49
+ stagedExecutors = new Map();
50
+ stagedChannels = [];
51
+ committed = false;
52
+ constructor(options) {
53
+ this.manifest = options.manifest;
54
+ this.targets = options.targets;
55
+ this.owners = options.owners;
56
+ this.channelSecrets = options.channelSecrets;
57
+ this.providers = { register: (contribution) => this.registerProvider(contribution) };
58
+ this.channels = {
59
+ register: (contribution) => this.registerChannel(contribution),
60
+ transportSecrets: (kind) => this.transportSecrets(kind),
61
+ };
62
+ this.memory = { register: (contribution) => this.registerMemory(contribution) };
63
+ this.executors = { register: (contribution) => this.registerExecutor(contribution) };
64
+ }
65
+ assertDeclared(kind, name) {
66
+ if (this.committed) {
67
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName} tried to register ${KIND_LABEL[kind]} ${name} after it had loaded. `
68
+ + 'Providers, channels, memory stores, and executors register during setup().');
69
+ }
70
+ if (typeof name !== 'string' || name.length === 0) {
71
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName} tried to register a ${KIND_LABEL[kind]} with no name.`);
72
+ }
73
+ if (!this.manifest.contributes[kind].some((declared) => declared.name === name)) {
74
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName} tried to register ${KIND_LABEL[kind]} ${name}, which its manifest does not declare. `
75
+ + `Add it to contributes.${kind} in the package's stratus manifest.`);
76
+ }
77
+ }
78
+ assertUnclaimed(kind, name, staged) {
79
+ if (staged.has(name)) {
80
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName} registered ${KIND_LABEL[kind]} ${name} twice.`);
81
+ }
82
+ const owner = this.owners[kind].get(name);
83
+ if (owner !== undefined) {
84
+ throw new PluginManifestError(`${KIND_LABEL[kind]} name collision: ${name} is contributed by both ${owner} and ${this.manifest.packageName}. `
85
+ + `Disable one of them; a ${KIND_LABEL[kind]} name is unique per install.`);
86
+ }
87
+ if (this.targets[kind].has(name)) {
88
+ throw new PluginManifestError(`${KIND_LABEL[kind]} name collision: ${name} is already registered by the host. `
89
+ + `Plugin ${this.manifest.packageName} cannot replace it.`);
90
+ }
91
+ }
92
+ registerProvider(contribution) {
93
+ this.assertDeclared('providers', contribution.name);
94
+ if (typeof contribution.create !== 'function') {
95
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName}: provider ${contribution.name} has no create(selection). A contributed provider is a factory — see ProviderContribution.`);
96
+ }
97
+ this.assertUnclaimed('providers', contribution.name, this.stagedProviders);
98
+ this.stagedProviders.set(contribution.name, contribution);
99
+ }
100
+ registerMemory(contribution) {
101
+ this.assertDeclared('memory', contribution.name);
102
+ if (!contribution.store || typeof contribution.store.append !== 'function') {
103
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName}: memory store ${contribution.name} is not an AgentMemoryStore.`);
104
+ }
105
+ this.assertUnclaimed('memory', contribution.name, this.stagedMemory);
106
+ this.stagedMemory.set(contribution.name, contribution);
107
+ }
108
+ registerExecutor(contribution) {
109
+ this.assertDeclared('executors', contribution.name);
110
+ if (!contribution.executor || typeof contribution.executor.execute !== 'function') {
111
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName}: executor ${contribution.name} is not an Executor.`);
112
+ }
113
+ this.assertUnclaimed('executors', contribution.name, this.stagedExecutors);
114
+ this.stagedExecutors.set(contribution.name, contribution);
115
+ }
116
+ registerChannel(contribution) {
117
+ const kind = contribution.adapter?.name;
118
+ this.assertDeclared('channels', kind);
119
+ if (typeof contribution.adapter.start !== 'function' || typeof contribution.adapter.stop !== 'function') {
120
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName}: channel ${kind} is not a ChannelAdapter (it needs start and stop).`);
121
+ }
122
+ if (!Array.isArray(contribution.agents)) {
123
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName}: channel ${kind} must say which agents it carries.`);
124
+ }
125
+ const seen = new Set();
126
+ for (const agentId of contribution.agents) {
127
+ if (seen.has(agentId)) {
128
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName} registered channel ${kind} for agent ${agentId} twice.`);
129
+ }
130
+ seen.add(agentId);
131
+ this.assertChannelUnclaimed(kind, agentId);
132
+ }
133
+ this.stagedChannels.push(contribution);
134
+ }
135
+ assertChannelUnclaimed(kind, agentId) {
136
+ const key = channelClaimKey(kind, agentId);
137
+ if (this.stagedChannels.some((staged) => staged.adapter.name === kind && staged.agents.includes(agentId))) {
138
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName} registered channel ${kind} for agent ${agentId} twice.`);
139
+ }
140
+ const owner = this.owners.channels.get(key);
141
+ if (owner !== undefined) {
142
+ throw new PluginManifestError(`channel collision: ${kind} for agent ${agentId} is contributed by both ${owner} and ${this.manifest.packageName}. `
143
+ + 'Disable one of them; an agent is carried on each channel kind by one adapter.');
144
+ }
145
+ if (this.targets.channels.claimed(kind, agentId)) {
146
+ throw new PluginManifestError(`channel collision: ${kind} for agent ${agentId} is already carried by the host. `
147
+ + `Plugin ${this.manifest.packageName} cannot replace it.`);
148
+ }
149
+ }
150
+ async transportSecrets(kind) {
151
+ if (!this.manifest.contributes.channels.some((declared) => declared.name === kind)) {
152
+ throw new PluginManifestError(`Plugin ${this.manifest.packageName} asked for the transport secrets of channel ${kind}, which its manifest does not declare. `
153
+ + 'Add it to contributes.channels in the package\'s stratus manifest.');
154
+ }
155
+ if (!this.channelSecrets) {
156
+ throw new Error(`This host stores no channel transport secrets, so channel ${kind} cannot start here. `
157
+ + 'A channel runs under stratus serve, which reads them from ~/.stratus/credentials.json.');
158
+ }
159
+ return this.channelSecrets(kind);
160
+ }
161
+ /**
162
+ * Refuse now if committing would collide — checked before anything else
163
+ * of the plugin lands, so a plugin never ends up with its tools live and
164
+ * its provider refused. Registration already checked all of this; a
165
+ * second pass costs nothing and holds if a host registers between.
166
+ */
167
+ preflightCommit() {
168
+ for (const name of this.stagedProviders.keys()) {
169
+ this.assertCommittable('providers', name);
170
+ }
171
+ for (const name of this.stagedMemory.keys()) {
172
+ this.assertCommittable('memory', name);
173
+ }
174
+ for (const name of this.stagedExecutors.keys()) {
175
+ this.assertCommittable('executors', name);
176
+ }
177
+ for (const staged of this.stagedChannels) {
178
+ for (const agentId of staged.agents) {
179
+ const key = channelClaimKey(staged.adapter.name, agentId);
180
+ const owner = this.owners.channels.get(key);
181
+ if (owner !== undefined || this.targets.channels.claimed(staged.adapter.name, agentId)) {
182
+ throw new PluginManifestError(`channel collision: ${staged.adapter.name} for agent ${agentId} is contributed by both ${owner ?? 'the host'} and ${this.manifest.packageName}.`);
183
+ }
184
+ }
185
+ }
186
+ }
187
+ assertCommittable(kind, name) {
188
+ const owner = this.owners[kind].get(name);
189
+ if (owner !== undefined || this.targets[kind].has(name)) {
190
+ throw new PluginManifestError(`${KIND_LABEL[kind]} name collision: ${name} is contributed by both ${owner ?? 'the host'} and ${this.manifest.packageName}.`);
191
+ }
192
+ }
193
+ /** Land everything staged in the shared registries and record ownership. */
194
+ commit() {
195
+ this.preflightCommit();
196
+ const packageName = this.manifest.packageName;
197
+ for (const [name, contribution] of this.stagedProviders) {
198
+ this.targets.providers.register(name, contribution);
199
+ this.owners.providers.set(name, packageName);
200
+ }
201
+ for (const [name, contribution] of this.stagedMemory) {
202
+ this.targets.memory.register(name, contribution);
203
+ this.owners.memory.set(name, packageName);
204
+ }
205
+ for (const [name, contribution] of this.stagedExecutors) {
206
+ this.targets.executors.register(name, contribution);
207
+ this.owners.executors.set(name, packageName);
208
+ }
209
+ for (const contribution of this.stagedChannels) {
210
+ this.targets.channels.register(contribution);
211
+ for (const agentId of contribution.agents) {
212
+ this.owners.channels.set(channelClaimKey(contribution.adapter.name, agentId), packageName);
213
+ }
214
+ }
215
+ this.committed = true;
216
+ return {
217
+ providers: [...this.stagedProviders.keys()],
218
+ channels: this.stagedChannels.map((contribution) => ({
219
+ kind: contribution.adapter.name,
220
+ agents: [...contribution.agents],
221
+ })),
222
+ memory: [...this.stagedMemory.keys()],
223
+ executors: [...this.stagedExecutors.keys()],
224
+ };
225
+ }
226
+ }
227
+ //# sourceMappingURL=contributions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributions.js","sourceRoot":"","sources":["../src/contributions.ts"],"names":[],"mappings":"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"}
package/dist/home.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * `~` and `~/x` mean the same thing here as they do in a shell.
3
+ *
4
+ * Lived in `tool-fs` while it was the only plugin reading a path out of
5
+ * its config block; a memory-store plugin was the second, and a second
6
+ * copy of even four lines is a second answer to what `~` means.
7
+ */
8
+ export declare const expandHome: (value: string, home?: string) => string;
9
+ //# sourceMappingURL=home.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home.d.ts","sourceRoot":"","sources":["../src/home.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,aAAmB,KAAG,MAQ/D,CAAC"}
package/dist/home.js ADDED
@@ -0,0 +1,19 @@
1
+ import os from 'node:os';
2
+ import path from 'node:path';
3
+ /**
4
+ * `~` and `~/x` mean the same thing here as they do in a shell.
5
+ *
6
+ * Lived in `tool-fs` while it was the only plugin reading a path out of
7
+ * its config block; a memory-store plugin was the second, and a second
8
+ * copy of even four lines is a second answer to what `~` means.
9
+ */
10
+ export const expandHome = (value, home = os.homedir()) => {
11
+ if (value === '~') {
12
+ return home;
13
+ }
14
+ if (value.startsWith('~/')) {
15
+ return path.join(home, value.slice(2));
16
+ }
17
+ return value;
18
+ };
19
+ //# sourceMappingURL=home.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home.js","sourceRoot":"","sources":["../src/home.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,EAAU,EAAE;IACvE,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,9 +8,11 @@
8
8
  * holds `setup()` to that manifest, and a loader that refuses rather than
9
9
  * degrades when a plugin over-reaches.
10
10
  */
11
- export { declaredRiskFor, parsePluginManifest, parseToolRiskOverrides, resolvePluginAgentConfig, validateAgainstSchema, validatePluginConfig, HOST_CONFIG_KEYS, PLUGIN_MANIFEST_VERSION, PluginConfigError, PluginManifestError, type PluginContributions, type PluginManifest, type PluginNamespaceDeclaration, type PluginSkillDeclaration, type PluginToolDeclaration, } from './manifest.ts';
11
+ export { declaredRiskFor, parsePluginManifest, parseToolRiskOverrides, resolvePluginAgentConfig, validateAgainstSchema, validatePluginConfig, HOST_CONFIG_KEYS, PLUGIN_MANIFEST_VERSION, PLUGIN_NAMED_CONTRIBUTION_KINDS, PluginConfigError, PluginManifestError, type PluginContributions, type PluginManifest, type PluginNamedContributionKind, type PluginNamedDeclaration, type PluginNamespaceDeclaration, type PluginSkillDeclaration, type PluginToolDeclaration, } from './manifest.ts';
12
12
  export { createManifestBoundCredentialResolver } from './credentials.ts';
13
+ export { expandHome } from './home.ts';
14
+ export { createContributionOwners, createContributionTargets, ManifestBoundContributions, type ChannelSecretSource, type ContributionOwners, type ContributionTargets, type PluginContributionRecords, } from './contributions.ts';
13
15
  export { ManifestBoundToolRegistry, riskFloorFor, type PluginToolRecord, } from './registry.ts';
14
- export { isFirstPartyPackage, loadOptionalModule, loadPlugins, type CreatePlugin, type LoadedPlugin, type LoadPluginsOptions, type LoadPluginsResult, type OptionalModuleHost, type PluginLoadFailure, type PluginSkillRecord, } from './loader.ts';
16
+ export { isFirstPartyPackage, loadOptionalModule, loadPlugins, pluginConfigWithHostDefaults, preflightPlugin, installedPackageVersion, readPluginManifest, type CreatePlugin, type LoadedPlugin, type LoadPluginsOptions, type LoadPluginsResult, type OptionalModuleHost, type PluginLoadFailure, type PluginSkillRecord, } from './loader.ts';
15
17
  export { createFileLedger, createProcessLocalLedger, isLedgerPath, LEDGER_FILENAME, ledgerContentTrust, ledgerGuard, ledgerTrustOfContent, nameIdentifiesHandle, type FileIdentity, type LedgerGuard, type TaintedWriteLedger, } from './provenance.ts';
16
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,+BAA+B,EAC/B,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,4BAA4B,EAC5B,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -8,9 +8,11 @@
8
8
  * holds `setup()` to that manifest, and a loader that refuses rather than
9
9
  * degrades when a plugin over-reaches.
10
10
  */
11
- export { declaredRiskFor, parsePluginManifest, parseToolRiskOverrides, resolvePluginAgentConfig, validateAgainstSchema, validatePluginConfig, HOST_CONFIG_KEYS, PLUGIN_MANIFEST_VERSION, PluginConfigError, PluginManifestError, } from "./manifest.js";
11
+ export { declaredRiskFor, parsePluginManifest, parseToolRiskOverrides, resolvePluginAgentConfig, validateAgainstSchema, validatePluginConfig, HOST_CONFIG_KEYS, PLUGIN_MANIFEST_VERSION, PLUGIN_NAMED_CONTRIBUTION_KINDS, PluginConfigError, PluginManifestError, } from "./manifest.js";
12
12
  export { createManifestBoundCredentialResolver } from "./credentials.js";
13
+ export { expandHome } from "./home.js";
14
+ export { createContributionOwners, createContributionTargets, ManifestBoundContributions, } from "./contributions.js";
13
15
  export { ManifestBoundToolRegistry, riskFloorFor, } from "./registry.js";
14
- export { isFirstPartyPackage, loadOptionalModule, loadPlugins, } from "./loader.js";
16
+ export { isFirstPartyPackage, loadOptionalModule, loadPlugins, pluginConfigWithHostDefaults, preflightPlugin, installedPackageVersion, readPluginManifest, } from "./loader.js";
15
17
  export { createFileLedger, createProcessLocalLedger, isLedgerPath, LEDGER_FILENAME, ledgerContentTrust, ledgerGuard, ledgerTrustOfContent, nameIdentifiesHandle, } from "./provenance.js";
16
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,GAMpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EACL,yBAAyB,EACzB,YAAY,GAEb,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,GAQZ,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,GAIrB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,+BAA+B,EAC/B,iBAAiB,EACjB,mBAAmB,GAQpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,GAK3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,yBAAyB,EACzB,YAAY,GAEb,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,4BAA4B,EAC5B,eAAe,EACf,uBAAuB,EACvB,kBAAkB,GAQnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,GAIrB,MAAM,iBAAiB,CAAC"}
package/dist/loader.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { CredentialResolver, EventBus, JsonObject, Plugin, SkillRegistry, ToolRegistry } from '@stratusagent/core';
2
2
  import { type PluginManifest } from './manifest.ts';
3
3
  import { type PluginToolRecord } from './registry.ts';
4
+ import { type ChannelSecretSource, type ContributionTargets, type PluginContributionRecords } from './contributions.ts';
4
5
  /**
5
6
  * The two capabilities loading an optional package needs, taken from the
6
7
  * caller rather than used here.
@@ -33,6 +34,37 @@ export interface OptionalModuleHost {
33
34
  export declare const loadOptionalModule: <T = unknown>(specifier: string, host: OptionalModuleHost) => Promise<T | undefined>;
34
35
  /** The ABI every loadable plugin exports. See `plugins.md`. */
35
36
  export type CreatePlugin = (config: JsonObject) => Plugin | Promise<Plugin>;
37
+ /**
38
+ * The version an installed package declares, or undefined when it is not
39
+ * installed or names no version.
40
+ *
41
+ * Through `packageJsonFor`, so there is one answer to where a package's
42
+ * package.json is rather than a second walk that drifts from it — and one
43
+ * that is bounded the same way, so a package without its own manifest
44
+ * reports nothing instead of some parent directory's version.
45
+ *
46
+ * Nothing is imported: `stratus update` asks this of every companion
47
+ * package before it decides what to upgrade, and importing a channel
48
+ * adapter to read its version would open the sockets it exists to open.
49
+ */
50
+ export declare const installedPackageVersion: (specifier: string, host: Pick<OptionalModuleHost, "resolve">) => Promise<string | undefined>;
51
+ /**
52
+ * A package's manifest, and the directory it was found in.
53
+ *
54
+ * Nothing here imports the package — the property `parsePluginManifest`
55
+ * exists for, and the reason this is worth having on its own. `stratus
56
+ * plugins` has to answer "what would this contribute, and at what risk"
57
+ * for a daemon that is not running, and running somebody's `setup` to find
58
+ * out would spawn the MCP subprocesses and open the sockets that a listing
59
+ * command has no business starting.
60
+ *
61
+ * `loadPlugins` goes through here too, so there is one answer to where a
62
+ * package's manifest is rather than a second walk that drifts from it.
63
+ */
64
+ export declare const readPluginManifest: (specifier: string, host: Pick<OptionalModuleHost, "resolve">) => Promise<{
65
+ manifest: PluginManifest;
66
+ directory: string;
67
+ }>;
36
68
  /**
37
69
  * Whether a package's code is trusted — which is to say whether its
38
70
  * manifest may declare a tool `safe`.
@@ -83,6 +115,8 @@ export interface LoadedPlugin {
83
115
  */
84
116
  tools: PluginToolRecord[];
85
117
  skills: PluginSkillRecord[];
118
+ /** The providers, channels, memory stores, and executors it registered. */
119
+ contributions: PluginContributionRecords;
86
120
  /**
87
121
  * The plugin itself, so the host can shut it down. A browser plugin holds
88
122
  * a Chromium and a listening socket; a daemon that stopped without
@@ -108,6 +142,25 @@ export interface LoadPluginsOptions {
108
142
  */
109
143
  skills?: SkillRegistry;
110
144
  bus: EventBus;
145
+ /**
146
+ * The registries a plugin's providers, channels, memory stores, and
147
+ * executors are committed into once it loads whole — the counterparts
148
+ * of `tools`. Any omitted is replaced by a private one: the plugin still
149
+ * loads, its contribution is recorded on `LoadedPlugin`, and it reaches
150
+ * nothing — the way a contributed skill is ignored by a host with no
151
+ * catalog. `stratus run` is that host for channels.
152
+ */
153
+ providers?: ContributionTargets['providers'];
154
+ channels?: ContributionTargets['channels'];
155
+ memory?: ContributionTargets['memory'];
156
+ executors?: ContributionTargets['executors'];
157
+ /**
158
+ * How a channel plugin receives its transport secrets, by kind. A host
159
+ * that omits it refuses the request with a message saying so — a channel
160
+ * needs the daemon's credential store, and a host without one cannot
161
+ * carry a channel at all.
162
+ */
163
+ channelSecrets?: ChannelSecretSource;
111
164
  /**
112
165
  * Handed to every plugin's `setup` as `PluginContext.credentials`. A host
113
166
  * that omits it leaves a plugin needing a key with no way to resolve one
@@ -132,6 +185,44 @@ export interface LoadPluginsResult {
132
185
  loaded: LoadedPlugin[];
133
186
  failures: PluginLoadFailure[];
134
187
  }
188
+ /**
189
+ * The configuration a plugin will actually be handed: its own block, minus
190
+ * the keys the host owns, plus the host defaults its manifest declares.
191
+ *
192
+ * Exported because validating a block against a manifest is only right on
193
+ * *this* object — `validatePluginConfig` on the raw block would refuse a
194
+ * manifest that declares `workspaceRoot` required for missing the very
195
+ * setting the host supplies. `stratus plugins` has to answer whether a
196
+ * daemon would accept a plugin's settings, and answering it from a
197
+ * different object than the loader uses is how a diagnostic ends up
198
+ * disagreeing with the thing it diagnoses.
199
+ */
200
+ export declare const pluginConfigWithHostDefaults: (block: JsonObject, manifest: PluginManifest, workspaceRoot: string | undefined) => JsonObject;
201
+ /**
202
+ * Everything `loadPlugins` checks before it imports a package: that the
203
+ * settings match the manifest's own schema, that any `toolRisks` overrides
204
+ * name tools the manifest declares and risks it permits, and that every
205
+ * skill file the manifest names is present, inside the package, and
206
+ * readable.
207
+ *
208
+ * One function because any of them failing rejects the *whole* plugin — it
209
+ * registers no tools and no skills — so a caller that ran a subset would
210
+ * report a plugin ready that the daemon refuses. `stratus plugins` is that
211
+ * caller, and it got exactly half of this right the first time; the
212
+ * `toolRisks` parse was the third check, missing here while the doc below
213
+ * said it should not be, until setup started asking this question too.
214
+ *
215
+ * Nothing here imports the package, which is what lets a diagnostic ask the
216
+ * question without starting anything.
217
+ *
218
+ * `loadPlugins` calls the same three checks rather than this composition of
219
+ * them, because it needs what the staging and the parse *return* and stages
220
+ * only when it has a registry to put skills in. The checks themselves are
221
+ * shared, so there is no second reading of a schema, an override or a skill
222
+ * path here — only a second caller of each. Anything added to the loader's
223
+ * preflight belongs in both.
224
+ */
225
+ export declare const preflightPlugin: (manifest: PluginManifest, directory: string, block: JsonObject, workspaceRoot: string | undefined) => Promise<void>;
135
226
  /**
136
227
  * Turn a `plugins` config block into running capability.
137
228
  *
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,MAAM,EAEN,aAAa,EACb,YAAY,EACb,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,GAAU,CAAC,GAAG,OAAO,EAClD,WAAW,MAAM,EACjB,MAAM,kBAAkB,KACvB,OAAO,CAAC,CAAC,GAAG,SAAS,CASvB,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AA8B5E;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,aAAa,MAAM,KAAG,OACmB,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IAC/C,IAAI,EAAE,kBAAkB,CAAC;IACzB,4EAA4E;IAC5E,KAAK,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,GAAG,EAAE,QAAQ,CAAC;IACd;;;;OAIG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,yEAAyE;IACzE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAyGD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,WAAW,GAAU,SAAS,kBAAkB,KAAG,OAAO,CAAC,iBAAiB,CAsHxF,CAAC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
package/dist/loader.js CHANGED
@@ -5,6 +5,7 @@ import { createLazySkill, parseSkillDocument } from '@stratusagent/agents';
5
5
  import { parsePluginManifest, parseToolRiskOverrides, validatePluginConfig, PluginManifestError, } from "./manifest.js";
6
6
  import { createManifestBoundCredentialResolver } from "./credentials.js";
7
7
  import { ManifestBoundToolRegistry } from "./registry.js";
8
+ import { createContributionOwners, createContributionTargets, ManifestBoundContributions, } from "./contributions.js";
8
9
  /**
9
10
  * Load a package that may not be installed, or report that it is not.
10
11
  *
@@ -55,6 +56,53 @@ const packageJsonFor = async (resolvedUrl, specifier) => {
55
56
  }
56
57
  throw new PluginManifestError(`Could not find a package.json for ${specifier}.`);
57
58
  };
59
+ /**
60
+ * The version an installed package declares, or undefined when it is not
61
+ * installed or names no version.
62
+ *
63
+ * Through `packageJsonFor`, so there is one answer to where a package's
64
+ * package.json is rather than a second walk that drifts from it — and one
65
+ * that is bounded the same way, so a package without its own manifest
66
+ * reports nothing instead of some parent directory's version.
67
+ *
68
+ * Nothing is imported: `stratus update` asks this of every companion
69
+ * package before it decides what to upgrade, and importing a channel
70
+ * adapter to read its version would open the sockets it exists to open.
71
+ */
72
+ export const installedPackageVersion = async (specifier, host) => {
73
+ let resolved;
74
+ try {
75
+ resolved = host.resolve(specifier);
76
+ }
77
+ catch {
78
+ return undefined;
79
+ }
80
+ try {
81
+ const { packageJson } = await packageJsonFor(resolved, specifier);
82
+ const version = packageJson.version;
83
+ return typeof version === 'string' && version.length > 0 ? version : undefined;
84
+ }
85
+ catch {
86
+ return undefined;
87
+ }
88
+ };
89
+ /**
90
+ * A package's manifest, and the directory it was found in.
91
+ *
92
+ * Nothing here imports the package — the property `parsePluginManifest`
93
+ * exists for, and the reason this is worth having on its own. `stratus
94
+ * plugins` has to answer "what would this contribute, and at what risk"
95
+ * for a daemon that is not running, and running somebody's `setup` to find
96
+ * out would spawn the MCP subprocesses and open the sockets that a listing
97
+ * command has no business starting.
98
+ *
99
+ * `loadPlugins` goes through here too, so there is one answer to where a
100
+ * package's manifest is rather than a second walk that drifts from it.
101
+ */
102
+ export const readPluginManifest = async (specifier, host) => {
103
+ const { packageJson, directory } = await packageJsonFor(host.resolve(specifier), specifier);
104
+ return { manifest: parsePluginManifest(packageJson, specifier), directory };
105
+ };
58
106
  /**
59
107
  * Whether a package's code is trusted — which is to say whether its
60
108
  * manifest may declare a tool `safe`.
@@ -80,7 +128,19 @@ const declares = (manifest, key) => Boolean(manifest.config
80
128
  && manifest.config.properties !== null
81
129
  && !Array.isArray(manifest.config.properties)
82
130
  && key in manifest.config.properties);
83
- const configFor = (block, manifest, workspaceRoot) => {
131
+ /**
132
+ * The configuration a plugin will actually be handed: its own block, minus
133
+ * the keys the host owns, plus the host defaults its manifest declares.
134
+ *
135
+ * Exported because validating a block against a manifest is only right on
136
+ * *this* object — `validatePluginConfig` on the raw block would refuse a
137
+ * manifest that declares `workspaceRoot` required for missing the very
138
+ * setting the host supplies. `stratus plugins` has to answer whether a
139
+ * daemon would accept a plugin's settings, and answering it from a
140
+ * different object than the loader uses is how a diagnostic ends up
141
+ * disagreeing with the thing it diagnoses.
142
+ */
143
+ export const pluginConfigWithHostDefaults = (block, manifest, workspaceRoot) => {
84
144
  // `toolRisks` is the host's key, applied by the view at registration —
85
145
  // stripped here so the plugin's code never sees, and so can never
86
146
  // second-guess, the operator's risk word.
@@ -144,6 +204,38 @@ const stageManifestSkills = async (manifest, packageDirectory) => {
144
204
  }
145
205
  return staged;
146
206
  };
207
+ /**
208
+ * Everything `loadPlugins` checks before it imports a package: that the
209
+ * settings match the manifest's own schema, that any `toolRisks` overrides
210
+ * name tools the manifest declares and risks it permits, and that every
211
+ * skill file the manifest names is present, inside the package, and
212
+ * readable.
213
+ *
214
+ * One function because any of them failing rejects the *whole* plugin — it
215
+ * registers no tools and no skills — so a caller that ran a subset would
216
+ * report a plugin ready that the daemon refuses. `stratus plugins` is that
217
+ * caller, and it got exactly half of this right the first time; the
218
+ * `toolRisks` parse was the third check, missing here while the doc below
219
+ * said it should not be, until setup started asking this question too.
220
+ *
221
+ * Nothing here imports the package, which is what lets a diagnostic ask the
222
+ * question without starting anything.
223
+ *
224
+ * `loadPlugins` calls the same three checks rather than this composition of
225
+ * them, because it needs what the staging and the parse *return* and stages
226
+ * only when it has a registry to put skills in. The checks themselves are
227
+ * shared, so there is no second reading of a schema, an override or a skill
228
+ * path here — only a second caller of each. Anything added to the loader's
229
+ * preflight belongs in both.
230
+ */
231
+ export const preflightPlugin = async (manifest, directory, block, workspaceRoot) => {
232
+ // The loader's order, kept: a block whose settings are wrong should say
233
+ // so before its overrides are read, since the overrides are the narrower
234
+ // mistake and the schema error is the one more likely to explain it.
235
+ validatePluginConfig(manifest, pluginConfigWithHostDefaults(block, manifest, workspaceRoot));
236
+ parseToolRiskOverrides(manifest, block);
237
+ await stageManifestSkills(manifest, directory);
238
+ };
147
239
  /**
148
240
  * Turn a `plugins` config block into running capability.
149
241
  *
@@ -167,6 +259,13 @@ export const loadPlugins = async (options) => {
167
259
  const failures = [];
168
260
  // Which package owns each name so far, so a collision can name both.
169
261
  const owners = new Map();
262
+ const contributionOwners = createContributionOwners();
263
+ const targets = createContributionTargets({
264
+ ...(options.providers ? { providers: options.providers } : {}),
265
+ ...(options.channels ? { channels: options.channels } : {}),
266
+ ...(options.memory ? { memory: options.memory } : {}),
267
+ ...(options.executors ? { executors: options.executors } : {}),
268
+ });
170
269
  for (const [specifier, rawBlock] of entries) {
171
270
  const block = rawBlock ?? {};
172
271
  if (block.enabled === false) {
@@ -179,15 +278,13 @@ export const loadPlugins = async (options) => {
179
278
  // held for the life of a daemon that goes on running without it.
180
279
  let instance;
181
280
  try {
182
- const resolved = options.host.resolve(specifier);
183
- const { packageJson, directory } = await packageJsonFor(resolved, specifier);
184
- const manifest = parsePluginManifest(packageJson, specifier);
281
+ const { manifest, directory } = await readPluginManifest(specifier, options.host);
185
282
  const isTrusted = trusted(manifest.packageName);
186
283
  // Validated *after* the host's defaults are folded in, because that
187
284
  // is the configuration the plugin will actually be handed: a manifest
188
285
  // that declares `workspaceRoot` required would otherwise be refused
189
286
  // for missing the very setting the host supplies.
190
- const config = configFor(block, manifest, options.workspaceRoot);
287
+ const config = pluginConfigWithHostDefaults(block, manifest, options.workspaceRoot);
191
288
  validatePluginConfig(manifest, config);
192
289
  const riskOverrides = parseToolRiskOverrides(manifest, block);
193
290
  // Skills are read and validated before the module is imported —
@@ -204,9 +301,19 @@ export const loadPlugins = async (options) => {
204
301
  }
205
302
  instance = plugin;
206
303
  const view = new ManifestBoundToolRegistry({ manifest, target: options.tools, trusted: isTrusted, riskOverrides });
304
+ const contributions = new ManifestBoundContributions({
305
+ manifest,
306
+ targets,
307
+ owners: contributionOwners,
308
+ ...(options.channelSecrets !== undefined ? { channelSecrets: options.channelSecrets } : {}),
309
+ });
207
310
  await plugin.setup({
208
311
  bus: options.bus,
209
312
  tools: view,
313
+ providers: contributions.providers,
314
+ channels: contributions.channels,
315
+ memory: contributions.memory,
316
+ executors: contributions.executors,
210
317
  // Bound to what this plugin's manifest declares, never the host's
211
318
  // resolver raw: a plugin must not reach a credential it did not
212
319
  // declare merely because the calling agent allowlisted it for
@@ -228,7 +335,11 @@ export const loadPlugins = async (options) => {
228
335
  }
229
336
  }
230
337
  }
338
+ // The non-tool kinds are checked before the tools commit and landed
339
+ // after it, so neither half can be live while the other is refused.
340
+ contributions.preflightCommit();
231
341
  const tools = view.commit(owners);
342
+ const contributed = contributions.commit();
232
343
  const skills = [];
233
344
  for (const { skill, bareId, record } of stagedSkills) {
234
345
  options.skills?.register(skill);
@@ -246,6 +357,7 @@ export const loadPlugins = async (options) => {
246
357
  trusted: isTrusted,
247
358
  tools,
248
359
  skills,
360
+ contributions: contributed,
249
361
  instance: plugin,
250
362
  });
251
363
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAWzC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GAEpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAyB,MAAM,eAAe,CAAC;AAkBjF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,SAAiB,EACjB,IAAwB,EACA,EAAE;IAC1B,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,yEAAyE;IACzE,yBAAyB;IACzB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAM,CAAC;AAC7C,CAAC,CAAC;AAKF;;;;GAIG;AACH,MAAM,cAAc,GAAG,KAAK,EAC1B,WAAmB,EACnB,SAAiB,EACqC,EAAE;IACxD,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,uEAAuE;IACvE,qEAAqE;IACrE,qCAAqC;IACrC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;YACzE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,EAAE,SAAS,EAAE,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM;YACR,CAAC;YACD,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,mBAAmB,CAAC,qCAAqC,SAAS,GAAG,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAW,EAAE,CAClE,WAAW,KAAK,eAAe,IAAI,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAgG9E,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAE,GAAW,EAAW,EAAE,CAAC,OAAO,CAC1E,QAAQ,CAAC,MAAM;OACZ,OAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ;OAC9C,QAAQ,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI;OACnC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;OAC1C,GAAG,IAAK,QAAQ,CAAC,MAAM,CAAC,UAAyB,CACrD,CAAC;AAEF,MAAM,SAAS,GAAG,CAChB,KAAiB,EACjB,QAAwB,EACxB,aAAiC,EACrB,EAAE;IACd,uEAAuE;IACvE,kEAAkE;IAClE,0CAA0C;IAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACpE,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,kBAAkB,CAAC,KAAK,SAAS,EAAE,CAAC;QACtH,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9D,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACvE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AASF;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG,KAAK,EAC/B,QAAwB,EACxB,gBAAwB,EACM,EAAE;IAChC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAClE,uEAAuE;QACvE,qEAAqE;QACrE,gBAAgB;QAChB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,mBAAmB,CAC3B,UAAU,QAAQ,CAAC,WAAW,WAAW,WAAW,CAAC,EAAE,yCAAyC,WAAW,CAAC,IAAI,EAAE,CACnH,CAAC;QACJ,CAAC;QACD,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,mBAAmB,CAC3B,UAAU,QAAQ,CAAC,WAAW,WAAW,WAAW,CAAC,EAAE,yBAAyB,WAAW,CAAC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC9J,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,mBAAmB,CAC3B,UAAU,QAAQ,CAAC,WAAW,WAAW,WAAW,CAAC,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC7I,CAAC;QACJ,CAAC;QACD,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,SAAS,GAAG,GAAG,QAAQ,CAAC,WAAW,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC;YACV,MAAM,EAAE,WAAW,CAAC,EAAE;YACtB,KAAK,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC3F,MAAM,EAAE;gBACN,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,WAAW,CAAC,EAAE;gBACtB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE;gBACrC,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,OAAO,EAAE,QAAQ,CAAC,WAAW;gBAC7B,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,OAA2B,EAA8B,EAAE;IAC3F,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAAC;IACvD,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,qEAAqE;IACrE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,mEAAmE;QACnE,sEAAsE;QACtE,uEAAuE;QACvE,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,QAA4B,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAChD,oEAAoE;YACpE,sEAAsE;YACtE,oEAAoE;YACpE,kDAAkD;YAClD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YACjE,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvC,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAE9D,gEAAgE;YAChE,+DAA+D;YAC/D,0CAA0C;YAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAE1F,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAoC,CAAC;YACzF,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBAC9C,MAAM,IAAI,mBAAmB,CAC3B,UAAU,QAAQ,CAAC,WAAW,0EAA0E,CACzG,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAClD,MAAM,IAAI,mBAAmB,CAC3B,UAAU,QAAQ,CAAC,WAAW,+DAA+D,CAC9F,CAAC;YACJ,CAAC;YACD,QAAQ,GAAG,MAAM,CAAC;YAElB,MAAM,IAAI,GAAG,IAAI,yBAAyB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;YACnH,MAAM,MAAM,CAAC,KAAK,CAAC;gBACjB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,KAAK,EAAE,IAAI;gBACX,kEAAkE;gBAClE,gEAAgE;gBAChE,8DAA8D;gBAC9D,kBAAkB;gBAClB,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE,WAAW,EAAE,qCAAqC,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE;oBACvF,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9D,CAAC,CAAC;YAEH,mEAAmE;YACnE,8DAA8D;YAC9D,8DAA8D;YAC9D,4DAA4D;YAC5D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE,CAAC;oBACrC,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,mBAAmB,CAC3B,uBAAuB,KAAK,CAAC,EAAE,2DAA2D,CAC3F,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;gBACrD,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChC,gEAAgE;gBAChE,gEAAgE;gBAChE,gEAAgE;gBAChE,6DAA6D;gBAC7D,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,QAAQ,CAAC,WAAW;gBAC7B,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW;gBACpG,QAAQ;gBACR,OAAO,EAAE,SAAS;gBAClB,KAAK;gBACL,MAAM;gBACN,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,kEAAkE;YAClE,kDAAkD;YAClD,IAAI,CAAC;gBACH,MAAM,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,2DAA2D;YAC7D,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,17 @@ export interface PluginSkillDeclaration {
25
25
  id: string;
26
26
  path: string;
27
27
  }
28
+ /**
29
+ * A named contribution of one of the four kinds that are not tools: a
30
+ * provider, a memory store, or an executor a soul or a trusted config
31
+ * selects by this name, or a channel kind (`discord`) whose adapter the
32
+ * plugin registers. Declared so the view can hold `setup()` to it — a
33
+ * plugin that declares a channel and registers a provider is refused at
34
+ * load, naming the package and the undeclared kind.
35
+ */
36
+ export interface PluginNamedDeclaration {
37
+ name: string;
38
+ }
28
39
  export interface PluginContributions {
29
40
  tools: PluginToolDeclaration[];
30
41
  toolsDiscovered: PluginNamespaceDeclaration[];
@@ -35,7 +46,18 @@ export interface PluginContributions {
35
46
  * and must stay inside it.
36
47
  */
37
48
  skills: PluginSkillDeclaration[];
49
+ /** Provider names `setup()` may register (`ollama`); never a built-in name. */
50
+ providers: PluginNamedDeclaration[];
51
+ /** Channel kinds `setup()` may register an adapter for (`discord`). */
52
+ channels: PluginNamedDeclaration[];
53
+ /** Memory store names `setup()` may register. */
54
+ memory: PluginNamedDeclaration[];
55
+ /** Executor names `setup()` may register. */
56
+ executors: PluginNamedDeclaration[];
38
57
  }
58
+ /** The contribution kinds a manifest declares by name alone. */
59
+ export type PluginNamedContributionKind = 'providers' | 'channels' | 'memory' | 'executors';
60
+ export declare const PLUGIN_NAMED_CONTRIBUTION_KINDS: readonly PluginNamedContributionKind[];
39
61
  export interface PluginManifest {
40
62
  /** The package name, which is the plugin's identity. */
41
63
  packageName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAG5B;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,eAAe,EAAE,0BAA0B,EAAE,CAAC;IAC9C;;;;;OAKG;IACH,MAAM,EAAE,sBAAsB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,yEAAyE;IACzE,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,8EAA8E;AAC9E,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,6EAA6E;AAC7E,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AA4BD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,aAAa,OAAO,EAAE,WAAW,MAAM,KAAG,cA2I7E,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,cAAc,EAAE,UAAU,MAAM,KAAG,QAAQ,GAAG,SASvF,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,6CAA8C,CAAC;AAE5E;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,cAAc,EACxB,OAAO,UAAU,KAChB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAwBtB,CAAC;AAYF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,SAAS,EAChB,QAAQ,UAAU,EAClB,OAAO,MAAM,EACb,UAAS;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,KAC1C,IA6CF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,cAAc,EAAE,OAAO,UAAU,KAAG,IA6BlF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,UAAU,GAAG,SAAS,EAAE,SAAS,MAAM,KAAG,UAOzF,CAAC"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAG5B;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,eAAe,EAAE,0BAA0B,EAAE,CAAC;IAC9C;;;;;OAKG;IACH,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,+EAA+E;IAC/E,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,uEAAuE;IACvE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,iDAAiD;IACjD,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,6CAA6C;IAC7C,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC;AAED,gEAAgE;AAChE,MAAM,MAAM,2BAA2B,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAS5F,eAAO,MAAM,+BAA+B,EAAE,SAAS,2BAA2B,EAKjF,CAAC;AAGF,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,yEAAyE;IACzE,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,8EAA8E;AAC9E,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,6EAA6E;AAC7E,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAkCD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,aAAa,OAAO,EAAE,WAAW,MAAM,KAAG,cA0L7E,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,cAAc,EAAE,UAAU,MAAM,KAAG,QAAQ,GAAG,SASvF,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,6CAA8C,CAAC;AAE5E;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,cAAc,EACxB,OAAO,UAAU,KAChB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAwBtB,CAAC;AAYF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,SAAS,EAChB,QAAQ,UAAU,EAClB,OAAO,MAAM,EACb,UAAS;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,KAC1C,IA6CF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,cAAc,EAAE,OAAO,UAAU,KAAG,IA6BlF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,UAAU,GAAG,SAAS,EAAE,SAAS,MAAM,KAAG,UAOzF,CAAC"}
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
- import { DEFAULT_TOOL_RISK, matchesToolAllowlist, SKILL_READ_TOOL_NAME, } from '@stratusagent/core';
1
+ import { BUILTIN_EXECUTOR_NAME, BUILTIN_MEMORY_STORE_NAME, BUILTIN_PROVIDER_NAMES, DEFAULT_TOOL_RISK, matchesToolAllowlist, SKILL_READ_TOOL_NAME, } from '@stratusagent/core';
2
2
  import { SKILL_ID_RULE, isLoadableSkillId } from '@stratusagent/agents';
3
3
  /**
4
4
  * The manifest version this host understands. A plugin declaring anything
@@ -7,6 +7,18 @@ import { SKILL_ID_RULE, isLoadableSkillId } from '@stratusagent/agents';
7
7
  * not imported, and reading an unknown dialect on a guess gives that up.
8
8
  */
9
9
  export const PLUGIN_MANIFEST_VERSION = 1;
10
+ const KIND_WORD = {
11
+ providers: 'provider',
12
+ channels: 'channel',
13
+ memory: 'memory store',
14
+ executors: 'executor',
15
+ };
16
+ export const PLUGIN_NAMED_CONTRIBUTION_KINDS = [
17
+ 'providers',
18
+ 'channels',
19
+ 'memory',
20
+ 'executors',
21
+ ];
10
22
  /** A manifest that cannot be trusted to describe the package it came from. */
11
23
  export class PluginManifestError extends Error {
12
24
  constructor(message) {
@@ -28,6 +40,11 @@ export class PluginConfigError extends Error {
28
40
  const TOOL_NAME_PATTERN = /^[a-z0-9][a-z0-9-]*(\.[a-z0-9][a-z0-9_-]*)+$/;
29
41
  const NAMESPACE_PATTERN = /^[a-z0-9][a-z0-9-]*(\.[a-z0-9][a-z0-9_-]*)*\.\*$/;
30
42
  const RISKS = ['safe', 'gated', 'dangerous'];
43
+ // A contribution name: the shape a soul's `provider:` or a config's
44
+ // `executor` writes, and a channel kind. Lowercase runs joined by
45
+ // hyphens, like a skill id, so `plugin:` prefixed forms and package
46
+ // names (`@scope/name`) can never be mistaken for one.
47
+ const CONTRIBUTION_NAME_PATTERN = /^[a-z0-9]+(-[a-z0-9]+)*$/;
31
48
  const isObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
32
49
  const parseRisk = (raw, where) => {
33
50
  // Undeclared is `gated`, exactly as it is on a Tool: a manifest entry
@@ -140,6 +157,42 @@ export const parsePluginManifest = (packageJson, specifier) => {
140
157
  skills.push({ id: entry.id, path: entry.path });
141
158
  }
142
159
  }
160
+ const named = {
161
+ providers: [],
162
+ channels: [],
163
+ memory: [],
164
+ executors: [],
165
+ };
166
+ for (const kind of PLUGIN_NAMED_CONTRIBUTION_KINDS) {
167
+ const entries = contributes[kind];
168
+ if (entries === undefined) {
169
+ continue;
170
+ }
171
+ if (!Array.isArray(entries)) {
172
+ throw new PluginManifestError(`Plugin ${packageName}: contributes.${kind} must be an array.`);
173
+ }
174
+ for (const entry of entries) {
175
+ if (!isObject(entry) || typeof entry.name !== 'string') {
176
+ throw new PluginManifestError(`Plugin ${packageName}: every contributes.${kind} entry needs a "name".`);
177
+ }
178
+ if (!CONTRIBUTION_NAME_PATTERN.test(entry.name)) {
179
+ throw new PluginManifestError(`Plugin ${packageName}: ${JSON.stringify(entry.name)} is not a ${kind} name. Use lowercase runs joined by hyphens (ollama, vector-db).`);
180
+ }
181
+ if (kind === 'providers' && BUILTIN_PROVIDER_NAMES.includes(entry.name)) {
182
+ throw new PluginManifestError(`Plugin ${packageName}: provider ${entry.name} is built in and cannot be contributed by a plugin. Register it under a name of your own.`);
183
+ }
184
+ // The names the host's selection reads as "the built-in": a plugin
185
+ // registering under one would load and be unreachable forever.
186
+ if ((kind === 'executors' && entry.name === BUILTIN_EXECUTOR_NAME)
187
+ || (kind === 'memory' && entry.name === BUILTIN_MEMORY_STORE_NAME)) {
188
+ throw new PluginManifestError(`Plugin ${packageName}: ${KIND_WORD[kind]} ${entry.name} is the built-in's name and cannot be contributed by a plugin. Register it under a name of your own.`);
189
+ }
190
+ if (named[kind].some((declared) => declared.name === entry.name)) {
191
+ throw new PluginManifestError(`Plugin ${packageName}: contributes.${kind} declares ${JSON.stringify(entry.name)} twice.`);
192
+ }
193
+ named[kind].push({ name: entry.name });
194
+ }
195
+ }
143
196
  const credentials = [];
144
197
  if (stratus.credentials !== undefined) {
145
198
  if (!Array.isArray(stratus.credentials) || stratus.credentials.some((name) => typeof name !== 'string')) {
@@ -153,7 +206,7 @@ export const parsePluginManifest = (packageJson, specifier) => {
153
206
  return {
154
207
  packageName,
155
208
  pluginVersion: PLUGIN_MANIFEST_VERSION,
156
- contributes: { tools, toolsDiscovered, skills },
209
+ contributes: { tools, toolsDiscovered, skills, ...named },
157
210
  credentials,
158
211
  ...(isObject(stratus.config) ? { config: stratus.config } : {}),
159
212
  };
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stratusagent/plugins",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -18,8 +18,8 @@
18
18
  "node": ">=22.13 <23 || >=23.4"
19
19
  },
20
20
  "dependencies": {
21
- "@stratusagent/agents": "0.11.2",
22
- "@stratusagent/core": "0.11.2"
21
+ "@stratusagent/agents": "0.11.4",
22
+ "@stratusagent/core": "0.11.4"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^24.6.0",