@plurnk/plurnk-a2a 1.17.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/.env.defaults +12 -8
  2. package/README.md +16 -13
  3. package/SPEC.md +155 -37
  4. package/dist/A2a.d.ts +19 -5
  5. package/dist/A2a.d.ts.map +1 -1
  6. package/dist/A2a.js +120 -33
  7. package/dist/A2a.js.map +1 -1
  8. package/dist/A2aMessage.d.ts +2 -1
  9. package/dist/A2aMessage.d.ts.map +1 -1
  10. package/dist/A2aMessage.js +11 -6
  11. package/dist/A2aMessage.js.map +1 -1
  12. package/dist/A2aProjection.d.ts +13 -4
  13. package/dist/A2aProjection.d.ts.map +1 -1
  14. package/dist/A2aProjection.js +94 -52
  15. package/dist/A2aProjection.js.map +1 -1
  16. package/dist/Functionality.d.ts +6 -4
  17. package/dist/Functionality.d.ts.map +1 -1
  18. package/dist/Functionality.js +18 -17
  19. package/dist/Functionality.js.map +1 -1
  20. package/dist/Module.d.ts +8 -15
  21. package/dist/Module.d.ts.map +1 -1
  22. package/dist/Module.js +75 -40
  23. package/dist/Module.js.map +1 -1
  24. package/dist/OutboundModule.d.ts +0 -1
  25. package/dist/OutboundModule.d.ts.map +1 -1
  26. package/dist/OutboundModule.js +4 -7
  27. package/dist/OutboundModule.js.map +1 -1
  28. package/dist/PlurnkAgentExecutor.d.ts +4 -1
  29. package/dist/PlurnkAgentExecutor.d.ts.map +1 -1
  30. package/dist/PlurnkAgentExecutor.js +51 -16
  31. package/dist/PlurnkAgentExecutor.js.map +1 -1
  32. package/dist/PlurnkRequestHandler.d.ts +11 -0
  33. package/dist/PlurnkRequestHandler.d.ts.map +1 -0
  34. package/dist/PlurnkRequestHandler.js +19 -0
  35. package/dist/PlurnkRequestHandler.js.map +1 -0
  36. package/dist/PlurnkTaskStore.d.ts +2 -1
  37. package/dist/PlurnkTaskStore.d.ts.map +1 -1
  38. package/dist/PlurnkTaskStore.js +88 -42
  39. package/dist/PlurnkTaskStore.js.map +1 -1
  40. package/dist/WorkspaceBinding.d.ts +1 -0
  41. package/dist/WorkspaceBinding.d.ts.map +1 -1
  42. package/dist/WorkspaceBinding.js +14 -5
  43. package/dist/WorkspaceBinding.js.map +1 -1
  44. package/dist/config.d.ts +5 -2
  45. package/dist/config.d.ts.map +1 -1
  46. package/dist/config.js +46 -20
  47. package/dist/config.js.map +1 -1
  48. package/dist/index.d.ts +1 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +1 -1
  51. package/dist/index.js.map +1 -1
  52. package/docs/a2a.md +54 -15
  53. package/package.json +6 -6
  54. package/docs/agents.md +0 -42
package/dist/Module.js CHANGED
@@ -1,39 +1,40 @@
1
- import { createServer } from "node:http";
2
- import { A2A_PROTOCOL_VERSION, AGENT_CARD_PATH, } from "@a2a-js/sdk";
3
- import { DefaultRequestHandler } from "@a2a-js/sdk/server";
1
+ import { A2A_PROTOCOL_VERSION, AGENT_CARD_PATH, AgentCard, } from "@a2a-js/sdk";
4
2
  import { UserBuilder, agentCardHandler, restHandler, } from "@a2a-js/sdk/server/express";
5
- import express from "express";
3
+ import express, {} from "express";
6
4
  import PlurnkAgentExecutor from "./PlurnkAgentExecutor.js";
5
+ import PlurnkRequestHandler from "./PlurnkRequestHandler.js";
7
6
  import PlurnkTaskStore from "./PlurnkTaskStore.js";
8
7
  import WorkspaceBinding, {} from "./WorkspaceBinding.js";
9
- const listen = (server, port, host) => new Promise((resolve, reject) => {
10
- server.once("error", reject);
11
- server.listen(port, host, () => {
12
- server.off("error", reject);
13
- resolve();
8
+ // {§a2a-hosted-bearer} — the SDK's user for a caller that presented the configured bearer.
9
+ const BEARER_USER = { get isAuthenticated() { return true; }, get userName() { return "bearer"; } };
10
+ // The REST binding's error body: google.rpc.Status carrying one ErrorInfo detail, the shape the SDK
11
+ // gives every other refusal on this interface.
12
+ const restError = (res, code, status, reason, message) => {
13
+ res.status(code).json({
14
+ error: {
15
+ code,
16
+ status,
17
+ message,
18
+ details: [{ "@type": "type.googleapis.com/google.rpc.ErrorInfo", reason, domain: "plurnk.xyz" }],
19
+ },
14
20
  });
15
- });
16
- const close = (server) => new Promise((resolve, reject) => {
17
- server.close((error) => error === undefined ? resolve() : reject(error));
18
- });
21
+ };
19
22
  export default class Module {
20
- #server;
21
- #host;
23
+ #app;
22
24
  #card;
23
25
  #endpointPath;
24
26
  #endpointUrl;
25
- #port;
27
+ #closed = false;
26
28
  constructor(application, options) {
27
- this.#host = options.host ?? "127.0.0.1";
28
- this.#port = options.port ?? 0;
29
- this.#endpointPath = options.endpointPath ?? "/a2a";
29
+ this.#endpointPath = options.endpointPath;
30
30
  this.#endpointUrl = options.endpointUrl;
31
31
  if (!this.#endpointPath.startsWith("/") || this.#endpointPath.includes("?") || this.#endpointPath.includes("#")) {
32
32
  throw new TypeError("A2A endpointPath must be an absolute URL pathname without query or fragment.");
33
33
  }
34
34
  if (options.card.securityRequirements.length > 0 || Object.keys(options.card.securitySchemes).length > 0) {
35
- throw new TypeError("An unauthenticated A2A listener cannot advertise security requirements or schemes.");
35
+ throw new TypeError("The A2A card cannot declare security; the adapter declares the bearer scheme it enforces.");
36
36
  }
37
+ const { token } = options;
37
38
  this.#card = structuredClone(options.card);
38
39
  this.#card.capabilities = {
39
40
  streaming: true,
@@ -47,45 +48,79 @@ export default class Module {
47
48
  protocolVersion: A2A_PROTOCOL_VERSION,
48
49
  tenant: "",
49
50
  }];
51
+ // {§a2a-hosted-bearer} — the card declares exactly what the endpoint enforces: one `http`
52
+ // bearer scheme when a token is configured, none otherwise.
53
+ this.#card.securitySchemes = token.length === 0 ? {} : {
54
+ bearer: {
55
+ scheme: {
56
+ $case: "httpAuthSecurityScheme",
57
+ value: { scheme: "bearer", bearerFormat: "", description: "The bearer configured for this exposure." },
58
+ },
59
+ },
60
+ };
61
+ this.#card.securityRequirements = token.length === 0 ? [] : [{ schemes: { bearer: { list: [] } } }];
50
62
  const workspace = new WorkspaceBinding(application, options.workspace);
51
63
  const store = new PlurnkTaskStore(application, workspace);
52
- const executor = new PlurnkAgentExecutor(application, workspace, store);
53
- const handler = new DefaultRequestHandler(this.#card, store, executor);
64
+ const executor = new PlurnkAgentExecutor(application, workspace, store, options.proposals);
65
+ const handler = new PlurnkRequestHandler(this.#card, store, executor);
54
66
  const app = express();
55
- app.use(`/${AGENT_CARD_PATH}`, agentCardHandler({ agentCardProvider: handler }));
56
- app.use(this.#endpointPath, restHandler({
67
+ // {§module-lifecycle} — close() stops accepting external work; the routes stay mounted on the
68
+ // daemon's listener until the process ends, so they answer that the exposure is gone.
69
+ app.use((_req, res, next) => {
70
+ if (this.#closed) {
71
+ restError(res, 503, "UNAVAILABLE", "EXPOSURE_CLOSED", "The A2A exposure has stopped accepting requests.");
72
+ return;
73
+ }
74
+ next();
75
+ });
76
+ // The SDK writes the provided object verbatim, so the well-known route is handed the card's
77
+ // proto3 JSON form: a declared security scheme is a oneof, and its TypeScript discriminator
78
+ // (`$case`) is not wire format.
79
+ app.use(`/${AGENT_CARD_PATH}`, agentCardHandler({ agentCardProvider: async () => AgentCard.toJSON(this.#card) }));
80
+ const endpoint = restHandler({
57
81
  requestHandler: handler,
58
- userBuilder: UserBuilder.noAuthentication,
59
- }));
60
- this.#server = createServer(app);
82
+ userBuilder: token.length === 0 ? UserBuilder.noAuthentication : async () => BEARER_USER,
83
+ });
84
+ if (token.length === 0)
85
+ app.use(this.#endpointPath, endpoint);
86
+ else
87
+ app.use(this.#endpointPath, Module.#bearerGate(token), endpoint);
88
+ this.#app = app;
61
89
  }
62
90
  static init(options) {
63
91
  return {
64
92
  start: async (application) => {
65
93
  const module = new Module(application, options);
66
- await module.listen();
94
+ module.#mount(application);
67
95
  return module;
68
96
  },
69
97
  };
70
98
  }
71
- async listen() {
72
- await listen(this.#server, this.#port, this.#host);
73
- const address = this.address();
74
- const endpoint = this.#endpointUrl ?? `http://${address.host}:${address.port}${this.#endpointPath}`;
75
- this.#card.supportedInterfaces[0].url = endpoint;
76
- return { ...address, endpoint };
99
+ // {§a2a-hosted-bearer} — the perimeter: the exact bearer, checked before the SDK reads anything.
100
+ // The card at the well-known path is not behind it, so a caller can discover the scheme.
101
+ static #bearerGate(token) {
102
+ return (req, res, next) => {
103
+ if (req.headers.authorization === `Bearer ${token}`) {
104
+ next();
105
+ return;
106
+ }
107
+ res.setHeader("www-authenticate", "Bearer");
108
+ restError(res, 401, "UNAUTHENTICATED", "BEARER_TOKEN_REQUIRED", "The request did not provide the required bearer token.");
109
+ };
77
110
  }
78
- address() {
79
- const address = this.#server.address();
80
- if (address === null || typeof address === "string")
81
- throw new Error("plurnk-a2a: listener is not active");
82
- return { host: this.#host, port: address.port };
111
+ // {§http-host} — the exposure rides the daemon's one listener: the public card at the standard
112
+ // well-known path and the interface at its endpoint path, both on the service address.
113
+ #mount(host) {
114
+ const address = host.httpAddress();
115
+ this.#card.supportedInterfaces[0].url = this.#endpointUrl ?? `http://${address.host}:${address.port}${this.#endpointPath}`;
116
+ host.registerHttpRoute(`/${AGENT_CARD_PATH}`, this.#app);
117
+ host.registerHttpRoute(this.#endpointPath, this.#app);
83
118
  }
84
119
  agentCard() {
85
120
  return structuredClone(this.#card);
86
121
  }
87
122
  close() {
88
- return close(this.#server);
123
+ this.#closed = true;
89
124
  }
90
125
  }
91
126
  //# sourceMappingURL=Module.js.map
@@ -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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"}
@@ -1,6 +1,5 @@
1
1
  import A2aFunctionality, { type FunctionalityFamilyHandle } from "./Functionality.ts";
2
2
  interface SetupSeam {
3
- registerScheme(name: string, handler: object): Promise<void>;
4
3
  registerFunctionalityAdapter(adapter: A2aFunctionality): FunctionalityFamilyHandle;
5
4
  }
6
5
  export default class OutboundModule {
@@ -1 +1 @@
1
- {"version":3,"file":"OutboundModule.d.ts","sourceRoot":"","sources":["../src/OutboundModule.ts"],"names":[],"mappings":"AAMA,OAAO,gBAAgB,EAAE,EAAE,KAAK,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,UAAU,SAAS;IACf,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,4BAA4B,CAAC,OAAO,EAAE,gBAAgB,GAAG,yBAAyB,CAAC;CACtF;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;;IAG/B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CAEhE;IAED,OAAO,eAEN;IAED,IAAI,aAAa,IAAI,gBAAgB,CAEpC;IAEK,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1C;CACJ"}
1
+ {"version":3,"file":"OutboundModule.d.ts","sourceRoot":"","sources":["../src/OutboundModule.ts"],"names":[],"mappings":"AAIA,OAAO,gBAAgB,EAAE,EAAE,KAAK,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,UAAU,SAAS;IACf,4BAA4B,CAAC,OAAO,EAAE,gBAAgB,GAAG,yBAAyB,CAAC;CACtF;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;;IAG/B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CAEhE;IAED,OAAO,eAEN;IAED,IAAI,aAAa,IAAI,gBAAgB,CAEpC;IAEK,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1C;CACJ"}
@@ -1,9 +1,7 @@
1
- // {§a2a-agents-functionality} — the outbound half of the A2A package as a
2
- // daemon module: it registers the `a2a` resource scheme bound to the Worker's
3
- // `agents` Functionality and the family adapter beneath the shared coordinator.
4
- // The hosted inbound listener ({§a2a-inbound-exposure}) remains the separate,
5
- // optional `Module`.
6
- import A2a from "./A2a.js";
1
+ // {§a2a-functionality} — the outbound half of the A2A package as a daemon
2
+ // module: it registers the family adapter beneath the shared coordinator, and
3
+ // the adapter carries the scheme face that serves `a2a://`. The hosted inbound
4
+ // listener ({§a2a-inbound-exposure}) remains the separate, optional `Module`.
7
5
  import A2aFunctionality, {} from "./Functionality.js";
8
6
  export default class OutboundModule {
9
7
  #functionality;
@@ -17,7 +15,6 @@ export default class OutboundModule {
17
15
  return this.#functionality;
18
16
  }
19
17
  async setup(seam) {
20
- await seam.registerScheme("a2a", new A2a((authority, ctx) => this.#functionality.resolve(authority, ctx.workspaceId)));
21
18
  this.#functionality.attach(seam.registerFunctionalityAdapter(this.#functionality));
22
19
  }
23
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OutboundModule.js","sourceRoot":"","sources":["../src/OutboundModule.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,qBAAqB;AACrB,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,gBAAgB,EAAE,EAAkC,MAAM,oBAAoB,CAAC;AAOtF,MAAM,CAAC,OAAO,OAAO,cAAc;IACtB,cAAc,CAAmB;IAE1C,MAAM,CAAC,IAAI,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;QAC5C,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,YAAoB,GAAsB;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAe;QACvB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACvH,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACvF,CAAC;CACJ"}
1
+ {"version":3,"file":"OutboundModule.js","sourceRoot":"","sources":["../src/OutboundModule.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,OAAO,gBAAgB,EAAE,EAAkC,MAAM,oBAAoB,CAAC;AAMtF,MAAM,CAAC,OAAO,OAAO,cAAc;IACtB,cAAc,CAAmB;IAE1C,MAAM,CAAC,IAAI,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;QAC5C,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,YAAoB,GAAsB;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAe;QACvB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACvF,CAAC;CACJ"}
@@ -1,10 +1,13 @@
1
+ import { type Message } from "@a2a-js/sdk";
1
2
  import { type AgentExecutor, type ExecutionEventBus, type RequestContext } from "@a2a-js/sdk/server";
2
3
  import { type ApplicationPort } from "@plurnk/plurnk-contracts";
4
+ import type { HostedProposals } from "./config.ts";
3
5
  import PlurnkTaskStore from "./PlurnkTaskStore.ts";
4
6
  import type WorkspaceBinding from "./WorkspaceBinding.ts";
5
7
  export default class PlurnkAgentExecutor implements AgentExecutor {
6
8
  #private;
7
- constructor(port: ApplicationPort, workspace: WorkspaceBinding, store: PlurnkTaskStore);
9
+ constructor(port: ApplicationPort, workspace: WorkspaceBinding, store: PlurnkTaskStore, proposals: HostedProposals);
10
+ validateMessage(message: Message | undefined): Promise<void>;
8
11
  execute(request: RequestContext, events: ExecutionEventBus): Promise<void>;
9
12
  cancelTask(taskId: string, events: ExecutionEventBus): Promise<void>;
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PlurnkAgentExecutor.d.ts","sourceRoot":"","sources":["../src/PlurnkAgentExecutor.ts"],"names":[],"mappings":"AAKA,OAAO,EAGH,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACtB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAGH,KAAK,eAAe,EAIvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,eAA2C,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAyC1D,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,aAAa;;IAQ7D,YAAY,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAIrF;IAEK,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8D/E;IAEK,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBzE;CAkKJ"}
1
+ {"version":3,"file":"PlurnkAgentExecutor.d.ts","sourceRoot":"","sources":["../src/PlurnkAgentExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,OAAO,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EAGH,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACtB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAGH,KAAK,eAAe,EAIvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,eAA2C,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AA2C1D,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,aAAa;;IAS7D,YAAY,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAKjH;IAEK,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CASjE;IAEK,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8E/E;IAEK,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBzE;CAkKJ"}
@@ -1,4 +1,4 @@
1
- import { TaskState, } from "@a2a-js/sdk";
1
+ import { TaskState, SendMessageRequest, } from "@a2a-js/sdk";
2
2
  import { AgentEvent, ServerCallContext, } from "@a2a-js/sdk/server";
3
3
  import { ContentTypeNotSupportedError, RequestMalformedError, } from "@a2a-js/sdk/errors";
4
4
  import { Validator, WORKER_NAME, } from "@plurnk/plurnk-contracts";
@@ -22,29 +22,49 @@ const statusEvent = (task) => ({
22
22
  metadata: {},
23
23
  });
24
24
  const textOf = (message) => {
25
- const unsupported = message.parts.find(({ content }) => content?.$case !== "text");
26
- if (unsupported !== undefined) {
27
- throw new ContentTypeNotSupportedError("This Plurnk A2A exposure currently accepts text Message parts only.");
25
+ if (message.parts.length === 0)
26
+ throw new RequestMalformedError("The A2A Message has no Parts.");
27
+ const text = message.parts.flatMap(({ content }) => {
28
+ if (content === undefined)
29
+ throw new ContentTypeNotSupportedError("A Message Part has no content.");
30
+ switch (content.$case) {
31
+ case "text": return [content.value];
32
+ case "data": return [JSON.stringify(content.value, null, 2)];
33
+ case "url": return [content.value];
34
+ case "raw": return [];
35
+ }
36
+ }).join("\n");
37
+ if (text.trim().length === 0 && !message.parts.some((part) => part.content?.$case === "raw")) {
38
+ throw new RequestMalformedError("The A2A Message has no non-empty content.");
28
39
  }
29
- const text = message.parts
30
- .flatMap((part) => part.content?.$case === "text" ? [part.content.value] : [])
31
- .join("\n")
32
- .trim();
33
- if (text.length === 0)
34
- throw new RequestMalformedError("The A2A Message has no non-empty text content.");
35
40
  return text;
36
41
  };
37
42
  export default class PlurnkAgentExecutor {
38
43
  #port;
39
44
  #workspace;
40
45
  #store;
46
+ #proposals;
41
47
  #contextLocks = new Map();
42
48
  #ownedContexts = new Set();
43
49
  #activeTasks = new Set();
44
- constructor(port, workspace, store) {
50
+ constructor(port, workspace, store, proposals) {
45
51
  this.#port = port;
46
52
  this.#workspace = workspace;
47
53
  this.#store = store;
54
+ this.#proposals = proposals;
55
+ }
56
+ async validateMessage(message) {
57
+ if (message === undefined)
58
+ return; // The SDK owns required envelope fields.
59
+ const binding = message.taskId.length > 0 ? await this.#store.binding(message.taskId) : null;
60
+ const pending = binding === null ? undefined
61
+ : (await this.#port.pendingClientInteractions(binding.workspaceId))
62
+ .find((interaction) => interaction.workerId === binding.task.id
63
+ && interaction.loopId === binding.loop?.id);
64
+ if (pending !== undefined)
65
+ this.#interactionPayload(message, pending);
66
+ else
67
+ textOf(message);
48
68
  }
49
69
  async execute(request, events) {
50
70
  this.#activeTasks.add(request.taskId);
@@ -55,16 +75,31 @@ export default class PlurnkAgentExecutor {
55
75
  const pending = (await this.#port.pendingClientInteractions(workspaceId))
56
76
  .find((interaction) => interaction.workerId === binding.task.id) ?? null;
57
77
  const outcome = await this.#observe(binding.task.id, async () => {
78
+ const envelope = SendMessageRequest.toJSON({
79
+ ...request.request,
80
+ message: { ...request.userMessage, contextId: request.contextId, taskId: request.taskId },
81
+ });
82
+ const text = textOf(request.userMessage);
83
+ const modes = request.request.configuration?.acceptedOutputModes ?? [];
84
+ const body = modes.length === 0 ? text
85
+ : [text, `Accepted output media types: ${JSON.stringify(modes)}`].filter(Boolean).join("\n\n");
58
86
  if (pending !== null) {
59
- await this.#port.resolveClientInteraction(pending.interactionId, { status: "resolved", payload: this.#interactionPayload(request.userMessage, pending) });
87
+ await this.#port.resolveClientInteraction(pending.interactionId, { status: "resolved", payload: this.#interactionPayload(request.userMessage, pending) }, { body, source: PlurnkAgentExecutor.#source(request), envelope });
60
88
  return;
61
89
  }
62
90
  await this.#port.runLoop({
63
91
  workspaceId,
64
92
  workerId: binding.task.id,
65
- prompt: textOf(request.userMessage),
93
+ prompt: body,
94
+ envelope,
95
+ attachments: request.userMessage.parts.flatMap((part) => part.content?.$case === "raw" ? [{
96
+ name: part.filename,
97
+ mediaType: part.mediaType || "application/octet-stream",
98
+ bytes: part.content.value,
99
+ }] : []),
66
100
  source: PlurnkAgentExecutor.#source(request),
67
- policy: { proposals: "reject" },
101
+ messageAddress: PlurnkAgentExecutor.#source(request),
102
+ policy: { proposals: this.#proposals },
68
103
  });
69
104
  }, workspaceId, () => {
70
105
  events.publish(AgentEvent.task(snapshot));
@@ -106,10 +141,10 @@ export default class PlurnkAgentExecutor {
106
141
  }
107
142
  }
108
143
  async cancelTask(taskId, events) {
109
- const workspaceId = await this.#workspace.id();
110
144
  const binding = await this.#store.binding(taskId);
111
145
  if (binding === null)
112
146
  throw new Error(`A2A Task '${taskId}' has no Plurnk worker.`);
147
+ const { workspaceId } = binding;
113
148
  const activeExecutorWillPublish = this.#activeTasks.has(taskId);
114
149
  const outcome = await this.#observe(binding.task.id, async () => {
115
150
  await this.#port.cancelWorker({
@@ -196,7 +231,7 @@ export default class PlurnkAgentExecutor {
196
231
  });
197
232
  if (task === null)
198
233
  throw new Error(`A2A Task '${request.taskId}' was not visible after creation.`);
199
- resolved = { context, task, loop: null };
234
+ resolved = { workspaceId, context, task, loop: null };
200
235
  });
201
236
  if (resolved === null)
202
237
  throw new Error(`A2A Task '${request.taskId}' has no Plurnk binding.`);
@@ -1 +1 @@
1
- {"version":3,"file":"PlurnkAgentExecutor.js","sourceRoot":"","sources":["../src/PlurnkAgentExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlurnkAgentExecutor.js","sourceRoot":"","sources":["../src/PlurnkAgentExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { AgentCard, Message, SendMessageRequest, StreamResponse, Task } from "@a2a-js/sdk";
2
+ import { DefaultRequestHandler, type ServerCallContext } from "@a2a-js/sdk/server";
3
+ import type PlurnkAgentExecutor from "./PlurnkAgentExecutor.ts";
4
+ import type PlurnkTaskStore from "./PlurnkTaskStore.ts";
5
+ export default class PlurnkRequestHandler extends DefaultRequestHandler {
6
+ #private;
7
+ constructor(card: AgentCard, store: PlurnkTaskStore, executor: PlurnkAgentExecutor);
8
+ sendMessage(params: SendMessageRequest, context: ServerCallContext): Promise<Message | Task>;
9
+ sendMessageStream(params: SendMessageRequest, context: ServerCallContext): AsyncGenerator<StreamResponse>;
10
+ }
11
+ //# sourceMappingURL=PlurnkRequestHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlurnkRequestHandler.d.ts","sourceRoot":"","sources":["../src/PlurnkRequestHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AAIxD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,qBAAqB;;IAGnE,YAAY,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAGjF;IAEc,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAG1G;IAEe,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAAC,cAAc,CAAC,CAGxH;CACJ"}
@@ -0,0 +1,19 @@
1
+ import { DefaultRequestHandler } from "@a2a-js/sdk/server";
2
+ // Admission errors belong to the request, before the SDK starts Task execution.
3
+ // Execution errors belong to the Task. {§a2a-inbound-exposure}
4
+ export default class PlurnkRequestHandler extends DefaultRequestHandler {
5
+ #executor;
6
+ constructor(card, store, executor) {
7
+ super(card, store, executor);
8
+ this.#executor = executor;
9
+ }
10
+ async sendMessage(params, context) {
11
+ await this.#executor.validateMessage(params.message);
12
+ return super.sendMessage(params, context);
13
+ }
14
+ async *sendMessageStream(params, context) {
15
+ await this.#executor.validateMessage(params.message);
16
+ yield* super.sendMessageStream(params, context);
17
+ }
18
+ }
19
+ //# sourceMappingURL=PlurnkRequestHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlurnkRequestHandler.js","sourceRoot":"","sources":["../src/PlurnkRequestHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAA0B,MAAM,oBAAoB,CAAC;AAInF,gFAAgF;AAChF,+DAA+D;AAC/D,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,qBAAqB;IAC1D,SAAS,CAAsB;IAExC,YAAY,IAAe,EAAE,KAAsB,EAAE,QAA6B;QAC9E,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,MAA0B,EAAE,OAA0B;QAC7E,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAEQ,KAAK,CAAC,CAAC,iBAAiB,CAAC,MAA0B,EAAE,OAA0B;QACpF,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;CACJ"}
@@ -1,8 +1,9 @@
1
1
  import { type Task } from "@a2a-js/sdk";
2
2
  import { type ServerCallContext, type TaskStore } from "@a2a-js/sdk/server";
3
- import type { ApplicationLoopProjection, ApplicationPort, ApplicationWorkerProjection } from "@plurnk/plurnk-contracts";
3
+ import { type ApplicationLoopProjection, type ApplicationPort, type ApplicationWorkerProjection } from "@plurnk/plurnk-contracts";
4
4
  import type WorkspaceBinding from "./WorkspaceBinding.ts";
5
5
  export interface PlurnkTaskBinding {
6
+ readonly workspaceId: number;
6
7
  readonly context: ApplicationWorkerProjection;
7
8
  readonly task: ApplicationWorkerProjection;
8
9
  readonly loop: ApplicationLoopProjection | null;
@@ -1 +1 @@
1
- {"version":3,"file":"PlurnkTaskStore.d.ts","sourceRoot":"","sources":["../src/PlurnkTaskStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,KAAK,IAAI,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EACR,yBAAyB,EACzB,eAAe,EACf,2BAA2B,EAI9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI,CAAC;CACnD;AAoED,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,SAAS;;IAIrD,YAAY,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAG7D;IAEK,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA2B/D;IAEK,WAAW,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,CAUxE;IAEK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAIhF;IAEK,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhE;IAEK,IAAI,CACN,MAAM,EAAE,OAAO,aAAa,EAAE,gBAAgB,EAC9C,OAAO,EAAE,iBAAiB,GAC3B,OAAO,CAAC,OAAO,aAAa,EAAE,iBAAiB,CAAC,CAgDlD;CAmHJ"}
1
+ {"version":3,"file":"PlurnkTaskStore.d.ts","sourceRoot":"","sources":["../src/PlurnkTaskStore.ts"],"names":[],"mappings":"AACA,OAAO,EAMH,KAAK,IAAI,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAEH,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAGnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAK1D,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI,CAAC;CACnD;AAyED,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,SAAS;;IAIrD,YAAY,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAG7D;IAEK,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA+B/D;IAEK,WAAW,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,CAYxE;IAEK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAIhF;IAEK,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhE;IAEK,IAAI,CACN,MAAM,EAAE,OAAO,aAAa,EAAE,gBAAgB,EAC9C,OAAO,EAAE,iBAAiB,GAC3B,OAAO,CAAC,OAAO,aAAa,EAAE,iBAAiB,CAAC,CAuDlD;CA2HJ"}