@agentconnect.md/daemon 1.0.0-rc.283 → 1.0.0-rc.285

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.
@@ -1,7 +1,7 @@
1
1
  import { i as __require, o as __toESM, t as __commonJSMin } from "./rolldown-runtime-CE-6LUnI.js";
2
2
  import { t as require_src$1 } from "./src-DDtlVutj.js";
3
3
  import { T as NEVER, _ as record, a as array, b as unknown, d as literal, l as int, m as object, o as boolean, p as number, u as intersection, v as string, x as url, y as union } from "./schemas-CQkO9hC5.js";
4
- import { d as normalizeGitUrl, x as MEMORY_INDEX } from "./load-agents-DzCnR0cj.js";
4
+ import { d as normalizeGitUrl, x as MEMORY_INDEX } from "./load-agents-DLEvTgkd.js";
5
5
  import { c as registryPath, s as registryCachePath } from "./paths-DEcUO8lC.js";
6
6
  import { delimiter, dirname, isAbsolute, join, normalize, relative, resolve, sep } from "node:path";
7
7
  import { accessSync, constants, existsSync, mkdirSync, promises, readFileSync, rmSync, writeFileSync } from "node:fs";
@@ -350,39 +350,86 @@ const MEMORY_TOOL_NAMES = new Set(MEMORY_TOOLS.map((t) => t.name));
350
350
  * with. The requesting agent's identity is injected by the daemon from the
351
351
  * session context — it is NOT a tool input.
352
352
  */
353
- const COLLABORATION_TOOLS = [{
354
- name: "listChannelAgents",
355
- description: "List the other AI agents present in a channel — their id, name, displayName, description, and status — so you can discover peers to collaborate with. Omit `channel` to list agents in the channel this conversation is happening in. Only channels you are a member of can be listed, and only agents you are allowed to reach are returned.",
356
- inputSchema: obj({ channel: {
357
- type: "string",
358
- description: "Channel/chat id to list agents for. Defaults to the current channel."
359
- } })
360
- }, {
361
- name: "messageAgent",
362
- description: "Wake another AI agent by delivering a message into its session, so it picks the work up in its own turn. Use `toAgentId` from listChannelAgents. The message is delivered asynchronously — this does NOT return the peer's reply; the peer answers in the channel/thread (and can message you back). Omit `channel`/`thread` to target the same thread this conversation is in. Your identity as the caller is attached automatically — you cannot message yourself, and the target may be configured to reject calls from you (then `delivered` is false with a `reason`).",
363
- inputSchema: obj({
364
- toAgentId: {
365
- type: "string",
366
- description: "The agent id to message (from listChannelAgents)."
367
- },
368
- text: {
369
- type: "string",
370
- description: "The message to deliver into the target agent’s session."
371
- },
372
- channel: {
353
+ const COLLABORATION_TOOLS = [
354
+ {
355
+ name: "listChannelAgents",
356
+ description: "List the other AI agents present in a channel — their id, name, displayName, description, and status — so you can discover peers to collaborate with. Omit `channel` to list agents in the channel this conversation is happening in. Only channels you are a member of can be listed, and only agents you are allowed to reach are returned.",
357
+ inputSchema: obj({ channel: {
373
358
  type: "string",
374
- description: "Target channel/chat id. Defaults to the current channel."
375
- },
376
- thread: {
359
+ description: "Channel/chat id to list agents for. Defaults to the current channel."
360
+ } })
361
+ },
362
+ {
363
+ name: "messageAgent",
364
+ description: "Wake another AI agent by delivering a message into its session, so it picks the work up in its own turn. Use `toAgentId` from listChannelAgents. The message is delivered asynchronously — this does NOT return the peer's reply; the peer answers in the channel/thread (and can message you back). Omit `channel`/`thread` to target the same thread this conversation is in. Your identity as the caller is attached automatically — you cannot message yourself, and the target may be configured to reject calls from you (then `delivered` is false with a `reason`). When you are REPLYING to an agent that messaged you (you set `toAgentId` to that same agent), your reply automatically carries the correlation back to it — you do NOT need to pass `correlationId`; the daemon threads it for you so orchestration results are matched. Pass `correlationId` only to override this default (advanced/manual use).",
365
+ inputSchema: obj({
366
+ toAgentId: {
367
+ type: "string",
368
+ description: "The agent id to message (from listChannelAgents)."
369
+ },
370
+ text: {
371
+ type: "string",
372
+ description: "The message to deliver into the target agent’s session."
373
+ },
374
+ channel: {
375
+ type: "string",
376
+ description: "Target channel/chat id. Defaults to the current channel."
377
+ },
378
+ thread: {
379
+ type: "string",
380
+ description: "Target thread. Defaults to the current thread; \"\" targets the channel root."
381
+ },
382
+ correlationId: {
383
+ type: "string",
384
+ description: "Optional opaque id to correlate a reply back to this request (used by multi-agent orchestration). You normally do NOT set this: when replying to an agent that called you, the correlation is inherited automatically. Provide it only to override the inherited value."
385
+ }
386
+ }, ["toAgentId", "text"])
387
+ },
388
+ {
389
+ name: "startOrchestration",
390
+ description: "Fan out a batch of subtasks to worker agents in one atomic step, then wait asynchronously. The daemon persists an orchestration record (all subtasks pending) BEFORE delivering, delivers each subtask to its worker (attaching a correlationId so their replies map back), and schedules a one-shot deadline that wakes THIS session when it fires. Returns { orchestrationId, delivered:[correlationId…], failed:[{correlationId, reason}…] }. This does NOT return the workers’ results — you are woken (by a worker reply or the deadline) and then call getOrchestration to read statuses/results and summarize. Tell each worker in its `text` to report back to you when done (their reply auto-carries the correlationId).",
391
+ inputSchema: obj({
392
+ subtasks: {
393
+ type: "array",
394
+ description: "The subtasks to fan out, one per worker delivery.",
395
+ items: obj({
396
+ toAgentId: {
397
+ type: "string",
398
+ description: "The worker agent id to deliver this subtask to."
399
+ },
400
+ text: {
401
+ type: "string",
402
+ description: "The instruction delivered into the worker’s session."
403
+ }
404
+ }, ["toAgentId", "text"])
405
+ },
406
+ deadlineMs: {
407
+ type: "number",
408
+ description: "Optional deadline in milliseconds from now. When it elapses, your session is woken so you can summarize partial results; unreported subtasks are marked timed_out. Omit for no deadline."
409
+ },
410
+ replyTarget: {
411
+ type: "string",
412
+ description: "Optional opaque marker for where you should post the final human-facing summary."
413
+ }
414
+ }, ["subtasks"])
415
+ },
416
+ {
417
+ name: "getOrchestration",
418
+ description: "Read one of YOUR orchestrations — its subtasks with per-subtask status (pending/sending/delivered/succeeded/worker_error/timed_out) and any collected results. Call this each time you are woken (by a worker report or the deadline) to judge whether all subtasks are in (N-of-N) or the deadline passed, then summarize. Only the orchestration’s owning main agent+session may read it.",
419
+ inputSchema: obj({ orchestrationId: {
377
420
  type: "string",
378
- description: "Target thread. Defaults to the current thread; \"\" targets the channel root."
379
- },
380
- correlationId: {
421
+ description: "The orchestrationId returned by startOrchestration."
422
+ } }, ["orchestrationId"])
423
+ },
424
+ {
425
+ name: "cancelOrchestration",
426
+ description: "Cancel one of YOUR orchestrations: cancels its pending deadline and writes a cancelled tombstone (the record is kept, not deleted). Already-delivered workers are not recalled — a late report from them after cancellation is ignored. Only the owning main agent+session may cancel.",
427
+ inputSchema: obj({ orchestrationId: {
381
428
  type: "string",
382
- description: "Optional opaque id to correlate a reply back to this request (used by multi-agent orchestration)."
383
- }
384
- }, ["toAgentId", "text"])
385
- }];
429
+ description: "The orchestrationId returned by startOrchestration."
430
+ } }, ["orchestrationId"])
431
+ }
432
+ ];
386
433
  [...new Set([
387
434
  ...SLACK_TOOLS,
388
435
  ...TELEGRAM_TOOLS,
@@ -10076,4 +10123,4 @@ var AcpHost = class {
10076
10123
  //#endregion
10077
10124
  export { resolveRuntimes as S, writeMemoryFile as _, initGitInjection as a, cachedRuntimeNames as b, simpleGit as c, memoryProviderFor as d, MemoryConflictError as f, resolveInMemoryDir as g, listMemory as h, prepareWorkspace as i, createMemoryProvider as l, MemoryTooLargeError as m, installedRuntimes as n, probeGitVersion as o, MemoryPathError as p, prefetchWorkspace as r, sessionGitEnv as s, AcpHost as t, memoryKindOf as u, MEMORY_TOOL_NAMES as v, cachedRuntimeVersions as x, toolsForIntegrations as y };
10078
10125
 
10079
- //# sourceMappingURL=acp-host-C-4zFhF8.js.map
10126
+ //# sourceMappingURL=acp-host-CZQVPKE-.js.map