crow-central-agency 0.27.2 → 0.27.3

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 (74) hide show
  1. package/dist/_shared/index.js +1 -1
  2. package/dist/_shared/schemas/agent-task.schema.js +8 -0
  3. package/dist/mcp/agents/agents-mcp-server.js +2 -0
  4. package/dist/mcp/agents/notify-user.js +38 -0
  5. package/dist/public/assets/architecture-7EHR7CIX-BLDTKZff.js +1 -0
  6. package/dist/public/assets/{architectureDiagram-3BPJPVTR-CClJU70x.js → architectureDiagram-3BPJPVTR-CQTR9fKp.js} +1 -1
  7. package/dist/public/assets/{blockDiagram-GPEHLZMM-DXGYsvdc.js → blockDiagram-GPEHLZMM-COb1KenB.js} +1 -1
  8. package/dist/public/assets/{c4Diagram-AAUBKEIU-ztTqSRMY.js → c4Diagram-AAUBKEIU-IUh6A7Za.js} +1 -1
  9. package/dist/public/assets/channel-C-wagQM8.js +1 -0
  10. package/dist/public/assets/{chunk-2J33WTMH-r7brTJ1f.js → chunk-2J33WTMH-Q9b9U5PC.js} +1 -1
  11. package/dist/public/assets/{chunk-3OPIFGDE-Bxujc1Rt.js → chunk-3OPIFGDE-CIb_TSQQ.js} +1 -1
  12. package/dist/public/assets/{chunk-5ZQYHXKU-BjSbc4aL.js → chunk-5ZQYHXKU-CYFDDL1w.js} +1 -1
  13. package/dist/public/assets/{chunk-727SXJPM-BAondkhN.js → chunk-727SXJPM-CZyaa2iP.js} +1 -1
  14. package/dist/public/assets/{chunk-AQP2D5EJ-kM5I-WKN.js → chunk-AQP2D5EJ-CbB79gPh.js} +1 -1
  15. package/dist/public/assets/chunk-CSCIHK7Q-BVAvEr49.js +124 -0
  16. package/dist/public/assets/{chunk-L5ZTLDWV-DB34dWa1.js → chunk-L5ZTLDWV-BXJBnnPc.js} +1 -1
  17. package/dist/public/assets/{chunk-ND2GUHAM-Bpp57ujs.js → chunk-ND2GUHAM-CSUCpka6.js} +1 -1
  18. package/dist/public/assets/{chunk-NZK2D7GU-FABVcHPM.js → chunk-NZK2D7GU-D2mVFKEf.js} +1 -1
  19. package/dist/public/assets/{chunk-O5CBEL6O-DX0VXF6r.js → chunk-O5CBEL6O-CrmbDPo_.js} +1 -1
  20. package/dist/public/assets/classDiagram-4FO5ZUOK-BeiDJo9D.js +1 -0
  21. package/dist/public/assets/classDiagram-v2-Q7XG4LA2-BeiDJo9D.js +1 -0
  22. package/dist/public/assets/{dagre-BM42HDAG-DKTzSm29.js → dagre-BM42HDAG-Dyrz9jZq.js} +1 -1
  23. package/dist/public/assets/{diagram-2AECGRRQ-5PrRefQL.js → diagram-2AECGRRQ-Cdcu1FcR.js} +1 -1
  24. package/dist/public/assets/{diagram-5GNKFQAL-DKTGe-Ql.js → diagram-5GNKFQAL-BliyR9-A.js} +1 -1
  25. package/dist/public/assets/{diagram-KO2AKTUF-Bw_mRWA5.js → diagram-KO2AKTUF-AH2lKBgH.js} +1 -1
  26. package/dist/public/assets/{diagram-LMA3HP47-Bb2RaPM2.js → diagram-LMA3HP47-BXzkdLx_.js} +1 -1
  27. package/dist/public/assets/{diagram-OG6HWLK6-B-tad09d.js → diagram-OG6HWLK6-Dyl6XJvw.js} +1 -1
  28. package/dist/public/assets/{erDiagram-TEJ5UH35-BL7n_6V6.js → erDiagram-TEJ5UH35-eWSayy8d.js} +1 -1
  29. package/dist/public/assets/eventmodeling-FCH6USID-CF9xEP-X.js +1 -0
  30. package/dist/public/assets/{flowDiagram-I6XJVG4X-BLdaPh9i.js → flowDiagram-I6XJVG4X-DCc0wSYy.js} +1 -1
  31. package/dist/public/assets/{ganttDiagram-6RSMTGT7-CQRvJhaK.js → ganttDiagram-6RSMTGT7-Dm-pxQMF.js} +1 -1
  32. package/dist/public/assets/{gitGraph-WXDBUCRP-BhIDpW78.js → gitGraph-WXDBUCRP-trIaHm_3.js} +1 -1
  33. package/dist/public/assets/{gitGraphDiagram-PVQCEYII-DWInzrI1.js → gitGraphDiagram-PVQCEYII-D_tYTS1S.js} +1 -1
  34. package/dist/public/assets/{index-uXjCHDqs.js → index-B44FCDfi.js} +70 -70
  35. package/dist/public/assets/index-WB2ANiNm.css +1 -0
  36. package/dist/public/assets/{info-J43DQDTF-CzYqXPKX.js → info-J43DQDTF-CSWAtiX3.js} +1 -1
  37. package/dist/public/assets/{infoDiagram-5YYISTIA-CW9DCQBr.js → infoDiagram-5YYISTIA-DSEkHtyg.js} +1 -1
  38. package/dist/public/assets/{ishikawaDiagram-YF4QCWOH-CwgrER31.js → ishikawaDiagram-YF4QCWOH-CZjTHNmz.js} +1 -1
  39. package/dist/public/assets/{journeyDiagram-JHISSGLW-CetGiV--.js → journeyDiagram-JHISSGLW-CvgBFRhC.js} +1 -1
  40. package/dist/public/assets/{kanban-definition-UN3LZRKU-D1TuBRHr.js → kanban-definition-UN3LZRKU-HhZdlpR1.js} +1 -1
  41. package/dist/public/assets/{line-TBAqc70M.js → line-DMGu7yNS.js} +1 -1
  42. package/dist/public/assets/{mermaid-parser.core-BTfrTWwR.js → mermaid-parser.core-BIrsRvbQ.js} +2 -2
  43. package/dist/public/assets/{mindmap-definition-RKZ34NQL-BtOi3_hU.js → mindmap-definition-RKZ34NQL-MFUvwS4H.js} +1 -1
  44. package/dist/public/assets/{packet-YPE3B663-DpzZfEUr.js → packet-YPE3B663-LBm85dXD.js} +1 -1
  45. package/dist/public/assets/{pie-LRSECV5Y-CKXDKuOS.js → pie-LRSECV5Y-D72DSxK_.js} +1 -1
  46. package/dist/public/assets/{pieDiagram-4H26LBE5-DDo-JQZU.js → pieDiagram-4H26LBE5-KcWEar-i.js} +1 -1
  47. package/dist/public/assets/{quadrantDiagram-W4KKPZXB-DLRwsW2X.js → quadrantDiagram-W4KKPZXB-Bihi2ZP6.js} +1 -1
  48. package/dist/public/assets/{radar-GUYGQ44K-D6NB5Ces.js → radar-GUYGQ44K-uOB_KSJv.js} +1 -1
  49. package/dist/public/assets/{requirementDiagram-4Y6WPE33-ghmfv1SX.js → requirementDiagram-4Y6WPE33-CH4_8Uo8.js} +1 -1
  50. package/dist/public/assets/{sankeyDiagram-5OEKKPKP-D4dcxrbz.js → sankeyDiagram-5OEKKPKP-D8WOyoNR.js} +1 -1
  51. package/dist/public/assets/{sequenceDiagram-3UESZ5HK-D9BnXt7s.js → sequenceDiagram-3UESZ5HK-ChhopRuC.js} +1 -1
  52. package/dist/public/assets/{stateDiagram-AJRCARHV-BfaEy_5w.js → stateDiagram-AJRCARHV-C-VaqLvP.js} +1 -1
  53. package/dist/public/assets/stateDiagram-v2-BHNVJYJU-BW7DU3WX.js +1 -0
  54. package/dist/public/assets/{timeline-definition-PNZ67QCA-pAl_71QE.js → timeline-definition-PNZ67QCA-COTd1G3Q.js} +1 -1
  55. package/dist/public/assets/{treeView-BLDUP644-ogG90Vuy.js → treeView-BLDUP644-Coi_gX2R.js} +1 -1
  56. package/dist/public/assets/{treemap-LRROVOQU-BQPk01Pq.js → treemap-LRROVOQU-BOL_opmV.js} +1 -1
  57. package/dist/public/assets/{vennDiagram-CIIHVFJN-DzbKt_lu.js → vennDiagram-CIIHVFJN-SBGlAii8.js} +1 -1
  58. package/dist/public/assets/{wardley-L42UT6IY-CJ1EIHi0.js → wardley-L42UT6IY-CfWk2pwg.js} +1 -1
  59. package/dist/public/assets/{wardleyDiagram-YWT4CUSO-CxEPL2m6.js → wardleyDiagram-YWT4CUSO-COBWLoce.js} +1 -1
  60. package/dist/public/assets/{xychartDiagram-2RQKCTM6-B9a3Jq4J.js → xychartDiagram-2RQKCTM6-tH4jcgse.js} +1 -1
  61. package/dist/public/index.html +9 -9
  62. package/dist/routes/task.routes.js +13 -2
  63. package/dist/routines/inter-agent-task-routine.js +57 -30
  64. package/dist/runner/github-copilot-stream-processor.js +13 -0
  65. package/dist/services/agent-task-manager.js +25 -1
  66. package/package.json +8 -7
  67. package/dist/public/assets/architecture-7EHR7CIX-DCLkOO9h.js +0 -1
  68. package/dist/public/assets/channel-CpuupTCJ.js +0 -1
  69. package/dist/public/assets/chunk-CSCIHK7Q-DuISv0xe.js +0 -124
  70. package/dist/public/assets/classDiagram-4FO5ZUOK-Dgr7qiRI.js +0 -1
  71. package/dist/public/assets/classDiagram-v2-Q7XG4LA2-Dgr7qiRI.js +0 -1
  72. package/dist/public/assets/eventmodeling-FCH6USID-Cm9TEclR.js +0 -1
  73. package/dist/public/assets/index-YTL1DK3j.css +0 -1
  74. package/dist/public/assets/stateDiagram-v2-BHNVJYJU-CTwOziWy.js +0 -1
@@ -6,7 +6,7 @@ export { ClientMessageSchema, ServerMessageSchema, SendMessageSchema, InjectMess
6
6
  export { PERMISSION_DECISION, PermissionRequestSchema, PermissionResponseSchema, } from "./schemas/permission.schema.js";
7
7
  export { AgentMessageSchema, MessageAnnotationSchema, AGENT_MESSAGE_ROLE, AGENT_MESSAGE_TYPE, } from "./schemas/agent-message.schema.js";
8
8
  export { ARTIFACT_TYPE, ARTIFACT_CONTENT_TYPE, ArtifactTypeSchema, ArtifactContentTypeSchema, ArtifactEntityTypeSchema, ArtifactMetadataSchema, ArtifactUpdateSchema, } from "./schemas/artifact.schema.js";
9
- export { AGENT_TASK_STATE, AGENT_TASK_SOURCE_TYPE, AgentTaskStateSchema, AgentTaskSourceSchema, AgentTaskItemSchema, AgentTaskDatabaseSchema, CreateTaskInputSchema, UpdateTaskInputSchema, UpdateTaskStateInputSchema, AssignTaskInputSchema, } from "./schemas/agent-task.schema.js";
9
+ export { AGENT_TASK_STATE, AGENT_TASK_SOURCE_TYPE, AgentTaskStateSchema, AgentTaskSourceSchema, AgentTaskItemSchema, AgentTaskDatabaseSchema, CreateTaskInputSchema, UpdateTaskInputSchema, UpdateTaskResultInputSchema, UpdateTaskStateInputSchema, AssignTaskInputSchema, } from "./schemas/agent-task.schema.js";
10
10
  export { MCP_CONFIG_TYPE, InternalMcpConfigSchema, McpServerConfigSchema, CreateMcpConfigInputSchema, UpdateMcpConfigInputSchema, } from "./schemas/mcp-config.schema.js";
11
11
  export { SensorInfoSchema } from "./schemas/sensor.schema.js";
12
12
  export { AddFeedInputSchema, DetectFeedsInputSchema, } from "./schemas/feed.schema.js";
@@ -70,6 +70,13 @@ export const CreateTaskInputSchema = z.object({
70
70
  export const UpdateTaskInputSchema = z.object({
71
71
  task: z.string().min(1, "Task description is required"),
72
72
  });
73
+ /**
74
+ * Input for saving a draft result on an OPEN task without changing its state.
75
+ * Empty string is a legitimate value (clears the draft).
76
+ */
77
+ export const UpdateTaskResultInputSchema = z.object({
78
+ taskResult: z.string(),
79
+ });
73
80
  /**
74
81
  * Input for transitioning a task to a new state via REST.
75
82
  * Only includes states reachable by user action. OPEN is the initial
@@ -77,6 +84,7 @@ export const UpdateTaskInputSchema = z.object({
77
84
  */
78
85
  export const UpdateTaskStateInputSchema = z.object({
79
86
  state: z.enum([AGENT_TASK_STATE.INCOMPLETE, AGENT_TASK_STATE.COMPLETED, AGENT_TASK_STATE.CLOSED]),
87
+ taskResult: z.string().optional(),
80
88
  });
81
89
  /** Input for assigning a task. Accepts the owner source (who will handle the task). */
82
90
  export const AssignTaskInputSchema = z.object({
@@ -1,6 +1,7 @@
1
1
  import { defineMcpTool } from "../crow-mcp-manager-utils.js";
2
2
  import { getListAgentsToolConfig } from "./list-agents.js";
3
3
  import { getInvokeAgentToolConfig } from "./invoke-agent.js";
4
+ import { getNotifyUserToolConfig } from "./notify-user.js";
4
5
  import { getSearchWorkspaceToolConfig } from "./search-workspace.js";
5
6
  import { CROW_NARRATIVE_ARCHITECT_AGENT_ID, CROW_WORLD_BUILDER_AGENT_ID, FRAGMENT_REFLECTION_AGENT_ID, } from "../../_shared/index.js";
6
7
  export const CROW_AGENTS_MCP_SERVER_NAME = "crow-agents";
@@ -11,6 +12,7 @@ export function getAgentsMcpServerDefinition(registry, runtimeManager, taskManag
11
12
  getTools: (agentId) => [
12
13
  defineMcpTool(getListAgentsToolConfig(agentId, registry)),
13
14
  defineMcpTool(getInvokeAgentToolConfig(agentId, registry, runtimeManager, taskManager)),
15
+ defineMcpTool(getNotifyUserToolConfig(agentId, taskManager)),
14
16
  defineMcpTool(getSearchWorkspaceToolConfig(agentId, documentSearchService, taskManager, circleManager, fragmentManager)),
15
17
  ],
16
18
  };
@@ -0,0 +1,38 @@
1
+ import { z } from "zod";
2
+ import { trace } from "@opentelemetry/api";
3
+ import { AGENT_TASK_SOURCE_TYPE } from "../../_shared/index.js";
4
+ import { getErrorToolResult, textToolResult } from "../tool-utils.js";
5
+ export const NOTIFY_USER_TOOL_NAME = "notify_user";
6
+ export function getNotifyUserToolConfig(agentId, taskManager) {
7
+ const inputSchema = {
8
+ note: z
9
+ .string()
10
+ .min(1)
11
+ .describe("A clear, self-contained note for the user. Include everything they need to act or decide, since they do not share your conversation history"),
12
+ };
13
+ const handler = async ({ note }) => {
14
+ const trimmedNote = note.trim();
15
+ if (!trimmedNote) {
16
+ return textToolResult(["Error: note cannot be empty"], true);
17
+ }
18
+ try {
19
+ await taskManager.addTask(trimmedNote, { sourceType: AGENT_TASK_SOURCE_TYPE.AGENT, agentId }, { sourceType: AGENT_TASK_SOURCE_TYPE.USER });
20
+ trace.getActiveSpan()?.addEvent("notify_user", { "source.agent_id": agentId });
21
+ return textToolResult([
22
+ "Your note has been delivered to the user. This is fire-and-forget — do not wait for a reply.",
23
+ "If the user responds or dismisses it, you will be notified separately.",
24
+ ]);
25
+ }
26
+ catch (error) {
27
+ return getErrorToolResult(error, "Failed to notify user.");
28
+ }
29
+ };
30
+ const config = {
31
+ name: NOTIFY_USER_TOOL_NAME,
32
+ description: "Surface a note to the user — an actionable item or a question needing their decision. Use only for items that genuinely need the user's attention. This is fire-and-forget: do not wait for a reply; if the user responds you will be notified separately.",
33
+ inputSchema,
34
+ handler,
35
+ };
36
+ return config;
37
+ }
38
+ //# sourceMappingURL=notify-user.js.map
@@ -0,0 +1 @@
1
+ import"./chunk-NNHCCRGN-DlpIbxXb.js";import{x as e}from"./mermaid-parser.core-BIrsRvbQ.js";export{e as createArchitectureServices};