@mono-agent/agent-app 0.3.0 → 0.4.1

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 (186) hide show
  1. package/README.md +24 -10
  2. package/dist/adapter-send-tools-main.d.ts +3 -0
  3. package/dist/adapter-send-tools-main.d.ts.map +1 -0
  4. package/dist/adapter-send-tools-main.js +20 -0
  5. package/dist/adapter-send-tools-main.js.map +1 -0
  6. package/dist/adapter-send-tools.d.ts +125 -0
  7. package/dist/adapter-send-tools.d.ts.map +1 -0
  8. package/dist/adapter-send-tools.js +629 -0
  9. package/dist/adapter-send-tools.js.map +1 -0
  10. package/dist/app-config.d.ts +86 -26
  11. package/dist/app-config.d.ts.map +1 -1
  12. package/dist/app-config.js +284 -90
  13. package/dist/app-config.js.map +1 -1
  14. package/dist/app.d.ts +51 -20
  15. package/dist/app.d.ts.map +1 -1
  16. package/dist/app.js +889 -119
  17. package/dist/app.js.map +1 -1
  18. package/dist/artifact-retention.d.ts +32 -0
  19. package/dist/artifact-retention.d.ts.map +1 -0
  20. package/dist/artifact-retention.js +111 -0
  21. package/dist/artifact-retention.js.map +1 -0
  22. package/dist/audit-runs.d.ts +12 -0
  23. package/dist/audit-runs.d.ts.map +1 -0
  24. package/dist/audit-runs.js +68 -0
  25. package/dist/audit-runs.js.map +1 -0
  26. package/dist/backfill.d.ts +75 -0
  27. package/dist/backfill.d.ts.map +1 -0
  28. package/dist/backfill.js +350 -0
  29. package/dist/backfill.js.map +1 -0
  30. package/dist/background.d.ts +8 -5
  31. package/dist/background.d.ts.map +1 -1
  32. package/dist/background.js +279 -53
  33. package/dist/background.js.map +1 -1
  34. package/dist/broadcast-recorder.d.ts +27 -0
  35. package/dist/broadcast-recorder.d.ts.map +1 -0
  36. package/dist/broadcast-recorder.js +82 -0
  37. package/dist/broadcast-recorder.js.map +1 -0
  38. package/dist/channel-config-view.d.ts +28 -0
  39. package/dist/channel-config-view.d.ts.map +1 -0
  40. package/dist/channel-config-view.js +79 -0
  41. package/dist/channel-config-view.js.map +1 -0
  42. package/dist/channel-gate.d.ts +22 -0
  43. package/dist/channel-gate.d.ts.map +1 -0
  44. package/dist/channel-gate.js +35 -0
  45. package/dist/channel-gate.js.map +1 -0
  46. package/dist/channel-plugins.d.ts +39 -0
  47. package/dist/channel-plugins.d.ts.map +1 -0
  48. package/dist/channel-plugins.js +346 -0
  49. package/dist/channel-plugins.js.map +1 -0
  50. package/dist/channels.d.ts +62 -66
  51. package/dist/channels.d.ts.map +1 -1
  52. package/dist/channels.js +850 -120
  53. package/dist/channels.js.map +1 -1
  54. package/dist/cli.d.ts +103 -4
  55. package/dist/cli.d.ts.map +1 -1
  56. package/dist/cli.js +984 -112
  57. package/dist/cli.js.map +1 -1
  58. package/dist/config-reference.d.ts +24 -0
  59. package/dist/config-reference.d.ts.map +1 -0
  60. package/dist/config-reference.js +580 -0
  61. package/dist/config-reference.js.map +1 -0
  62. package/dist/configured-agent.d.ts +104 -0
  63. package/dist/configured-agent.d.ts.map +1 -0
  64. package/dist/configured-agent.js +578 -0
  65. package/dist/configured-agent.js.map +1 -0
  66. package/dist/consumer-contract.d.ts +36 -0
  67. package/dist/consumer-contract.d.ts.map +1 -0
  68. package/dist/consumer-contract.js +290 -0
  69. package/dist/consumer-contract.js.map +1 -0
  70. package/dist/doctor.d.ts +17 -0
  71. package/dist/doctor.d.ts.map +1 -1
  72. package/dist/doctor.js +392 -95
  73. package/dist/doctor.js.map +1 -1
  74. package/dist/index.d.ts +14 -6
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +7 -3
  77. package/dist/index.js.map +1 -1
  78. package/dist/init.d.ts +23 -7
  79. package/dist/init.d.ts.map +1 -1
  80. package/dist/init.js +91 -26
  81. package/dist/init.js.map +1 -1
  82. package/dist/install-skill.d.ts +1 -1
  83. package/dist/install-skill.js +2 -2
  84. package/dist/install-skill.js.map +1 -1
  85. package/dist/interaction-bridge.d.ts +72 -0
  86. package/dist/interaction-bridge.d.ts.map +1 -0
  87. package/dist/interaction-bridge.js +354 -0
  88. package/dist/interaction-bridge.js.map +1 -0
  89. package/dist/launchd.d.ts +0 -2
  90. package/dist/launchd.d.ts.map +1 -1
  91. package/dist/launchd.js +0 -2
  92. package/dist/launchd.js.map +1 -1
  93. package/dist/memory-command.d.ts +10 -0
  94. package/dist/memory-command.d.ts.map +1 -0
  95. package/dist/memory-command.js +649 -0
  96. package/dist/memory-command.js.map +1 -0
  97. package/dist/memory-recall-main.d.ts +3 -0
  98. package/dist/memory-recall-main.d.ts.map +1 -0
  99. package/dist/memory-recall-main.js +30 -0
  100. package/dist/memory-recall-main.js.map +1 -0
  101. package/dist/memory-recall.d.ts +147 -0
  102. package/dist/memory-recall.d.ts.map +1 -0
  103. package/dist/memory-recall.js +345 -0
  104. package/dist/memory-recall.js.map +1 -0
  105. package/dist/memory-rituals.d.ts +8 -11
  106. package/dist/memory-rituals.d.ts.map +1 -1
  107. package/dist/memory-rituals.js +26 -25
  108. package/dist/memory-rituals.js.map +1 -1
  109. package/dist/metrics.d.ts +13 -0
  110. package/dist/metrics.d.ts.map +1 -0
  111. package/dist/metrics.js +105 -0
  112. package/dist/metrics.js.map +1 -0
  113. package/dist/notify-destinations.d.ts +23 -0
  114. package/dist/notify-destinations.d.ts.map +1 -0
  115. package/dist/notify-destinations.js +79 -0
  116. package/dist/notify-destinations.js.map +1 -0
  117. package/dist/posted-message-index.d.ts +61 -0
  118. package/dist/posted-message-index.d.ts.map +1 -0
  119. package/dist/posted-message-index.js +178 -0
  120. package/dist/posted-message-index.js.map +1 -0
  121. package/dist/proactive-notify.d.ts +32 -0
  122. package/dist/proactive-notify.d.ts.map +1 -0
  123. package/dist/proactive-notify.js +62 -0
  124. package/dist/proactive-notify.js.map +1 -0
  125. package/dist/recipes/base.d.ts +15 -0
  126. package/dist/recipes/base.d.ts.map +1 -0
  127. package/dist/recipes/base.js +51 -0
  128. package/dist/recipes/base.js.map +1 -0
  129. package/dist/recipes/catalog.d.ts +4 -0
  130. package/dist/recipes/catalog.d.ts.map +1 -0
  131. package/dist/recipes/catalog.js +509 -0
  132. package/dist/recipes/catalog.js.map +1 -0
  133. package/dist/recipes/index.d.ts +11 -0
  134. package/dist/recipes/index.d.ts.map +1 -0
  135. package/dist/recipes/index.js +14 -0
  136. package/dist/recipes/index.js.map +1 -0
  137. package/dist/recipes/types.d.ts +70 -0
  138. package/dist/recipes/types.d.ts.map +1 -0
  139. package/dist/recipes/types.js +15 -0
  140. package/dist/recipes/types.js.map +1 -0
  141. package/dist/request-model-override.d.ts +67 -0
  142. package/dist/request-model-override.d.ts.map +1 -0
  143. package/dist/request-model-override.js +96 -0
  144. package/dist/request-model-override.js.map +1 -0
  145. package/dist/runs-health.d.ts +22 -0
  146. package/dist/runs-health.d.ts.map +1 -0
  147. package/dist/runs-health.js +144 -0
  148. package/dist/runs-health.js.map +1 -0
  149. package/dist/seen-conversations.d.ts +22 -0
  150. package/dist/seen-conversations.d.ts.map +1 -0
  151. package/dist/seen-conversations.js +120 -0
  152. package/dist/seen-conversations.js.map +1 -0
  153. package/dist/sessions.d.ts +21 -0
  154. package/dist/sessions.d.ts.map +1 -0
  155. package/dist/sessions.js +45 -0
  156. package/dist/sessions.js.map +1 -0
  157. package/dist/setup.d.ts +29 -0
  158. package/dist/setup.d.ts.map +1 -0
  159. package/dist/setup.js +97 -0
  160. package/dist/setup.js.map +1 -0
  161. package/dist/trigger-overrides.d.ts +17 -0
  162. package/dist/trigger-overrides.d.ts.map +1 -0
  163. package/dist/trigger-overrides.js +30 -0
  164. package/dist/trigger-overrides.js.map +1 -0
  165. package/dist/tui-command.d.ts +56 -0
  166. package/dist/tui-command.d.ts.map +1 -0
  167. package/dist/tui-command.js +160 -0
  168. package/dist/tui-command.js.map +1 -0
  169. package/dist/ui.d.ts +54 -0
  170. package/dist/ui.d.ts.map +1 -0
  171. package/dist/ui.js +157 -0
  172. package/dist/ui.js.map +1 -0
  173. package/dist/web-command.d.ts +39 -0
  174. package/dist/web-command.d.ts.map +1 -0
  175. package/dist/web-command.js +151 -0
  176. package/dist/web-command.js.map +1 -0
  177. package/package.json +22 -17
  178. package/schema/mono-agent.config.schema.json +1686 -0
  179. package/skills/mono-agent-composer/SKILL.md +38 -12
  180. package/skills/mono-agent-composer/agents/openai.yaml +4 -0
  181. package/skills/mono-agent-composer/references/config-blueprint.md +84 -31
  182. package/skills/mono-agent-composer/references/discovery-questions.md +49 -36
  183. package/skills/mono-agent-composer/references/feature-coverage.md +26 -19
  184. package/skills/mono-agent-composer/references/package-map.md +20 -22
  185. package/skills/mono-agent-composer/references/playbooks.md +209 -0
  186. package/skills/mono-agent-composer/references/validation.md +14 -5
package/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  Config-first mono-agent host. Reads one `mono-agent.config.json` in a folder,
4
4
  builds the configured responder, and starts every configured communication
5
- channel plus the local operator console and traceability. Ships the
6
- `mono-agent` CLI (`init`, `validate`, `start`) so an agent folder works without
5
+ channel plus traceability. Ships the
6
+ `mono-agent` CLI (`init`, `validate`, `memory`, `start`) so an agent folder works without
7
7
  hand-written composition code.
8
8
 
9
9
  ## Category
@@ -15,13 +15,21 @@ Category: `app`
15
15
  Turn a folder's `mono-agent.config.json` into a running agent host:
16
16
 
17
17
  - Aggregate the adapter-neutral core config and every channel section
18
- (`telegram`, `slack`, `a2a`, `webhook`, `openaiApi`, `cron`, `whatsapp`).
19
- - Build the shared runtime/responder through `@mono-agent/agent-host`
18
+ (`telegram`, `slack`, `webhook`, `openaiApi`, `cron`) plus configured
19
+ external channel plugins from `channels.plugins[]`.
20
+ - Build the shared runtime/responder/memory stack through app-owned configured
21
+ composition
20
22
  (including `runtime.fallbackModels` backup chains).
21
23
  - Drive each channel through a uniform driver contract with per-channel
22
24
  `disabled` / `waiting_for_config` / `running` / `failed` status.
23
- - Start the operator console first and re-apply config writes in-process.
24
- - Register the host as a traceability source.
25
+ - Register the host as a traceability source. Config edits are made directly in
26
+ `mono-agent.config.json` and take effect on the next `mono-agent restart`.
27
+ - Resolve and surface any configured `observability.exporters` (the Phoenix
28
+ preset): `start`/`status` report the configured endpoint and a note that JSONL
29
+ artifacts remain local; `validate` performs the live reachability probe. Export
30
+ is best-effort and never changes a run outcome.
31
+ - Preview the configured memory backend from the same config/env resolution path
32
+ via `mono-agent memory` (`stats`, `today`, `show`, `search`, `top`).
25
33
  - Scaffold (`mono-agent init`) and validate (`mono-agent validate`) agent
26
34
  folders non-destructively.
27
35
 
@@ -44,7 +52,7 @@ Programmatic:
44
52
  import { startMonoAgentApp } from "@mono-agent/agent-app";
45
53
 
46
54
  const app = await startMonoAgentApp({ cwd: "/path/to/agent-folder" });
47
- console.log(app.operatorConsole?.appUrl, app.channelStatuses());
55
+ console.log(app.channelStatuses());
48
56
  await app.stop();
49
57
  ```
50
58
 
@@ -52,11 +60,16 @@ await app.stop();
52
60
 
53
61
  - `startMonoAgentApp(options)` → `MonoAgentApp` (statuses, `applyConfigChange`,
54
62
  `startChannelIfConfigured`, `stop`).
55
- - `defaultChannelDrivers(overrides)` plus per-channel
63
+ - `defaultChannelDrivers(overrides)` plus built-in per-channel
56
64
  `create<Channel>ChannelDriver(overrides)` factories with test seams.
65
+ - `createConfiguredAgentRuntime`, `createConfiguredAgentHarness`,
66
+ `createConfiguredAgentResponder`, and `createConfiguredMemory` for
67
+ transport-free programmatic composition from a loaded `MonoAgentConfig`.
68
+ - `createBroadcastRunRecorder` for publishing recorder lifecycle events to a
69
+ live run-event sink.
57
70
  - `initMonoAgentFolder(options)` / `validateMonoAgentFolder(options)`.
58
71
  - `MONO_AGENT_APP_FIELD_GROUPS` and the `resolveApp*` traceability/artifact
59
- resolvers for operator-console wiring.
72
+ resolvers.
60
73
  - `runCli(argv)` / `parseCliArgs(argv)` backing the `mono-agent` bin.
61
74
 
62
75
  ## Dependency Boundary
@@ -70,7 +83,8 @@ compose communication adapters; adapters never depend on it.
70
83
  - Adapter transports, credentials, or allowlists (owned by each
71
84
  `*-adapter` package).
72
85
  - Core config schema and loading (owned by `@mono-agent/config`).
73
- - Harness/runtime composition internals (owned by `@mono-agent/agent-host`).
86
+ - Low-level prompt/session/tool execution internals (owned by
87
+ `@mono-agent/agent-harness` and `@mono-agent/runtime-adapter`).
74
88
  - Multi-agent orchestration (owned by `@mono-agent/agent-orchestrator`).
75
89
 
76
90
  ## Verification
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=adapter-send-tools-main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-send-tools-main.d.ts","sourceRoot":"","sources":["../src/adapter-send-tools-main.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { adapterSendToolsChildConfigFromEnv, createAdapterSendToolsClients, createAdapterSendToolsServer, resolveAdapterSendToolsSettings, } from "./adapter-send-tools.js";
4
+ async function main() {
5
+ const childConfig = adapterSendToolsChildConfigFromEnv(process.env, process.cwd());
6
+ const settings = await resolveAdapterSendToolsSettings(childConfig.input, {
7
+ allowedTools: childConfig.allowedTools,
8
+ });
9
+ if (settings === undefined) {
10
+ throw new Error("no adapter send tools configured.");
11
+ }
12
+ const clients = await createAdapterSendToolsClients(settings);
13
+ const server = await createAdapterSendToolsServer(settings, clients, childConfig.indexing);
14
+ await server.connect(new StdioServerTransport());
15
+ }
16
+ main().catch((error) => {
17
+ process.stderr.write(`mono-agent-adapter-send-tools: fatal: ${error instanceof Error ? error.message : String(error)}\n`);
18
+ process.exitCode = 1;
19
+ });
20
+ //# sourceMappingURL=adapter-send-tools-main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-send-tools-main.js","sourceRoot":"","sources":["../src/adapter-send-tools-main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EACL,kCAAkC,EAClC,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,yBAAyB,CAAC;AAEjC,KAAK,UAAU,IAAI;IACjB,MAAM,WAAW,GAAG,kCAAkC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,MAAM,+BAA+B,CAAC,WAAW,CAAC,KAAK,EAAE;QACxE,YAAY,EAAE,WAAW,CAAC,YAAY;KACvC,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3F,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1H,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,125 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { SlackWebApi } from "@mono-agent/slack-adapter";
3
+ import type { TelegramMessageSender } from "@mono-agent/telegram-adapter";
4
+ import type { MonoAgentAppConfigInput } from "./app-config.js";
5
+ /**
6
+ * Model-visible send tools for explicitly allowed, already-enabled communication adapters.
7
+ *
8
+ * This mirrors `memory_recall`: agent-app injects a stdio MCP server through
9
+ * per-request runtime options. The adapter config remains the source of truth:
10
+ * if Slack or Telegram is disabled, invalid, blocked by tool policy, or lacks an
11
+ * allowed destination policy, the corresponding send tool is not exposed. When
12
+ * exposed, each tool enforces the same adapter allowlist before calling the
13
+ * adapter-owned sender.
14
+ */
15
+ export declare const ADAPTER_SEND_TOOLS_MCP_SERVER_NAME = "mono-agent-adapter-send";
16
+ export interface SlackSendToolSettings {
17
+ readonly botToken: string;
18
+ readonly allowedChannelIds: readonly string[];
19
+ readonly allowAllChannels: boolean;
20
+ }
21
+ export interface TelegramSendToolSettings {
22
+ readonly botToken: string;
23
+ readonly allowedChatIds: readonly string[];
24
+ readonly allowAllChats: boolean;
25
+ /** Self-hosted Bot API server base URL (also unlocks file:// path uploads). */
26
+ readonly apiRoot?: string;
27
+ /** Upload cap for send_document/send_photo; the resolver fills the 20 MiB default. */
28
+ readonly maxUploadBytes?: number;
29
+ /** Which telegram tools the policy permits (the adapter config gates the rest). */
30
+ readonly tools: {
31
+ readonly send: boolean;
32
+ readonly ask: boolean;
33
+ readonly document: boolean;
34
+ readonly photo: boolean;
35
+ };
36
+ }
37
+ /**
38
+ * Blocking ask-the-user tool, backed by the app's interaction bridge. Channel
39
+ * agnostic: the tool only talks to the bridge; the bridge posts the question
40
+ * through whichever channel sink owns the conversation. `conversationId` is
41
+ * present only in the spawned child (from the per-request env) — without it the
42
+ * tool has no target and is not registered.
43
+ */
44
+ export interface AskUserToolSettings {
45
+ readonly bridgeUrl: string;
46
+ readonly bridgeToken: string;
47
+ readonly timeoutMs: number;
48
+ readonly conversationId?: string;
49
+ }
50
+ export interface AdapterSendToolsSettings {
51
+ readonly slack?: SlackSendToolSettings;
52
+ readonly telegram?: TelegramSendToolSettings;
53
+ readonly askUser?: AskUserToolSettings;
54
+ }
55
+ export interface AdapterSendToolsClients {
56
+ readonly slack?: Pick<SlackWebApi, "chatPostMessage">;
57
+ readonly telegram?: Pick<TelegramMessageSender, "sendMessage" | "sendDocument" | "sendPhoto">;
58
+ }
59
+ export interface AdapterSendToolsRuntimeExtension {
60
+ readonly runtimeOptions: {
61
+ readonly mcpServers: Record<string, unknown>;
62
+ };
63
+ readonly cleanup: () => Promise<void>;
64
+ }
65
+ /**
66
+ * Where a posted message should be linked back to its producing conversation.
67
+ * Forwarded to the stdio child so `slack_send_message` can record
68
+ * `(channel, ts) → conversationId` — see {@link appendPostedMessage}.
69
+ */
70
+ export interface AdapterSendToolsIndexing {
71
+ readonly conversationId: string;
72
+ readonly indexPath: string;
73
+ }
74
+ /** Minimal shape of the per-request runtime-options input we read (the producing conversationId). */
75
+ interface AdapterSendToolsRequestInput {
76
+ readonly request?: {
77
+ readonly conversationId?: string;
78
+ };
79
+ }
80
+ export interface AdapterSendToolsResolveOptions {
81
+ readonly allowedTools?: readonly string[] | undefined;
82
+ readonly disallowedTools?: readonly string[] | undefined;
83
+ readonly logger?: {
84
+ warn?: (message: string, metadata?: Record<string, unknown>) => void;
85
+ } | undefined;
86
+ }
87
+ export declare function resolveAdapterSendToolsSettings(input: MonoAgentAppConfigInput, options?: AdapterSendToolsResolveOptions): Promise<AdapterSendToolsSettings | undefined>;
88
+ export declare function adapterSendToolNames(settings: AdapterSendToolsSettings): readonly string[];
89
+ /**
90
+ * Public re-export of the per-tool allow check so callers (e.g. the Telegram
91
+ * channel driver) can gate behavior on whether a specific adapter send tool is
92
+ * permitted by `tools.allowedTools`/`disallowedTools`, matching this module's policy.
93
+ */
94
+ export declare function isAdapterSendToolAllowed(name: string, policy: {
95
+ readonly allowedTools?: readonly string[];
96
+ readonly disallowedTools?: readonly string[];
97
+ }): boolean;
98
+ /**
99
+ * Per-request context forwarded to the stdio child. `conversationId` alone
100
+ * targets ask_user at the producing conversation; `indexPath` additionally
101
+ * enables the posted-message index (Slack reply continuity).
102
+ */
103
+ export interface AdapterSendToolsChildContext {
104
+ readonly conversationId?: string;
105
+ readonly indexPath?: string;
106
+ }
107
+ export declare function adapterSendToolsMcpEnv(configPath: string, allowedTools: readonly string[], context?: AdapterSendToolsChildContext): Record<string, string>;
108
+ export interface AdapterSendToolsChildConfig {
109
+ readonly input: MonoAgentAppConfigInput;
110
+ readonly allowedTools: readonly string[];
111
+ readonly indexing?: AdapterSendToolsIndexing;
112
+ }
113
+ export declare function adapterSendToolsChildConfigFromEnv(env: Record<string, string | undefined>, cwd: string): AdapterSendToolsChildConfig;
114
+ export declare function adapterSendToolsMcpServerSpec(configPath: string, cwd: string, allowedTools: readonly string[], context?: AdapterSendToolsChildContext): Record<string, unknown>;
115
+ /**
116
+ * Per-request runtime extension that injects the adapter-send stdio MCP server. It
117
+ * reads the request's producing conversationId and, when an `indexPath` is
118
+ * configured, forwards both to the child so a `slack_send_message` post is linked
119
+ * back to this conversation (so a later in-thread reply resumes it).
120
+ */
121
+ export declare function createAdapterSendToolsRuntimeExtension(configPath: string, cwd: string, allowedTools: readonly string[], indexPath?: string): (input: AdapterSendToolsRequestInput) => Promise<AdapterSendToolsRuntimeExtension>;
122
+ export declare function createAdapterSendToolsClients(settings: AdapterSendToolsSettings): Promise<AdapterSendToolsClients>;
123
+ export declare function createAdapterSendToolsServer(settings: AdapterSendToolsSettings, clients: AdapterSendToolsClients, indexing?: AdapterSendToolsIndexing): Promise<McpServer>;
124
+ export {};
125
+ //# sourceMappingURL=adapter-send-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-send-tools.d.ts","sourceRoot":"","sources":["../src/adapter-send-tools.ts"],"names":[],"mappings":"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"}