@plurnk/plurnk-a2a 1.24.0 → 1.26.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/.env.defaults CHANGED
@@ -1,20 +1,18 @@
1
1
  # @plurnk/plurnk-a2a — remote agents and optional hosted exposure.
2
2
 
3
3
  # --- Outbound agents ---
4
- # An empty alias target masks its definition, companions and ENABLED selection.
5
- # Initially enabled workspace agent aliases, JSON array; [] = none.
6
- PLURNK_A2A_ENABLED=[]
4
+ # Enable declared agents by default; per-alias _ENABLED overrides this.
5
+ PLURNK_A2A_ENABLED=1
7
6
  # Connection/discovery deadline, positive ms.
8
7
  PLURNK_A2A_CONNECT_TIMEOUT=30000
9
8
  # Individual request deadline, positive ms.
10
9
  PLURNK_A2A_REQUEST_TIMEOUT=86400000
11
10
  # Maximum diagnostic characters in public errors.
12
11
  PLURNK_A2A_ERROR_DETAIL_LIMIT=512
13
- # Alias target, optional card path, bearer reference, and string-valued header object.
14
- # PLURNK_A2A_research=https://agent.example
15
- # PLURNK_A2A_research_CARD_PATH=/.well-known/agent-card.json
16
- # PLURNK_A2A_research_BEARER=${A2A_RESEARCH_TOKEN}
17
- # PLURNK_A2A_research_HEADERS={"X-Tenant":"${A2A_RESEARCH_TENANT}"}
12
+ # A complete definition; name matches the lowercase alias (_ for -). Empty definitions are invalid.
13
+ # Optional cardPath, headers and authorization belong here; credentials stay symbolic references.
14
+ # PLURNK_A2A_research={"name":"research","url":"https://agent.example","authorization":{"type":"bearer","token":"${A2A_RESEARCH_TOKEN}"},"headers":{"X-Tenant":"${A2A_RESEARCH_TENANT}"}}
15
+ # PLURNK_A2A_research_ENABLED=0
18
16
 
19
17
  # --- Inbound exposure ---
20
18
  # 1 = expose a Plurnk agent on the service listener (PLURNK_HOST:PLURNK_PORT); 0 = off. Protocol
package/README.md CHANGED
@@ -38,15 +38,17 @@ import { connectHttpJsonAgent } from "@plurnk/plurnk-a2a";
38
38
  const client = await connectHttpJsonAgent("https://agent.example");
39
39
  ```
40
40
 
41
- Available remote agents use parallel alias blocks in the same environment
41
+ Available remote agents use complete named definitions in the same environment
42
42
  cascade. Their discovered standard Agent Cards remain authoritative:
43
43
 
44
44
  ```dotenv
45
- PLURNK_A2A_RESEARCH=https://agent.example
46
- PLURNK_A2A_RESEARCH_BEARER=${A2A_RESEARCH_TOKEN}
47
- PLURNK_A2A_ENABLED=["research"]
45
+ PLURNK_A2A_research={"name":"research","url":"https://agent.example","authorization":{"type":"bearer","token":"${A2A_RESEARCH_TOKEN}"}}
48
46
  ```
49
47
 
48
+ Declared agents start enabled. `PLURNK_A2A_research_ENABLED=0` disables that
49
+ agent without hiding its definition; `PLURNK_A2A_ENABLED=0` changes the family
50
+ default. Aliases are lowercase; `_` represents `-` in environment names.
51
+
50
52
  In the service those definitions are the baseline of the workspace `a2a`
51
53
  Functionality family (`OutboundModule`): every Worker lists, discovers, adds,
52
54
  enables, disables, and removes outbound agents through the common
package/SPEC.md CHANGED
@@ -10,30 +10,34 @@ well-known path. No legacy protocol or alternate binding is enabled.
10
10
  ## §a2a-environment-projection POSIX configuration projection
11
11
 
12
12
  The package `.env.defaults` is the complete configuration vocabulary. The
13
- ordinary service, user, project, and client environment cascade remains the
14
- only configuration authority; generated Agent Cards and discovered remote
13
+ ordinary cascading environment ({§operator-config-precedence}) remains the
14
+ configuration authority; generated Agent Cards and discovered remote
15
15
  cards are protocol projections, not configuration files.
16
16
 
17
17
  | Family | Variables | Meaning |
18
18
  |---|---|---|
19
- | Outbound definition | `PLURNK_A2A_<ALIAS>=<absolute HTTP(S) URL>` plus optional `_CARD_PATH`, `_HEADERS`, and `_BEARER` companions | Defines one available remote agent without fetching or enabling it. `_BEARER` contains only a symbolic `${NAME}` reference; secrets remain environment-owned. |
20
- | Outbound defaults | `PLURNK_A2A_ENABLED` | JSON array selecting the exact aliases enabled by default for the workspace's `a2a` family ({§a2a-functionality}); workspace state may override enabledness. `[]` is the one spelling of none: an absent or empty key is refused by name. |
19
+ | Outbound definition | `PLURNK_A2A_<alias>=<JSON definition>` | One complete `A2aAgentDefinition` ({§a2a-functionality}), including transport and authentication. The definition's `name` equals the alias. Parsing performs no network activity. |
20
+ | Outbound defaults | `PLURNK_A2A_ENABLED=1`, `<alias>_ENABLED=0\|1` | Shared resource controls ({§resource-environment}); declared agents default enabled, and workspace state may override enabledness. |
21
21
  | Timeouts | `PLURNK_A2A_CONNECT_TIMEOUT`, `PLURNK_A2A_REQUEST_TIMEOUT` | Positive integer milliseconds owned by the A2A package. |
22
22
  | Diagnostics | `PLURNK_A2A_ERROR_DETAIL_LIMIT` | Non-negative character bound for one caught upstream diagnostic admitted to a model-facing A2A Problem; complete causes remain internal. |
23
23
  | Inbound exposure | `PLURNK_A2A_EXPOSE`, `_TOKEN`, `_ENDPOINT_PATH`, `_ENDPOINT_URL` | `EXPOSE=1` mounts one HTTP+JSON exposure on the service listener ({§http-host}); `0` mounts none. `_TOKEN` is the bearer the endpoint requires and the card declares ({§a2a-hosted-bearer}); empty is an unauthenticated exposure. |
24
24
  | Inbound workspace | `PLURNK_A2A_WORKSPACE`, `_PROJECT_ROOT` | Names the lazily resolved execution workspace and its creation root. |
25
25
  | Hosted identity | `PLURNK_A2A_NAME`, `_DESCRIPTION`, `_VERSION`, optional provider/docs/icon fields, and `_SKILLS` | Supplies identity content for one generated standard Agent Card. `_SKILLS` is a JSON array; omitted per-skill examples and media modes receive the exposure's factual defaults. |
26
26
 
27
- Alias matching is case-insensitive but collision-intolerant, while the canonical
28
- global names use their documented spelling. Header values preserve symbolic
27
+ Definitions use {§resource-environment}, including nonempty values and distinct
28
+ lowercase aliases/uppercase controls. Every definition is validated, even when
29
+ disabled. A replacement inherits no connection fields from a lower definition
30
+ ({§configuration-definition-resolution}). Header values preserve symbolic
29
31
  environment references until connection admission. A remote Agent Card remains
30
32
  the authority for that remote agent; its discovered contents are never copied
31
33
  into this environment vocabulary.
32
34
 
33
- An explicitly empty outbound target omits that definition, ignores its companion
34
- values and drops its inherited `ENABLED` selection. It does not remove a
35
- workspace-owned definition or prohibit adding one. Genuinely undeclared aliases
36
- and case-fold collisions still fail validation.
35
+ The package's offline validator composes definition, control, bound and hosted-exposure
36
+ readers before service activation ({§operator-config-offline-validation}); it fetches no card.
37
+ Inbound and outbound configuration are admitted independently. Invalid hosted
38
+ input refuses only that exposure with a typed configuration error
39
+ ({§configuration-repair-path}); a malformed outbound declaration does not prevent
40
+ hosting an otherwise valid Agent Card.
37
41
 
38
42
  ## §a2a-protocol-witness Protocol witness
39
43
 
@@ -158,7 +162,10 @@ family named `a2a` ({§functionality-adapter} in core): the package, its keys,
158
162
  the family and the scheme share one name. Its definition
159
163
  is the `A2aAgentDefinition` contract — local alias `name`, remote `url`,
160
164
  optional `cardPath`, `headers`, and symbolic bearer `authorization` —
161
- exactly the environment's `PLURNK_A2A_<ALIAS>*` projection.
165
+ exactly the environment's `PLURNK_A2A_<alias>` value. Environment and live
166
+ admission use the same validator: a valid absolute HTTP(S) URL, schema-valid
167
+ connection fields, and no simultaneous bearer `authorization` and
168
+ case-insensitive `Authorization` header.
162
169
 
163
170
  *Available definitions* are the environment's aliases; `PLURNK_A2A_ENABLED`
164
171
  supplies their default enabledness. *Admission* (`add {alias, definition}`)
@@ -1,6 +1,6 @@
1
1
  import type { AgentCard } from "@a2a-js/sdk";
2
2
  import type { Client } from "@a2a-js/sdk/client";
3
- import { type FunctionalityCandidate, type FunctionalityDiscoverQuery, type FunctionalityFamilyHandle, type FunctionalityPreparation, type FunctionalityPrepared, type JsonSchema, type ProblemDetails, type WorkspaceCapabilityIdentity } from "@plurnk/plurnk-contracts";
3
+ import { type FunctionalityCandidate, type FunctionalityDiscoverQuery, type FunctionalityFamilyHandle, type FunctionalityPreparation, type FunctionalityPrepared, type FunctionalityServiceDefinition, type JsonSchema, type ProblemDetails, type WorkspaceCapabilityIdentity } from "@plurnk/plurnk-contracts";
4
4
  import A2a from "./A2a.ts";
5
5
  export declare const A2A_FAMILY = "a2a";
6
6
  export declare const A2A_OWNER = "@plurnk/plurnk-a2a";
@@ -33,11 +33,7 @@ export default class A2aFunctionality {
33
33
  attach(handle: FunctionalityFamilyHandle): void;
34
34
  get handle(): FunctionalityFamilyHandle;
35
35
  resolve(authority: string, workspaceId: number): Client | null;
36
- available(): Promise<readonly {
37
- alias: string;
38
- definition: object;
39
- enabled: boolean;
40
- }[]>;
36
+ available(): Promise<readonly FunctionalityServiceDefinition[]>;
41
37
  discover(query: FunctionalityDiscoverQuery): Promise<readonly FunctionalityCandidate[]>;
42
38
  admit(input: unknown): Promise<{
43
39
  alias: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Functionality.d.ts","sourceRoot":"","sources":["../src/Functionality.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAIH,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAE9B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,2BAA2B,EACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,GAAG,MAAM,UAAU,CAAC;AAK3B,eAAO,MAAM,UAAU,QAAQ,CAAC;AAChC,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAgB9C,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,YAAY,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAInD;CACJ;AAqCD,eAAO,MAAM,WAAW,SAAU,SAAS,KAAG,MAI7C,CAAC;AAKF,eAAO,MAAM,WAAW,UAAW,MAAM,QAAQ,SAAS,KAAG,MAoB5D,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,gBAAgB;;IACjC,QAAQ,CAAC,MAAM,SAAc;IAC7B,QAAQ,CAAC,cAAc,wBAAa;IACpC,QAAQ,CAAC,OAAO,uBAAuB;IACvC,QAAQ,CAAC,MAAM,WAAW;IAC1B,QAAQ,CAAC,MAAM,MAAyE;IACxF,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAc;IACnD,QAAQ,CAAC,OAAO;QAAK,KAAK;QAAa,UAAU;YAAI,IAAI;YAAa,GAAG;;MAA2C;IACpH,QAAQ,CAAC,OAAO,SAAiD;IACjE,QAAQ,CAAC,SAAS;QACd,OAAO;MACT;IAMF,YAAY,GAAG,GAAE,MAAM,CAAC,UAAwB,EAE/C;IAED,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI,CAE9C;IAED,IAAI,MAAM,IAAI,yBAAyB,CAGtC;IAKD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ7D;IAEK,SAAS,IAAI,OAAO,CAAC,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC,CAO7F;IAEK,QAAQ,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CA6C5F;IAEK,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAa1E;IAoCK,OAAO,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAgDnF;IAEK,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;CACJ"}
1
+ {"version":3,"file":"Functionality.d.ts","sourceRoot":"","sources":["../src/Functionality.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAGH,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAE9B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,8BAA8B,EACnC,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,2BAA2B,EACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,GAAG,MAAM,UAAU,CAAC;AAM3B,eAAO,MAAM,UAAU,QAAQ,CAAC;AAChC,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAgB9C,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,YAAY,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAInD;CACJ;AAqCD,eAAO,MAAM,WAAW,SAAU,SAAS,KAAG,MAI7C,CAAC;AAKF,eAAO,MAAM,WAAW,UAAW,MAAM,QAAQ,SAAS,KAAG,MAoB5D,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,gBAAgB;;IACjC,QAAQ,CAAC,MAAM,SAAc;IAC7B,QAAQ,CAAC,cAAc,wBAAa;IACpC,QAAQ,CAAC,OAAO,uBAAuB;IACvC,QAAQ,CAAC,MAAM,WAAW;IAC1B,QAAQ,CAAC,MAAM,MAAyE;IACxF,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAc;IACnD,QAAQ,CAAC,OAAO;QAAK,KAAK;QAAa,UAAU;YAAI,IAAI;YAAa,GAAG;;MAA2C;IACpH,QAAQ,CAAC,OAAO,SAAiD;IACjE,QAAQ,CAAC,SAAS;QACd,OAAO;MACT;IAMF,YAAY,GAAG,GAAE,MAAM,CAAC,UAAwB,EAE/C;IAED,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI,CAE9C;IAED,IAAI,MAAM,IAAI,yBAAyB,CAGtC;IAKD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ7D;IAEK,SAAS,IAAI,OAAO,CAAC,SAAS,8BAA8B,EAAE,CAAC,CAEpE;IAEK,QAAQ,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CA6C5F;IAEK,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAa1E;IAoCK,OAAO,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAiDnF;IAEK,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;CACJ"}
@@ -5,9 +5,10 @@
5
5
  // preparation (card discovery + HTTP+JSON client per alias), and the workspace
6
6
  // snapshot its scheme face ({§a2a-scheme-face}) resolves aliases against.
7
7
  import { fileURLToPath } from "node:url";
8
- import { Problems, Validator, } from "@plurnk/plurnk-contracts";
8
+ import { Problems, } from "@plurnk/plurnk-contracts";
9
9
  import A2a from "./A2a.js";
10
- import { outboundDefinitions, serviceEnabledNames } from "./config.js";
10
+ import { outboundDefinitions } from "./config.js";
11
+ import { readDefinition } from "./definition.js";
11
12
  import ErrorDetail from "./ErrorDetail.js";
12
13
  import { connectHttpJsonAgentFromCard, discoverAgentCard } from "./HttpJsonClient.js";
13
14
  export const A2A_FAMILY = "a2a";
@@ -112,19 +113,14 @@ export default class A2aFunctionality {
112
113
  return null;
113
114
  }
114
115
  async available() {
115
- const enabled = new Set(serviceEnabledNames(this.#env));
116
- return outboundDefinitions(this.#env).map((definition) => ({
117
- alias: definition.name,
118
- definition,
119
- enabled: enabled.has(definition.name),
120
- }));
116
+ return outboundDefinitions(this.#env);
121
117
  }
122
118
  async discover(query) {
123
119
  if (query.configuration !== undefined) {
124
120
  const overlay = Object.fromEntries(Object.entries(query.configuration).filter(([, value]) => typeof value === "string"));
125
121
  let definitions;
126
122
  try {
127
- definitions = outboundDefinitions(overlay);
123
+ definitions = outboundDefinitions({ PLURNK_A2A_ENABLED: this.#env.PLURNK_A2A_ENABLED, ...overlay });
128
124
  }
129
125
  catch (cause) {
130
126
  throw failure("configuration-invalid", 400, "The offered A2A configuration is invalid.", {
@@ -132,10 +128,10 @@ export default class A2aFunctionality {
132
128
  retryable: false,
133
129
  }, cause);
134
130
  }
135
- return definitions.map((definition) => ({
136
- alias: definition.name,
131
+ return definitions.map(({ alias, definition }) => ({
132
+ alias,
137
133
  definition,
138
- provenance: { kind: "client-configuration", source: `PLURNK_A2A_${definition.name.toUpperCase()}` },
134
+ provenance: { kind: "client-configuration", source: `PLURNK_A2A_${alias.replaceAll("-", "_")}` },
139
135
  }));
140
136
  }
141
137
  if (query.source !== undefined) {
@@ -171,7 +167,7 @@ export default class A2aFunctionality {
171
167
  const params = isRecord(input) ? input : {};
172
168
  let definition;
173
169
  try {
174
- definition = structuredClone(Validator.assertA2aAgentDefinition(structuredClone(params.definition)));
170
+ definition = readDefinition(params.definition);
175
171
  }
176
172
  catch (cause) {
177
173
  throw failure("definition-invalid", 400, "The A2A agent definition is invalid.", { retryable: false }, cause);
@@ -222,7 +218,8 @@ export default class A2aFunctionality {
222
218
  const attachments = new Map();
223
219
  const unavailable = new Map();
224
220
  const outcomes = new Map();
225
- for (const [alias, raw] of preparation.enabled) {
221
+ for (const [alias, { definition: raw }] of preparation.enabled) {
222
+ preparation.progress(alias);
226
223
  const definition = raw;
227
224
  const kept = previous?.attachments.get(alias);
228
225
  if (kept !== undefined && sameDefinition(kept.definition, definition) && preparation.force !== alias) {
@@ -1 +1 @@
1
- {"version":3,"file":"Functionality.js","sourceRoot":"","sources":["../src/Functionality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Functionality.js","sourceRoot":"","sources":["../src/Functionality.ts"],"names":[],"mappings":"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"}
package/dist/Module.d.ts CHANGED
@@ -20,6 +20,6 @@ export default class Module {
20
20
  private constructor();
21
21
  static init(options: A2aModuleOptions): A2aModuleRegistration;
22
22
  agentCard(): AgentCard;
23
- close(): void;
23
+ stop(): void;
24
24
  }
25
25
  //# sourceMappingURL=Module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EACZ,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,OAAyB,EAAE,KAAK,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,mGAAmG;IACnG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IAClC,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAkBD,MAAM,CAAC,OAAO,OAAO,MAAM;;IAOvB,OAAO,eA4DN;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,qBAAqB,CAQ5D;IAwBD,SAAS,IAAI,SAAS,CAErB;IAED,KAAK,IAAI,IAAI,CAEZ;CACJ"}
1
+ {"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EACZ,MAAM,aAAa,CAAC;AAOrB,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,0BAA0B,CAAC;AAE1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,OAAyB,EAAE,KAAK,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,mGAAmG;IACnG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IAClC,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAkBD,MAAM,CAAC,OAAO,OAAO,MAAM;;IAOvB,OAAO,eA4DN;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,qBAAqB,CAQ5D;IAwBD,SAAS,IAAI,SAAS,CAErB;IAED,IAAI,IAAI,IAAI,CAEX;CACJ"}
package/dist/Module.js CHANGED
@@ -64,7 +64,7 @@ export default class Module {
64
64
  const executor = new PlurnkAgentExecutor(application, workspace, store, options.proposals);
65
65
  const handler = new PlurnkRequestHandler(this.#card, store, executor);
66
66
  const app = express();
67
- // {§module-lifecycle} — close() stops accepting external work; the routes stay mounted on the
67
+ // {§module-lifecycle} — stop() refuses new external work; the routes stay mounted on the
68
68
  // daemon's listener until the process ends, so they answer that the exposure is gone.
69
69
  app.use((_req, res, next) => {
70
70
  if (this.#closed) {
@@ -119,7 +119,7 @@ export default class Module {
119
119
  agentCard() {
120
120
  return structuredClone(this.#card);
121
121
  }
122
- close() {
122
+ stop() {
123
123
  this.#closed = true;
124
124
  }
125
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { A2AAgentDefinition as A2aAgentDefinition } from "@plurnk/plurnk-contracts";
1
+ import type { A2AAgentDefinition as A2aAgentDefinition, FunctionalityServiceDefinition } from "@plurnk/plurnk-contracts";
2
2
  import { AgentCard } from "@a2a-js/sdk";
3
3
  export type OutboundAgentDefinition = A2aAgentDefinition;
4
4
  export interface HostedAgentConfiguration {
@@ -15,12 +15,12 @@ export interface HostedAgentConfiguration {
15
15
  }
16
16
  declare const HOSTED_PROPOSALS: readonly ["accept", "reject"];
17
17
  export type HostedProposals = typeof HOSTED_PROPOSALS[number];
18
- export declare const outboundAgentNames: (environ?: NodeJS.ProcessEnv) => string[];
19
- export declare const outboundAgentDefinition: (name: string, environ?: NodeJS.ProcessEnv) => OutboundAgentDefinition | null;
20
- export declare const outboundDefinitions: (environ?: NodeJS.ProcessEnv) => OutboundAgentDefinition[];
21
- export declare const serviceEnabledNames: (environ?: NodeJS.ProcessEnv) => string[];
18
+ export declare const outboundDefinitions: (environ?: NodeJS.ProcessEnv) => Array<FunctionalityServiceDefinition & {
19
+ definition: OutboundAgentDefinition;
20
+ }>;
22
21
  export declare const hostedAgentConfiguration: (environ?: NodeJS.ProcessEnv) => HostedAgentConfiguration | null;
23
22
  export declare const connectTimeoutMs: (environ?: NodeJS.ProcessEnv) => number;
24
23
  export declare const requestTimeoutMs: (environ?: NodeJS.ProcessEnv) => number;
24
+ export declare const validateConfiguration: (environ?: NodeJS.ProcessEnv) => void;
25
25
  export {};
26
26
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,OAAO,EAEH,SAAS,EAEZ,MAAM,aAAa,CAAC;AA4CrB,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAEzD,MAAM,WAAW,wBAAwB;IACrC,mGAAmG;IACnG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE;QAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KACvC,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC5B;AAGD,QAAA,MAAM,gBAAgB,YAAI,QAAQ,EAAE,QAAQ,CAAU,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAmN9D,eAAO,MAAM,kBAAkB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAAM,EAIjE,CAAC;AAEpB,eAAO,MAAM,uBAAuB,SAC1B,MAAM,YACH,MAAM,CAAC,UAAU,KAC3B,uBAAuB,GAAG,IA8B5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,aACnB,MAAM,CAAC,UAAU,KAC3B,uBAAuB,EAIxB,CAAC;AAEH,eAAO,MAAM,mBAAmB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAAM,EAgBpF,CAAC;AAEF,eAAO,MAAM,wBAAwB,aACxB,MAAM,CAAC,UAAU,KAC3B,wBAAwB,GAAG,IAsE7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MACS,CAAC;AAEtF,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MACS,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAKzH,OAAO,EAEH,SAAS,EAEZ,MAAM,aAAa,CAAC;AAcrB,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAEzD,MAAM,WAAW,wBAAwB;IACrC,mGAAmG;IACnG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE;QAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KACvC,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC5B;AAGD,QAAA,MAAM,gBAAgB,YAAI,QAAQ,EAAE,QAAQ,CAAU,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AA4G9D,eAAO,MAAM,mBAAmB,aACnB,MAAM,CAAC,UAAU,KAC3B,KAAK,CAAC,8BAA8B,GAAG;IAAE,UAAU,EAAE,uBAAuB,CAAA;CAAE,CAYhF,CAAC;AAEF,eAAO,MAAM,wBAAwB,aACxB,MAAM,CAAC,UAAU,KAC3B,wBAAwB,GAAG,IAsE7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAClB,CAAC;AAE3D,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAClB,CAAC;AAE3D,eAAO,MAAM,qBAAqB,aAAa,MAAM,CAAC,UAAU,KAAiB,IAMhF,CAAC"}
package/dist/config.js CHANGED
@@ -1,132 +1,33 @@
1
+ import { ConfigurationError, Knob, ResourceEnvironment } from "@plurnk/plurnk-meta";
1
2
  import { isAbsolute } from "node:path";
3
+ import { readDefinition } from "./definition.js";
4
+ import errorDetail from "./ErrorDetail.js";
2
5
  import { A2A_PROTOCOL_VERSION, AgentCard, } from "@a2a-js/sdk";
3
6
  const PREFIX = "PLURNK_A2A_";
4
- const COMPANION_SUFFIXES = ["_card_path", "_bearer", "_headers"];
5
- const CONTROL_KEYS = new Map([
6
- ["enabled", `${PREFIX}ENABLED`],
7
- ["connect_timeout", `${PREFIX}CONNECT_TIMEOUT`],
8
- ["request_timeout", `${PREFIX}REQUEST_TIMEOUT`],
9
- ["error_detail_limit", `${PREFIX}ERROR_DETAIL_LIMIT`],
10
- ["expose", `${PREFIX}EXPOSE`],
11
- ["token", `${PREFIX}TOKEN`],
12
- ["endpoint_path", `${PREFIX}ENDPOINT_PATH`],
13
- ["endpoint_url", `${PREFIX}ENDPOINT_URL`],
14
- ["workspace", `${PREFIX}WORKSPACE`],
15
- ["project_root", `${PREFIX}PROJECT_ROOT`],
16
- ["proposals", `${PREFIX}PROPOSALS`],
17
- ["name", `${PREFIX}NAME`],
18
- ["description", `${PREFIX}DESCRIPTION`],
19
- ["version", `${PREFIX}VERSION`],
20
- ["provider_organization", `${PREFIX}PROVIDER_ORGANIZATION`],
21
- ["provider_url", `${PREFIX}PROVIDER_URL`],
22
- ["documentation_url", `${PREFIX}DOCUMENTATION_URL`],
23
- ["icon_url", `${PREFIX}ICON_URL`],
24
- ["skills", `${PREFIX}SKILLS`],
25
- ]);
26
- const AGENT_NAME = /^[a-z][a-z0-9-]*$/;
27
- const ENV_REFERENCE = /^\$\{([A-Za-z_][A-Za-z0-9_]*)\}$/u;
7
+ const CONTROLS = [
8
+ "CONNECT_TIMEOUT", "REQUEST_TIMEOUT", "ERROR_DETAIL_LIMIT", "EXPOSE", "TOKEN",
9
+ "ENDPOINT_PATH", "ENDPOINT_URL", "WORKSPACE", "PROJECT_ROOT", "PROPOSALS",
10
+ "NAME", "DESCRIPTION", "VERSION", "PROVIDER_ORGANIZATION", "PROVIDER_URL",
11
+ "DOCUMENTATION_URL", "ICON_URL", "SKILLS",
12
+ ];
28
13
  const INPUT_MODES = ["*/*"];
29
14
  const OUTPUT_MODES = ["*/*"];
30
15
  // A2A carries no review channel, so an inbound loop settles its own proposals.
31
16
  const HOSTED_PROPOSALS = ["accept", "reject"];
32
- const assertAgentName = (name, variable) => {
33
- if (!AGENT_NAME.test(name)) {
34
- throw new Error(`${variable} derives invalid A2A agent name '${name}'; names must match [a-z][a-z0-9-]*.`);
35
- }
36
- };
37
17
  // {§http-host} — the exposure rides the service listener, so it has no address knobs (#641).
38
18
  // A still-set one fails hard naming the successor; it never silently binds nothing, and it never
39
19
  // case-folds into an alias definition. Spelled out only here, as the refusal's own evidence.
40
20
  const shedRetiredListener = (environ) => {
41
21
  for (const name of ["PLURNK_A2A_HOST", "PLURNK_A2A_PORT"]) {
42
- const present = Object.entries(environ).find(([key, value]) => key.toUpperCase() === name && value !== undefined && value !== "");
43
- if (present !== undefined) {
44
- throw new Error(`${present[0]} is retired: the A2A exposure is mounted on the service listener, whose address is PLURNK_HOST and PLURNK_PORT ({§http-host}); remove it.`);
22
+ if (environ[name] !== undefined) {
23
+ throw new ConfigurationError(name, `${name} is retired: the A2A exposure is mounted on the service listener, whose address is PLURNK_HOST and PLURNK_PORT ({§http-host}); remove it.`);
45
24
  }
46
25
  }
47
26
  };
48
27
  const parseEnvironment = (environ) => {
49
28
  shedRetiredListener(environ);
50
- const targets = new Map();
51
- const companions = new Map();
52
- for (const [key, value] of Object.entries(environ)) {
53
- if (value === undefined || !key.startsWith(PREFIX))
54
- continue;
55
- const suffix = key.slice(PREFIX.length);
56
- if (suffix.length === 0)
57
- continue;
58
- const folded = suffix.toLowerCase();
59
- const controlKey = CONTROL_KEYS.get(folded);
60
- if (controlKey !== undefined) {
61
- if (key !== controlKey) {
62
- throw new Error(`${key} case-folds to ${controlKey}; that name is a reserved global and must use its canonical spelling.`);
63
- }
64
- continue;
65
- }
66
- const companion = COMPANION_SUFFIXES.find((candidate) => folded.endsWith(candidate));
67
- if (companion !== undefined) {
68
- const name = folded.slice(0, -companion.length);
69
- const reservedGlobal = CONTROL_KEYS.get(name);
70
- if (reservedGlobal !== undefined) {
71
- throw new Error(`${key} uses ${reservedGlobal} as an agent name; reserved globals cannot have agent companions.`);
72
- }
73
- assertAgentName(name, key);
74
- const bySuffix = companions.get(name) ?? new Map();
75
- const existing = bySuffix.get(companion);
76
- if (existing !== undefined) {
77
- throw new Error(`${existing.key} and ${key} are duplicate A2A agent companions after case-folding.`);
78
- }
79
- bySuffix.set(companion, { key, value });
80
- companions.set(name, bySuffix);
81
- continue;
82
- }
83
- assertAgentName(folded, key);
84
- const existing = targets.get(folded);
85
- if (existing !== undefined) {
86
- throw new Error(`${existing.key} and ${key} both derive A2A agent name '${folded}' after case-folding.`);
87
- }
88
- targets.set(folded, { key, value });
89
- }
90
- for (const [name, fields] of companions) {
91
- if (targets.has(name))
92
- continue;
93
- const variables = [...fields.values()].map(({ key }) => key).join(", ");
94
- throw new Error(`${variables} has no A2A agent target ${PREFIX}${name.toUpperCase()}.`);
95
- }
96
- return { targets, companions };
97
- };
98
- const jsonStrings = (raw, field) => {
99
- if (raw === undefined || raw.length === 0)
100
- return [];
101
- let parsed;
102
- try {
103
- parsed = JSON.parse(raw);
104
- }
105
- catch (cause) {
106
- throw new Error(`${field} must be a JSON array of strings.`, { cause });
107
- }
108
- if (!Array.isArray(parsed) || !parsed.every((value) => typeof value === "string")) {
109
- throw new Error(`${field} must be a JSON array of strings.`);
110
- }
111
- return parsed;
112
- };
113
- const jsonRecord = (raw, field) => {
114
- if (raw === undefined || raw.length === 0)
115
- return undefined;
116
- let parsed;
117
- try {
118
- parsed = JSON.parse(raw);
119
- }
120
- catch (cause) {
121
- throw new Error(`${field} must be a JSON object with string values.`, { cause });
122
- }
123
- if (typeof parsed !== "object"
124
- || parsed === null
125
- || Array.isArray(parsed)
126
- || !Object.values(parsed).every((value) => typeof value === "string")) {
127
- throw new Error(`${field} must be a JSON object with string values.`);
128
- }
129
- return parsed;
29
+ const environment = new ResourceEnvironment(PREFIX, { controls: CONTROLS, settings: [] }, environ);
30
+ return environment;
130
31
  };
131
32
  const absoluteHttpUrl = (raw, field) => {
132
33
  let url;
@@ -134,10 +35,10 @@ const absoluteHttpUrl = (raw, field) => {
134
35
  url = new URL(raw);
135
36
  }
136
37
  catch (cause) {
137
- throw new Error(`${field} must be an absolute HTTP(S) URL.`, { cause });
38
+ throw new ConfigurationError(field, `${field} must be an absolute HTTP(S) URL.`, { cause });
138
39
  }
139
40
  if (url.protocol !== "http:" && url.protocol !== "https:") {
140
- throw new Error(`${field} must be an absolute HTTP(S) URL.`);
41
+ throw new ConfigurationError(field, `${field} must be an absolute HTTP(S) URL.`);
141
42
  }
142
43
  return raw;
143
44
  };
@@ -145,26 +46,19 @@ const optionalUrl = (raw, field) => raw === undefined || raw.length === 0 ? unde
145
46
  const required = (environ, field) => {
146
47
  const value = environ[field];
147
48
  if (value === undefined || value.length === 0) {
148
- throw new Error(`${field} is required when PLURNK_A2A_EXPOSE=1.`);
49
+ throw new ConfigurationError(field, `${field} is required when PLURNK_A2A_EXPOSE=1.`);
149
50
  }
150
51
  return value;
151
52
  };
152
53
  const hostedProposals = (raw) => {
153
54
  if (!HOSTED_PROPOSALS.includes(raw)) {
154
- throw new Error(`PLURNK_A2A_PROPOSALS must be one of ${HOSTED_PROPOSALS.join(", ")}; got ${JSON.stringify(raw)}.`);
55
+ throw new ConfigurationError("PLURNK_A2A_PROPOSALS", `PLURNK_A2A_PROPOSALS must be one of ${HOSTED_PROPOSALS.join(", ")}; got ${JSON.stringify(raw)}.`);
155
56
  }
156
57
  return raw;
157
58
  };
158
- const positiveInteger = (raw, field) => {
159
- const value = Number(raw);
160
- if (!Number.isInteger(value) || value < 1) {
161
- throw new Error(`${field} must be a positive integer; got ${JSON.stringify(raw)}.`);
162
- }
163
- return value;
164
- };
165
59
  const stringArray = (value, field) => {
166
60
  if (!Array.isArray(value) || !value.every((item) => typeof item === "string")) {
167
- throw new Error(`${field} must be an array of strings.`);
61
+ throw new ConfigurationError("PLURNK_A2A_SKILLS", `${field} must be an array of strings.`);
168
62
  }
169
63
  return value;
170
64
  };
@@ -175,32 +69,32 @@ const skills = (raw) => {
175
69
  parsed = JSON.parse(raw ?? "[]");
176
70
  }
177
71
  catch (cause) {
178
- throw new Error(`${field} must be a JSON array of Agent Skill objects.`, { cause });
72
+ throw new ConfigurationError(field, `${field} must be a JSON array of Agent Skill objects.`, { cause });
179
73
  }
180
74
  if (!Array.isArray(parsed))
181
- throw new Error(`${field} must be a JSON array of Agent Skill objects.`);
75
+ throw new ConfigurationError(field, `${field} must be a JSON array of Agent Skill objects.`);
182
76
  const ids = new Set();
183
77
  return parsed.map((candidate, index) => {
184
78
  const at = `${field}[${index}]`;
185
79
  if (typeof candidate !== "object" || candidate === null || Array.isArray(candidate)) {
186
- throw new Error(`${at} must be an Agent Skill object.`);
80
+ throw new ConfigurationError(field, `${at} must be an Agent Skill object.`);
187
81
  }
188
82
  const skill = candidate;
189
83
  const text = (name) => {
190
84
  const value = skill[name];
191
85
  if (typeof value !== "string" || value.length === 0) {
192
- throw new Error(`${at}.${name} must be a non-empty string.`);
86
+ throw new ConfigurationError(field, `${at}.${name} must be a non-empty string.`);
193
87
  }
194
88
  return value;
195
89
  };
196
90
  const id = text("id");
197
91
  if (ids.has(id))
198
- throw new Error(`${field} contains duplicate Agent Skill id '${id}'.`);
92
+ throw new ConfigurationError(field, `${field} contains duplicate Agent Skill id '${id}'.`);
199
93
  ids.add(id);
200
94
  if (skill.securityRequirements !== undefined) {
201
95
  const security = skill.securityRequirements;
202
96
  if (!Array.isArray(security) || security.length > 0) {
203
- throw new Error(`${at}.securityRequirements must be absent or empty; security is the exposure's, card-wide.`);
97
+ throw new ConfigurationError(field, `${at}.securityRequirements must be absent or empty; security is the exposure's, card-wide.`);
204
98
  }
205
99
  }
206
100
  return {
@@ -219,89 +113,40 @@ const skills = (raw) => {
219
113
  };
220
114
  });
221
115
  };
222
- export const outboundAgentNames = (environ = process.env) => [...parseEnvironment(environ).targets]
223
- .filter(([, { value }]) => value !== "")
224
- .map(([name]) => name)
225
- .toSorted();
226
- export const outboundAgentDefinition = (name, environ = process.env) => {
227
- const folded = name.toLowerCase();
228
- const { targets, companions } = parseEnvironment(environ);
229
- const target = targets.get(folded);
230
- if (target === undefined || target.value === "")
231
- return null;
232
- const fields = companions.get(folded);
233
- const cardPathField = fields?.get("_card_path");
234
- const cardPath = cardPathField?.value;
235
- if (cardPath !== undefined && (!cardPath.startsWith("/") || cardPath.includes("?") || cardPath.includes("#"))) {
236
- throw new Error(`${cardPathField?.key} must be an absolute URL pathname without query or fragment.`);
237
- }
238
- const headersField = fields?.get("_headers");
239
- const headers = jsonRecord(headersField?.value, headersField?.key ?? `${PREFIX}${folded.toUpperCase()}_HEADERS`);
240
- const bearer = fields?.get("_bearer");
241
- if (bearer !== undefined && !ENV_REFERENCE.test(bearer.value)) {
242
- throw new Error(`${bearer.key} must be a symbolic environment reference such as \${TOKEN}.`);
243
- }
244
- const authorizationHeader = Object.keys(headers ?? {}).find((key) => key.toLowerCase() === "authorization");
245
- if (bearer !== undefined && authorizationHeader !== undefined) {
246
- throw new Error(`${bearer.key} conflicts with Authorization in ${headersField?.key}.`);
247
- }
248
- return {
249
- name: folded,
250
- url: absoluteHttpUrl(target.value, target.key),
251
- ...(cardPath === undefined || cardPath.length === 0 ? {} : { cardPath }),
252
- ...(headers === undefined ? {} : { headers }),
253
- ...(bearer === undefined ? {} : {
254
- authorization: { type: "bearer", token: bearer.value },
255
- }),
256
- };
257
- };
258
- export const outboundDefinitions = (environ = process.env) => outboundAgentNames(environ).map((name) => {
259
- const definition = outboundAgentDefinition(name, environ);
260
- if (definition === null)
261
- throw new Error(`A2A agent '${name}' disappeared during configuration.`);
262
- return definition;
263
- });
264
- export const serviceEnabledNames = (environ = process.env) => {
265
- const field = `${PREFIX}ENABLED`;
266
- if (environ[field] === undefined)
267
- throw new Error(`${field} is missing from the assembled environment floor.`);
268
- if (environ[field] === "")
269
- throw new Error(`${field} must be a JSON array of strings; [] enables none.`);
270
- const configured = jsonStrings(environ[field], field);
271
- const { targets } = parseEnvironment(environ);
272
- const enabled = new Set();
273
- for (const name of configured) {
274
- assertAgentName(name, field);
275
- const target = targets.get(name);
276
- if (target === undefined)
277
- throw new Error(`${field} contains unknown A2A agent '${name}'.`);
278
- if (target.value === "")
279
- continue;
280
- if (enabled.has(name))
281
- throw new Error(`${field} contains duplicate A2A agent '${name}'.`);
282
- enabled.add(name);
283
- }
284
- return [...enabled].toSorted();
116
+ export const outboundDefinitions = (environ = process.env) => {
117
+ const environment = parseEnvironment(environ);
118
+ return [...environment.definitions].map(([alias, { key, value }]) => {
119
+ let definition;
120
+ try {
121
+ definition = readDefinition(JSON.parse(value));
122
+ }
123
+ catch (cause) {
124
+ throw new ConfigurationError(key, `${key} must be an A2A agent definition.`, { cause });
125
+ }
126
+ if (definition.name !== alias)
127
+ throw new ConfigurationError(key, `${key} must define name '${alias}'.`);
128
+ return { alias, definition, enabled: environment.enabled(alias), provenance: { kind: "environment", source: key } };
129
+ });
285
130
  };
286
131
  export const hostedAgentConfiguration = (environ = process.env) => {
287
132
  const enabled = environ.PLURNK_A2A_EXPOSE;
288
133
  if (enabled === undefined || enabled.length === 0 || enabled === "0")
289
134
  return null;
290
135
  if (enabled !== "1")
291
- throw new Error(`PLURNK_A2A_EXPOSE must be 0 or 1; got ${JSON.stringify(enabled)}.`);
292
- parseEnvironment(environ);
136
+ throw new ConfigurationError("PLURNK_A2A_EXPOSE", `PLURNK_A2A_EXPOSE must be 0 or 1; got ${JSON.stringify(enabled)}.`);
137
+ shedRetiredListener(environ);
293
138
  const endpointPath = required(environ, "PLURNK_A2A_ENDPOINT_PATH");
294
139
  if (!endpointPath.startsWith("/") || endpointPath.includes("?") || endpointPath.includes("#")) {
295
- throw new Error("PLURNK_A2A_ENDPOINT_PATH must be an absolute URL pathname without query or fragment.");
140
+ throw new ConfigurationError("PLURNK_A2A_ENDPOINT_PATH", "PLURNK_A2A_ENDPOINT_PATH must be an absolute URL pathname without query or fragment.");
296
141
  }
297
142
  const projectRoot = environ.PLURNK_A2A_PROJECT_ROOT;
298
143
  if (projectRoot !== undefined && projectRoot.length > 0 && !isAbsolute(projectRoot)) {
299
- throw new Error("PLURNK_A2A_PROJECT_ROOT must be empty or an absolute filesystem path.");
144
+ throw new ConfigurationError("PLURNK_A2A_PROJECT_ROOT", "PLURNK_A2A_PROJECT_ROOT must be empty or an absolute filesystem path.");
300
145
  }
301
146
  const providerOrganization = environ.PLURNK_A2A_PROVIDER_ORGANIZATION;
302
147
  const providerUrl = environ.PLURNK_A2A_PROVIDER_URL;
303
148
  if ((providerOrganization?.length ?? 0) > 0 !== ((providerUrl?.length ?? 0) > 0)) {
304
- throw new Error("PLURNK_A2A_PROVIDER_ORGANIZATION and PLURNK_A2A_PROVIDER_URL must be set together.");
149
+ throw new ConfigurationError("PLURNK_A2A_PROVIDER_ORGANIZATION", "PLURNK_A2A_PROVIDER_ORGANIZATION and PLURNK_A2A_PROVIDER_URL must be set together.");
305
150
  }
306
151
  const endpointUrl = optionalUrl(environ.PLURNK_A2A_ENDPOINT_URL, "PLURNK_A2A_ENDPOINT_URL");
307
152
  // {§operator-config-only-home} — an absent key is a broken floor, never a silent "no
@@ -354,6 +199,13 @@ export const hostedAgentConfiguration = (environ = process.env) => {
354
199
  card,
355
200
  };
356
201
  };
357
- export const connectTimeoutMs = (environ = process.env) => positiveInteger(environ.PLURNK_A2A_CONNECT_TIMEOUT, "PLURNK_A2A_CONNECT_TIMEOUT");
358
- export const requestTimeoutMs = (environ = process.env) => positiveInteger(environ.PLURNK_A2A_REQUEST_TIMEOUT, "PLURNK_A2A_REQUEST_TIMEOUT");
202
+ export const connectTimeoutMs = (environ = process.env) => Knob.integer("PLURNK_A2A_CONNECT_TIMEOUT", 1, environ);
203
+ export const requestTimeoutMs = (environ = process.env) => Knob.integer("PLURNK_A2A_REQUEST_TIMEOUT", 1, environ);
204
+ export const validateConfiguration = (environ = process.env) => {
205
+ outboundDefinitions(environ);
206
+ hostedAgentConfiguration(environ);
207
+ connectTimeoutMs(environ);
208
+ requestTimeoutMs(environ);
209
+ errorDetail.limit(environ);
210
+ };
359
211
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type A2AAgentDefinition as A2aAgentDefinition } from "@plurnk/plurnk-contracts";
2
+ export declare const readDefinition: (value: unknown) => A2aAgentDefinition;
3
+ //# sourceMappingURL=definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,kBAAkB,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGpG,eAAO,MAAM,cAAc,UAAW,OAAO,KAAG,kBAa/C,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { Validator } from "@plurnk/plurnk-contracts";
2
+ // {§a2a-functionality}: environment and live admission share the same connection contract.
3
+ export const readDefinition = (value) => {
4
+ const definition = Validator.assertA2aAgentDefinition(structuredClone(value));
5
+ let url;
6
+ try {
7
+ url = new URL(definition.url);
8
+ }
9
+ catch (cause) {
10
+ throw new Error("url must be an absolute HTTP(S) URL.", { cause });
11
+ }
12
+ if (url.protocol !== "http:" && url.protocol !== "https:")
13
+ throw new Error("url must be an absolute HTTP(S) URL.");
14
+ if (definition.authorization !== undefined && Object.keys(definition.headers ?? {}).some((key) => key.toLowerCase() === "authorization")) {
15
+ throw new Error("authorization conflicts with an Authorization header.");
16
+ }
17
+ return definition;
18
+ };
19
+ //# sourceMappingURL=definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiD,MAAM,0BAA0B,CAAC;AAEpG,2FAA2F;AAC3F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAsB,EAAE;IACjE,MAAM,UAAU,GAAG,SAAS,CAAC,wBAAwB,CAAC,eAAe,CAAC,KAAK,CAAuB,CAAC,CAAC;IACpG,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACD,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACnH,IAAI,UAAU,CAAC,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,EAAE,CAAC;QACvI,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,5 +6,5 @@ export { default as A2aFunctionality, A2A_FAMILY, A2A_OWNER, aliasOfCard, render
6
6
  export { default as OutboundModule } from "./OutboundModule.ts";
7
7
  export { default as Module, type A2aModuleOptions, type A2aModuleRegistration } from "./Module.ts";
8
8
  export type { A2aWorkspaceConfiguration } from "./WorkspaceBinding.ts";
9
- export { connectTimeoutMs, hostedAgentConfiguration, outboundAgentDefinition, outboundAgentNames, outboundDefinitions, requestTimeoutMs, serviceEnabledNames, type HostedAgentConfiguration, type OutboundAgentDefinition, } from "./config.ts";
9
+ export { connectTimeoutMs, hostedAgentConfiguration, outboundDefinitions, requestTimeoutMs, validateConfiguration, type HostedAgentConfiguration, type OutboundAgentDefinition, } from "./config.ts";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC5I,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACnG,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EACH,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC/B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC5I,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACnG,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EACH,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC/B,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -5,5 +5,5 @@ export { connectHttpJsonAgent, connectHttpJsonAgentFromCard, discoverAgentCard }
5
5
  export { default as A2aFunctionality, A2A_FAMILY, A2A_OWNER, aliasOfCard, renderAgent } from "./Functionality.js";
6
6
  export { default as OutboundModule } from "./OutboundModule.js";
7
7
  export { default as Module } from "./Module.js";
8
- export { connectTimeoutMs, hostedAgentConfiguration, outboundAgentDefinition, outboundAgentNames, outboundDefinitions, requestTimeoutMs, serviceEnabledNames, } from "./config.js";
8
+ export { connectTimeoutMs, hostedAgentConfiguration, outboundDefinitions, requestTimeoutMs, validateConfiguration, } from "./config.js";
9
9
  //# 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,OAAO,EAAE,OAAO,IAAI,GAAG,EAA0B,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAA2B,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAuB,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,iBAAiB,EAAkC,MAAM,qBAAqB,CAAC;AAC5I,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAqD,MAAM,aAAa,CAAC;AAEnG,OAAO,EACH,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GAGtB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,GAAG,EAA0B,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAA2B,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAuB,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,iBAAiB,EAAkC,MAAM,qBAAqB,CAAC;AAC5I,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAqD,MAAM,aAAa,CAAC;AAEnG,OAAO,EACH,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GAGxB,MAAM,aAAa,CAAC"}
package/docs/a2a.md CHANGED
@@ -20,7 +20,8 @@ policy.
20
20
  Authentication is the definition's (headers or a token the operator
21
21
  configured), never a body's. An agent whose card is unreachable is listed
22
22
  `unavailable` with its exact Problem. `disable` and `remove` follow the family
23
- lifecycle; operator-configured agents (`PLURNK_A2A_*`) are disable-only.
23
+ lifecycle; operator-configured agents (`PLURNK_A2A_*`) can be enabled or disabled,
24
+ but their inherited definitions cannot be removed here.
24
25
 
25
26
  ## Working with an added agent
26
27
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-a2a",
3
- "version": "1.24.0",
3
+ "version": "1.26.0",
4
4
  "description": "A2A v1 exterior adapter for Plurnk",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -39,12 +39,12 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@a2a-js/sdk": "1.3.0",
42
- "@plurnk/plurnk-meta": "1.24.0",
42
+ "@plurnk/plurnk-meta": "1.26.0",
43
43
  "express": "5.2.1"
44
44
  },
45
45
  "peerDependencies": {
46
- "@plurnk/plurnk-contracts": "^1.24.0",
47
- "@plurnk/plurnk-schemes": "^1.24.0"
46
+ "@plurnk/plurnk-contracts": "^1.26.0",
47
+ "@plurnk/plurnk-schemes": "^1.26.0"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/express": "5.0.6"