@aramisfa/openclaw-a2a-outbound 0.1.1 → 0.2.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 (48) hide show
  1. package/README.md +261 -16
  2. package/dist/config.d.ts +17 -0
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +214 -8
  5. package/dist/config.js.map +1 -1
  6. package/dist/constants.d.ts +1 -1
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +1 -1
  9. package/dist/constants.js.map +1 -1
  10. package/dist/errors.d.ts +4 -0
  11. package/dist/errors.d.ts.map +1 -1
  12. package/dist/errors.js +37 -1
  13. package/dist/errors.js.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +44 -20
  17. package/dist/index.js.map +1 -1
  18. package/dist/request-normalization.d.ts +23 -0
  19. package/dist/request-normalization.d.ts.map +1 -0
  20. package/dist/request-normalization.js +109 -0
  21. package/dist/request-normalization.js.map +1 -0
  22. package/dist/result-shape.d.ts +68 -25
  23. package/dist/result-shape.d.ts.map +1 -1
  24. package/dist/result-shape.js +192 -59
  25. package/dist/result-shape.js.map +1 -1
  26. package/dist/schemas.d.ts +81 -779
  27. package/dist/schemas.d.ts.map +1 -1
  28. package/dist/schemas.js +308 -275
  29. package/dist/schemas.js.map +1 -1
  30. package/dist/sdk-client-pool.d.ts +8 -4
  31. package/dist/sdk-client-pool.d.ts.map +1 -1
  32. package/dist/sdk-client-pool.js +21 -1
  33. package/dist/sdk-client-pool.js.map +1 -1
  34. package/dist/service.d.ts +33 -4
  35. package/dist/service.d.ts.map +1 -1
  36. package/dist/service.js +381 -60
  37. package/dist/service.js.map +1 -1
  38. package/dist/target-catalog.d.ts +66 -0
  39. package/dist/target-catalog.d.ts.map +1 -0
  40. package/dist/target-catalog.js +309 -0
  41. package/dist/target-catalog.js.map +1 -0
  42. package/dist/task-handle-registry.d.ts +29 -0
  43. package/dist/task-handle-registry.d.ts.map +1 -0
  44. package/dist/task-handle-registry.js +141 -0
  45. package/dist/task-handle-registry.js.map +1 -0
  46. package/openclaw.plugin.json +68 -1
  47. package/package.json +9 -5
  48. package/skills/remote-agent/SKILL.md +93 -0
@@ -1,83 +1,216 @@
1
- export const OPERATIONS = {
2
- DELEGATE: "a2a_delegate",
3
- TASK_STATUS: "a2a_task_status",
4
- TASK_CANCEL: "a2a_task_cancel",
5
- };
6
- function taskState(task) {
7
- return task.status.state;
8
- }
9
- export function delegateSuccess(target, raw) {
10
- if (raw.kind === "task") {
11
- return {
12
- ok: true,
13
- operation: OPERATIONS.DELEGATE,
14
- target,
15
- summary: {
16
- kind: "task",
17
- taskId: raw.id,
18
- status: taskState(raw),
19
- },
20
- raw,
21
- };
1
+ export const REMOTE_AGENT_OPERATION = "remote_agent";
2
+ function textParts(parts) {
3
+ return parts.flatMap((part) => part.kind === "text" && typeof part.text === "string" ? [part.text] : []);
4
+ }
5
+ function extractMessageText(message) {
6
+ const texts = textParts(message.parts);
7
+ return texts.length > 0 ? texts.join("\n\n") : undefined;
8
+ }
9
+ function cloneArtifact(artifact) {
10
+ return {
11
+ artifactId: artifact.artifactId,
12
+ parts: [...artifact.parts],
13
+ ...(artifact.description !== undefined
14
+ ? { description: artifact.description }
15
+ : {}),
16
+ ...(artifact.extensions !== undefined
17
+ ? { extensions: [...artifact.extensions] }
18
+ : {}),
19
+ ...(artifact.metadata !== undefined ? { metadata: artifact.metadata } : {}),
20
+ ...(artifact.name !== undefined ? { name: artifact.name } : {}),
21
+ };
22
+ }
23
+ function extractArtifacts(task) {
24
+ if (!Array.isArray(task.artifacts) || task.artifacts.length === 0) {
25
+ return undefined;
22
26
  }
27
+ return task.artifacts.map(cloneArtifact);
28
+ }
29
+ function extractTaskText(task) {
30
+ const historyText = task.history?.flatMap((message) => {
31
+ const text = extractMessageText(message);
32
+ return text !== undefined ? [text] : [];
33
+ });
34
+ const artifactText = extractArtifacts(task)?.flatMap((artifact) => textParts(artifact.parts));
35
+ const texts = [...(historyText ?? []), ...(artifactText ?? [])];
36
+ return texts.length > 0 ? texts.join("\n\n") : undefined;
37
+ }
38
+ function baseSummary(target) {
23
39
  return {
24
- ok: true,
25
- operation: OPERATIONS.DELEGATE,
26
- target,
27
- summary: {
28
- kind: "message",
29
- messageId: raw.messageId,
30
- role: raw.role,
31
- },
32
- raw,
40
+ ...(target.alias !== undefined ? { target_alias: target.alias } : {}),
41
+ ...(target.displayName !== undefined
42
+ ? { target_name: target.displayName }
43
+ : {}),
44
+ target_url: target.baseUrl,
45
+ ...(target.streamingSupported !== undefined
46
+ ? { streaming_supported: target.streamingSupported }
47
+ : {}),
33
48
  };
34
49
  }
35
- export function delegateFailure(target, error) {
50
+ function withTaskContext(summary, taskId, taskHandle) {
36
51
  return {
37
- ok: false,
38
- operation: OPERATIONS.DELEGATE,
39
- ...(target ? { target } : {}),
40
- error,
52
+ ...summary,
53
+ ...(taskId !== undefined ? { task_id: taskId } : {}),
54
+ ...(taskHandle !== undefined ? { task_handle: taskHandle } : {}),
55
+ ...(taskId !== undefined || taskHandle !== undefined
56
+ ? { can_watch: true }
57
+ : {}),
41
58
  };
42
59
  }
43
- export function taskStatusSuccess(target, taskId, raw) {
60
+ function messageSummary(target, raw, taskHandle) {
61
+ return withTaskContext({
62
+ ...baseSummary(target),
63
+ ...(extractMessageText(raw) !== undefined
64
+ ? { message_text: extractMessageText(raw) }
65
+ : {}),
66
+ }, raw.taskId, taskHandle);
67
+ }
68
+ function taskSummary(target, raw, taskHandle) {
69
+ return withTaskContext({
70
+ ...baseSummary(target),
71
+ task_id: raw.id,
72
+ status: raw.status.state,
73
+ ...(extractTaskText(raw) !== undefined
74
+ ? { message_text: extractTaskText(raw) }
75
+ : {}),
76
+ ...(extractArtifacts(raw) !== undefined
77
+ ? { artifacts: extractArtifacts(raw) }
78
+ : {}),
79
+ }, raw.id, taskHandle);
80
+ }
81
+ function artifactUpdateSummary(target, raw, taskHandle) {
82
+ return withTaskContext({
83
+ ...baseSummary(target),
84
+ artifacts: [
85
+ cloneArtifact({
86
+ artifactId: raw.artifact.artifactId,
87
+ parts: [...raw.artifact.parts],
88
+ ...(raw.artifact.description !== undefined
89
+ ? { description: raw.artifact.description }
90
+ : {}),
91
+ ...(raw.artifact.extensions !== undefined
92
+ ? { extensions: [...raw.artifact.extensions] }
93
+ : {}),
94
+ ...(raw.artifact.metadata !== undefined
95
+ ? { metadata: raw.artifact.metadata }
96
+ : {}),
97
+ ...(raw.artifact.name !== undefined ? { name: raw.artifact.name } : {}),
98
+ }),
99
+ ],
100
+ }, raw.taskId, taskHandle);
101
+ }
102
+ export function summarizeStreamEvent(target, event, taskHandle) {
103
+ switch (event.kind) {
104
+ case "message":
105
+ return messageSummary(target, event, taskHandle);
106
+ case "task":
107
+ return taskSummary(target, event, taskHandle);
108
+ case "status-update":
109
+ return withTaskContext({
110
+ ...baseSummary(target),
111
+ status: event.status.state,
112
+ }, event.taskId, taskHandle);
113
+ case "artifact-update":
114
+ return artifactUpdateSummary(target, event, taskHandle);
115
+ }
116
+ }
117
+ function successEnvelope(action, summary, raw) {
44
118
  return {
45
119
  ok: true,
46
- operation: OPERATIONS.TASK_STATUS,
47
- target,
48
- summary: {
49
- taskId,
50
- status: taskState(raw),
51
- },
120
+ operation: REMOTE_AGENT_OPERATION,
121
+ action,
122
+ summary,
52
123
  raw,
53
124
  };
54
125
  }
55
- export function taskStatusFailure(target, error) {
126
+ export function remoteAgentFailure(action, error) {
56
127
  return {
57
128
  ok: false,
58
- operation: OPERATIONS.TASK_STATUS,
59
- ...(target ? { target } : {}),
129
+ operation: REMOTE_AGENT_OPERATION,
130
+ action,
60
131
  error,
61
132
  };
62
133
  }
63
- export function taskCancelSuccess(target, taskId, raw) {
134
+ function listTargetSummary(entry) {
64
135
  return {
65
- ok: true,
66
- operation: OPERATIONS.TASK_CANCEL,
67
- target,
68
- summary: {
69
- taskId,
70
- status: taskState(raw),
71
- },
72
- raw,
136
+ target_alias: entry.target.alias ?? "",
137
+ target_url: entry.target.baseUrl,
138
+ default: entry.default,
139
+ tags: [...entry.tags],
140
+ examples: [...entry.examples],
141
+ ...(entry.target.displayName !== undefined
142
+ ? { target_name: entry.target.displayName }
143
+ : {}),
144
+ ...(entry.target.description !== undefined
145
+ ? { description: entry.target.description }
146
+ : {}),
147
+ ...(entry.card.streamingSupported !== undefined
148
+ ? { streaming_supported: entry.card.streamingSupported }
149
+ : entry.target.streamingSupported !== undefined
150
+ ? { streaming_supported: entry.target.streamingSupported }
151
+ : {}),
152
+ ...(entry.card.preferredTransport !== undefined
153
+ ? { preferred_transport: entry.card.preferredTransport }
154
+ : {}),
155
+ ...(entry.card.skillSummaries.length > 0
156
+ ? {
157
+ skills: entry.card.skillSummaries.map((skill) => ({
158
+ id: skill.id,
159
+ name: skill.name,
160
+ description: skill.description,
161
+ tags: [...skill.tags],
162
+ examples: [...skill.examples],
163
+ })),
164
+ }
165
+ : {}),
166
+ ...(entry.card.lastRefreshedAt !== undefined
167
+ ? { last_refreshed_at: entry.card.lastRefreshedAt }
168
+ : {}),
169
+ ...(entry.card.lastRefreshError !== undefined
170
+ ? { last_refresh_error: entry.card.lastRefreshError }
171
+ : {}),
73
172
  };
74
173
  }
75
- export function taskCancelFailure(target, error) {
174
+ export function listTargetsSuccess(entries) {
175
+ return successEnvelope("list_targets", {
176
+ targets: entries.map(listTargetSummary),
177
+ }, entries);
178
+ }
179
+ export function sendSuccess(target, raw, taskHandle) {
180
+ return successEnvelope("send", raw.kind === "task"
181
+ ? taskSummary(target, raw, taskHandle)
182
+ : messageSummary(target, raw, taskHandle), raw);
183
+ }
184
+ function streamSuccess(action, target, events, taskHandle) {
185
+ const finalEvent = events.at(-1);
186
+ if (!finalEvent) {
187
+ throw new TypeError("stream success requires at least one event");
188
+ }
189
+ return successEnvelope(action, summarizeStreamEvent(target, finalEvent, taskHandle), {
190
+ events,
191
+ finalEvent,
192
+ });
193
+ }
194
+ export function sendStreamSuccess(target, events, taskHandle) {
195
+ return streamSuccess("send", target, events, taskHandle);
196
+ }
197
+ export function watchSuccess(target, events, taskHandle) {
198
+ return streamSuccess("watch", target, events, taskHandle);
199
+ }
200
+ export function statusSuccess(target, raw, taskHandle) {
201
+ return successEnvelope("status", taskSummary(target, raw, taskHandle), raw);
202
+ }
203
+ export function cancelSuccess(target, raw, taskHandle) {
204
+ return successEnvelope("cancel", taskSummary(target, raw, taskHandle), raw);
205
+ }
206
+ export function streamUpdate(action, target, raw) {
76
207
  return {
77
- ok: false,
78
- operation: OPERATIONS.TASK_CANCEL,
79
- ...(target ? { target } : {}),
80
- error,
208
+ ok: true,
209
+ operation: REMOTE_AGENT_OPERATION,
210
+ action,
211
+ phase: "update",
212
+ summary: summarizeStreamEvent(target, raw),
213
+ raw,
81
214
  };
82
215
  }
83
216
  //# sourceMappingURL=result-shape.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"result-shape.js","sourceRoot":"","sources":["../src/result-shape.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,QAAQ,EAAE,cAAc;IACxB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;CACtB,CAAC;AA2BX,SAAS,SAAS,CAAC,IAAU;IAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAsB,EACtB,GAAsB;IAEtB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO;YACL,EAAE,EAAE,IAAI;YACR,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,MAAM;YACN,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,GAAG,CAAC,EAAE;gBACd,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC;aACvB;YACD,GAAG;SACJ,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,UAAU,CAAC,QAAQ;QAC9B,MAAM;QACN,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf;QACD,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAkC,EAClC,KAAgB;IAEhB,OAAO;QACL,EAAE,EAAE,KAAK;QACT,SAAS,EAAE,UAAU,CAAC,QAAQ;QAC9B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAsB,EACtB,MAAc,EACd,GAAS;IAET,OAAO;QACL,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,UAAU,CAAC,WAAW;QACjC,MAAM;QACN,OAAO,EAAE;YACP,MAAM;YACN,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC;SACvB;QACD,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAkC,EAClC,KAAgB;IAEhB,OAAO;QACL,EAAE,EAAE,KAAK;QACT,SAAS,EAAE,UAAU,CAAC,WAAW;QACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAsB,EACtB,MAAc,EACd,GAAS;IAET,OAAO;QACL,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,UAAU,CAAC,WAAW;QACjC,MAAM;QACN,OAAO,EAAE;YACP,MAAM;YACN,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC;SACvB;QACD,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAkC,EAClC,KAAgB;IAEhB,OAAO;QACL,EAAE,EAAE,KAAK;QACT,SAAS,EAAE,UAAU,CAAC,WAAW;QACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"result-shape.js","sourceRoot":"","sources":["../src/result-shape.ts"],"names":[],"mappings":"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"}