@mono-agent/agent-app 0.6.2 → 0.9.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.
Files changed (313) hide show
  1. package/README.md +259 -19
  2. package/dist/account-home.d.ts +6 -0
  3. package/dist/account-home.d.ts.map +1 -0
  4. package/dist/account-home.js +9 -0
  5. package/dist/account-home.js.map +1 -0
  6. package/dist/adapter-send-proxy.d.ts +18 -0
  7. package/dist/adapter-send-proxy.d.ts.map +1 -0
  8. package/dist/adapter-send-proxy.js +229 -0
  9. package/dist/adapter-send-proxy.js.map +1 -0
  10. package/dist/adapter-send-tools-main.js +62 -4
  11. package/dist/adapter-send-tools-main.js.map +1 -1
  12. package/dist/adapter-send-tools.d.ts +33 -6
  13. package/dist/adapter-send-tools.d.ts.map +1 -1
  14. package/dist/adapter-send-tools.js +485 -87
  15. package/dist/adapter-send-tools.js.map +1 -1
  16. package/dist/app-config.d.ts +3 -1
  17. package/dist/app-config.d.ts.map +1 -1
  18. package/dist/app-config.js +16 -5
  19. package/dist/app-config.js.map +1 -1
  20. package/dist/app.d.ts +27 -0
  21. package/dist/app.d.ts.map +1 -1
  22. package/dist/app.js +761 -147
  23. package/dist/app.js.map +1 -1
  24. package/dist/background-environment.d.ts +16 -0
  25. package/dist/background-environment.d.ts.map +1 -0
  26. package/dist/background-environment.js +68 -0
  27. package/dist/background-environment.js.map +1 -0
  28. package/dist/background-runtime.d.ts +62 -0
  29. package/dist/background-runtime.d.ts.map +1 -0
  30. package/dist/background-runtime.js +1115 -0
  31. package/dist/background-runtime.js.map +1 -0
  32. package/dist/background-snapshot-key.d.ts +13 -0
  33. package/dist/background-snapshot-key.d.ts.map +1 -0
  34. package/dist/background-snapshot-key.js +194 -0
  35. package/dist/background-snapshot-key.js.map +1 -0
  36. package/dist/background-snapshot.d.ts +96 -0
  37. package/dist/background-snapshot.d.ts.map +1 -0
  38. package/dist/background-snapshot.js +450 -0
  39. package/dist/background-snapshot.js.map +1 -0
  40. package/dist/background-worker-lease.d.ts +39 -0
  41. package/dist/background-worker-lease.d.ts.map +1 -0
  42. package/dist/background-worker-lease.js +356 -0
  43. package/dist/background-worker-lease.js.map +1 -0
  44. package/dist/background.d.ts +74 -2
  45. package/dist/background.d.ts.map +1 -1
  46. package/dist/background.js +815 -73
  47. package/dist/background.js.map +1 -1
  48. package/dist/broadcast-recorder.d.ts.map +1 -1
  49. package/dist/broadcast-recorder.js +24 -2
  50. package/dist/broadcast-recorder.js.map +1 -1
  51. package/dist/channel-plugins.d.ts +2 -0
  52. package/dist/channel-plugins.d.ts.map +1 -1
  53. package/dist/channel-plugins.js +8 -0
  54. package/dist/channel-plugins.js.map +1 -1
  55. package/dist/channels.d.ts +10 -0
  56. package/dist/channels.d.ts.map +1 -1
  57. package/dist/channels.js +87 -9
  58. package/dist/channels.js.map +1 -1
  59. package/dist/cli.d.ts +86 -4
  60. package/dist/cli.d.ts.map +1 -1
  61. package/dist/cli.js +2421 -143
  62. package/dist/cli.js.map +1 -1
  63. package/dist/config-reference.d.ts.map +1 -1
  64. package/dist/config-reference.js +448 -6
  65. package/dist/config-reference.js.map +1 -1
  66. package/dist/configuration-proposal-main.d.ts +3 -0
  67. package/dist/configuration-proposal-main.d.ts.map +1 -0
  68. package/dist/configuration-proposal-main.js +13 -0
  69. package/dist/configuration-proposal-main.js.map +1 -0
  70. package/dist/configuration-proposal-tool.d.ts +33 -0
  71. package/dist/configuration-proposal-tool.d.ts.map +1 -0
  72. package/dist/configuration-proposal-tool.js +188 -0
  73. package/dist/configuration-proposal-tool.js.map +1 -0
  74. package/dist/configured-agent.d.ts +16 -0
  75. package/dist/configured-agent.d.ts.map +1 -1
  76. package/dist/configured-agent.js +165 -18
  77. package/dist/configured-agent.js.map +1 -1
  78. package/dist/consumer-contract.d.ts +3 -0
  79. package/dist/consumer-contract.d.ts.map +1 -1
  80. package/dist/consumer-contract.js +44 -1
  81. package/dist/consumer-contract.js.map +1 -1
  82. package/dist/continuation-command.d.ts +15 -0
  83. package/dist/continuation-command.d.ts.map +1 -0
  84. package/dist/continuation-command.js +170 -0
  85. package/dist/continuation-command.js.map +1 -0
  86. package/dist/continuation-config.d.ts +25 -0
  87. package/dist/continuation-config.d.ts.map +1 -0
  88. package/dist/continuation-config.js +236 -0
  89. package/dist/continuation-config.js.map +1 -0
  90. package/dist/continuation-service.d.ts +99 -0
  91. package/dist/continuation-service.d.ts.map +1 -0
  92. package/dist/continuation-service.js +1313 -0
  93. package/dist/continuation-service.js.map +1 -0
  94. package/dist/continuation-store.d.ts +104 -0
  95. package/dist/continuation-store.d.ts.map +1 -0
  96. package/dist/continuation-store.js +688 -0
  97. package/dist/continuation-store.js.map +1 -0
  98. package/dist/continuations.d.ts +167 -0
  99. package/dist/continuations.d.ts.map +1 -0
  100. package/dist/continuations.js +71 -0
  101. package/dist/continuations.js.map +1 -0
  102. package/dist/doctor.d.ts +29 -5
  103. package/dist/doctor.d.ts.map +1 -1
  104. package/dist/doctor.js +1611 -116
  105. package/dist/doctor.js.map +1 -1
  106. package/dist/first-run-managed-memory.d.ts +39 -0
  107. package/dist/first-run-managed-memory.d.ts.map +1 -0
  108. package/dist/first-run-managed-memory.js +584 -0
  109. package/dist/first-run-managed-memory.js.map +1 -0
  110. package/dist/first-run-readiness.d.ts +111 -0
  111. package/dist/first-run-readiness.d.ts.map +1 -0
  112. package/dist/first-run-readiness.js +728 -0
  113. package/dist/first-run-readiness.js.map +1 -0
  114. package/dist/index.d.ts +17 -3
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +8 -1
  117. package/dist/index.js.map +1 -1
  118. package/dist/init.d.ts +95 -3
  119. package/dist/init.d.ts.map +1 -1
  120. package/dist/init.js +1218 -24
  121. package/dist/init.js.map +1 -1
  122. package/dist/interaction-bridge.d.ts +25 -1
  123. package/dist/interaction-bridge.d.ts.map +1 -1
  124. package/dist/interaction-bridge.js +281 -19
  125. package/dist/interaction-bridge.js.map +1 -1
  126. package/dist/launchd.d.ts +16 -6
  127. package/dist/launchd.d.ts.map +1 -1
  128. package/dist/launchd.js +30 -15
  129. package/dist/launchd.js.map +1 -1
  130. package/dist/local-configuration.d.ts +99 -0
  131. package/dist/local-configuration.d.ts.map +1 -0
  132. package/dist/local-configuration.js +1299 -0
  133. package/dist/local-configuration.js.map +1 -0
  134. package/dist/managed-runtime-packages.d.ts +9 -0
  135. package/dist/managed-runtime-packages.d.ts.map +1 -0
  136. package/dist/managed-runtime-packages.js +56 -0
  137. package/dist/managed-runtime-packages.js.map +1 -0
  138. package/dist/memory-command.d.ts +4 -0
  139. package/dist/memory-command.d.ts.map +1 -1
  140. package/dist/memory-command.js +751 -27
  141. package/dist/memory-command.js.map +1 -1
  142. package/dist/memory-embedding-service.d.ts +33 -0
  143. package/dist/memory-embedding-service.d.ts.map +1 -0
  144. package/dist/memory-embedding-service.js +207 -0
  145. package/dist/memory-embedding-service.js.map +1 -0
  146. package/dist/memory-recall.d.ts +43 -14
  147. package/dist/memory-recall.d.ts.map +1 -1
  148. package/dist/memory-recall.js +103 -33
  149. package/dist/memory-recall.js.map +1 -1
  150. package/dist/memory-retrieval.d.ts +66 -0
  151. package/dist/memory-retrieval.d.ts.map +1 -0
  152. package/dist/memory-retrieval.js +332 -0
  153. package/dist/memory-retrieval.js.map +1 -0
  154. package/dist/modules/base.d.ts +6 -5
  155. package/dist/modules/base.d.ts.map +1 -1
  156. package/dist/modules/base.js +11 -7
  157. package/dist/modules/base.js.map +1 -1
  158. package/dist/modules/catalog.d.ts.map +1 -1
  159. package/dist/modules/catalog.js +141 -25
  160. package/dist/modules/catalog.js.map +1 -1
  161. package/dist/modules/index.d.ts +2 -2
  162. package/dist/modules/index.d.ts.map +1 -1
  163. package/dist/modules/index.js +1 -1
  164. package/dist/modules/index.js.map +1 -1
  165. package/dist/modules/known-tools.d.ts +3 -0
  166. package/dist/modules/known-tools.d.ts.map +1 -1
  167. package/dist/modules/known-tools.js +11 -1
  168. package/dist/modules/known-tools.js.map +1 -1
  169. package/dist/modules/types.d.ts +20 -6
  170. package/dist/modules/types.d.ts.map +1 -1
  171. package/dist/modules/types.js.map +1 -1
  172. package/dist/notify-runtime.d.ts +26 -0
  173. package/dist/notify-runtime.d.ts.map +1 -0
  174. package/dist/notify-runtime.js +27 -0
  175. package/dist/notify-runtime.js.map +1 -0
  176. package/dist/notify-tool.d.ts +51 -0
  177. package/dist/notify-tool.d.ts.map +1 -0
  178. package/dist/notify-tool.js +182 -0
  179. package/dist/notify-tool.js.map +1 -0
  180. package/dist/package-version.d.ts +3 -0
  181. package/dist/package-version.d.ts.map +1 -0
  182. package/dist/package-version.js +14 -0
  183. package/dist/package-version.js.map +1 -0
  184. package/dist/pi-auth-store-inspection.d.ts +21 -0
  185. package/dist/pi-auth-store-inspection.d.ts.map +1 -0
  186. package/dist/pi-auth-store-inspection.js +120 -0
  187. package/dist/pi-auth-store-inspection.js.map +1 -0
  188. package/dist/pi-oauth-login-main.d.ts +3 -0
  189. package/dist/pi-oauth-login-main.d.ts.map +1 -0
  190. package/dist/pi-oauth-login-main.js +14 -0
  191. package/dist/pi-oauth-login-main.js.map +1 -0
  192. package/dist/pi-oauth-login.d.ts +22 -0
  193. package/dist/pi-oauth-login.d.ts.map +1 -0
  194. package/dist/pi-oauth-login.js +79 -0
  195. package/dist/pi-oauth-login.js.map +1 -0
  196. package/dist/proactive-notify.d.ts +2 -0
  197. package/dist/proactive-notify.d.ts.map +1 -1
  198. package/dist/proactive-notify.js +1 -0
  199. package/dist/proactive-notify.js.map +1 -1
  200. package/dist/process-incarnation.d.ts +23 -0
  201. package/dist/process-incarnation.d.ts.map +1 -0
  202. package/dist/process-incarnation.js +208 -0
  203. package/dist/process-incarnation.js.map +1 -0
  204. package/dist/project-skills.d.ts +40 -0
  205. package/dist/project-skills.d.ts.map +1 -0
  206. package/dist/project-skills.js +573 -0
  207. package/dist/project-skills.js.map +1 -0
  208. package/dist/provider-setup.d.ts +117 -2
  209. package/dist/provider-setup.d.ts.map +1 -1
  210. package/dist/provider-setup.js +1505 -49
  211. package/dist/provider-setup.js.map +1 -1
  212. package/dist/readiness-probe-worker.d.ts +12 -0
  213. package/dist/readiness-probe-worker.d.ts.map +1 -0
  214. package/dist/readiness-probe-worker.js +276 -0
  215. package/dist/readiness-probe-worker.js.map +1 -0
  216. package/dist/readiness-probe.d.ts +100 -0
  217. package/dist/readiness-probe.d.ts.map +1 -0
  218. package/dist/readiness-probe.js +780 -0
  219. package/dist/readiness-probe.js.map +1 -0
  220. package/dist/recipes/base.d.ts +15 -0
  221. package/dist/recipes/base.d.ts.map +1 -0
  222. package/dist/recipes/base.js +51 -0
  223. package/dist/recipes/base.js.map +1 -0
  224. package/dist/recipes/catalog.d.ts +4 -0
  225. package/dist/recipes/catalog.d.ts.map +1 -0
  226. package/dist/recipes/catalog.js +525 -0
  227. package/dist/recipes/catalog.js.map +1 -0
  228. package/dist/recipes/index.d.ts +11 -0
  229. package/dist/recipes/index.d.ts.map +1 -0
  230. package/dist/recipes/index.js +14 -0
  231. package/dist/recipes/index.js.map +1 -0
  232. package/dist/recipes/types.d.ts +70 -0
  233. package/dist/recipes/types.d.ts.map +1 -0
  234. package/dist/recipes/types.js +15 -0
  235. package/dist/recipes/types.js.map +1 -0
  236. package/dist/request-model-override.d.ts +43 -1
  237. package/dist/request-model-override.d.ts.map +1 -1
  238. package/dist/request-model-override.js +178 -19
  239. package/dist/request-model-override.js.map +1 -1
  240. package/dist/run-history.d.ts +32 -0
  241. package/dist/run-history.d.ts.map +1 -0
  242. package/dist/run-history.js +859 -0
  243. package/dist/run-history.js.map +1 -0
  244. package/dist/runs-health.d.ts.map +1 -1
  245. package/dist/runs-health.js +12 -4
  246. package/dist/runs-health.js.map +1 -1
  247. package/dist/runtime-option-extensions.d.ts +14 -0
  248. package/dist/runtime-option-extensions.d.ts.map +1 -0
  249. package/dist/runtime-option-extensions.js +98 -0
  250. package/dist/runtime-option-extensions.js.map +1 -0
  251. package/dist/runtime-routes.d.ts +9 -0
  252. package/dist/runtime-routes.d.ts.map +1 -0
  253. package/dist/runtime-routes.js +13 -0
  254. package/dist/runtime-routes.js.map +1 -0
  255. package/dist/sandbox-manager.d.ts +86 -0
  256. package/dist/sandbox-manager.d.ts.map +1 -0
  257. package/dist/sandbox-manager.js +1402 -0
  258. package/dist/sandbox-manager.js.map +1 -0
  259. package/dist/setup.d.ts +29 -0
  260. package/dist/setup.d.ts.map +1 -0
  261. package/dist/setup.js +97 -0
  262. package/dist/setup.js.map +1 -0
  263. package/dist/supermemory-plugin.d.ts +56 -0
  264. package/dist/supermemory-plugin.d.ts.map +1 -0
  265. package/dist/supermemory-plugin.js +142 -0
  266. package/dist/supermemory-plugin.js.map +1 -0
  267. package/dist/tui-command.d.ts +56 -0
  268. package/dist/tui-command.d.ts.map +1 -1
  269. package/dist/tui-command.js +305 -31
  270. package/dist/tui-command.js.map +1 -1
  271. package/dist/web-command.d.ts +8 -0
  272. package/dist/web-command.d.ts.map +1 -1
  273. package/dist/web-command.js +174 -17
  274. package/dist/web-command.js.map +1 -1
  275. package/dist/wizard/answers.d.ts +31 -4
  276. package/dist/wizard/answers.d.ts.map +1 -1
  277. package/dist/wizard/answers.js +141 -29
  278. package/dist/wizard/answers.js.map +1 -1
  279. package/dist/wizard/from-flags.d.ts +7 -0
  280. package/dist/wizard/from-flags.d.ts.map +1 -1
  281. package/dist/wizard/from-flags.js +36 -2
  282. package/dist/wizard/from-flags.js.map +1 -1
  283. package/dist/wizard/index.d.ts +4 -4
  284. package/dist/wizard/index.d.ts.map +1 -1
  285. package/dist/wizard/index.js +2 -2
  286. package/dist/wizard/index.js.map +1 -1
  287. package/dist/wizard/model-discovery.d.ts +33 -2
  288. package/dist/wizard/model-discovery.d.ts.map +1 -1
  289. package/dist/wizard/model-discovery.js +826 -108
  290. package/dist/wizard/model-discovery.js.map +1 -1
  291. package/dist/wizard/presets.d.ts +1 -1
  292. package/dist/wizard/presets.d.ts.map +1 -1
  293. package/dist/wizard/presets.js +7 -12
  294. package/dist/wizard/presets.js.map +1 -1
  295. package/dist/wizard/prompts.d.ts +56 -9
  296. package/dist/wizard/prompts.d.ts.map +1 -1
  297. package/dist/wizard/prompts.js +172 -20
  298. package/dist/wizard/prompts.js.map +1 -1
  299. package/dist/wizard/run.d.ts +59 -3
  300. package/dist/wizard/run.d.ts.map +1 -1
  301. package/dist/wizard/run.js +1290 -191
  302. package/dist/wizard/run.js.map +1 -1
  303. package/package.json +21 -16
  304. package/resources/srt/package-lock.json +66 -0
  305. package/resources/srt/package.json +9 -0
  306. package/schema/mono-agent.config.schema.json +587 -20
  307. package/skills/mono-agent-composer/SKILL.md +6 -6
  308. package/skills/mono-agent-composer/references/config-blueprint.md +11 -10
  309. package/skills/mono-agent-composer/references/discovery-questions.md +33 -18
  310. package/skills/mono-agent-composer/references/feature-coverage.md +14 -12
  311. package/skills/mono-agent-composer/references/package-map.md +2 -2
  312. package/skills/mono-agent-composer/references/playbooks.md +8 -7
  313. package/skills/mono-agent-composer/references/validation.md +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-proposal-main.d.ts","sourceRoot":"","sources":["../src/configuration-proposal-main.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { configurationProposalChildSettingsFromEnv, createConfigurationProposalServer, } from "./configuration-proposal-tool.js";
4
+ async function main() {
5
+ const settings = configurationProposalChildSettingsFromEnv(process.env);
6
+ const server = createConfigurationProposalServer(settings);
7
+ await server.connect(new StdioServerTransport());
8
+ }
9
+ main().catch((error) => {
10
+ process.stderr.write(`mono-agent-configuration-proposal: fatal: ${error instanceof Error ? error.message : String(error)}\n`);
11
+ process.exitCode = 1;
12
+ });
13
+ //# sourceMappingURL=configuration-proposal-main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-proposal-main.js","sourceRoot":"","sources":["../src/configuration-proposal-main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EACL,yCAAyC,EACzC,iCAAiC,GAClC,MAAM,kCAAkC,CAAC;AAE1C,KAAK,UAAU,IAAI;IACjB,MAAM,QAAQ,GAAG,yCAAyC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IAC3D,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,6CAA6C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9H,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare const CONFIGURATION_PROPOSAL_MCP_SERVER_NAME = "agent_configuration";
3
+ export declare const CONFIGURATION_PROPOSAL_TOOL_NAME = "ProposeAgentConfiguration";
4
+ export interface JsonPatchOperation {
5
+ readonly op: "add" | "remove" | "replace" | "move" | "copy" | "test";
6
+ readonly path: string;
7
+ readonly from?: string;
8
+ readonly value?: unknown;
9
+ }
10
+ export interface AgentConfigurationProposal {
11
+ readonly schema: "mono-agent.configuration-proposal.v1";
12
+ readonly id: string;
13
+ readonly baseVersion: string;
14
+ readonly rationale: string;
15
+ readonly patch: readonly JsonPatchOperation[];
16
+ readonly role?: string;
17
+ readonly createdAt: string;
18
+ }
19
+ export interface ConfigurationProposalChildSettings {
20
+ readonly sinkPath: string;
21
+ readonly baseVersion: string;
22
+ }
23
+ /**
24
+ * Proposal copy is rendered in an out-of-band terminal approval card. Keep
25
+ * ordinary Unicode text and LF newlines intact, but reject terminal controls
26
+ * and bidi controls that could clear, overwrite, or visually reorder the
27
+ * operator's review.
28
+ */
29
+ export declare function containsUnsafeConfigurationReviewControl(value: string): boolean;
30
+ export declare function configurationProposalChildSettingsFromEnv(env: Record<string, string | undefined>): ConfigurationProposalChildSettings;
31
+ export declare function configurationProposalMcpServerSpec(settings: ConfigurationProposalChildSettings, cwd: string): Record<string, unknown>;
32
+ export declare function createConfigurationProposalServer(settings: ConfigurationProposalChildSettings): McpServer;
33
+ //# sourceMappingURL=configuration-proposal-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-proposal-tool.d.ts","sourceRoot":"","sources":["../src/configuration-proposal-tool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,eAAO,MAAM,sCAAsC,wBAAwB,CAAC;AAC5E,eAAO,MAAM,gCAAgC,8BAA8B,CAAC;AAM5E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,EAAE,sCAAsC,CAAC;IACxD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,wCAAwC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAY/E;AAwCD,wBAAgB,yCAAyC,CACvD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,kCAAkC,CAUpC;AAED,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,kCAAkC,EAC5C,GAAG,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,kCAAkC,GAAG,SAAS,CAoFzG"}
@@ -0,0 +1,188 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { rename, rm, writeFile } from "node:fs/promises";
3
+ import { fileURLToPath } from "node:url";
4
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ import { z } from "zod";
6
+ export const CONFIGURATION_PROPOSAL_MCP_SERVER_NAME = "agent_configuration";
7
+ export const CONFIGURATION_PROPOSAL_TOOL_NAME = "ProposeAgentConfiguration";
8
+ const SINK_ENV = "MONO_AGENT_CONFIGURATION_PROPOSAL_SINK";
9
+ const BASE_VERSION_ENV = "MONO_AGENT_CONFIGURATION_BASE_VERSION";
10
+ const BIDI_CONTROL = /\p{Bidi_Control}/u;
11
+ /**
12
+ * Proposal copy is rendered in an out-of-band terminal approval card. Keep
13
+ * ordinary Unicode text and LF newlines intact, but reject terminal controls
14
+ * and bidi controls that could clear, overwrite, or visually reorder the
15
+ * operator's review.
16
+ */
17
+ export function containsUnsafeConfigurationReviewControl(value) {
18
+ for (const character of value) {
19
+ const codePoint = character.codePointAt(0);
20
+ if ((codePoint <= 0x1f && codePoint !== 0x0a)
21
+ || (codePoint >= 0x7f && codePoint <= 0x9f)
22
+ || BIDI_CONTROL.test(character)) {
23
+ return true;
24
+ }
25
+ }
26
+ return false;
27
+ }
28
+ const patchOperationSchema = z.object({
29
+ op: z.enum(["add", "remove", "replace", "move", "copy", "test"]),
30
+ path: z.string().min(1).max(500).startsWith("/"),
31
+ from: z.string().min(1).max(500).startsWith("/").optional(),
32
+ value: z.unknown().optional(),
33
+ }).superRefine((operation, context) => {
34
+ if ((operation.op === "move" || operation.op === "copy") && operation.from === undefined) {
35
+ context.addIssue({ code: "custom", message: `${operation.op} requires from.` });
36
+ }
37
+ if ((operation.op === "add" || operation.op === "replace" || operation.op === "test") && !("value" in operation)) {
38
+ context.addIssue({ code: "custom", message: `${operation.op} requires value.` });
39
+ }
40
+ });
41
+ const proposalInputSchema = {
42
+ rationale: configurationReviewTextSchema(2_000, "Short operator-facing reason for this change."),
43
+ patch: z.array(patchOperationSchema).max(50).describe("RFC 6902 patch against mono-agent.config.json. May be empty only for a Role-only proposal."),
44
+ role: configurationReviewTextSchema(8_000, "Optional replacement body for the existing ## Role section in the configured identity document (normally IDENTITY.md).").optional(),
45
+ };
46
+ function configurationReviewTextSchema(maxLength, description) {
47
+ return z.string()
48
+ .superRefine((value, context) => {
49
+ if (containsUnsafeConfigurationReviewControl(value)) {
50
+ context.addIssue({
51
+ code: "custom",
52
+ message: "Configuration proposal review text contains unsafe terminal or bidi controls.",
53
+ });
54
+ }
55
+ })
56
+ .transform((value) => value.trim())
57
+ .pipe(z.string().min(1).max(maxLength))
58
+ .describe(description);
59
+ }
60
+ export function configurationProposalChildSettingsFromEnv(env) {
61
+ const sinkPath = env[SINK_ENV]?.trim();
62
+ const baseVersion = env[BASE_VERSION_ENV]?.trim();
63
+ if (sinkPath === undefined || sinkPath.length === 0) {
64
+ throw new Error(`Missing ${SINK_ENV}.`);
65
+ }
66
+ if (baseVersion === undefined || baseVersion.length === 0) {
67
+ throw new Error(`Missing ${BASE_VERSION_ENV}.`);
68
+ }
69
+ return { sinkPath, baseVersion };
70
+ }
71
+ export function configurationProposalMcpServerSpec(settings, cwd) {
72
+ return {
73
+ type: "stdio",
74
+ command: process.execPath,
75
+ args: [fileURLToPath(new URL("./configuration-proposal-main.js", import.meta.url))],
76
+ cwd,
77
+ env: {
78
+ [SINK_ENV]: settings.sinkPath,
79
+ [BASE_VERSION_ENV]: settings.baseVersion,
80
+ },
81
+ };
82
+ }
83
+ export function createConfigurationProposalServer(settings) {
84
+ const server = new McpServer({ name: "agent-configuration", version: "1.0.0" });
85
+ let proposed = false;
86
+ server.registerTool(CONFIGURATION_PROPOSAL_TOOL_NAME, {
87
+ title: "Propose agent configuration",
88
+ description: "Propose, but never apply, a small local agent configuration change. The host validates the candidate and asks the operator to approve it outside the model conversation. Never include credentials or secret values.",
89
+ annotations: {
90
+ // This call records an inert, session-scoped proposal only. It cannot
91
+ // mutate the agent config or reach the network; the host owns the
92
+ // separate validation and approval transaction. Marking that boundary
93
+ // explicitly also prevents unattended MCP clients from inserting a
94
+ // second, provider-owned approval prompt before our review card.
95
+ readOnlyHint: true,
96
+ destructiveHint: false,
97
+ openWorldHint: false,
98
+ },
99
+ inputSchema: proposalInputSchema,
100
+ }, async (args) => {
101
+ if (args.patch.length === 0 && args.role === undefined) {
102
+ return {
103
+ isError: true,
104
+ content: [{ type: "text", text: "A configuration proposal must change config, the configured identity document's ## Role, or both." }],
105
+ };
106
+ }
107
+ if (proposed) {
108
+ return {
109
+ isError: true,
110
+ content: [{ type: "text", text: "Only one configuration proposal is accepted per turn." }],
111
+ };
112
+ }
113
+ if (containsUnsafeConfigurationReviewControl(args.rationale)
114
+ || (args.role !== undefined && containsUnsafeConfigurationReviewControl(args.role))) {
115
+ return {
116
+ isError: true,
117
+ content: [{
118
+ type: "text",
119
+ text: "Configuration proposal review text may contain printable characters and LF newlines only; unsafe terminal or bidi controls were rejected.",
120
+ }],
121
+ };
122
+ }
123
+ if (args.patch.some((operation) => secretBearingPointer(operation.path)
124
+ || (operation.from !== undefined && secretBearingPointer(operation.from))
125
+ || containsSecretLike(operation.value))
126
+ || containsSecretLike(args.rationale)
127
+ || (args.role !== undefined && containsSecretLike(args.role))) {
128
+ return {
129
+ isError: true,
130
+ content: [{
131
+ type: "text",
132
+ text: "Secret-bearing values and fields cannot enter a configuration proposal. Hand off to the masked mono-agent auth or owner-only .env flow.",
133
+ }],
134
+ };
135
+ }
136
+ proposed = true;
137
+ const proposal = {
138
+ schema: "mono-agent.configuration-proposal.v1",
139
+ id: randomUUID(),
140
+ baseVersion: settings.baseVersion,
141
+ rationale: args.rationale,
142
+ patch: args.patch,
143
+ ...(args.role === undefined ? {} : { role: args.role }),
144
+ createdAt: new Date().toISOString(),
145
+ };
146
+ await writeProposal(settings.sinkPath, proposal);
147
+ return {
148
+ content: [{
149
+ type: "text",
150
+ text: "Proposal recorded. Explain it briefly, but do not claim it was applied; the host will validate it and ask the operator separately.",
151
+ }],
152
+ structuredContent: { proposalId: proposal.id, status: "pending_host_validation" },
153
+ };
154
+ });
155
+ return server;
156
+ }
157
+ function secretBearingPointer(pointer) {
158
+ return pointer.slice(1).split("/").some((raw) => {
159
+ const segment = raw.replaceAll("~1", "/").replaceAll("~0", "~");
160
+ return /(?:api.?key|credential|password|secret|token)/iu.test(segment) && !/(?:env|path)$/iu.test(segment);
161
+ });
162
+ }
163
+ function containsSecretLike(value) {
164
+ if (typeof value === "string") {
165
+ return /\b(?:sk-[A-Za-z0-9_-]{12,}|gh[pousr]_[A-Za-z0-9]{20,}|xox[baprs]-[A-Za-z0-9-]{12,}|Bearer\s+\S{12,}|\d{6,12}:[A-Za-z0-9_-]{20,})\b/u.test(value);
166
+ }
167
+ if (Array.isArray(value))
168
+ return value.some(containsSecretLike);
169
+ if (typeof value === "object" && value !== null) {
170
+ return Object.entries(value).some(([key, entry]) => (/(?:api.?key|credential|password|secret|token)/iu.test(key) && !/(?:env|path)$/iu.test(key))
171
+ || containsSecretLike(entry));
172
+ }
173
+ return false;
174
+ }
175
+ async function writeProposal(path, proposal) {
176
+ // The owner-local TUI pre-creates the capability directory. Never recreate
177
+ // it here: removing that directory on console exit must revoke late tool
178
+ // calls from an abort-ignoring provider rather than resurrect the session.
179
+ const temporary = `${path}.tmp-${process.pid}-${Date.now()}`;
180
+ try {
181
+ await writeFile(temporary, `${JSON.stringify(proposal)}\n`, { flag: "wx", mode: 0o600 });
182
+ await rename(temporary, path);
183
+ }
184
+ finally {
185
+ await rm(temporary, { force: true });
186
+ }
187
+ }
188
+ //# sourceMappingURL=configuration-proposal-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-proposal-tool.js","sourceRoot":"","sources":["../src/configuration-proposal-tool.ts"],"names":[],"mappings":"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"}
@@ -31,16 +31,28 @@ export interface ConfiguredAgentSessionEvent {
31
31
  type ConfiguredAgentSessionEventHandler = (event: ConfiguredAgentSessionEvent) => void | Promise<void>;
32
32
  export interface ConfiguredAgentHarnessOptions {
33
33
  readonly config: MonoAgentConfig;
34
+ /** Agent config folder used to resolve explicitly installed optional plugins. */
35
+ readonly cwd?: string;
34
36
  readonly runtime?: MonoRuntimeLike;
35
37
  readonly model?: RuntimeModelReference;
36
38
  readonly executionMode?: string;
37
39
  readonly memory?: MemoryStore;
38
40
  readonly historyStore?: ConversationHistoryStore;
41
+ /** App-owned run-scoped interaction details to add only to replay history. */
42
+ readonly turnHistoryEnricher?: AgentHarnessOptions["turnHistoryEnricher"];
43
+ /** App-owned issuer for request-scoped project-MCP progress credentials. */
44
+ readonly progressCapabilityIssuer?: NonNullable<AgentHarnessOptions["mcpRequestContext"]>["progressCapabilityIssuer"];
45
+ /** App-owned issuer for destination-bound asynchronous continuation claims. */
46
+ readonly continuationCapabilityIssuer?: NonNullable<AgentHarnessOptions["continuationContext"]>["capabilityIssuer"];
39
47
  readonly createRunId?: AgentHarnessOptions["createRunId"];
40
48
  readonly now?: AgentHarnessOptions["now"];
41
49
  readonly runtimeOptions?: AgentHarnessOptions["runtimeOptions"];
42
50
  readonly sandboxEngine?: SandboxEngine;
43
51
  readonly runtimeOptionsForRequest?: (input: AgentHarnessRuntimeOptionsInput) => AgentHarnessRuntimeOptionsExtension | Promise<AgentHarnessRuntimeOptionsExtension>;
52
+ /** Best-effort diagnostic when the default MemoryRecall endpoint cannot start. */
53
+ readonly onMemoryRecallUnavailable?: (error: unknown) => void;
54
+ /** Best-effort host diagnostic for post-provider memory write failures. */
55
+ readonly onMemoryWarning?: (message: string) => void;
44
56
  readonly onSessionEvent?: ConfiguredAgentSessionEventHandler;
45
57
  /**
46
58
  * Factory for a runtime bound to a per-request override model (cron/webhook
@@ -79,6 +91,10 @@ export declare function createConfiguredAgentRuntime(options: ConfiguredAgentRun
79
91
  export declare function createConfiguredAgentHarness(options: ConfiguredAgentHarnessOptions): Promise<AgentHarness>;
80
92
  export declare function createConfiguredAgentResponder(options: ConfiguredAgentResponderOptions): Promise<AgentResponder>;
81
93
  export declare function createConfiguredMemory(config: MonoAgentConfig, deps?: {
94
+ /** Agent config folder used to resolve explicitly installed optional plugins. */
95
+ cwd?: string;
96
+ /** Managed workers must use the plugin frozen into their app-side runtime closure. */
97
+ preferAppPluginInstall?: boolean;
82
98
  logger?: {
83
99
  warn(message: string): void;
84
100
  };
@@ -1 +1 @@
1
- {"version":3,"file":"configured-agent.d.ts","sourceRoot":"","sources":["../src/configured-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configured-agent.d.ts","sourceRoot":"","sources":["../src/configured-agent.ts"],"names":[],"mappings":"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"}