crow-central-agency 0.26.9 → 0.26.10
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/dist/_shared/index.js +1 -1
- package/dist/_shared/schemas/agent-runtime-state.schema.js +4 -0
- package/dist/mcp/artifacts/artifacts-mcp-server-utils.js +2 -0
- package/dist/mcp/artifacts/read-artifact.js +7 -3
- package/dist/mcp/artifacts/read-circle-artifact.js +7 -3
- package/dist/mcp/feed/get-feed-item-content.js +8 -2
- package/dist/mcp/gmail/get-gmail-message-content.js +8 -2
- package/dist/mcp/tool-utils.js +3 -0
- package/dist/public/assets/{architectureDiagram-3BPJPVTR-DeXG4IF1.js → architectureDiagram-3BPJPVTR-DuUOU6pr.js} +1 -1
- package/dist/public/assets/{chunk-727SXJPM-ClhCvSxl.js → chunk-727SXJPM-Bjc8-ytz.js} +1 -1
- package/dist/public/assets/{chunk-AQP2D5EJ-S71PlnyF.js → chunk-AQP2D5EJ-Ct15bFV1.js} +1 -1
- package/dist/public/assets/{classDiagram-v2-Q7XG4LA2-t2EdfGSJ.js → classDiagram-4FO5ZUOK-DU0awUqf.js} +1 -1
- package/dist/public/assets/{classDiagram-4FO5ZUOK-t2EdfGSJ.js → classDiagram-v2-Q7XG4LA2-DU0awUqf.js} +1 -1
- package/dist/public/assets/{dagre-BM42HDAG-BUN2v9KO.js → dagre-BM42HDAG-9AAU2jPb.js} +1 -1
- package/dist/public/assets/{diagram-2AECGRRQ-BsEdgIXV.js → diagram-2AECGRRQ-BUgXkqze.js} +1 -1
- package/dist/public/assets/{diagram-5GNKFQAL-DkDNM-w8.js → diagram-5GNKFQAL-Dfxv_OUK.js} +1 -1
- package/dist/public/assets/{diagram-LMA3HP47-bemQvtc4.js → diagram-LMA3HP47-BUi_NXCo.js} +1 -1
- package/dist/public/assets/{diagram-OG6HWLK6-DTt1CSKj.js → diagram-OG6HWLK6-D5A09xa3.js} +1 -1
- package/dist/public/assets/{erDiagram-TEJ5UH35-Ctez1ZUQ.js → erDiagram-TEJ5UH35-DP8KMEsf.js} +1 -1
- package/dist/public/assets/{flowDiagram-I6XJVG4X-6cl55wrS.js → flowDiagram-I6XJVG4X-DWRshnM0.js} +1 -1
- package/dist/public/assets/index-bzEM4vkn.js +505 -0
- package/dist/public/assets/{infoDiagram-5YYISTIA-DJG5GveT.js → infoDiagram-5YYISTIA-DvUU6-Mk.js} +1 -1
- package/dist/public/assets/{ishikawaDiagram-YF4QCWOH-BiRWZQoC.js → ishikawaDiagram-YF4QCWOH-BwkEtQo6.js} +1 -1
- package/dist/public/assets/{kanban-definition-UN3LZRKU--LGs8j1A.js → kanban-definition-UN3LZRKU-Chsc6lfZ.js} +1 -1
- package/dist/public/assets/{mindmap-definition-RKZ34NQL-CBTeUNeJ.js → mindmap-definition-RKZ34NQL-SchvENg6.js} +1 -1
- package/dist/public/assets/{pieDiagram-4H26LBE5-Bj8lCWKM.js → pieDiagram-4H26LBE5-D8PG4kzl.js} +1 -1
- package/dist/public/assets/{requirementDiagram-4Y6WPE33-DNbmiPTP.js → requirementDiagram-4Y6WPE33-C0JZopEE.js} +1 -1
- package/dist/public/assets/{sequenceDiagram-3UESZ5HK-DOZcdL-V.js → sequenceDiagram-3UESZ5HK-DOcoKuQk.js} +1 -1
- package/dist/public/assets/{stateDiagram-AJRCARHV-BCpPGAsz.js → stateDiagram-AJRCARHV-D7IMWgel.js} +1 -1
- package/dist/public/assets/{stateDiagram-v2-BHNVJYJU-hUzXDK6m.js → stateDiagram-v2-BHNVJYJU-C5xxJ6Wc.js} +1 -1
- package/dist/public/assets/{timeline-definition-PNZ67QCA-BsNHIWNc.js → timeline-definition-PNZ67QCA-oHiSgCnQ.js} +1 -1
- package/dist/public/assets/{vennDiagram-CIIHVFJN-DCZMeVJ8.js → vennDiagram-CIIHVFJN-wc88IX6S.js} +1 -1
- package/dist/public/assets/{wardleyDiagram-YWT4CUSO-B15lhDxS.js → wardleyDiagram-YWT4CUSO-q-LGWHCn.js} +1 -1
- package/dist/public/assets/{xychartDiagram-2RQKCTM6-u23J3wWJ.js → xychartDiagram-2RQKCTM6-BgxGnvq2.js} +1 -1
- package/dist/public/index.html +1 -1
- package/dist/runner/stream-processor.js +3 -0
- package/dist/services/runtime/agent-runtime-manager.js +15 -1
- package/package.json +5 -5
- package/dist/public/assets/index-ISMoAJEC.js +0 -478
package/dist/_shared/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { CLAUDE_MODELS, GITHUB_COPILOT_MODELS, CLAUDE_CODE_MODEL_OPTIONS, ModelOptionSchema, REASONING_EFFORT, ReasoningEffortSchema, CLAUDE_DEFAULT_MODEL, COPILOT_DEFAULT_MODEL, AgentIdSchema, AgentConfigSchema, AgentConfigTemplateSchema, CreateAgentInputSchema, UpdateAgentInputSchema, ToolConfigSchema, PermissionModeSchema, SettingSourceSchema, DiscoveredSkillSchema, LoopConfigSchema, ConfiguredFeedSchema, MAX_LOOP_TIMES, PERMISSION_MODE, SETTING_SOURCE, DEFAULT_SETTING_SOURCES, TOOL_MODE, DEFAULT_CLAUDE_CODE_AVAILABLE_TOOLS, DEFAULT_GITHUB_COPILOT_AVAILABLE_TOOLS, DEFAULT_AVAILABLE_TOOLS_BY_TYPE, SUBAGENT_TOOL_NAME, AGENT_TYPE, AgentTypeSchema, DEFAULT_AGENT_TYPE, AGENT_NAME_MAX_LENGTH, } from "./schemas/agent.schema.js";
|
|
2
2
|
export { SchedulerTimeSchema, DAY_OF_WEEK, DayOfWeekSchema, TimeModeSchema, TIME_MODE, } from "./schemas/scheduler.schema.js";
|
|
3
3
|
export { createApiSuccessSchema, ApiErrorSchema, } from "./schemas/api-response.schema.js";
|
|
4
|
-
export { SessionUsageSchema, PendingPermissionInfoSchema, PendingInstructionReminderSchema, AgentRuntimeStateSchema, AgentActivitySchema, AGENT_ACTIVITY_TYPE, AGENT_STATUS, } from "./schemas/agent-runtime-state.schema.js";
|
|
4
|
+
export { SessionUsageSchema, PendingPermissionInfoSchema, PendingInstructionReminderSchema, AgentRuntimeStateSchema, AgentActivitySchema, AGENT_ACTIVITY_TYPE, AGENT_STATUS, MAX_INPUT_HISTORY, } from "./schemas/agent-runtime-state.schema.js";
|
|
5
5
|
export { ClientMessageSchema, ServerMessageSchema, SendMessageSchema, InjectMessageSchema, PermissionResponseWsSchema, CommandMessageSchema, AgentTextWsMessageSchema, AgentActivityWsMessageSchema, AgentResultWsMessageSchema, AgentStatusWsMessageSchema, AgentCreatedWsMessageSchema, AgentUpdatedWsMessageSchema, AgentDeletedWsMessageSchema, AgentUsageWsMessageSchema, PermissionRequestWsMessageSchema, PermissionCancelledWsMessageSchema, ErrorWsMessageSchema, AgentMessageWsMessageSchema, AgentToolProgressWsMessageSchema, TaskAddedWsMessageSchema, TaskUpdatedWsMessageSchema, TaskAssignedWsMessageSchema, TaskStateChangedWsMessageSchema, TaskDeletedWsMessageSchema, CircleCreatedWsMessageSchema, CircleUpdatedWsMessageSchema, CircleDeletedWsMessageSchema, RelationshipCreatedWsMessageSchema, RelationshipDeletedWsMessageSchema, AgentBuilderDraftUpdatedWsMessageSchema, isAgentServerMessage, CLIENT_MESSAGE_TYPE, SERVER_MESSAGE_TYPE, } from "./schemas/websocket.schema.js";
|
|
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";
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { MessageSourceSchema } from "./message-source.schema.js";
|
|
3
|
+
/** Maximum number of recent user inputs retained per agent for compose-box recall. */
|
|
4
|
+
export const MAX_INPUT_HISTORY = 30;
|
|
3
5
|
export const AGENT_STATUS = {
|
|
4
6
|
IDLE: "idle",
|
|
5
7
|
ACTIVATING: "activating",
|
|
@@ -81,5 +83,7 @@ export const AgentRuntimeStateSchema = z.object({
|
|
|
81
83
|
lastError: z.string().optional(),
|
|
82
84
|
pendingPermissions: z.array(PendingPermissionInfoSchema).optional(),
|
|
83
85
|
pendingInstructionReminder: PendingInstructionReminderSchema.optional(),
|
|
86
|
+
/** Recent user message inputs (oldest first) for compose-box Up/Down recall; survives new sessions. */
|
|
87
|
+
inputHistory: z.array(z.string()).optional(),
|
|
84
88
|
});
|
|
85
89
|
//# sourceMappingURL=agent-runtime-state.schema.js.map
|
|
@@ -5,6 +5,8 @@ import { processTextContent, textToolResult } from "../tool-utils.js";
|
|
|
5
5
|
import { last } from "es-toolkit";
|
|
6
6
|
export const ARTIFACT_TYPE_VALUES = Object.values(ARTIFACT_TYPE);
|
|
7
7
|
export const ARTIFACT_CONTENT_TYPE_VALUES = Object.values(ARTIFACT_CONTENT_TYPE);
|
|
8
|
+
/** Default cap on lines returned by read artifact tools to avoid flooding the context with large text artifacts. */
|
|
9
|
+
export const DEFAULT_READ_ARTIFACT_LINE_LIMIT = 100;
|
|
8
10
|
export const EDIT_ARTIFACT_MODE = {
|
|
9
11
|
INSERT: "insert",
|
|
10
12
|
REPLACE: "replace",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { getErrorToolResult, textToolResult } from "../tool-utils.js";
|
|
3
|
-
import { buildReadArtifactResult } from "./artifacts-mcp-server-utils.js";
|
|
3
|
+
import { buildReadArtifactResult, DEFAULT_READ_ARTIFACT_LINE_LIMIT } from "./artifacts-mcp-server-utils.js";
|
|
4
4
|
export const READ_ARTIFACT_TOOL_NAME = "read_artifact";
|
|
5
5
|
export function getReadArtifactToolConfig(agentId, artifactManager, registry, circleManager, sensorManager) {
|
|
6
6
|
const inputSchema = {
|
|
@@ -16,7 +16,7 @@ export function getReadArtifactToolConfig(agentId, artifactManager, registry, ci
|
|
|
16
16
|
.number()
|
|
17
17
|
.min(1)
|
|
18
18
|
.optional()
|
|
19
|
-
.describe(
|
|
19
|
+
.describe(`Optional. Maximum number of lines to return starting from startLine (default: ${DEFAULT_READ_ARTIFACT_LINE_LIMIT}).`),
|
|
20
20
|
};
|
|
21
21
|
const handler = async ({ agent_id, filename, showLineNumber, startLine, limit }) => {
|
|
22
22
|
try {
|
|
@@ -33,7 +33,11 @@ export function getReadArtifactToolConfig(agentId, artifactManager, registry, ci
|
|
|
33
33
|
artifactManager.readArtifact(agent_id, filename, { useAdapter: true }),
|
|
34
34
|
sensorManager.getUserTimezone(),
|
|
35
35
|
]);
|
|
36
|
-
return buildReadArtifactResult(content, metadata, userTimezone, {
|
|
36
|
+
return buildReadArtifactResult(content, metadata, userTimezone, {
|
|
37
|
+
showLineNumber,
|
|
38
|
+
startLine,
|
|
39
|
+
limit: limit ?? DEFAULT_READ_ARTIFACT_LINE_LIMIT,
|
|
40
|
+
});
|
|
37
41
|
}
|
|
38
42
|
catch (error) {
|
|
39
43
|
return getErrorToolResult(error, "Failed to read artifact.");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { getErrorToolResult, textToolResult } from "../tool-utils.js";
|
|
3
|
-
import { buildReadArtifactResult } from "./artifacts-mcp-server-utils.js";
|
|
3
|
+
import { buildReadArtifactResult, DEFAULT_READ_ARTIFACT_LINE_LIMIT } from "./artifacts-mcp-server-utils.js";
|
|
4
4
|
export const READ_CIRCLE_ARTIFACT_TOOL_NAME = "read_circle_artifact";
|
|
5
5
|
export function getReadCircleArtifactToolConfig(agentId, artifactManager, sensorManager) {
|
|
6
6
|
const inputSchema = {
|
|
@@ -16,7 +16,7 @@ export function getReadCircleArtifactToolConfig(agentId, artifactManager, sensor
|
|
|
16
16
|
.number()
|
|
17
17
|
.min(1)
|
|
18
18
|
.optional()
|
|
19
|
-
.describe(
|
|
19
|
+
.describe(`Optional. Maximum number of lines to return starting from startLine (default: ${DEFAULT_READ_ARTIFACT_LINE_LIMIT}).`),
|
|
20
20
|
};
|
|
21
21
|
const handler = async ({ circle_id, filename, showLineNumber, startLine, limit, }) => {
|
|
22
22
|
if (!artifactManager.isDirectCircleMember(circle_id, agentId)) {
|
|
@@ -27,7 +27,11 @@ export function getReadCircleArtifactToolConfig(agentId, artifactManager, sensor
|
|
|
27
27
|
artifactManager.readCircleArtifact(circle_id, filename, { useAdapter: true }),
|
|
28
28
|
sensorManager.getUserTimezone(),
|
|
29
29
|
]);
|
|
30
|
-
return buildReadArtifactResult(content, metadata, userTimezone, {
|
|
30
|
+
return buildReadArtifactResult(content, metadata, userTimezone, {
|
|
31
|
+
showLineNumber,
|
|
32
|
+
startLine,
|
|
33
|
+
limit: limit ?? DEFAULT_READ_ARTIFACT_LINE_LIMIT,
|
|
34
|
+
});
|
|
31
35
|
}
|
|
32
36
|
catch (error) {
|
|
33
37
|
return getErrorToolResult(error, "Failed to read circle artifact.");
|
|
@@ -3,6 +3,8 @@ import { getErrorToolResult, processTextContent, textToolResult } from "../tool-
|
|
|
3
3
|
import { formatLocalDateTime } from "../../utils/date-utils.js";
|
|
4
4
|
import { resolveVisibleFeedIds } from "./feed-tool-utils.js";
|
|
5
5
|
export const GET_FEED_ITEM_CONTENT_TOOL_NAME = "get_feed_item_content";
|
|
6
|
+
/** Default cap on lines returned for a feed item to avoid flooding the context with long article bodies. */
|
|
7
|
+
export const DEFAULT_FEED_ITEM_CONTENT_LINE_LIMIT = 100;
|
|
6
8
|
export function getFeedItemContentToolConfig(agentId, registry, feedManager, sensorManager, systemSettingsManager) {
|
|
7
9
|
const inputSchema = {
|
|
8
10
|
feedId: z.string().describe("The news/RSS feed ID that owns the item."),
|
|
@@ -17,7 +19,7 @@ export function getFeedItemContentToolConfig(agentId, registry, feedManager, sen
|
|
|
17
19
|
.number()
|
|
18
20
|
.min(1)
|
|
19
21
|
.optional()
|
|
20
|
-
.describe(
|
|
22
|
+
.describe(`Optional. Maximum number of lines to return starting from startLine (default: ${DEFAULT_FEED_ITEM_CONTENT_LINE_LIMIT}).`),
|
|
21
23
|
};
|
|
22
24
|
const handler = async ({ feedId, id, showLineNumber, startLine, limit }) => {
|
|
23
25
|
try {
|
|
@@ -39,7 +41,11 @@ export function getFeedItemContentToolConfig(agentId, registry, feedManager, sen
|
|
|
39
41
|
header.push(`[Enclosure URL: ${feedItem.enclosureUrl}]`);
|
|
40
42
|
}
|
|
41
43
|
const contentText = feedItem.content || feedItem.description;
|
|
42
|
-
const processedContent = processTextContent(contentText, {
|
|
44
|
+
const processedContent = processTextContent(contentText, {
|
|
45
|
+
showLineNumber,
|
|
46
|
+
startLine,
|
|
47
|
+
limit: limit ?? DEFAULT_FEED_ITEM_CONTENT_LINE_LIMIT,
|
|
48
|
+
});
|
|
43
49
|
return textToolResult(header.concat(processedContent.headerParts).concat(["", processedContent.text]));
|
|
44
50
|
}
|
|
45
51
|
catch (error) {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { getErrorToolResult, processTextContent, textToolResult } from "../tool-utils.js";
|
|
3
3
|
export const GET_GMAIL_MESSAGE_CONTENT_TOOL_NAME = "get_gmail_message_content";
|
|
4
|
+
/** Default cap on lines returned for a Gmail message body to avoid flooding the context with long emails. */
|
|
5
|
+
export const DEFAULT_GMAIL_MESSAGE_CONTENT_LINE_LIMIT = 100;
|
|
4
6
|
export function getGetGmailMessageContentToolConfig(googleClient) {
|
|
5
7
|
const inputSchema = {
|
|
6
8
|
messageId: z.string().describe("Gmail message ID (from list_gmail_messages or get_gmail_thread results)."),
|
|
@@ -14,13 +16,17 @@ export function getGetGmailMessageContentToolConfig(googleClient) {
|
|
|
14
16
|
.number()
|
|
15
17
|
.min(1)
|
|
16
18
|
.optional()
|
|
17
|
-
.describe(
|
|
19
|
+
.describe(`Optional. Maximum number of lines to return starting from startLine (default: ${DEFAULT_GMAIL_MESSAGE_CONTENT_LINE_LIMIT}).`),
|
|
18
20
|
};
|
|
19
21
|
const handler = async ({ messageId, showLineNumber, startLine, limit }) => {
|
|
20
22
|
try {
|
|
21
23
|
const message = await googleClient.getGmailMessage(messageId);
|
|
22
24
|
const rawContent = message.content ?? message.snippet ?? "(no body)";
|
|
23
|
-
const processed = processTextContent(rawContent, {
|
|
25
|
+
const processed = processTextContent(rawContent, {
|
|
26
|
+
showLineNumber,
|
|
27
|
+
startLine,
|
|
28
|
+
limit: limit ?? DEFAULT_GMAIL_MESSAGE_CONTENT_LINE_LIMIT,
|
|
29
|
+
});
|
|
24
30
|
return textToolResult([...processed.headerParts, "", processed.text]);
|
|
25
31
|
}
|
|
26
32
|
catch (error) {
|
package/dist/mcp/tool-utils.js
CHANGED
|
@@ -96,6 +96,9 @@ export function processTextContent(text, options) {
|
|
|
96
96
|
headerParts.push("Lines are prefixed with [LNNN] markers. These markers are NOT part of the line content.");
|
|
97
97
|
}
|
|
98
98
|
const hasRange = options.startLine !== undefined || options.limit !== undefined;
|
|
99
|
+
if (clampedEnd < totalLines) {
|
|
100
|
+
headerParts.push(`[More available: use startLine=${clampedEnd + 1} to continue]`);
|
|
101
|
+
}
|
|
99
102
|
headerParts.push(`--- CONTENT${hasRange ? ` (lines ${start + 1} - ${clampedEnd})` : ""} ---`);
|
|
100
103
|
const processedText = options.showLineNumber
|
|
101
104
|
? sliced.map((line, index) => `[L${start + index + 1}] ${line}`).join("\n")
|