@mono-agent/agent-app 0.5.0 → 0.6.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 (111) hide show
  1. package/README.md +5 -0
  2. package/dist/adapter-send-tools.d.ts +7 -7
  3. package/dist/adapter-send-tools.d.ts.map +1 -1
  4. package/dist/adapter-send-tools.js +59 -50
  5. package/dist/adapter-send-tools.js.map +1 -1
  6. package/dist/app.js +8 -8
  7. package/dist/app.js.map +1 -1
  8. package/dist/background.d.ts +4 -0
  9. package/dist/background.d.ts.map +1 -1
  10. package/dist/background.js +8 -3
  11. package/dist/background.js.map +1 -1
  12. package/dist/channel-fact-format.d.ts +12 -0
  13. package/dist/channel-fact-format.d.ts.map +1 -0
  14. package/dist/channel-fact-format.js +24 -0
  15. package/dist/channel-fact-format.js.map +1 -0
  16. package/dist/channels.js +3 -3
  17. package/dist/channels.js.map +1 -1
  18. package/dist/cli.d.ts +14 -10
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +198 -181
  21. package/dist/cli.js.map +1 -1
  22. package/dist/config-reference.js +4 -4
  23. package/dist/config-reference.js.map +1 -1
  24. package/dist/consumer-contract.d.ts.map +1 -1
  25. package/dist/consumer-contract.js +5 -3
  26. package/dist/consumer-contract.js.map +1 -1
  27. package/dist/doctor.d.ts.map +1 -1
  28. package/dist/doctor.js +126 -5
  29. package/dist/doctor.js.map +1 -1
  30. package/dist/init.d.ts +11 -22
  31. package/dist/init.d.ts.map +1 -1
  32. package/dist/init.js +25 -116
  33. package/dist/init.js.map +1 -1
  34. package/dist/interaction-bridge.d.ts +3 -3
  35. package/dist/interaction-bridge.d.ts.map +1 -1
  36. package/dist/memory-recall.d.ts +2 -2
  37. package/dist/memory-recall.d.ts.map +1 -1
  38. package/dist/memory-recall.js +3 -3
  39. package/dist/memory-recall.js.map +1 -1
  40. package/dist/modules/base.d.ts +25 -0
  41. package/dist/modules/base.d.ts.map +1 -0
  42. package/dist/{recipes → modules}/base.js +16 -11
  43. package/dist/modules/base.js.map +1 -0
  44. package/dist/modules/catalog.d.ts +12 -0
  45. package/dist/modules/catalog.d.ts.map +1 -0
  46. package/dist/modules/catalog.js +412 -0
  47. package/dist/modules/catalog.js.map +1 -0
  48. package/dist/modules/index.d.ts +8 -0
  49. package/dist/modules/index.d.ts.map +1 -0
  50. package/dist/modules/index.js +5 -0
  51. package/dist/modules/index.js.map +1 -0
  52. package/dist/modules/known-tools.d.ts +44 -0
  53. package/dist/modules/known-tools.d.ts.map +1 -0
  54. package/dist/modules/known-tools.js +88 -0
  55. package/dist/modules/known-tools.js.map +1 -0
  56. package/dist/modules/types.d.ts +73 -0
  57. package/dist/modules/types.d.ts.map +1 -0
  58. package/dist/{recipes → modules}/types.js +3 -3
  59. package/dist/{recipes → modules}/types.js.map +1 -1
  60. package/dist/posted-message-index.d.ts +2 -2
  61. package/dist/posted-message-index.js +2 -2
  62. package/dist/wizard/answers.d.ts +85 -0
  63. package/dist/wizard/answers.d.ts.map +1 -0
  64. package/dist/wizard/answers.js +231 -0
  65. package/dist/wizard/answers.js.map +1 -0
  66. package/dist/wizard/from-flags.d.ts +26 -0
  67. package/dist/wizard/from-flags.d.ts.map +1 -0
  68. package/dist/wizard/from-flags.js +44 -0
  69. package/dist/wizard/from-flags.js.map +1 -0
  70. package/dist/wizard/index.d.ts +11 -0
  71. package/dist/wizard/index.d.ts.map +1 -0
  72. package/dist/wizard/index.js +6 -0
  73. package/dist/wizard/index.js.map +1 -0
  74. package/dist/wizard/presets.d.ts +40 -0
  75. package/dist/wizard/presets.d.ts.map +1 -0
  76. package/dist/wizard/presets.js +85 -0
  77. package/dist/wizard/presets.js.map +1 -0
  78. package/dist/wizard/prompts.d.ts +52 -0
  79. package/dist/wizard/prompts.d.ts.map +1 -0
  80. package/dist/wizard/prompts.js +141 -0
  81. package/dist/wizard/prompts.js.map +1 -0
  82. package/dist/wizard/run.d.ts +19 -0
  83. package/dist/wizard/run.d.ts.map +1 -0
  84. package/dist/wizard/run.js +345 -0
  85. package/dist/wizard/run.js.map +1 -0
  86. package/package.json +17 -16
  87. package/schema/mono-agent.config.schema.json +5 -3
  88. package/skills/mono-agent-composer/SKILL.md +7 -7
  89. package/skills/mono-agent-composer/references/config-blueprint.md +7 -7
  90. package/skills/mono-agent-composer/references/discovery-questions.md +8 -6
  91. package/skills/mono-agent-composer/references/feature-coverage.md +10 -8
  92. package/skills/mono-agent-composer/references/package-map.md +5 -5
  93. package/skills/mono-agent-composer/references/playbooks.md +22 -22
  94. package/skills/mono-agent-composer/references/validation.md +3 -3
  95. package/dist/recipes/base.d.ts +0 -15
  96. package/dist/recipes/base.d.ts.map +0 -1
  97. package/dist/recipes/base.js.map +0 -1
  98. package/dist/recipes/catalog.d.ts +0 -4
  99. package/dist/recipes/catalog.d.ts.map +0 -1
  100. package/dist/recipes/catalog.js +0 -525
  101. package/dist/recipes/catalog.js.map +0 -1
  102. package/dist/recipes/index.d.ts +0 -11
  103. package/dist/recipes/index.d.ts.map +0 -1
  104. package/dist/recipes/index.js +0 -14
  105. package/dist/recipes/index.js.map +0 -1
  106. package/dist/recipes/types.d.ts +0 -70
  107. package/dist/recipes/types.d.ts.map +0 -1
  108. package/dist/setup.d.ts +0 -29
  109. package/dist/setup.d.ts.map +0 -1
  110. package/dist/setup.js +0 -97
  111. package/dist/setup.js.map +0 -1
@@ -29,23 +29,23 @@ Flow, check whether one of these fits and adapt it. Verify every key against
29
29
  }
30
30
  ```
31
31
  **Steps:** `ollama pull nomic-embed-text:v1.5 && ollama pull qwen3.6:latest` → `mono-agent init --model claude:claude-sonnet-4-6 --memory bujo` → add telegram + fill embeddings/llm + `writeMode: capture` → `mono-agent validate` (confirm memory liveness + consolidation cadence) → `mono-agent start`.
32
- **Smoke:** send a fact from the allowed chat, then ask a paraphrased question later; confirm `memory_recall` in the run JSONL and that the answer uses it.
32
+ **Smoke:** send a fact from the allowed chat, then ask a paraphrased question later; confirm `MemoryRecall` in the run JSONL and that the answer uses it.
33
33
 
34
34
  ## 2. Slack team bot with MCP tools
35
35
  **For:** a DevOps engineer running a shared team bot.
36
- **Goal:** a mention-triggered Slack Socket Mode bot with a custom MCP tool, Read/Grep, and `slack_send_message` for proactive posts.
36
+ **Goal:** a mention-triggered Slack Socket Mode bot with a custom MCP tool, Read/Grep, and `SlackSendMessage` for proactive posts.
37
37
  **Features:** `slack.socket-mode`, `tool-policy.allowlist`, `tool-policy.mcp-servers`, `agent-app.adapter-send-tools`, `runtime.concurrency`.
38
38
 
39
39
  ```json
40
40
  {
41
41
  "runtime": { "model": "claude:claude-sonnet-4-6" },
42
42
  "slack": { "enabled": true, "botToken": "xoxb-...", "appToken": "xapp-...", "allowedChannelIds": ["C012345"], "botUserIds": ["U012345"], "mentionTextAliases": ["@agent"] },
43
- "tools": { "allowedTools": ["Read", "Grep", "slack_send_message", "deployTool"], "mcpConfigPath": "./mcp.json" },
43
+ "tools": { "allowedTools": ["Read", "Grep", "SlackSendMessage", "deployTool"], "mcpConfigPath": "./mcp.json" },
44
44
  "concurrency": { "maxConcurrentRuns": 4, "maxPendingRuns": 8 }
45
45
  }
46
46
  ```
47
- **Steps:** create a Slack app (Socket Mode app token + bot token) → `mono-agent init` → write `mcp.json` and add the MCP tool's exact name to `allowedTools` → add slack + `slack_send_message` → `validate` → `start`.
48
- **Smoke:** mention the bot in an allowed channel; confirm the 👀 reaction, final answer, the MCP tool firing in the artifact, and that `slack_send_message` posts only to allowed channels.
47
+ **Steps:** create a Slack app (Socket Mode app token + bot token) → `mono-agent init` (allow-all by default) → write `mcp.json` (the MCP tool becomes available from the server declaration — MCP tools aren't gated by `allowedTools`) → add slack; `SlackSendMessage` is auto-available under allow-all, or name it if you narrow to a specific allowlist → `validate` → `start`.
48
+ **Smoke:** mention the bot in an allowed channel; confirm the 👀 reaction, final answer, the MCP tool firing in the artifact, and that `SlackSendMessage` posts only to allowed channels.
49
49
 
50
50
  ## 3. Fully local Ollama agent (no cloud)
51
51
  **For:** a privacy-focused user with no cloud budget.
@@ -107,12 +107,12 @@ Flow, check whether one of these fits and adapt it. Verify every key against
107
107
  {
108
108
  "runtime": { "model": "claude:claude-sonnet-4-6" },
109
109
  "slack": { "enabled": true, "botToken": "xoxb-...", "appToken": "xapp-...", "allowedChannelIds": ["C012345"] },
110
- "tools": { "allowedTools": ["slack_send_message", "WebSearch"] },
111
- "cron": { "jobs": [{ "id": "morning-digest", "enabled": true, "expression": "0 9 * * *", "timezone": "America/New_York", "prompt": "Build the morning digest and post it to #team via slack_send_message.", "conversationId": "daily-digest" }] }
110
+ "tools": { "allowedTools": ["SlackSendMessage", "WebSearch"] },
111
+ "cron": { "jobs": [{ "id": "morning-digest", "enabled": true, "expression": "0 9 * * *", "timezone": "America/New_York", "prompt": "Build the morning digest and post it to #team via SlackSendMessage.", "conversationId": "daily-digest" }] }
112
112
  }
113
113
  ```
114
- **Steps:** `mono-agent init` → add slack + `slack_send_message` → add the cron job (or `cron/morning-digest.md`) with `conversationId` + IANA timezone → `validate` → `start`.
115
- **Smoke:** trigger a one-off tick; confirm `slack_send_message` posts the digest to the allowed channel and `conversationId` shares context across ticks.
114
+ **Steps:** `mono-agent init` → add slack + `SlackSendMessage` → add the cron job (or `cron/morning-digest.md`) with `conversationId` + IANA timezone → `validate` → `start`.
115
+ **Smoke:** trigger a one-off tick; confirm `SlackSendMessage` posts the digest to the allowed channel and `conversationId` shares context across ticks.
116
116
 
117
117
  ## 7. A2A provider + consumer pair
118
118
  **For:** a platform integrator connecting two agents over A2A.
@@ -139,9 +139,9 @@ Flow, check whether one of these fits and adapt it. Verify every key against
139
139
  **Steps:** provider — `init`, add the `@mono-agent/a2a-adapter` plugin entry with `provider`/`agent`/`skill` + bearer, `validate`, `start`, confirm the Agent Card is reachable. Consumer — set plugin `config.consumer` (or compose `createA2AConsumerResponder`), send text to the provider's Agent Card URL with the bearer.
140
140
  **Smoke:** send a message to the provider's Agent Card URL with the bearer; confirm a real response.
141
141
 
142
- ## 8. Multi-agent orchestration (`ask_collaborator`) — code
142
+ ## 8. Multi-agent orchestration (`AskCollaborator`) — code
143
143
  **For:** a workflow designer composing specialist agents.
144
- **Goal:** one orchestrator delegates to named collaborator responders via the loopback `ask_collaborator` MCP tool.
144
+ **Goal:** one orchestrator delegates to named collaborator responders via the loopback `AskCollaborator` MCP tool.
145
145
  **Features:** `orchestrator.ask-collaborator`, `harness.request-runtime-options`, `runtime.custom`.
146
146
 
147
147
  ```ts
@@ -155,21 +155,21 @@ const ext = createCollaboratorToolRuntimeExtension({
155
155
  // pass ext.runtimeOptions via createConfiguredAgentResponder({ runtimeOptionsForRequest })
156
156
  // call ext.cleanup() on disposal to close the ephemeral MCP server
157
157
  ```
158
- **Smoke:** give a compound task ("research X then write a summary"); confirm the artifact shows `ask_collaborator` delegating to both, and `cleanup()` closes the MCP port.
158
+ **Smoke:** give a compound task ("research X then write a summary"); confirm the artifact shows `AskCollaborator` delegating to both, and `cleanup()` closes the MCP port.
159
159
 
160
160
  ## 9. Sandboxed code agent (loopback only, deny .env)
161
161
  **For:** a security team deploying an internal code assistant.
162
162
  **Goal:** read repos + run Bash inside the native srt sandbox with loopback-only network access and protected secrets.
163
- **Features:** `sandbox.mode`, `sandbox.network-policy`, `sandbox.filesystem-scopes`, `sandbox.fallback`, `tool-policy.allowlist`, `memory.journal`.
163
+ **Features:** `sandbox.mode`, `sandbox.network-policy`, `sandbox.filesystem-scopes`, `sandbox.fallback`, `tool-policy.allow-all`, `memory.journal`.
164
164
 
165
165
  ```json
166
166
  {
167
167
  "runtime": { "model": "claude:claude-sonnet-4-6" },
168
- "tools": { "allowedTools": ["Read", "Write", "Edit", "Glob", "Grep", "Bash"] },
168
+ "tools": { "allowedTools": ["*"] },
169
169
  "sandbox": { "mode": "native", "network": { "mode": "localhost" }, "readableRoots": ["."], "writableRoots": ["."], "denyWrite": [".env", ".env.*", ".git/config", ".git/hooks/**"], "fallback": "fail-closed" }
170
170
  }
171
171
  ```
172
- **Steps:** `mono-agent init --memory journal` → allow Read/Write/Edit/Glob/Grep/Bash → `sandbox.mode native` + `network localhost` + deny-write defaults → keep `fallback: fail-closed` (do NOT set `unsafe-host-process`) → `validate` → `start`.
172
+ **Steps:** `mono-agent init --memory journal` → leave tools at the allow-all default (`["*"]`); the **sandbox**, not an allowlist, is what constrains the code tools → `sandbox.mode native` + `network localhost` + deny-write defaults → keep `fallback: fail-closed` (do NOT set `unsafe-host-process`) → `validate` → `start`.
173
173
  **Smoke:** ask it to read a file + run Bash (works), then fetch an external URL or write `.env` (both blocked in the artifact). Note: provider CLI bridges run their own tool loops and may not be srt-wrapped — pair with provider sandboxing.
174
174
 
175
175
  ## 10. Phoenix-observed agent with the TUI
@@ -216,7 +216,7 @@ const ext = createCollaboratorToolRuntimeExtension({
216
216
 
217
217
  ## 13. Personal Telegram assistant with Supermemory
218
218
  **For:** a power user trying an external memory layer while keeping the agent local.
219
- **Goal:** a Telegram bot captures turns into a local or hosted Supermemory instance and recalls through the same `memory_recall` tool.
219
+ **Goal:** a Telegram bot captures turns into a local or hosted Supermemory instance and recalls through the same `MemoryRecall` tool.
220
220
  **Features:** `telegram.long-polling`, `memory.backend-supermemory`, `memory.per-turn-capture`, `memory.recall-tool`.
221
221
 
222
222
  ```json
@@ -231,8 +231,8 @@ const ext = createCollaboratorToolRuntimeExtension({
231
231
  }
232
232
  }
233
233
  ```
234
- **Steps:** run `supermemory-server`, save its `sm_...` key in `.env`, `mono-agent init --recipe personal-telegram-supermemory`, add Telegram token/chat id, `validate`, `start`.
235
- **Smoke:** send a fact, wait for ingestion, then ask a paraphrased question; confirm the run shows `memory_recall` returning Supermemory hits.
234
+ **Steps:** run `supermemory-server`, save its `sm_...` key in `.env`, `mono-agent init --preset telegram-supermemory --yes`, add Telegram token/chat id, `validate`, `start`.
235
+ **Smoke:** send a fact, wait for ingestion, then ask a paraphrased question; confirm the run shows `MemoryRecall` returning Supermemory hits.
236
236
 
237
237
  ## 14. Fully local LM Studio agent
238
238
  **For:** a privacy-focused user who prefers LM Studio's GUI local server.
@@ -247,21 +247,21 @@ const ext = createCollaboratorToolRuntimeExtension({
247
247
  "webhook": { "enabled": true }
248
248
  }
249
249
  ```
250
- **Steps:** start LM Studio's local server with the chosen model loaded → `mono-agent init --recipe local-lmstudio-private` → adjust `runtime.model` if the displayed model id differs → `validate` → `start`.
250
+ **Steps:** start LM Studio's local server with the chosen model loaded → `mono-agent init --model pi:lmstudio:qwen3.6-32b --memory lite` (the `pi:lmstudio:*` model auto-adds the LM Studio provider block; there is no LM Studio preset — `local-private` is Ollama-based) → adjust `runtime.model` if the displayed model id differs → `validate` → `start`.
251
251
  **Smoke:** `curl` the webhook invoke URL and confirm the response comes from the local LM Studio model.
252
252
 
253
253
  ## 15. Interactive agent with long jobs and large media
254
254
  **For:** a builder whose Telegram agent needs to ask before acting, run multi-minute tools, and exchange large files.
255
- **Goal:** one Telegram agent uses `ask_user`, long-running MCP tool progress, a self-hosted Bot API server, and `telegram_send_document`.
255
+ **Goal:** one Telegram agent uses `AskUser`, long-running MCP tool progress, a self-hosted Bot API server, and `TelegramSendFile`.
256
256
  **Features:** `telegram.long-polling`, `agent-app.adapter-send-tools`, `interaction.ask-user`, `interaction.progress`, `tool-policy.mcp-servers`.
257
257
 
258
258
  ```json
259
259
  {
260
260
  "runtime": { "model": "pi:openai-codex:gpt-5.5", "executionMode": "sdk" },
261
- "tools": { "allowedTools": ["Read", "ask_user", "telegram_send_document"], "mcpConfigPath": "./.mcp.json", "mcpCallMaxTotalTimeoutMs": 2700000 },
261
+ "tools": { "allowedTools": ["Read", "AskUser", "TelegramSendFile"], "mcpConfigPath": "./.mcp.json", "mcpCallMaxTotalTimeoutMs": 2700000 },
262
262
  "interaction": { "bridge": { "host": "127.0.0.1", "port": 4471 }, "askUser": { "timeoutMs": 600000 }, "progress": { "enabled": true } },
263
263
  "telegram": { "enabled": true, "allowedChatIds": ["123456789"], "apiRoot": "http://127.0.0.1:8081", "attachments": { "maxBytes": 268435456, "maxUploadBytes": 268435456 } }
264
264
  }
265
265
  ```
266
266
  **Steps:** run a loopback self-hosted Bot API server if files exceed 20 MB, wire a long-running MCP tool in `.mcp.json`, `validate`, `start`.
267
- **Smoke:** send media with no caption, answer the `ask_user` question, watch progress update during the long job, and receive the generated file via `telegram_send_document`.
267
+ **Smoke:** send media with no caption, answer the `AskUser` question, watch progress update during the long job, and receive the generated file via `TelegramSendFile`.
@@ -83,15 +83,15 @@ pnpm run test:demo
83
83
  | TUI | Start the host and complete one local prompt. |
84
84
  | Telegram | Send one allowed chat message and verify the reply. |
85
85
  | Slack | Send one allowed DM or channel message and verify formatting. |
86
- | Adapter send tools | When `tools.allowedTools` includes `slack_send_message` / `telegram_send_message`, call them from a non-Slack/Telegram surface such as TUI, cron, or OpenAI API to an allowed destination and verify delivery. |
86
+ | Adapter send tools | When `SlackSendMessage` / `TelegramSendMessage` are available (allow-all, or an explicit `tools.allowedTools` entry) with the channel enabled, call them from a non-Slack/Telegram surface such as TUI, cron, or OpenAI API to an allowed destination and verify delivery. |
87
87
  | WhatsApp | Send one allowed sender/group trigger and verify the reply. |
88
88
  | OpenAI API | `curl /v1/models` and `/v1/chat/completions`. |
89
89
  | A2A | Send text to the Agent Card URL with `sendA2AMessage()`. |
90
90
  | Webhook | `curl` the invocation path and inspect the response body/status. |
91
91
  | Cron | Run a one-off scheduled invocation or wait for one tick. |
92
92
  | Observability | Confirm a run writes a redacted JSONL artifact; if an `observability.exporters` Phoenix entry is set, confirm the trace appears in Phoenix. |
93
- | Memory recall tool | With `memory.recallTool.enabled` (default on for journal/bujo with embeddings), ask the agent to recall an old note and confirm `memory_recall` appears in the run artifact and returns it. |
94
- | Semantic memory search | With `memory.embeddings` set (Ollama: `ollama pull nomic-embed-text:v1.5` first), ask a paraphrased question about an old note and confirm `memory_recall` (hybrid keyword + semantic) returns it. |
93
+ | Memory recall tool | With `memory.recallTool.enabled` (default on for journal/bujo with embeddings), ask the agent to recall an old note and confirm `MemoryRecall` appears in the run artifact and returns it. |
94
+ | Semantic memory search | With `memory.embeddings` set (Ollama: `ollama pull nomic-embed-text:v1.5` first), ask a paraphrased question about an old note and confirm `MemoryRecall` (hybrid keyword + semantic) returns it. |
95
95
 
96
96
  ## Failure Handling
97
97
 
@@ -1,15 +0,0 @@
1
- import type { MonoAgentConfigJson } from "@mono-agent/config";
2
- import type { RecipeInput, RecipeInputValues } from "./types.js";
3
- export declare const DEFAULT_MODEL = "claude:claude-sonnet-4-6";
4
- /** The model input every recipe shares; overridable from `--model`. */
5
- export declare const MODEL_INPUT: RecipeInput;
6
- /**
7
- * The adapter-neutral skeleton every recipe extends: runtime model, identity,
8
- * empty tool policy, local artifacts, and the trace registry. Recipes spread
9
- * this and add their channel / memory / sandbox / observability blocks. Mirrors
10
- * `init.ts`'s scaffold so a recipe-built folder matches a hand-init'd one.
11
- */
12
- export declare function baseConfig(input: RecipeInputValues): MonoAgentConfigJson;
13
- /** A `memory` block for the given tier, rooted at the standard memory path. */
14
- export declare function memoryBlock(mode: "lite" | "journal" | "bujo"): NonNullable<MonoAgentConfigJson["memory"]>;
15
- //# sourceMappingURL=base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/recipes/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEjE,eAAO,MAAM,aAAa,6BAA6B,CAAC;AAExD,uEAAuE;AACvE,eAAO,MAAM,WAAW,EAAE,WAKzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,mBAAmB,CA0BxE;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAChC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAM5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/recipes/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,MAAM,CAAC,MAAM,aAAa,GAAG,0BAA0B,CAAC;AAExD,uEAAuE;AACvE,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,sGAAsG;IACnH,OAAO,EAAE,aAAa;CACvB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAwB;IACjD,OAAO,yBAAyB,CAAC;QAC/B,OAAO,EAAE;YACP,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,aAAa;YACnC,SAAS,EAAE,GAAG;SACf;QACD,OAAO,EAAE;YACP,YAAY,EAAE,eAAe;YAC7B,cAAc,EAAE,EAAE;SACnB;QACD,KAAK,EAAE;YACL,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,EAAE;SACpB;QACD,SAAS,EAAE;YACT,GAAG,EAAE,yBAAyB;YAC9B,SAAS,EAAE;gBACT,UAAU,EAAE,GAAG;gBACf,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd;SACF;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,6BAA6B;SAC3C;KACqB,CAAC,CAAC;AAC5B,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CACzB,IAAiC;IAEjC,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,sBAAsB;QAC5B,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB;KAC/D,CAAC;AACJ,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { AgentRecipe } from "./types.js";
2
- /** Ordered catalog — starter recipes first, then the two full blueprints. */
3
- export declare const RECIPE_CATALOG: readonly AgentRecipe[];
4
- //# sourceMappingURL=catalog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/recipes/catalog.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAC;AAqhBjE,6EAA6E;AAC7E,eAAO,MAAM,cAAc,EAAE,SAAS,WAAW,EAchD,CAAC"}