@agentconnect.md/daemon 1.0.0-rc.344 → 1.0.0-rc.346
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/{acp-host-rssqAAfr.js → acp-host-cFIM27G4.js} +2 -2
- package/dist/{acp-host-rssqAAfr.js.map → acp-host-cFIM27G4.js.map} +1 -1
- package/dist/{agent-list-DORP5VaY.js → agent-list-BGJCp6Sz.js} +2 -2
- package/dist/{agent-list-DORP5VaY.js.map → agent-list-BGJCp6Sz.js.map} +1 -1
- package/dist/{chat-D3Avutzw.js → chat-C7UHuz3r.js} +3 -3
- package/dist/{chat-D3Avutzw.js.map → chat-C7UHuz3r.js.map} +1 -1
- package/dist/{dist-MrCr7fl1.js → dist-nbZ5Ymz0.js} +77 -6
- package/dist/dist-nbZ5Ymz0.js.map +1 -0
- package/dist/{gh-token-DbqC04y4.js → gh-token-D-2rDAEW.js} +2 -2
- package/dist/{gh-token-DbqC04y4.js.map → gh-token-D-2rDAEW.js.map} +1 -1
- package/dist/index.js +5 -5
- package/dist/{load-agents-BAQcjcVh.js → load-agents-D02wd-zM.js} +2 -2
- package/dist/{load-agents-BAQcjcVh.js.map → load-agents-D02wd-zM.js.map} +1 -1
- package/dist/{login-B3kdBr0_.js → login-CFvowZRS.js} +4 -4
- package/dist/{login-B3kdBr0_.js.map → login-CFvowZRS.js.map} +1 -1
- package/dist/{run-foreground-BqC40mtd.js → run-foreground-CS56Yp2s.js} +291 -105
- package/dist/{run-foreground-BqC40mtd.js.map → run-foreground-CS56Yp2s.js.map} +1 -1
- package/dist/run-foreground-CXjKF1ee.js +2 -0
- package/package.json +1 -1
- package/dist/dist-MrCr7fl1.js.map +0 -1
- package/dist/run-foreground-BFZS8z7u.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as loadConfig, t as discoverAgents } from "./load-agents-
|
|
1
|
+
import { o as loadConfig, t as discoverAgents } from "./load-agents-D02wd-zM.js";
|
|
2
2
|
//#region src/cli/agent-list.ts
|
|
3
3
|
async function runAgentList(opts) {
|
|
4
4
|
const out = opts.out ?? process.stdout;
|
|
@@ -18,4 +18,4 @@ async function runAgentList(opts) {
|
|
|
18
18
|
//#endregion
|
|
19
19
|
export { runAgentList };
|
|
20
20
|
|
|
21
|
-
//# sourceMappingURL=agent-list-
|
|
21
|
+
//# sourceMappingURL=agent-list-BGJCp6Sz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-list-
|
|
1
|
+
{"version":3,"file":"agent-list-BGJCp6Sz.js","names":[],"sources":["../src/cli/agent-list.ts"],"sourcesContent":["import { loadConfig } from '../config/load-config.js'\nimport { discoverAgents } from '../agents/load-agents.js'\n\nexport interface RunAgentListOpts {\n agentsDir?: string\n configPath?: string\n root?: string\n out?: NodeJS.WritableStream\n}\n\n// Read-only view of the local agent directory. Mutating agents (add/remove/\n// enable/disable) is intentionally not a CLI command — agent business config is\n// owned by the Control Plane (agent/upsert + register/ok roster, see\n// cp/cp-agent-registry.ts) or by hand-editing agent.json; the daemon only\n// reconciles what it finds on disk. This lists what that discovery sees.\nexport async function runAgentList(opts: RunAgentListOpts): Promise<void> {\n const out = opts.out ?? process.stdout\n const cfg = loadConfig({\n root: opts.root,\n configPath: opts.configPath,\n optional: true,\n overrides: { agentsDir: opts.agentsDir }\n })\n const agentsDir = cfg.agentsDir!\n const discovered = discoverAgents(agentsDir)\n if (discovered.length === 0) {\n out.write(`no agents found under ${agentsDir}\\n`)\n return\n }\n for (const { agent, dir } of discovered) {\n out.write(`${agent.id}\\t${agent.status}\\t${agent.runtime}\\t${agent.name}\\t${dir}\\n`)\n }\n}\n"],"mappings":";;AAeA,eAAsB,aAAa,MAAuC;CACxE,MAAM,MAAM,KAAK,OAAO,QAAQ;CAOhC,MAAM,YANM,WAAW;EACrB,MAAM,KAAK;EACX,YAAY,KAAK;EACjB,UAAU;EACV,WAAW,EAAE,WAAW,KAAK,UAAU;CACzC,CACoB,CAAC,CAAC;CACtB,MAAM,aAAa,eAAe,SAAS;CAC3C,IAAI,WAAW,WAAW,GAAG;EAC3B,IAAI,MAAM,yBAAyB,UAAU,GAAG;EAChD;CACF;CACA,KAAK,MAAM,EAAE,OAAO,SAAS,YAC3B,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,GAAG;AAEvF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as agentChildEnv, i as selectAgent, o as loadConfig } from "./load-agents-
|
|
1
|
+
import { a as agentChildEnv, i as selectAgent, o as loadConfig } from "./load-agents-D02wd-zM.js";
|
|
2
2
|
import { l as resolveRoot } from "./paths-DEcUO8lC.js";
|
|
3
|
-
import { E as resolveRuntimes, o as prepareWorkspace, p as memoryProviderFor, t as AcpHost } from "./acp-host-
|
|
3
|
+
import { E as resolveRuntimes, o as prepareWorkspace, p as memoryProviderFor, t as AcpHost } from "./acp-host-cFIM27G4.js";
|
|
4
4
|
import { createInterface } from "node:readline";
|
|
5
5
|
//#region src/cli/chat.ts
|
|
6
6
|
function renderUpdate(out) {
|
|
@@ -84,4 +84,4 @@ async function runChat(opts) {
|
|
|
84
84
|
//#endregion
|
|
85
85
|
export { renderUpdate, runChat };
|
|
86
86
|
|
|
87
|
-
//# sourceMappingURL=chat-
|
|
87
|
+
//# sourceMappingURL=chat-C7UHuz3r.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-
|
|
1
|
+
{"version":3,"file":"chat-C7UHuz3r.js","names":[],"sources":["../src/cli/chat.ts"],"sourcesContent":["import { createInterface } from 'node:readline'\nimport type { ContentBlock, SessionUpdate } from '@agentclientprotocol/sdk'\nimport { loadConfig } from '../config/load-config.js'\nimport { resolveRuntimes } from '../runtimes/registry.js'\nimport { selectAgent } from '../agents/load-agents.js'\nimport { agentChildEnv } from '../agents/agent-env.js'\nimport { memoryProviderFor } from '../agents/memory-provider.js'\nimport { prepareWorkspace } from '../workspace/workspace-manager.js'\nimport { AcpHost } from '../acp/acp-host.js'\nimport { resolveRoot } from '../paths.js'\n\nexport function renderUpdate(out: NodeJS.WritableStream) {\n return (_sessionId: string, update: SessionUpdate): void => {\n if (update.sessionUpdate === 'agent_message_chunk' && update.content.type === 'text') {\n out.write(update.content.text)\n } else if (update.sessionUpdate === 'tool_call') {\n const title = ('title' in update && update.title) || update.toolCallId || 'tool'\n out.write(`\\n[tool] ${title}\\n`)\n }\n }\n}\n\nexport interface RunChatOpts {\n agentsDir?: string\n agentName?: string\n message?: string\n configPath?: string\n root?: string\n out?: NodeJS.WritableStream\n input?: NodeJS.ReadableStream\n}\n\nexport async function runChat(opts: RunChatOpts): Promise<void> {\n const out = opts.out ?? process.stdout\n const root = resolveRoot(opts.root)\n const cfg = loadConfig({\n root: opts.root,\n configPath: opts.configPath,\n optional: true,\n overrides: { agentsDir: opts.agentsDir }\n })\n const agent = selectAgent(cfg.agentsDir!, opts.agentName)\n\n const runtimes = await resolveRuntimes(cfg, root, { neededRuntimes: [agent.runtime], mode: 'cache-first' })\n const runtime = runtimes[agent.runtime]\n if (!runtime) {\n const available = Object.keys(runtimes).sort().join(', ') || '(none)'\n throw new Error(`runtime \"${agent.runtime}\" not found. Available: ${available}`)\n }\n\n const host = new AcpHost(runtime, {\n onUpdate: renderUpdate(out),\n // Memory-backend env for parity with the daemon (managed disables the runtime's\n // own memory; native redirects it under the agent root).\n env: { ...agentChildEnv(agent), ...memoryProviderFor(agent, runtime).runtimeEnv() },\n configPrefs: {\n model: agent.runtimeOverrides?.model,\n permissionMode: agent.permissionMode,\n reasoningEffort: agent.reasoningEffort,\n fastMode: agent.fastMode\n }\n })\n // The adapter child runs in its own process group (see AcpHost.start), so a\n // terminal Ctrl-C no longer kills it as a side effect — Node's default SIGINT\n // exit would skip the finally below and leak it. Stop the host, then re-exit.\n // Registered BEFORE start(): a first-run `npx -y` runtime download takes long\n // enough that Ctrl-C mid-start is common, and the spawn happens early in start().\n const onSigint = () => {\n void host.stop().finally(() => process.exit(130))\n }\n process.once('SIGINT', onSigint)\n try {\n await host.start()\n const cwd = await prepareWorkspace(agent)\n const sessionId = await host.newSession(cwd)\n\n const send = async (text: string) => {\n const blocks: ContentBlock[] = [{ type: 'text', text }]\n await host.prompt(sessionId, blocks)\n out.write('\\n')\n }\n\n if (typeof opts.message === 'string' && opts.message.length > 0) {\n await send(opts.message)\n return\n }\n\n const rl = createInterface({ input: opts.input ?? process.stdin })\n out.write(`Chatting with ${agent.name} (${agent.id}). Type .exit to quit.\\n> `)\n try {\n for await (const line of rl) {\n const text = line.trim()\n if (text === '.exit' || text === '.quit') break\n if (text.length > 0) await send(text)\n out.write('> ')\n }\n } finally {\n rl.close()\n }\n } finally {\n process.removeListener('SIGINT', onSigint)\n await host.stop()\n }\n}\n"],"mappings":";;;;;AAWA,SAAgB,aAAa,KAA4B;CACvD,QAAQ,YAAoB,WAAgC;EAC1D,IAAI,OAAO,kBAAkB,yBAAyB,OAAO,QAAQ,SAAS,QAC5E,IAAI,MAAM,OAAO,QAAQ,IAAI;OACxB,IAAI,OAAO,kBAAkB,aAAa;GAC/C,MAAM,QAAS,WAAW,UAAU,OAAO,SAAU,OAAO,cAAc;GAC1E,IAAI,MAAM,YAAY,MAAM,GAAG;EACjC;CACF;AACF;AAYA,eAAsB,QAAQ,MAAkC;CAC9D,MAAM,MAAM,KAAK,OAAO,QAAQ;CAChC,MAAM,OAAO,YAAY,KAAK,IAAI;CAClC,MAAM,MAAM,WAAW;EACrB,MAAM,KAAK;EACX,YAAY,KAAK;EACjB,UAAU;EACV,WAAW,EAAE,WAAW,KAAK,UAAU;CACzC,CAAC;CACD,MAAM,QAAQ,YAAY,IAAI,WAAY,KAAK,SAAS;CAExD,MAAM,WAAW,MAAM,gBAAgB,KAAK,MAAM;EAAE,gBAAgB,CAAC,MAAM,OAAO;EAAG,MAAM;CAAc,CAAC;CAC1G,MAAM,UAAU,SAAS,MAAM;CAC/B,IAAI,CAAC,SAAS;EACZ,MAAM,YAAY,OAAO,KAAK,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,KAAK;EAC7D,MAAM,IAAI,MAAM,YAAY,MAAM,QAAQ,0BAA0B,WAAW;CACjF;CAEA,MAAM,OAAO,IAAI,QAAQ,SAAS;EAChC,UAAU,aAAa,GAAG;EAG1B,KAAK;GAAE,GAAG,cAAc,KAAK;GAAG,GAAG,kBAAkB,OAAO,OAAO,CAAC,CAAC,WAAW;EAAE;EAClF,aAAa;GACX,OAAO,MAAM,kBAAkB;GAC/B,gBAAgB,MAAM;GACtB,iBAAiB,MAAM;GACvB,UAAU,MAAM;EAClB;CACF,CAAC;CAMD,MAAM,iBAAiB;EACrB,KAAU,KAAK,CAAC,CAAC,cAAc,QAAQ,KAAK,GAAG,CAAC;CAClD;CACA,QAAQ,KAAK,UAAU,QAAQ;CAC/B,IAAI;EACF,MAAM,KAAK,MAAM;EACjB,MAAM,MAAM,MAAM,iBAAiB,KAAK;EACxC,MAAM,YAAY,MAAM,KAAK,WAAW,GAAG;EAE3C,MAAM,OAAO,OAAO,SAAiB;GACnC,MAAM,SAAyB,CAAC;IAAE,MAAM;IAAQ;GAAK,CAAC;GACtD,MAAM,KAAK,OAAO,WAAW,MAAM;GACnC,IAAI,MAAM,IAAI;EAChB;EAEA,IAAI,OAAO,KAAK,YAAY,YAAY,KAAK,QAAQ,SAAS,GAAG;GAC/D,MAAM,KAAK,KAAK,OAAO;GACvB;EACF;EAEA,MAAM,KAAK,gBAAgB,EAAE,OAAO,KAAK,SAAS,QAAQ,MAAM,CAAC;EACjE,IAAI,MAAM,iBAAiB,MAAM,KAAK,IAAI,MAAM,GAAG,2BAA2B;EAC9E,IAAI;GACF,WAAW,MAAM,QAAQ,IAAI;IAC3B,MAAM,OAAO,KAAK,KAAK;IACvB,IAAI,SAAS,WAAW,SAAS,SAAS;IAC1C,IAAI,KAAK,SAAS,GAAG,MAAM,KAAK,IAAI;IACpC,IAAI,MAAM,IAAI;GAChB;EACF,UAAU;GACR,GAAG,MAAM;EACX;CACF,UAAU;EACR,QAAQ,eAAe,UAAU,QAAQ;EACzC,MAAM,KAAK,KAAK;CAClB;AACF"}
|
|
@@ -1944,7 +1944,37 @@ const RcGithubInstallation = object({
|
|
|
1944
1944
|
action: string().min(1)
|
|
1945
1945
|
});
|
|
1946
1946
|
const RcDaemonRevoke = object({ daemonId: string().uuid() });
|
|
1947
|
-
|
|
1947
|
+
/** The Block Kit `action_id` on a shared status bar's inline agent selector.
|
|
1948
|
+
* The relay owns the shared app's Socket Mode connection and answers both the
|
|
1949
|
+
* external-select suggestions and the resulting channel-default selection. Keep
|
|
1950
|
+
* this separate from {@link SHARED_CONFIG_ACTION_ID}: older posted messages still
|
|
1951
|
+
* use that id for the legacy 👤 button + modal flow. */
|
|
1952
|
+
const SHARED_AGENT_SELECT_ACTION_ID = "ac_shared_agent_select";
|
|
1953
|
+
/** Slack action ids shared by the daemon-owned status modal and the relay-owned
|
|
1954
|
+
* Socket Mode edge. Dedicated bots handle them in the daemon directly; shared bots
|
|
1955
|
+
* forward them from the relay to the target daemon. */
|
|
1956
|
+
const SLACK_STATUS_ACTION = {
|
|
1957
|
+
manage: "ac_manage",
|
|
1958
|
+
setModel: "ac_set_model",
|
|
1959
|
+
setEffort: "ac_set_effort",
|
|
1960
|
+
setPermissionMode: "ac_set_permission_mode",
|
|
1961
|
+
setFast: "ac_set_fast",
|
|
1962
|
+
setOutput: "ac_set_output",
|
|
1963
|
+
cancel: "ac_cancel",
|
|
1964
|
+
view: "ac_view"
|
|
1965
|
+
};
|
|
1966
|
+
object({
|
|
1967
|
+
v: literal(1),
|
|
1968
|
+
agentId: string().min(1),
|
|
1969
|
+
integrationId: string().min(1),
|
|
1970
|
+
sessionKey: string().min(1)
|
|
1971
|
+
}).strict();
|
|
1972
|
+
function encodeSharedSlackStatusTarget(target) {
|
|
1973
|
+
return JSON.stringify({
|
|
1974
|
+
v: 1,
|
|
1975
|
+
...target
|
|
1976
|
+
});
|
|
1977
|
+
}
|
|
1948
1978
|
const AttributedRoute = object({
|
|
1949
1979
|
agentId: string().uuid(),
|
|
1950
1980
|
daemonId: string().uuid(),
|
|
@@ -2154,17 +2184,58 @@ const WireNormalizedMessage = object({
|
|
|
2154
2184
|
]).optional(),
|
|
2155
2185
|
headless: boolean().optional()
|
|
2156
2186
|
});
|
|
2187
|
+
const RdMsgIm = object({
|
|
2188
|
+
source: literal("im"),
|
|
2189
|
+
agentId: string().uuid(),
|
|
2190
|
+
sessionKey: string().min(1),
|
|
2191
|
+
msgId: string().min(1),
|
|
2192
|
+
botId: string().uuid(),
|
|
2193
|
+
integrationId: string().uuid(),
|
|
2194
|
+
chatId: string().optional(),
|
|
2195
|
+
payload: WireNormalizedMessage
|
|
2196
|
+
});
|
|
2197
|
+
const RdSlackAction = discriminatedUnion("kind", [
|
|
2198
|
+
object({
|
|
2199
|
+
kind: literal("open-config"),
|
|
2200
|
+
triggerId: string().min(1)
|
|
2201
|
+
}),
|
|
2202
|
+
object({
|
|
2203
|
+
kind: literal("set-model"),
|
|
2204
|
+
model: string().min(1)
|
|
2205
|
+
}),
|
|
2206
|
+
object({
|
|
2207
|
+
kind: literal("set-effort"),
|
|
2208
|
+
effort: string().min(1)
|
|
2209
|
+
}),
|
|
2210
|
+
object({
|
|
2211
|
+
kind: literal("set-permission-mode"),
|
|
2212
|
+
permissionMode: string().min(1)
|
|
2213
|
+
}),
|
|
2214
|
+
object({
|
|
2215
|
+
kind: literal("set-fast"),
|
|
2216
|
+
fastMode: boolean()
|
|
2217
|
+
}),
|
|
2218
|
+
object({
|
|
2219
|
+
kind: literal("set-output"),
|
|
2220
|
+
outputMode: _enum([
|
|
2221
|
+
"low",
|
|
2222
|
+
"medium",
|
|
2223
|
+
"high"
|
|
2224
|
+
])
|
|
2225
|
+
}),
|
|
2226
|
+
object({ kind: literal("cancel") })
|
|
2227
|
+
]);
|
|
2157
2228
|
const RdMsg = discriminatedUnion("source", [
|
|
2158
2229
|
RdMsgWebchat,
|
|
2230
|
+
RdMsgIm,
|
|
2159
2231
|
object({
|
|
2160
|
-
source: literal("
|
|
2232
|
+
source: literal("slack_action"),
|
|
2161
2233
|
agentId: string().uuid(),
|
|
2162
2234
|
sessionKey: string().min(1),
|
|
2163
2235
|
msgId: string().min(1),
|
|
2164
2236
|
botId: string().uuid(),
|
|
2165
2237
|
integrationId: string().uuid(),
|
|
2166
|
-
|
|
2167
|
-
payload: WireNormalizedMessage
|
|
2238
|
+
payload: RdSlackAction
|
|
2168
2239
|
}),
|
|
2169
2240
|
object({
|
|
2170
2241
|
source: literal("hook"),
|
|
@@ -2365,6 +2436,6 @@ function isFrame(type) {
|
|
|
2365
2436
|
return (frame) => frame.type === type;
|
|
2366
2437
|
}
|
|
2367
2438
|
//#endregion
|
|
2368
|
-
export {
|
|
2439
|
+
export { HookReport as _, RELAY_DAEMON_WS_PATH as a, ZodIssueCode as b, SHARED_AGENT_SELECT_ACTION_ID as c, buildEnvelope as d, decodeEnvelope as f, HOOK_REPORT_REASON_PROVIDER_QUOTA_EXHAUSTED as g, MEMORY_INDEX as h, RELAY_DAEMON_SUBPROTOCOL as i, SLACK_STATUS_ACTION as l, MAX_FRAME_BYTES as m, gitRepoLabel as n, buildRelayDaemonFrame as o, encode as p, normalizeGitUrl as r, decodeRelayDaemonFrame as s, isFrame as t, encodeSharedSlackStatusTarget as u, RelayRosterEntry as v, RESERVED_MCP_SERVER_NAME as y };
|
|
2369
2440
|
|
|
2370
|
-
//# sourceMappingURL=dist-
|
|
2441
|
+
//# sourceMappingURL=dist-nbZ5Ymz0.js.map
|