zilmate 1.0.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.
- package/.env.example +14 -0
- package/README.md +326 -0
- package/agent-docs.md +264 -0
- package/dist/agents/chat.agent.d.ts +30 -0
- package/dist/agents/chat.agent.d.ts.map +1 -0
- package/dist/agents/chat.agent.js +16 -0
- package/dist/agents/chat.agent.js.map +1 -0
- package/dist/agents/docs-research.agent.d.ts +127 -0
- package/dist/agents/docs-research.agent.d.ts.map +1 -0
- package/dist/agents/docs-research.agent.js +29 -0
- package/dist/agents/docs-research.agent.js.map +1 -0
- package/dist/agents/image.agent.d.ts +9 -0
- package/dist/agents/image.agent.d.ts.map +1 -0
- package/dist/agents/image.agent.js +12 -0
- package/dist/agents/image.agent.js.map +1 -0
- package/dist/agents/manager.d.ts +140 -0
- package/dist/agents/manager.d.ts.map +1 -0
- package/dist/agents/manager.js +150 -0
- package/dist/agents/manager.js.map +1 -0
- package/dist/agents/post.agent.d.ts +7 -0
- package/dist/agents/post.agent.d.ts.map +1 -0
- package/dist/agents/post.agent.js +12 -0
- package/dist/agents/post.agent.js.map +1 -0
- package/dist/agents/quick-help.agent.d.ts +30 -0
- package/dist/agents/quick-help.agent.d.ts.map +1 -0
- package/dist/agents/quick-help.agent.js +16 -0
- package/dist/agents/quick-help.agent.js.map +1 -0
- package/dist/cli/confirm.d.ts +5 -0
- package/dist/cli/confirm.d.ts.map +1 -0
- package/dist/cli/confirm.js +35 -0
- package/dist/cli/confirm.js.map +1 -0
- package/dist/cli/doctor.d.ts +53 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +141 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/format.d.ts +12 -0
- package/dist/cli/format.d.ts.map +1 -0
- package/dist/cli/format.js +167 -0
- package/dist/cli/format.js.map +1 -0
- package/dist/cli/interactive.d.ts +2 -0
- package/dist/cli/interactive.d.ts.map +1 -0
- package/dist/cli/interactive.js +80 -0
- package/dist/cli/interactive.js.map +1 -0
- package/dist/cli/setup.d.ts +14 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +145 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/cli/triggers.d.ts +43 -0
- package/dist/cli/triggers.d.ts.map +1 -0
- package/dist/cli/triggers.js +221 -0
- package/dist/cli/triggers.js.map +1 -0
- package/dist/config/env.d.ts +26 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +59 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/models.d.ts +22 -0
- package/dist/config/models.d.ts.map +1 -0
- package/dist/config/models.js +38 -0
- package/dist/config/models.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +452 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/composio-session.d.ts +9 -0
- package/dist/memory/composio-session.d.ts.map +1 -0
- package/dist/memory/composio-session.js +33 -0
- package/dist/memory/composio-session.js.map +1 -0
- package/dist/memory/history.d.ts +11 -0
- package/dist/memory/history.d.ts.map +1 -0
- package/dist/memory/history.js +33 -0
- package/dist/memory/history.js.map +1 -0
- package/dist/memory/local-store.d.ts +4 -0
- package/dist/memory/local-store.d.ts.map +1 -0
- package/dist/memory/local-store.js +24 -0
- package/dist/memory/local-store.js.map +1 -0
- package/dist/memory/long-term.d.ts +13 -0
- package/dist/memory/long-term.d.ts.map +1 -0
- package/dist/memory/long-term.js +67 -0
- package/dist/memory/long-term.js.map +1 -0
- package/dist/memory/redis.d.ts +4 -0
- package/dist/memory/redis.d.ts.map +1 -0
- package/dist/memory/redis.js +18 -0
- package/dist/memory/redis.js.map +1 -0
- package/dist/memory/scratchpad.d.ts +3 -0
- package/dist/memory/scratchpad.d.ts.map +1 -0
- package/dist/memory/scratchpad.js +22 -0
- package/dist/memory/scratchpad.js.map +1 -0
- package/dist/runtime/confirm.d.ts +13 -0
- package/dist/runtime/confirm.d.ts.map +1 -0
- package/dist/runtime/confirm.js +17 -0
- package/dist/runtime/confirm.js.map +1 -0
- package/dist/runtime/progress.d.ts +8 -0
- package/dist/runtime/progress.d.ts.map +1 -0
- package/dist/runtime/progress.js +15 -0
- package/dist/runtime/progress.js.map +1 -0
- package/dist/safety/approvals.d.ts +6 -0
- package/dist/safety/approvals.d.ts.map +1 -0
- package/dist/safety/approvals.js +8 -0
- package/dist/safety/approvals.js.map +1 -0
- package/dist/safety/limits.d.ts +8 -0
- package/dist/safety/limits.d.ts.map +1 -0
- package/dist/safety/limits.js +10 -0
- package/dist/safety/limits.js.map +1 -0
- package/dist/safety/redaction.d.ts +2 -0
- package/dist/safety/redaction.d.ts.map +1 -0
- package/dist/safety/redaction.js +9 -0
- package/dist/safety/redaction.js.map +1 -0
- package/dist/server.d.ts +54 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +69 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/app-knowledge.tool.d.ts +4 -0
- package/dist/tools/app-knowledge.tool.d.ts.map +1 -0
- package/dist/tools/app-knowledge.tool.js +30 -0
- package/dist/tools/app-knowledge.tool.js.map +1 -0
- package/dist/tools/composio.tool.d.ts +15 -0
- package/dist/tools/composio.tool.d.ts.map +1 -0
- package/dist/tools/composio.tool.js +272 -0
- package/dist/tools/composio.tool.js.map +1 -0
- package/dist/tools/docs-fetch.tool.d.ts +6 -0
- package/dist/tools/docs-fetch.tool.d.ts.map +1 -0
- package/dist/tools/docs-fetch.tool.js +62 -0
- package/dist/tools/docs-fetch.tool.js.map +1 -0
- package/dist/tools/docs-search.tool.d.ts +4 -0
- package/dist/tools/docs-search.tool.d.ts.map +1 -0
- package/dist/tools/docs-search.tool.js +14 -0
- package/dist/tools/docs-search.tool.js.map +1 -0
- package/dist/tools/image-generate.tool.d.ts +22 -0
- package/dist/tools/image-generate.tool.d.ts.map +1 -0
- package/dist/tools/image-generate.tool.js +113 -0
- package/dist/tools/image-generate.tool.js.map +1 -0
- package/dist/tools/memory.tool.d.ts +18 -0
- package/dist/tools/memory.tool.d.ts.map +1 -0
- package/dist/tools/memory.tool.js +53 -0
- package/dist/tools/memory.tool.js.map +1 -0
- package/dist/tools/post-generate.tool.d.ts +5 -0
- package/dist/tools/post-generate.tool.d.ts.map +1 -0
- package/dist/tools/post-generate.tool.js +19 -0
- package/dist/tools/post-generate.tool.js.map +1 -0
- package/dist/tools/scratchpad.tool.d.ts +7 -0
- package/dist/tools/scratchpad.tool.d.ts.map +1 -0
- package/dist/tools/scratchpad.tool.js +29 -0
- package/dist/tools/scratchpad.tool.js.map +1 -0
- package/dist/tools/triggers.tool.d.ts +72 -0
- package/dist/tools/triggers.tool.d.ts.map +1 -0
- package/dist/tools/triggers.tool.js +108 -0
- package/dist/tools/triggers.tool.js.map +1 -0
- package/dist/tools/web-search.tool.d.ts +94 -0
- package/dist/tools/web-search.tool.d.ts.map +1 -0
- package/dist/tools/web-search.tool.js +214 -0
- package/dist/tools/web-search.tool.js.map +1 -0
- package/dist/tools/zilo-docs.tool.d.ts +26 -0
- package/dist/tools/zilo-docs.tool.d.ts.map +1 -0
- package/dist/tools/zilo-docs.tool.js +150 -0
- package/dist/tools/zilo-docs.tool.js.map +1 -0
- package/install.ps1 +62 -0
- package/package.json +88 -0
- package/src/doc/README.md +49 -0
- package/src/doc/admin-tools-and-sms-campaigns.md +99 -0
- package/src/doc/escalation-checklist.md +97 -0
- package/src/doc/payments-and-payouts.md +82 -0
- package/src/doc/shift-lifecycle-and-disputes.md +95 -0
- package/src/doc/support-macros.md +40 -0
- package/src/doc/venue-support-playbook.md +145 -0
- package/src/doc/verification-and-trust.md +88 -0
- package/src/doc/worker-support-playbook.md +160 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { ToolLoopAgent } from 'ai';
|
|
2
|
+
export declare function createDocsResearchAgent(runId?: string): ToolLoopAgent<never, {
|
|
3
|
+
readScratchpad: import("ai").Tool<Record<string, never>, string>;
|
|
4
|
+
appendScratchpad: import("ai").Tool<{
|
|
5
|
+
note: string;
|
|
6
|
+
}, string>;
|
|
7
|
+
docsSearch: import("ai").Tool<{
|
|
8
|
+
query: string;
|
|
9
|
+
}, import("../tools/web-search.tool.js").WebSearchResult[]>;
|
|
10
|
+
docsFetch: import("ai").Tool<{
|
|
11
|
+
url: string;
|
|
12
|
+
}, string>;
|
|
13
|
+
webSearch: import("ai").Tool<{
|
|
14
|
+
query: string;
|
|
15
|
+
maxResults?: number | undefined;
|
|
16
|
+
searchDepth?: "basic" | "advanced" | undefined;
|
|
17
|
+
includeAnswer?: boolean | undefined;
|
|
18
|
+
includeRawContent?: "text" | "markdown" | undefined;
|
|
19
|
+
includeDomains?: string[] | undefined;
|
|
20
|
+
excludeDomains?: string[] | undefined;
|
|
21
|
+
topic?: "general" | "news" | "finance" | undefined;
|
|
22
|
+
timeRange?: "day" | "week" | "month" | "year" | undefined;
|
|
23
|
+
}, {
|
|
24
|
+
answer: string | undefined;
|
|
25
|
+
results: {
|
|
26
|
+
title: string;
|
|
27
|
+
url: string;
|
|
28
|
+
content: string;
|
|
29
|
+
rawContent: string | undefined;
|
|
30
|
+
score: number | undefined;
|
|
31
|
+
publishedDate: string | undefined;
|
|
32
|
+
}[];
|
|
33
|
+
}>;
|
|
34
|
+
webExtract: import("ai").Tool<{
|
|
35
|
+
urls: string[];
|
|
36
|
+
query?: string | undefined;
|
|
37
|
+
extractDepth?: "basic" | "advanced" | undefined;
|
|
38
|
+
format?: "text" | "markdown" | undefined;
|
|
39
|
+
chunksPerSource?: number | undefined;
|
|
40
|
+
}, {
|
|
41
|
+
results: {
|
|
42
|
+
url: string;
|
|
43
|
+
title: string;
|
|
44
|
+
rawContent: string;
|
|
45
|
+
}[];
|
|
46
|
+
failedResults: {
|
|
47
|
+
url: string;
|
|
48
|
+
error: string;
|
|
49
|
+
}[];
|
|
50
|
+
}>;
|
|
51
|
+
webMap: import("ai").Tool<{
|
|
52
|
+
url: string;
|
|
53
|
+
instructions?: string | undefined;
|
|
54
|
+
maxDepth?: number | undefined;
|
|
55
|
+
limit?: number | undefined;
|
|
56
|
+
allowExternal?: boolean | undefined;
|
|
57
|
+
}, {
|
|
58
|
+
baseUrl: string;
|
|
59
|
+
results: string[];
|
|
60
|
+
}>;
|
|
61
|
+
webCrawl: import("ai").Tool<{
|
|
62
|
+
url: string;
|
|
63
|
+
instructions?: string | undefined;
|
|
64
|
+
maxDepth?: number | undefined;
|
|
65
|
+
maxBreadth?: number | undefined;
|
|
66
|
+
limit?: number | undefined;
|
|
67
|
+
allowExternal?: boolean | undefined;
|
|
68
|
+
}, {
|
|
69
|
+
results: {
|
|
70
|
+
url: string;
|
|
71
|
+
title: string;
|
|
72
|
+
content: string;
|
|
73
|
+
}[];
|
|
74
|
+
failedResults: {
|
|
75
|
+
url: string;
|
|
76
|
+
error: string | undefined;
|
|
77
|
+
}[];
|
|
78
|
+
}>;
|
|
79
|
+
deepResearch: import("ai").Tool<{
|
|
80
|
+
input: string;
|
|
81
|
+
model?: "mini" | "pro" | undefined;
|
|
82
|
+
timeoutSeconds?: number | undefined;
|
|
83
|
+
pollIntervalSeconds?: number | undefined;
|
|
84
|
+
}, {
|
|
85
|
+
requestId: string;
|
|
86
|
+
status: string;
|
|
87
|
+
content: string;
|
|
88
|
+
sources: {
|
|
89
|
+
title: string;
|
|
90
|
+
url: string;
|
|
91
|
+
}[];
|
|
92
|
+
message?: never;
|
|
93
|
+
} | {
|
|
94
|
+
requestId: string;
|
|
95
|
+
status: string;
|
|
96
|
+
message: string;
|
|
97
|
+
content?: never;
|
|
98
|
+
sources?: never;
|
|
99
|
+
}>;
|
|
100
|
+
appKnowledge: import("ai").Tool<{
|
|
101
|
+
key: "agent-docs" | "readme";
|
|
102
|
+
}, string>;
|
|
103
|
+
listZiloDocs: import("ai").Tool<Record<string, never>, {
|
|
104
|
+
key: string;
|
|
105
|
+
title: string;
|
|
106
|
+
description: string;
|
|
107
|
+
}[]>;
|
|
108
|
+
readZiloDoc: import("ai").Tool<{
|
|
109
|
+
key: string;
|
|
110
|
+
maxChars?: number | undefined;
|
|
111
|
+
}, {
|
|
112
|
+
key: string;
|
|
113
|
+
title: string;
|
|
114
|
+
description: string;
|
|
115
|
+
content: string;
|
|
116
|
+
}>;
|
|
117
|
+
searchZiloDocs: import("ai").Tool<{
|
|
118
|
+
query: string;
|
|
119
|
+
maxResults?: number | undefined;
|
|
120
|
+
}, {
|
|
121
|
+
key: string;
|
|
122
|
+
title: string;
|
|
123
|
+
description: string;
|
|
124
|
+
snippet: string;
|
|
125
|
+
}[]>;
|
|
126
|
+
}, never>;
|
|
127
|
+
//# sourceMappingURL=docs-research.agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-research.agent.d.ts","sourceRoot":"","sources":["../../src/agents/docs-research.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,MAAM,IAAI,CAAC;AAShD,wBAAgB,uBAAuB,CAAC,KAAK,SAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAmBxD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { stepCountIs, ToolLoopAgent } from 'ai';
|
|
2
|
+
import { models } from '../config/models.js';
|
|
3
|
+
import { docsFetchTool } from '../tools/docs-fetch.tool.js';
|
|
4
|
+
import { docsSearchTool } from '../tools/docs-search.tool.js';
|
|
5
|
+
import { appKnowledgeTool } from '../tools/app-knowledge.tool.js';
|
|
6
|
+
import { createScratchpadTools } from '../tools/scratchpad.tool.js';
|
|
7
|
+
import { ziloDocsTools } from '../tools/zilo-docs.tool.js';
|
|
8
|
+
import { deepResearchTool, webCrawlTool, webExtractTool, webMapTool, webSearchTool } from '../tools/web-search.tool.js';
|
|
9
|
+
export function createDocsResearchAgent(runId = 'default') {
|
|
10
|
+
const scratchpadTools = createScratchpadTools(runId);
|
|
11
|
+
return new ToolLoopAgent({
|
|
12
|
+
model: models.research,
|
|
13
|
+
instructions: 'You are a focused docs research subagent. For ZiloShift product behavior, search/read local Zilo docs first. For external facts, prefer official or primary docs: search lightly, extract known URLs deeply, map before crawling, crawl only small docs sections, and use deepResearch only for broad synthesis where the user clearly benefits from a heavier task. Return compact answers with source URLs. Use the scratchpad for compact intermediate notes only when research spans multiple sources.',
|
|
14
|
+
tools: {
|
|
15
|
+
...ziloDocsTools,
|
|
16
|
+
docsSearch: docsSearchTool,
|
|
17
|
+
docsFetch: docsFetchTool,
|
|
18
|
+
webSearch: webSearchTool,
|
|
19
|
+
webExtract: webExtractTool,
|
|
20
|
+
webMap: webMapTool,
|
|
21
|
+
webCrawl: webCrawlTool,
|
|
22
|
+
deepResearch: deepResearchTool,
|
|
23
|
+
appKnowledge: appKnowledgeTool,
|
|
24
|
+
...scratchpadTools,
|
|
25
|
+
},
|
|
26
|
+
stopWhen: stepCountIs(8),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=docs-research.agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs-research.agent.js","sourceRoot":"","sources":["../../src/agents/docs-research.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAExH,MAAM,UAAU,uBAAuB,CAAC,KAAK,GAAG,SAAS;IACvD,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,IAAI,aAAa,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC,QAAQ;QACtB,YAAY,EAAE,4eAA4e;QAC1f,KAAK,EAAE;YACL,GAAG,aAAa;YAChB,UAAU,EAAE,cAAc;YAC1B,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,aAAa;YACxB,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,YAAY;YACtB,YAAY,EAAE,gBAAgB;YAC9B,YAAY,EAAE,gBAAgB;YAC9B,GAAG,eAAe;SACnB;QACD,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;KACzB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ToolLoopAgent } from 'ai';
|
|
2
|
+
export declare function createImageAgent(): ToolLoopAgent<never, {
|
|
3
|
+
generateImage: import("ai").Tool<{
|
|
4
|
+
prompt: string;
|
|
5
|
+
provider?: "openai" | "gemini" | "chatgpt" | "google" | "default" | undefined;
|
|
6
|
+
size?: string | undefined;
|
|
7
|
+
}, import("../tools/image-generate.tool.js").ImageGenerationResult>;
|
|
8
|
+
}, never>;
|
|
9
|
+
//# sourceMappingURL=image.agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.agent.d.ts","sourceRoot":"","sources":["../../src/agents/image.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,MAAM,IAAI,CAAC;AAIhD,wBAAgB,gBAAgB;;;;;;UAO/B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { stepCountIs, ToolLoopAgent } from 'ai';
|
|
2
|
+
import { models } from '../config/models.js';
|
|
3
|
+
import { imageGenerateTool } from '../tools/image-generate.tool.js';
|
|
4
|
+
export function createImageAgent() {
|
|
5
|
+
return new ToolLoopAgent({
|
|
6
|
+
model: models.manager,
|
|
7
|
+
instructions: 'You are the ZiloShift image agent. Improve the user image prompt when useful, then call generateImage. Use Gemini 3 Pro Image via Gateway. Do not claim GPT-2 can generate images.',
|
|
8
|
+
tools: { generateImage: imageGenerateTool },
|
|
9
|
+
stopWhen: stepCountIs(4),
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=image.agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.agent.js","sourceRoot":"","sources":["../../src/agents/image.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,aAAa,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC,OAAO;QACrB,YAAY,EAAE,oLAAoL;QAClM,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE;QAC3C,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;KACzB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { ToolLoopAgent } from 'ai';
|
|
2
|
+
import { type ProgressEvent } from '../runtime/progress.js';
|
|
3
|
+
import { type ConfirmationHandler } from '../runtime/confirm.js';
|
|
4
|
+
export declare function createManagerAgent(runId?: string, options?: {
|
|
5
|
+
sessionId?: string;
|
|
6
|
+
}): Promise<ToolLoopAgent<never, {
|
|
7
|
+
readScratchpad: import("ai").Tool<Record<string, never>, string>;
|
|
8
|
+
appendScratchpad: import("ai").Tool<{
|
|
9
|
+
note: string;
|
|
10
|
+
}, string>;
|
|
11
|
+
listTriggerTypes: import("ai").Tool<{
|
|
12
|
+
toolkit?: string | undefined;
|
|
13
|
+
limit?: number | undefined;
|
|
14
|
+
}, {
|
|
15
|
+
items: {
|
|
16
|
+
slug: string;
|
|
17
|
+
name: string;
|
|
18
|
+
description: string;
|
|
19
|
+
toolkit: {
|
|
20
|
+
slug: string;
|
|
21
|
+
name: string;
|
|
22
|
+
logo: string;
|
|
23
|
+
};
|
|
24
|
+
payload: Record<string, unknown>;
|
|
25
|
+
config: Record<string, unknown>;
|
|
26
|
+
version?: string | undefined;
|
|
27
|
+
instructions?: string | undefined;
|
|
28
|
+
}[];
|
|
29
|
+
totalPages: number;
|
|
30
|
+
nextCursor?: string | null | undefined;
|
|
31
|
+
}>;
|
|
32
|
+
showTriggerType: import("ai").Tool<{
|
|
33
|
+
triggerSlug: string;
|
|
34
|
+
}, {
|
|
35
|
+
slug: string;
|
|
36
|
+
name: string;
|
|
37
|
+
description: string;
|
|
38
|
+
toolkit: {
|
|
39
|
+
slug: string;
|
|
40
|
+
name: string;
|
|
41
|
+
logo: string;
|
|
42
|
+
};
|
|
43
|
+
payload: Record<string, unknown>;
|
|
44
|
+
config: Record<string, unknown>;
|
|
45
|
+
version?: string | undefined;
|
|
46
|
+
instructions?: string | undefined;
|
|
47
|
+
}>;
|
|
48
|
+
listTriggers: import("ai").Tool<{
|
|
49
|
+
limit?: number | undefined;
|
|
50
|
+
showDisabled?: boolean | undefined;
|
|
51
|
+
}, {
|
|
52
|
+
items: {
|
|
53
|
+
connectedAccountId: string;
|
|
54
|
+
id: string;
|
|
55
|
+
updatedAt: string;
|
|
56
|
+
disabledAt: string | null;
|
|
57
|
+
state: Record<string, unknown>;
|
|
58
|
+
triggerConfig: Record<string, unknown>;
|
|
59
|
+
triggerName: string;
|
|
60
|
+
uuid?: string | undefined;
|
|
61
|
+
triggerData?: string | undefined;
|
|
62
|
+
}[];
|
|
63
|
+
nextCursor: string | null;
|
|
64
|
+
totalPages: number;
|
|
65
|
+
}>;
|
|
66
|
+
createTrigger: import("ai").Tool<{
|
|
67
|
+
triggerSlug: string;
|
|
68
|
+
triggerConfig?: Record<string, unknown> | undefined;
|
|
69
|
+
connectedAccountId?: string | undefined;
|
|
70
|
+
dryRun?: boolean | undefined;
|
|
71
|
+
}, {
|
|
72
|
+
triggerId: string;
|
|
73
|
+
} | {
|
|
74
|
+
triggerConfig?: Record<string, unknown>;
|
|
75
|
+
connectedAccountId?: string;
|
|
76
|
+
userId: string;
|
|
77
|
+
triggerSlug: string;
|
|
78
|
+
dryRun: boolean;
|
|
79
|
+
}>;
|
|
80
|
+
rememberMemory: import("ai").Tool<{
|
|
81
|
+
text: string;
|
|
82
|
+
tags?: string[] | undefined;
|
|
83
|
+
}, import("../server.js").LongTermMemory>;
|
|
84
|
+
recallMemory: import("ai").Tool<{
|
|
85
|
+
query?: string | undefined;
|
|
86
|
+
limit?: number | undefined;
|
|
87
|
+
}, import("../server.js").LongTermMemory[]>;
|
|
88
|
+
listMemory: import("ai").Tool<Record<string, never>, import("../server.js").LongTermMemory[]>;
|
|
89
|
+
forgetMemory: import("ai").Tool<{
|
|
90
|
+
id: string;
|
|
91
|
+
}, {
|
|
92
|
+
id: string;
|
|
93
|
+
deleted: boolean;
|
|
94
|
+
}>;
|
|
95
|
+
listZiloDocs: import("ai").Tool<Record<string, never>, {
|
|
96
|
+
key: string;
|
|
97
|
+
title: string;
|
|
98
|
+
description: string;
|
|
99
|
+
}[]>;
|
|
100
|
+
readZiloDoc: import("ai").Tool<{
|
|
101
|
+
key: string;
|
|
102
|
+
maxChars?: number | undefined;
|
|
103
|
+
}, {
|
|
104
|
+
key: string;
|
|
105
|
+
title: string;
|
|
106
|
+
description: string;
|
|
107
|
+
content: string;
|
|
108
|
+
}>;
|
|
109
|
+
searchZiloDocs: import("ai").Tool<{
|
|
110
|
+
query: string;
|
|
111
|
+
maxResults?: number | undefined;
|
|
112
|
+
}, {
|
|
113
|
+
key: string;
|
|
114
|
+
title: string;
|
|
115
|
+
description: string;
|
|
116
|
+
snippet: string;
|
|
117
|
+
}[]>;
|
|
118
|
+
quickHelp: import("ai").Tool<{
|
|
119
|
+
prompt: string;
|
|
120
|
+
}, string>;
|
|
121
|
+
chat: import("ai").Tool<{
|
|
122
|
+
prompt: string;
|
|
123
|
+
}, string>;
|
|
124
|
+
post: import("ai").Tool<{
|
|
125
|
+
prompt: string;
|
|
126
|
+
}, string>;
|
|
127
|
+
image: import("ai").Tool<{
|
|
128
|
+
prompt: string;
|
|
129
|
+
}, string>;
|
|
130
|
+
research: import("ai").Tool<{
|
|
131
|
+
prompt: string;
|
|
132
|
+
}, string>;
|
|
133
|
+
}, never>>;
|
|
134
|
+
export declare function runManager(prompt: string, options?: {
|
|
135
|
+
progress?: (event: ProgressEvent) => void;
|
|
136
|
+
runId?: string;
|
|
137
|
+
sessionId?: string;
|
|
138
|
+
confirm?: ConfirmationHandler;
|
|
139
|
+
}): Promise<string>;
|
|
140
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,aAAa,EAAE,MAAM,IAAI,CAAC;AAUtD,OAAO,EAAgB,KAAK,aAAa,EAAwB,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,KAAK,mBAAmB,EAA2B,MAAM,uBAAuB,CAAC;AA4D1F,wBAAsB,kBAAkB,CAAC,KAAK,GAAE,MAAqB,EAAE,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;mBAsFo4lG,CAAC;wBAAsC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAz2S,CAAC;uBAAqC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAjCptzF;AAOD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAAO,mBAsB9K"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { stepCountIs, tool, ToolLoopAgent } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { models } from '../config/models.js';
|
|
5
|
+
import { createQuickHelpAgent } from './quick-help.agent.js';
|
|
6
|
+
import { createChatAgent } from './chat.agent.js';
|
|
7
|
+
import { createPostAgent } from './post.agent.js';
|
|
8
|
+
import { createImageAgent } from './image.agent.js';
|
|
9
|
+
import { createDocsResearchAgent } from './docs-research.agent.js';
|
|
10
|
+
import { checkReadOnlyIntent } from '../safety/approvals.js';
|
|
11
|
+
import { limits } from '../safety/limits.js';
|
|
12
|
+
import { emitProgress, withProgressListener } from '../runtime/progress.js';
|
|
13
|
+
import { withConfirmationHandler } from '../runtime/confirm.js';
|
|
14
|
+
import { createScratchpadTools } from '../tools/scratchpad.tool.js';
|
|
15
|
+
import { ziloDocsTools } from '../tools/zilo-docs.tool.js';
|
|
16
|
+
import { createComposioTools } from '../tools/composio.tool.js';
|
|
17
|
+
import { memoryTools } from '../tools/memory.tool.js';
|
|
18
|
+
import { triggerTools } from '../tools/triggers.tool.js';
|
|
19
|
+
function agentInput(prompt, abortSignal) {
|
|
20
|
+
return abortSignal ? { prompt, abortSignal } : { prompt };
|
|
21
|
+
}
|
|
22
|
+
function describeTool(name) {
|
|
23
|
+
const labels = {
|
|
24
|
+
quickHelp: 'Using quick-help subagent',
|
|
25
|
+
chat: 'Using chat subagent',
|
|
26
|
+
post: 'Using post-writing subagent',
|
|
27
|
+
image: 'Using image generation subagent',
|
|
28
|
+
research: 'Using research subagent',
|
|
29
|
+
readScratchpad: 'Reading scratchpad',
|
|
30
|
+
appendScratchpad: 'Updating scratchpad',
|
|
31
|
+
rememberMemory: 'Saving memory',
|
|
32
|
+
recallMemory: 'Recalling memory',
|
|
33
|
+
listMemory: 'Listing memory',
|
|
34
|
+
forgetMemory: 'Forgetting memory',
|
|
35
|
+
listZiloDocs: 'Listing Zilo docs',
|
|
36
|
+
readZiloDoc: 'Reading Zilo doc',
|
|
37
|
+
searchZiloDocs: 'Searching Zilo docs',
|
|
38
|
+
listTriggerTypes: 'Listing trigger types',
|
|
39
|
+
showTriggerType: 'Loading trigger schema',
|
|
40
|
+
listTriggers: 'Listing triggers',
|
|
41
|
+
createTrigger: 'Creating trigger',
|
|
42
|
+
COMPOSIO_SEARCH_TOOLS: 'Searching Composio tools',
|
|
43
|
+
COMPOSIO_GET_TOOL_SCHEMAS: 'Loading Composio tool schemas',
|
|
44
|
+
COMPOSIO_MANAGE_CONNECTIONS: 'Managing Composio connection',
|
|
45
|
+
COMPOSIO_MULTI_EXECUTE_TOOL: 'Executing Composio tool',
|
|
46
|
+
COMPOSIO_REMOTE_WORKBENCH: 'Using Composio workbench',
|
|
47
|
+
COMPOSIO_REMOTE_BASH_TOOL: 'Using Composio bash tool',
|
|
48
|
+
};
|
|
49
|
+
return labels[name] || `Using ${name}`;
|
|
50
|
+
}
|
|
51
|
+
function subagentTool(name, description, run) {
|
|
52
|
+
return tool({
|
|
53
|
+
description,
|
|
54
|
+
inputSchema: z.object({ prompt: z.string().min(3) }),
|
|
55
|
+
execute: async ({ prompt }, { abortSignal }) => {
|
|
56
|
+
emitProgress({ type: 'tool:start', label: describeTool(name), detail: prompt });
|
|
57
|
+
try {
|
|
58
|
+
const result = await run(prompt, abortSignal);
|
|
59
|
+
emitProgress({ type: 'tool:end', label: `${describeTool(name)} finished` });
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
emitProgress({ type: 'tool:error', label: `${describeTool(name)} failed`, detail: error instanceof Error ? error.message : String(error) });
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
toModelOutput: ({ output }) => ({ type: 'text', value: String(output) }),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
export async function createManagerAgent(runId = randomUUID(), options = {}) {
|
|
71
|
+
const quickHelp = createQuickHelpAgent();
|
|
72
|
+
const chat = createChatAgent();
|
|
73
|
+
const post = createPostAgent();
|
|
74
|
+
const image = createImageAgent();
|
|
75
|
+
const research = createDocsResearchAgent(runId);
|
|
76
|
+
const scratchpadTools = createScratchpadTools(runId);
|
|
77
|
+
const composioTools = await createComposioTools(options.sessionId || 'default');
|
|
78
|
+
return new ToolLoopAgent({
|
|
79
|
+
model: models.manager,
|
|
80
|
+
instructions: [
|
|
81
|
+
'You are ZilMate, a general CLI assistant with deep built-in ZiloShift expertise.',
|
|
82
|
+
'Route ZiloShift/support/worker/venue/payment/verification/SMS/dispute questions through the local Zilo docs before using web research.',
|
|
83
|
+
'Use Composio tools for external app tasks such as GitHub, Gmail, Slack, Notion, Stripe, Supabase, and other connected-account actions. If a needed app is not connected, use Composio connection management and surface the connect link to the user.',
|
|
84
|
+
'For Composio, prefer this flow: use COMPOSIO_SEARCH_TOOLS to find relevant external app tools, COMPOSIO_GET_TOOL_SCHEMAS to inspect required arguments, COMPOSIO_MANAGE_CONNECTIONS to create or show app connection links, and COMPOSIO_MULTI_EXECUTE_TOOL to execute selected tools after arguments are clear.',
|
|
85
|
+
'When COMPOSIO_MANAGE_CONNECTIONS returns an authorization or connect URL, print that URL plainly and tell the user to open it to connect their account before retrying the app action.',
|
|
86
|
+
'For app events, use trigger tools: listTriggerTypes to discover current trigger slugs, showTriggerType to inspect required config, listTriggers to inspect existing trigger instances, and createTrigger only after config is clear. Prefer dryRun first, then ask for confirmation before creating a real trigger.',
|
|
87
|
+
'When returning tool slugs, trigger slugs, ids, env vars, or command names, wrap them in backticks so exact underscores and casing are preserved.',
|
|
88
|
+
'Use research for current web or documentation questions. Use specialized subagents for focused chat, quick help, post copy, image assets, and research.',
|
|
89
|
+
'Use long-term memory tools for stable preferences, durable project facts, and recurring context. Do not save secrets, API keys, tokens, passwords, or sensitive personal data to memory.',
|
|
90
|
+
'Keep parent context small and use scratchpad tools for compact notes during multi-source or multi-step tasks.',
|
|
91
|
+
'Do not build OAuth flows yourself. Do not claim live external changes happened unless the tool result confirms them.',
|
|
92
|
+
].join(' '),
|
|
93
|
+
tools: {
|
|
94
|
+
quickHelp: subagentTool('quickHelp', 'Fast troubleshooting and usage guidance.', async (prompt, abortSignal) => {
|
|
95
|
+
const result = await quickHelp.generate(agentInput(prompt, abortSignal));
|
|
96
|
+
return result.text;
|
|
97
|
+
}),
|
|
98
|
+
chat: subagentTool('chat', 'Natural conversation about ZiloShift workflows and features.', async (prompt, abortSignal) => {
|
|
99
|
+
const result = await chat.generate(agentInput(prompt, abortSignal));
|
|
100
|
+
return result.text;
|
|
101
|
+
}),
|
|
102
|
+
post: subagentTool('post', 'Generate short WhatsApp/status/social post copy.', async (prompt, abortSignal) => {
|
|
103
|
+
const result = await post.generate(agentInput(prompt, abortSignal));
|
|
104
|
+
return result.text;
|
|
105
|
+
}),
|
|
106
|
+
image: subagentTool('image', 'Generate image assets and return saved local file paths.', async (prompt, abortSignal) => {
|
|
107
|
+
const result = await image.generate(agentInput(prompt, abortSignal));
|
|
108
|
+
return result.text;
|
|
109
|
+
}),
|
|
110
|
+
research: subagentTool('research', 'Research docs or current web information and return sourced summaries.', async (prompt, abortSignal) => {
|
|
111
|
+
const result = await research.generate(agentInput(prompt, abortSignal));
|
|
112
|
+
return result.text;
|
|
113
|
+
}),
|
|
114
|
+
...ziloDocsTools,
|
|
115
|
+
...memoryTools,
|
|
116
|
+
...triggerTools,
|
|
117
|
+
...scratchpadTools,
|
|
118
|
+
...composioTools,
|
|
119
|
+
},
|
|
120
|
+
stopWhen: stepCountIs(limits.managerSteps),
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
function toolNamesFromStep(step) {
|
|
124
|
+
const toolCalls = step.toolCalls || [];
|
|
125
|
+
return toolCalls.map((call) => call.toolName).filter((name) => Boolean(name));
|
|
126
|
+
}
|
|
127
|
+
export async function runManager(prompt, options = {}) {
|
|
128
|
+
const safety = checkReadOnlyIntent(prompt);
|
|
129
|
+
if (safety.decision === 'blocked')
|
|
130
|
+
return safety.reason;
|
|
131
|
+
return withProgressListener(options.progress, async () => {
|
|
132
|
+
return withConfirmationHandler(options.confirm, async () => {
|
|
133
|
+
const runId = options.runId || randomUUID();
|
|
134
|
+
emitProgress({ type: 'thinking', label: 'Thinking', detail: runId });
|
|
135
|
+
const manager = await createManagerAgent(runId, options.sessionId ? { sessionId: options.sessionId } : {});
|
|
136
|
+
const result = await manager.generate({
|
|
137
|
+
prompt,
|
|
138
|
+
onStepFinish: (step) => {
|
|
139
|
+
const tools = toolNamesFromStep(step);
|
|
140
|
+
if (tools.length > 0) {
|
|
141
|
+
emitProgress({ type: 'step', label: 'Manager selected tools', detail: tools.map(describeTool).join(', ') });
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
emitProgress({ type: 'done', label: 'Response ready' });
|
|
146
|
+
return result.text;
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post.agent.d.ts","sourceRoot":"","sources":["../../src/agents/post.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,MAAM,IAAI,CAAC;AAIhD,wBAAgB,eAAe;;;;UAO9B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { stepCountIs, ToolLoopAgent } from 'ai';
|
|
2
|
+
import { models } from '../config/models.js';
|
|
3
|
+
import { postGenerateTool } from '../tools/post-generate.tool.js';
|
|
4
|
+
export function createPostAgent() {
|
|
5
|
+
return new ToolLoopAgent({
|
|
6
|
+
model: models.post,
|
|
7
|
+
instructions: 'You create concise, useful ZiloShift social posts, WhatsApp statuses, campaign copy, and launch messages. Keep language clear and Ghana-friendly when requested.',
|
|
8
|
+
tools: { generatePost: postGenerateTool },
|
|
9
|
+
stopWhen: stepCountIs(4),
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=post.agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post.agent.js","sourceRoot":"","sources":["../../src/agents/post.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,aAAa,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC,IAAI;QAClB,YAAY,EAAE,kKAAkK;QAChL,KAAK,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE;QACzC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;KACzB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ToolLoopAgent } from 'ai';
|
|
2
|
+
export declare function createQuickHelpAgent(): ToolLoopAgent<never, {
|
|
3
|
+
appKnowledge: import("ai").Tool<{
|
|
4
|
+
key: "agent-docs" | "readme";
|
|
5
|
+
}, string>;
|
|
6
|
+
listZiloDocs: import("ai").Tool<Record<string, never>, {
|
|
7
|
+
key: string;
|
|
8
|
+
title: string;
|
|
9
|
+
description: string;
|
|
10
|
+
}[]>;
|
|
11
|
+
readZiloDoc: import("ai").Tool<{
|
|
12
|
+
key: string;
|
|
13
|
+
maxChars?: number | undefined;
|
|
14
|
+
}, {
|
|
15
|
+
key: string;
|
|
16
|
+
title: string;
|
|
17
|
+
description: string;
|
|
18
|
+
content: string;
|
|
19
|
+
}>;
|
|
20
|
+
searchZiloDocs: import("ai").Tool<{
|
|
21
|
+
query: string;
|
|
22
|
+
maxResults?: number | undefined;
|
|
23
|
+
}, {
|
|
24
|
+
key: string;
|
|
25
|
+
title: string;
|
|
26
|
+
description: string;
|
|
27
|
+
snippet: string;
|
|
28
|
+
}[]>;
|
|
29
|
+
}, never>;
|
|
30
|
+
//# sourceMappingURL=quick-help.agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quick-help.agent.d.ts","sourceRoot":"","sources":["../../src/agents/quick-help.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,MAAM,IAAI,CAAC;AAKhD,wBAAgB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;UAUnC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { stepCountIs, ToolLoopAgent } from 'ai';
|
|
2
|
+
import { models } from '../config/models.js';
|
|
3
|
+
import { appKnowledgeTool } from '../tools/app-knowledge.tool.js';
|
|
4
|
+
import { ziloDocsTools } from '../tools/zilo-docs.tool.js';
|
|
5
|
+
export function createQuickHelpAgent() {
|
|
6
|
+
return new ToolLoopAgent({
|
|
7
|
+
model: models.help,
|
|
8
|
+
instructions: 'You are ZilMate Quick Help. Give short, practical troubleshooting answers for ZiloShift operators. Prefer local ZiloShift docs before app knowledge. Ask for missing details only when required. If the issue involves safety, money, identity, fraud, legal risk, or a platform bug, give clear next steps and say it should be escalated to the ZiloShift team.',
|
|
9
|
+
tools: {
|
|
10
|
+
...ziloDocsTools,
|
|
11
|
+
appKnowledge: appKnowledgeTool,
|
|
12
|
+
},
|
|
13
|
+
stopWhen: stepCountIs(5),
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=quick-help.agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quick-help.agent.js","sourceRoot":"","sources":["../../src/agents/quick-help.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,aAAa,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC,IAAI;QAClB,YAAY,EAAE,mWAAmW;QACjX,KAAK,EAAE;YACL,GAAG,aAAa;YAChB,YAAY,EAAE,gBAAgB;SAC/B;QACD,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;KACzB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import readline from 'node:readline/promises';
|
|
2
|
+
import type { ConfirmationHandler } from '../runtime/confirm.js';
|
|
3
|
+
export declare function createReadlineConfirmation(rl: readline.Interface): ConfirmationHandler;
|
|
4
|
+
export declare function createTerminalConfirmation(): ConfirmationHandler;
|
|
5
|
+
//# sourceMappingURL=confirm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm.d.ts","sourceRoot":"","sources":["../../src/cli/confirm.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAG9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,GAAG,mBAAmB,CAetF;AAED,wBAAgB,0BAA0B,IAAI,mBAAmB,CAUhE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import readline from 'node:readline/promises';
|
|
2
|
+
import { stdin as input, stdout as output } from 'node:process';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
export function createReadlineConfirmation(rl) {
|
|
5
|
+
return async ({ toolkitSlug, toolSlug, summary, action, access, targetTools, details }) => {
|
|
6
|
+
console.log(chalk.yellow(`\nZilMate wants to use ${toolkitSlug}`));
|
|
7
|
+
console.log(`${chalk.gray('Action:')} ${action || 'External app action'}`);
|
|
8
|
+
console.log(`${chalk.gray('Access:')} ${access || 'Write'}`);
|
|
9
|
+
console.log(`${chalk.gray('Tool:')} ${(targetTools && targetTools.length > 0) ? targetTools.join(', ') : toolSlug}`);
|
|
10
|
+
if (details && details.length > 0) {
|
|
11
|
+
console.log(chalk.gray('Details:'));
|
|
12
|
+
for (const detail of details)
|
|
13
|
+
console.log(`- ${detail}`);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
console.log(`${chalk.gray('Details:')} ${summary}`);
|
|
17
|
+
}
|
|
18
|
+
const answer = (await rl.question('Proceed? (y/N) ')).trim().toLowerCase();
|
|
19
|
+
return answer === 'y' || answer === 'yes';
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export function createTerminalConfirmation() {
|
|
23
|
+
return async (request) => {
|
|
24
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY)
|
|
25
|
+
return false;
|
|
26
|
+
const rl = readline.createInterface({ input, output });
|
|
27
|
+
try {
|
|
28
|
+
return await createReadlineConfirmation(rl)(request);
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
rl.close();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=confirm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm.js","sourceRoot":"","sources":["../../src/cli/confirm.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,UAAU,0BAA0B,CAAC,EAAsB;IAC/D,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,IAAI,qBAAqB,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrH,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpC,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3E,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,CAAC;IAC5C,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAChE,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,OAAO,MAAM,0BAA0B,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|