@zhixuan92/multi-model-agent 3.11.1 → 3.12.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 (34) hide show
  1. package/README.md +5 -3
  2. package/dist/http/handlers/tools/explore.d.ts +4 -0
  3. package/dist/http/handlers/tools/explore.d.ts.map +1 -0
  4. package/dist/http/handlers/tools/explore.js +79 -0
  5. package/dist/http/handlers/tools/explore.js.map +1 -0
  6. package/dist/http/middleware/caller-identity.js +1 -1
  7. package/dist/http/middleware/caller-identity.js.map +1 -1
  8. package/dist/http/server.d.ts.map +1 -1
  9. package/dist/http/server.js +5 -2
  10. package/dist/http/server.js.map +1 -1
  11. package/dist/install/discover.d.ts +1 -1
  12. package/dist/install/discover.d.ts.map +1 -1
  13. package/dist/install/discover.js +1 -0
  14. package/dist/install/discover.js.map +1 -1
  15. package/dist/openapi.d.ts.map +1 -1
  16. package/dist/openapi.js +6 -0
  17. package/dist/openapi.js.map +1 -1
  18. package/dist/skills/mma-audit/SKILL.md +1 -1
  19. package/dist/skills/mma-clarifications/SKILL.md +1 -1
  20. package/dist/skills/mma-context-blocks/SKILL.md +1 -1
  21. package/dist/skills/mma-debug/SKILL.md +1 -1
  22. package/dist/skills/mma-delegate/SKILL.md +1 -1
  23. package/dist/skills/mma-execute-plan/SKILL.md +1 -1
  24. package/dist/skills/mma-explore/SKILL.md +199 -0
  25. package/dist/skills/mma-investigate/SKILL.md +2 -1
  26. package/dist/skills/mma-retry/SKILL.md +1 -1
  27. package/dist/skills/mma-review/SKILL.md +1 -1
  28. package/dist/skills/mma-verify/SKILL.md +1 -1
  29. package/dist/skills/multi-model-agent/SKILL.md +10 -8
  30. package/dist/telemetry/recorder.d.ts +23 -0
  31. package/dist/telemetry/recorder.d.ts.map +1 -1
  32. package/dist/telemetry/recorder.js +41 -18
  33. package/dist/telemetry/recorder.js.map +1 -1
  34. package/package.json +2 -2
package/README.md CHANGED
@@ -84,7 +84,7 @@ Two ways — pick one:
84
84
 
85
85
  ```bash
86
86
  mmagent serve # 127.0.0.1:7337 by default
87
- curl -s http://localhost:7337/health # → {"ok":true,"version":"3.11.1",...}
87
+ curl -s http://localhost:7337/health # → {"ok":true,"version":"3.12.1",...}
88
88
  ```
89
89
 
90
90
  For an always-on background install (survives reboots): [launchd / systemd templates](./scripts/README.md).
@@ -111,6 +111,7 @@ Skills are the surface your AI client sees. `mmagent install-skill` writes them
111
111
  | `mma-delegate` | `POST /delegate` | Ad-hoc implementation or research tasks **without** a plan file — run them in parallel on cheap workers. |
112
112
  | `mma-execute-plan` | `POST /execute-plan` | A plan / spec markdown exists on disk with numbered task headings; implement one or more tasks from it. |
113
113
  | `mma-investigate` | `POST /investigate` | Answer a question about *this* codebase ("how does X work", "where is Y called") without burning main-context tokens on grep + reads. |
114
+ | `mma-explore` | `POST /explore` | Divergent ideation — 3-5 distinct threads from parallel codebase + web research, before `superpowers:brainstorming`. Not for "where is X" questions (use `mma-investigate`). |
114
115
  | `mma-debug` | `POST /debug` | A test fails, a build breaks, or behavior is unexpected — delegate the reproduce/trace, keep the hypothesis on the main agent. |
115
116
  | `mma-review` | `POST /review` | Source-code review (pre-merge, post-implementation, security-focused). One worker per file, in parallel. |
116
117
  | `mma-audit` | `POST /audit` | Audit a prose document — spec, config, PR description — for correctness, security, or style. |
@@ -228,7 +229,7 @@ Generated on first `mmagent serve`. Retrieve with `mmagent print-token`, or set
228
229
 
229
230
  ## REST API
230
231
 
231
- 15 endpoints. All tool endpoints are async: they return `202 { batchId, statusUrl }` immediately and the executor runs in the background. Poll `GET /batch/:id` for the terminal envelope.
232
+ 16 endpoints. All tool endpoints are async: they return `202 { batchId, statusUrl }` immediately and the executor runs in the background. Poll `GET /batch/:id` for the terminal envelope.
232
233
 
233
234
  | Endpoint | Purpose |
234
235
  |---|---|
@@ -240,6 +241,7 @@ Generated on first `mmagent serve`. Retrieve with `mmagent print-token`, or set
240
241
  | `POST /execute-plan?cwd=<abs>` | Implement from a plan file |
241
242
  | `POST /retry?cwd=<abs>` | Re-run specific tasks from a previous batch |
242
243
  | `POST /investigate?cwd=<abs>` | Codebase Q&A — structured answer with file:line citations + confidence |
244
+ | `POST /explore?cwd=<abs>` | Divergent ideation — 3-5 distinct threads from internal codebase + external web research |
243
245
  | `GET /batch/:id[?taskIndex=N]` | Poll a batch: `202 text/plain` (pending) or `200 application/json` (terminal). `?taskIndex=N` slices on complete state |
244
246
  | `POST /context-blocks?cwd=<abs>` | Register a reusable context block |
245
247
  | `DELETE /context-blocks/:id?cwd=<abs>` | Delete a context block |
@@ -287,7 +289,7 @@ Full design rationale: [DIRECTION.md](https://github.com/zhixuan312/multi-model-
287
289
 
288
290
  ## What's new
289
291
 
290
- Latest: **3.11.0** — Runtime correctness pass: reviewer cwd plumbed through all runners; reviewer fallback respects R3 via canonical model identity; per-route prompt scope contracts; `force_salvage` token-volume watchdog removed (only user-set `maxCostUSD` / `timeoutMs` abort, with documented 0.80 cushion); envelope contract honors `proposedInterpretation` when paused; telemetry payload cleanup (`savedCostUSD` `costDeltaVsParentUSD` rename + flip, dead-bucket removal, audit-domain categorizer, cached/reasoning tokens on all runners). Breaking telemetry payload changes. Full history: [CHANGELOG](https://github.com/zhixuan312/multi-model-agent/blob/master/CHANGELOG.md).
292
+ Latest: **3.12.1** — Telemetry & state-machine correctness pass diagnosed against 3.11.1 production data. Reviewer-implementer separation gate now uses tier (`standard` / `complex` / `main`), not model name user is sovereign over model choice. R6 (cached ⊆ input subset semantics) holds across all runners; cost calc consumes `cachedTokens` so per-stage cost reflects the cache discount. Reviewer prompts split into `{systemPrefix, userBody}` for cross-runner caching (Claude SDK ephemeral cache_control; OpenAI/Codex auto-cache via instructions prefix). Stage telemetry preserved on every early-exit path via deferred-finalizer. `diff_review.verdict` plumbed end-to-end (no longer hard-coded `not_applicable`); `terminationReason.cause = 'error'` on diff-review reject so R1 stops firing. `validation_warnings` attached to events. `verifyCommand` flows through intake. Adds `tier`/`implementerTier` to wire schema and R16 (rework requires preceding review). 99 new tests (2786 total). Full history: [CHANGELOG](https://github.com/zhixuan312/multi-model-agent/blob/master/CHANGELOG.md).
291
293
 
292
294
  ## Full documentation
293
295
 
@@ -0,0 +1,4 @@
1
+ import type { HandlerDeps } from '../../handler-deps.js';
2
+ import type { RawHandler } from '../../router.js';
3
+ export declare function buildExploreHandler(deps: HandlerDeps): RawHandler;
4
+ //# sourceMappingURL=explore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/tools/explore.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKlD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAwEjE"}
@@ -0,0 +1,79 @@
1
+ import * as path from 'node:path';
2
+ import { realpathSync } from 'node:fs';
3
+ import * as explore from '@zhixuan92/multi-model-agent-core/tool-schemas/explore';
4
+ import { executeExplore } from '@zhixuan92/multi-model-agent-core/executors/explore';
5
+ import { sendError, sendJson } from '../../errors.js';
6
+ import { asyncDispatch } from '../../async-dispatch.js';
7
+ import { emitRequestReceived } from '../../request-observability.js';
8
+ import { canonicalizeFilePaths } from '../../canonicalize-file-paths.js';
9
+ import { assertCrossTierConfigured } from '../../cross-tier-guard.js';
10
+ import { resolveReadOnlyReviewFlag } from '@zhixuan92/multi-model-agent-core/config/read-only-review-flag';
11
+ export function buildExploreHandler(deps) {
12
+ return async (req, res, _params, ctx) => {
13
+ const parsed = explore.inputSchema.safeParse(ctx.body);
14
+ if (!parsed.success) {
15
+ sendError(res, 400, 'invalid_request', 'Request body validation failed', {
16
+ fieldErrors: parsed.error.flatten(),
17
+ });
18
+ return;
19
+ }
20
+ const input = parsed.data;
21
+ const flag = resolveReadOnlyReviewFlag();
22
+ if (flag.isEnabledFor('explore') && !assertCrossTierConfigured(deps.config, res))
23
+ return;
24
+ const cwd = ctx.cwd;
25
+ const reserveResult = deps.projectRegistry.reserveProject(cwd);
26
+ if (!reserveResult.ok) {
27
+ sendError(res, 503, reserveResult.error, reserveResult.message);
28
+ return;
29
+ }
30
+ const pc = reserveResult.projectContext;
31
+ pc.lastActivityAt = Date.now();
32
+ deps.projectRegistry.cancelReservation(cwd);
33
+ const blockIds = input.contextBlockIds ?? [];
34
+ const resolvedContextBlocks = [];
35
+ const missingBlocks = [];
36
+ for (const id of blockIds) {
37
+ const content = pc.contextBlocks.get(id);
38
+ if (content === undefined) {
39
+ missingBlocks.push(id);
40
+ }
41
+ else {
42
+ resolvedContextBlocks.push({ id, content });
43
+ }
44
+ }
45
+ if (missingBlocks.length > 0) {
46
+ sendError(res, 400, 'context_block_not_found', 'one or more context block IDs do not exist', { missingBlocks });
47
+ return;
48
+ }
49
+ const rawPaths = input.anchors ?? [];
50
+ const canonResult = canonicalizeFilePaths(rawPaths, cwd);
51
+ if (!Array.isArray(canonResult)) {
52
+ sendError(res, 400, 'invalid_request', 'one or more anchors escape cwd', { fieldErrors: canonResult.fieldErrors });
53
+ return;
54
+ }
55
+ const canonicalizedAnchors = canonResult;
56
+ const realCwd = realpathSync(cwd);
57
+ const relativeAnchorsForPrompt = canonicalizedAnchors.map(p => {
58
+ const rel = path.relative(realCwd, p);
59
+ return rel === '' ? '.' : rel;
60
+ });
61
+ const { batchId, statusUrl } = asyncDispatch({
62
+ tool: 'explore',
63
+ projectCwd: cwd,
64
+ blockIds,
65
+ batchRegistry: deps.batchRegistry,
66
+ projectContext: pc,
67
+ deps,
68
+ executor: async (executionCtx) => executeExplore(executionCtx, {
69
+ input,
70
+ resolvedContextBlocks,
71
+ canonicalizedAnchors,
72
+ relativeAnchorsForPrompt,
73
+ }),
74
+ });
75
+ await emitRequestReceived({ config: deps.config, batchId, route: req.url ?? '', parsed: input });
76
+ sendJson(res, 202, { batchId, statusUrl });
77
+ };
78
+ }
79
+ //# sourceMappingURL=explore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explore.js","sourceRoot":"","sources":["../../../../src/http/handlers/tools/explore.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  const CLIENT_ALLOWLIST = new Set(['claude-code', 'cursor', 'codex-cli', 'gemini-cli']);
2
2
  const SKILL_ALLOWLIST = new Set([
3
3
  'mma-delegate', 'mma-audit', 'mma-review', 'mma-verify', 'mma-debug',
4
- 'mma-execute-plan', 'mma-retry', 'mma-investigate',
4
+ 'mma-execute-plan', 'mma-retry', 'mma-investigate', 'mma-explore',
5
5
  'mma-context-blocks', 'mma-clarifications',
6
6
  ]);
7
7
  /** Default identity when no caller headers are present. */
@@ -1 +1 @@
1
- {"version":3,"file":"caller-identity.js","sourceRoot":"","sources":["../../../src/http/middleware/caller-identity.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AACvF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW;IACpE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB;IAClD,oBAAoB,EAAE,oBAAoB;CAC3C,CAAC,CAAC;AAUH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,YAAY,EAAE,OAAO;IACrB,WAAW,EAAE,QAAQ;CACtB,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,GAAoB;IACxD,MAAM,SAAS,GAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAwB,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC5F,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAwB,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAEjG,MAAM,YAAY,GAAG,CAAC,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC,CAAE,SAA0B;QAC7B,CAAC,CAAC,OAAO,CAAC;IAEZ,IAAI,WAAwB,CAAC;IAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,WAAW,GAAG,QAAQ,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"caller-identity.js","sourceRoot":"","sources":["../../../src/http/middleware/caller-identity.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AACvF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW;IACpE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa;IACjE,oBAAoB,EAAE,oBAAoB;CAC3C,CAAC,CAAC;AAUH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,YAAY,EAAE,OAAO;IACrB,WAAW,EAAE,QAAQ;CACtB,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,GAAoB;IACxD,MAAM,SAAS,GAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAwB,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC5F,MAAM,QAAQ,GAAI,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAwB,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAEjG,MAAM,YAAY,GAAG,CAAC,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC,CAAE,SAA0B;QAC7B,CAAC,CAAC,OAAO,CAAC;IAEZ,IAAI,WAAwB,CAAC;IAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,WAAW,GAAG,QAAQ,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/http/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAKrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAiB7D,eAAO,MAAM,cAAc,QAAsB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,iGAAiG;IACjG,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,6EAA6E;IAC7E,aAAa,EAAE,aAAa,CAAC;IAC7B,+EAA+E;IAC/E,eAAe,EAAE,eAAe,CAAC;IACjC,kGAAkG;IAClG,eAAe,EAAE,MAAM,CAAC;CACzB;AAqJD,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CA6E9E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/http/server.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAKrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAiB7D,eAAO,MAAM,cAAc,QAAsB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,iGAAiG;IACjG,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,6EAA6E;IAC7E,aAAa,EAAE,aAAa,CAAC;IAC7B,+EAA+E;IAC/E,eAAe,EAAE,eAAe,CAAC;IACjC,kGAAkG;IAClG,eAAe,EAAE,MAAM,CAAC;CACzB;AAwJD,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CA6E9E"}
@@ -28,7 +28,7 @@ const LOOPBACK_ONLY_PATHS = new Set(['/health', '/status']);
28
28
  const AUTH_EXEMPT_PATHS = new Set(['/health']);
29
29
  /** Routes that require a `cwd` query parameter (validated by cwd-validator middleware). */
30
30
  const CWD_REQUIRED_PATHS = new Set([
31
- '/delegate', '/tools/delegate', '/audit', '/review', '/verify', '/debug', '/execute-plan', '/retry', '/investigate',
31
+ '/delegate', '/tools/delegate', '/audit', '/review', '/verify', '/debug', '/execute-plan', '/retry', '/investigate', '/explore',
32
32
  '/control/retry', '/control/batch-slice', '/context-blocks',
33
33
  ]);
34
34
  /**
@@ -44,6 +44,7 @@ async function registerToolHandlers(router, config, batchRegistry, projectRegist
44
44
  const { buildExecutePlanHandler } = await import('./handlers/tools/execute-plan.js');
45
45
  const { buildRetryHandler } = await import('./handlers/tools/retry.js');
46
46
  const { buildInvestigateHandler } = await import('./handlers/tools/investigate.js');
47
+ const { buildExploreHandler } = await import('./handlers/tools/explore.js');
47
48
  const { createHttpServerLog } = await import('@zhixuan92/multi-model-agent-core');
48
49
  // For tool handlers, we need MultiModelConfig which is part of ServerConfig only
49
50
  // when the full mmagent.config.json is loaded. In test/minimal configs that only
@@ -56,7 +57,7 @@ async function registerToolHandlers(router, config, batchRegistry, projectRegist
56
57
  // Server started with server-only config (e.g. tests): register stubs that return 503
57
58
  for (const [method, path] of [
58
59
  ['POST', '/delegate'], ['POST', '/audit'], ['POST', '/review'],
59
- ['POST', '/verify'], ['POST', '/debug'], ['POST', '/execute-plan'], ['POST', '/retry'], ['POST', '/investigate'],
60
+ ['POST', '/verify'], ['POST', '/debug'], ['POST', '/execute-plan'], ['POST', '/retry'], ['POST', '/investigate'], ['POST', '/explore'],
60
61
  ]) {
61
62
  router.register(method, path, (_req, res, _params, _ctx) => {
62
63
  sendError(res, 503, 'no_agent_config', 'Server started without agent configuration; provide a full mmagent.config.json');
@@ -89,6 +90,7 @@ async function registerToolHandlers(router, config, batchRegistry, projectRegist
89
90
  const executePlanHandler = buildExecutePlanHandler(deps);
90
91
  const retryHandler = buildRetryHandler(deps);
91
92
  const investigateHandler = buildInvestigateHandler(deps);
93
+ const exploreHandler = buildExploreHandler(deps);
92
94
  router.register('POST', '/delegate', delegateHandler);
93
95
  router.register('POST', '/tools/delegate', delegateHandler);
94
96
  router.register('POST', '/audit', auditHandler);
@@ -98,6 +100,7 @@ async function registerToolHandlers(router, config, batchRegistry, projectRegist
98
100
  router.register('POST', '/execute-plan', executePlanHandler);
99
101
  router.register('POST', '/retry', retryHandler);
100
102
  router.register('POST', '/investigate', investigateHandler);
103
+ router.register('POST', '/explore', exploreHandler);
101
104
  }
102
105
  /**
103
106
  * Registers control handlers (GET /batch/:batchId, POST/DELETE /context-blocks,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/http/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACvG,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,gFAAgF;AAChF,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAyB,CAAC;QAC9E,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAelD,mDAAmD;AACnD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAE5D,8CAA8C;AAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAE/C,2FAA2F;AAC3F,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc;IACnH,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB;CAC5D,CAAC,CAAC;AAEH;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CACjC,MAAc,EACd,MAAoB,EACpB,aAA4B,EAC5B,eAAgC;IAEhC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAC9E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACxE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC1E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC1E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACxE,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;IACrF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACxE,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IACpF,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IAElF,iFAAiF;IACjF,iFAAiF;IACjF,mFAAmF;IACnF,oFAAoF;IACpF,MAAM,gBAAgB,GAAI,MAA0C,CAAC,MAAM;QACzE,CAAC,CAAE,MAAuE;QAC1E,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,sFAAsF;QACtF,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI;YAC3B,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;YAC9D,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;SAC3F,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;gBACzD,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,EAAE,gFAAgF,CAAC,CAAC;YAC3H,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACjC,OAAO,EAAE,gBAAgB,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK;QACnD,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC;QACvB,IAAI,YAAY,CAAC,MAAM,CAAC;QACxB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,yDAAyD;KACnF,CAAC,CAAC;IAEH,MAAM,IAAI,GAA4C;QACpD,MAAM,EAAE,gBAAgB;QACxB,MAAM;QACN,GAAG;QACH,eAAe;QACf,aAAa;KACd,CAAC;IAEF,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC5D,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAC7D,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,uBAAuB,CACpC,MAAc,EACd,MAAoB,EACpB,aAA4B,EAC5B,eAAgC;IAEhC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC1E,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC1E,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACrF,MAAM,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;IAChI,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;IAC5F,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IAElF,MAAM,gBAAgB,GAAI,MAA0C,CAAC,MAAM;QACzE,CAAC,CAAE,MAAuE;QAC1E,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAChF,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,EAAE,gBAAgB,CAAC,WAAW,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACzH,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC;YACvB,IAAI,YAAY,CAAC,MAAM,CAAC;YACxB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,yDAAyD;SACnF,CAAC,CAAC;QACH,MAAM,IAAI,GAA4C;YACpD,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,mBAAmB,CAAC;gBAC1B,OAAO,EAAE,gBAAgB,CAAC,WAAW,EAAE,GAAG,IAAI,KAAK;gBACnD,MAAM;aACP,CAAC;YACF,GAAG;YACH,eAAe;YACf,aAAa;SACd,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACtD,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,EAAE,gFAAgF,CAAC,CAAC;QAC3H,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC5D,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,EAAE,gFAAgF,CAAC,CAAC;QAC3H,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,8BAA8B,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACxG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,EAAE,8BAA8B,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IAC3G,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,EAAE,0BAA0B,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAoB;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAE5B,8EAA8E;IAC9E,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IAC5E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAElE,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;QACtC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;QAC3C,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB;KACpE,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;QAC1C,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;QACpC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB;QACzD,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC;KAChF,CAAC,CAAC;IAEH,+EAA+E;IAC/E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEnC,4DAA4D;IAC5D,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAClF,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IAEpG,mCAAmC;IACnC,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IAE3E,sCAAsC;IACtC,MAAM,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IAE9E,+EAA+E;IAC/E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAClF,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,kBAAkB,CAAC;QACnD,aAAa;QACb,eAAe;QACf,eAAe;QACf,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;QACxB,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC,CAAC;IAEJ,wEAAwE;IACxE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;IACrF,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEtD,sFAAsF;IACtF,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,GAAG,EAAE,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAChD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE;gBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,KAAK,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAI,IAAyB,CAAC,IAAI,CAAC;IAC7C,MAAM,aAAa,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAE,IAA6B,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAExH,OAAO;QACL,IAAI;QACJ,aAAa;QACb,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,aAAa;QACb,eAAe;QACf,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,4EAA4E;AAC5E,+BAA+B;AAC/B,MAAM,YAAY,GAAG;IACnB,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;CACrC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/http/server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const SUPPORTED_SKILLS: readonly ["multi-model-agent", "mma-delegate", "mma-audit", "mma-review", "mma-verify", "mma-debug", "mma-execute-plan", "mma-retry", "mma-context-blocks", "mma-clarifications", "mma-investigate"];
1
+ export declare const SUPPORTED_SKILLS: readonly ["multi-model-agent", "mma-delegate", "mma-audit", "mma-review", "mma-verify", "mma-debug", "mma-execute-plan", "mma-retry", "mma-context-blocks", "mma-clarifications", "mma-investigate", "mma-explore"];
2
2
  /** Thrown when a skill's SKILL.md cannot be read from the bundled skills directory. */
3
3
  export declare class SkillNotFoundError extends Error {
4
4
  readonly code: "skill_not_found";
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/install/discover.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,sMAYnB,CAAC;AAEX,uFAAuF;AACvF,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAU;gBAC/B,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAOnD;AAQD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQtF"}
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/install/discover.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,qNAanB,CAAC;AAEX,uFAAuF;AACvF,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAU;gBAC/B,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAOnD;AAQD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQtF"}
@@ -15,6 +15,7 @@ export const SUPPORTED_SKILLS = [
15
15
  'mma-context-blocks',
16
16
  'mma-clarifications',
17
17
  'mma-investigate',
18
+ 'mma-explore',
18
19
  ];
19
20
  /** Thrown when a skill's SKILL.md cannot be read from the bundled skills directory. */
20
21
  export class SkillNotFoundError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/install/discover.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+DAA+D;AAC/D,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,mBAAmB;IACnB,cAAc;IACd,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,kBAAkB;IAClB,WAAW;IACX,oBAAoB;IACpB,oBAAoB;IACpB,iBAAiB;CACT,CAAC;AAEX,uFAAuF;AACvF,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,IAAI,GAAG,iBAA0B,CAAC;IAC3C,YAAY,SAAiB,EAAE,WAAmB;QAChD,KAAK,CACH,UAAU,SAAS,eAAe;YAClC,YAAY,WAAW,IAAI;YAC3B,qBAAqB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CACtC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,IAAI,EACJ,QAAQ,CACT,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,UAAmB;IAC/C,OAAO,UAAU,IAAI,mBAAmB,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,UAAmB;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC9E,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/install/discover.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+DAA+D;AAC/D,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,mBAAmB;IACnB,cAAc;IACd,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,kBAAkB;IAClB,WAAW;IACX,oBAAoB;IACpB,oBAAoB;IACpB,iBAAiB;IACjB,aAAa;CACL,CAAC;AAEX,uFAAuF;AACvF,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,IAAI,GAAG,iBAA0B,CAAC;IAC3C,YAAY,SAAiB,EAAE,WAAmB;QAChD,KAAK,CACH,UAAU,SAAS,eAAe;YAClC,YAAY,WAAW,IAAI;YAC3B,qBAAqB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnD,CAAC;IACJ,CAAC;CACF;AAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CACtC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,IAAI,EACJ,QAAQ,CACT,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,UAAmB;IAC/C,OAAO,UAAU,IAAI,mBAAmB,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,UAAmB;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC9E,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"AAiDA,qEAAqE;AACrE,QAAA,MAAM,aAAa;;;;;;;;CAMlB,CAAC;AAoDF,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyIzD;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAExE;AAGD,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"AAkDA,qEAAqE;AACrE,QAAA,MAAM,aAAa;;;;;;;;CAMlB,CAAC;AAyDF,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyIzD;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAExE;AAGD,OAAO,EAAE,aAAa,EAAE,CAAC"}
package/dist/openapi.js CHANGED
@@ -15,6 +15,7 @@ import * as debug from '@zhixuan92/multi-model-agent-core/tool-schemas/debug';
15
15
  import * as executePlan from '@zhixuan92/multi-model-agent-core/tool-schemas/execute-plan';
16
16
  import * as retry from '@zhixuan92/multi-model-agent-core/tool-schemas/retry';
17
17
  import * as investigate from '@zhixuan92/multi-model-agent-core/tool-schemas/investigate';
18
+ import * as explore from '@zhixuan92/multi-model-agent-core/tool-schemas/explore';
18
19
  // Extend Zod once with openapi support.
19
20
  extendZodWithOpenApi(z);
20
21
  /** Sort an object's keys recursively for deterministic JSON serialization. */
@@ -70,6 +71,11 @@ const TOOL_ENDPOINTS = [
70
71
  summary: 'Investigate the codebase and answer a question with structured citations',
71
72
  schema: investigate.inputSchema,
72
73
  },
74
+ {
75
+ path: '/explore',
76
+ summary: 'Explore a topic with parallel internal codebase search and external web research',
77
+ schema: explore.inputSchema,
78
+ },
73
79
  ];
74
80
  function registerToolEndpoint(registry, row) {
75
81
  registry.registerPath({
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ when_to_use: >-
8
8
  User asks for a doc/spec/config audit OR a methodology skill
9
9
  (superpowers:dispatching-parallel-agents, /security-review) points at one AND
10
10
  mmagent is running. Audit on PROSE/SPEC docs — use mma-review for source code.
11
- version: 3.11.1
11
+ version: 3.12.1
12
12
  ---
13
13
 
14
14
  # mma-audit
@@ -12,7 +12,7 @@ when_to_use: >-
12
12
  `proposedInterpretation` is a hard gate — the batch is paused, not
13
13
  informational. The batch will not complete until the caller responds. Treating
14
14
  it as advisory is the clarification-as-info anti-pattern (AP5).
15
- version: 3.11.1
15
+ version: 3.12.1
16
16
  ---
17
17
 
18
18
  # mma-clarifications
@@ -12,7 +12,7 @@ when_to_use: >-
12
12
  Register once here, then pass the ID via `contextBlockIds` on mma-delegate /
13
13
  mma-execute-plan / mma-audit / mma-review / mma-verify / mma-debug /
14
14
  mma-investigate. Cheaper and faster than inlining the same content N times.
15
- version: 3.11.1
15
+ version: 3.12.1
16
16
  ---
17
17
 
18
18
  # mma-context-blocks
@@ -10,7 +10,7 @@ when_to_use: >-
10
10
  read files, reproduce, trace — OR a methodology skill
11
11
  (superpowers:systematic-debugging) points at the investigation step. Delegate
12
12
  the read/reproduce/trace; the main agent stays on the hypothesis and the fix.
13
- version: 3.11.1
13
+ version: 3.12.1
14
14
  ---
15
15
 
16
16
  # mma-debug
@@ -11,7 +11,7 @@ when_to_use: >-
11
11
  and keep main context free. If a plan file exists → use mma-execute-plan. If
12
12
  the task is audit / review / verify / debug / investigate → use the matching
13
13
  specialized skill.
14
- version: 3.11.1
14
+ version: 3.12.1
15
15
  ---
16
16
 
17
17
  # mma-delegate
@@ -10,7 +10,7 @@ when_to_use: >-
10
10
  superpowers:subagent-driven-development / superpowers:executing-plans —
11
11
  workers are cheaper and don't pollute main context. Task descriptors must
12
12
  match plan headings verbatim.
13
- version: 3.11.1
13
+ version: 3.12.1
14
14
  ---
15
15
 
16
16
  # mma-execute-plan
@@ -0,0 +1,199 @@
1
+ ---
2
+ name: mma-explore
3
+ description: >-
4
+ Use when you need divergent ideation — 3-5 threads from parallel internal
5
+ codebase + external web research, before superpowers:brainstorming. Not for
6
+ "where is X" questions (use mma-investigate).
7
+ when_to_use: >-
8
+ You are about to brainstorm or plan (including superpowers:brainstorming) and
9
+ need a broad landscape scan before narrowing. The question is exploratory
10
+ (what are our options, what approaches exist, survey how others handle).
11
+ Delegating the read+grep+web-search to a worker keeps your main context on
12
+ judgment. DO NOT use for convergent single-answer questions (where is X
13
+ called, how does Y work) — those are mma-investigate.
14
+ version: 3.12.1
15
+ ---
16
+
17
+ # mma-explore
18
+
19
+ ## Overview
20
+
21
+ Explore the codebase AND the web in parallel, synthesizing 3–5 distinct directions with cross-thread synthesis. Each direction carries its own citations and a confidence assessment. The worker runs internal (grep/read) and external (web search) searches concurrently; you receive a diverged option set you can weigh and narrow in a downstream brainstorming step.
22
+
23
+ **Core principle:** Exploration is divergent (survey, enumerate, compare). Synthesis turns raw threads into ranked, citable directions. The main agent stays on judgment — deciding which directions to pursue and what tradeoffs matter.
24
+
25
+ ## When to Use
26
+
27
+ **First decision — output shape:**
28
+ - Want **one** synthesized answer with citations? → use `mma-investigate` (don't continue here)
29
+ - Want **multiple** distinct directions to weigh (3–5 threads + cross-thread synthesis)? → continue here
30
+
31
+ Internal-vs-external is not your decision; explore always runs both.
32
+
33
+ ```dot
34
+ digraph when_to_use {
35
+ "Exploratory question?" [shape=diamond];
36
+ "Convergent single-answer?" [shape=diamond];
37
+ "About to brainstorm/plan?" [shape=diamond];
38
+ "mma-explore" [shape=box];
39
+ "mma-investigate" [shape=box];
40
+ "Inline search (1–2 queries)" [shape=box];
41
+
42
+ "Exploratory question?" -> "Convergent single-answer?";
43
+ "Convergent single-answer?" -> "mma-investigate" [label="yes"];
44
+ "Convergent single-answer?" -> "About to brainstorm/plan?";
45
+ "About to brainstorm/plan?" -> "mma-explore" [label="yes"];
46
+ "About to brainstorm/plan?" -> "Inline search (1–2 queries)" [label="no — narrow enough"];
47
+ }
48
+ ```
49
+
50
+ **Use when:**
51
+ - "What are our options for handling auth across microservices?"
52
+ - "What approaches exist for real-time sync in this codebase?"
53
+ - "Survey how the industry handles schema migration rollbacks"
54
+ - You're about to run `superpowers:brainstorming` and need a broad option set
55
+ - The question requires both internal codebase knowledge AND external research
56
+ - Tradeoff analysis where you need multiple perspectives before committing
57
+
58
+ **Don't use when:**
59
+ - "Where is X called?" or "How does Y work?" → `mma-investigate` (convergent)
60
+ - You already know the landscape and just need to choose → go straight to `superpowers:brainstorming`
61
+ - The question is about git history → `git log` / `git blame`
62
+ - You need to MODIFY code → use `mma-delegate` after exploring + brainstorming
63
+ - The scope is narrow enough for 1–2 inline reads/searches → do it yourself
64
+
65
+ ## Endpoint
66
+
67
+ `POST /explore?cwd=<abs-path>`
68
+
69
+ @include _shared/auth.md
70
+
71
+ ## Request body
72
+
73
+ ```json
74
+ {
75
+ "question": "What are our options for handling auth across microservices?",
76
+ "filePaths": ["/project/src/auth/"],
77
+ "contextBlockIds": []
78
+ }
79
+ ```
80
+
81
+ | Field | Type | Required | Notes |
82
+ |---|---|---|---|
83
+ | `question` | string | yes | Natural-language exploratory question. Phrase it broadly — "options for", "approaches to", "how others handle". |
84
+ | `filePaths` | string[] | no | Anchor paths the worker starts internal search from. Worker may search beyond. |
85
+ | `contextBlockIds` | string[] | no | IDs from `mma-context-blocks` — enables follow-up / delta exploration |
86
+ | `tools` | `'none' \| 'readonly'` | no | Default `'readonly'`. `'no-shell'` and `'full'` are rejected — exploration is read-only |
87
+
88
+ > Worker tier for `mma-explore` is hardcoded to `complex` and is not caller-configurable. Sending `agentType` is rejected with HTTP 400.
89
+
90
+ **Anchor broad questions with `filePaths`:**
91
+
92
+ ❌ `{ "question": "What are our options for state management?" }` — searches entire repo + web blindly
93
+ ✅ `{ "question": "What are our options for state management?", "filePaths": ["src/components/", "src/hooks/"] }` — internal search bounded; web search still broad
94
+
95
+ **Why:** the worker runs both internal and external searches under its cost ceiling. Anchors keep the internal search focused so more budget goes to synthesis.
96
+
97
+ ## Full example
98
+
99
+ ```bash
100
+ BATCH=$(curl -f --show-error -s -X POST \
101
+ -H "Authorization: Bearer $TOKEN" \
102
+ -H "Content-Type: application/json" \
103
+ -d '{"question":"What are our options for handling auth across microservices?"}' \
104
+ "http://localhost:$PORT/explore?cwd=/project")
105
+ BATCH_ID=$(echo "$BATCH" | jq -r '.batchId')
106
+ ```
107
+
108
+ @include _shared/polling.md
109
+
110
+ @include _shared/response-shape.md
111
+
112
+ ## Per-task report shape
113
+
114
+ Each task carries an `exploration` field on its per-task report:
115
+
116
+ ```json
117
+ {
118
+ "exploration": {
119
+ "threads": [
120
+ {
121
+ "id": "T1",
122
+ "direction": "Centralized auth gateway with JWT propagation",
123
+ "rationale": "Fits existing Node.js infra; team already familiar with JWT",
124
+ "confidence": { "level": "high", "rationale": "Cited from internal auth module + 3 external sources" },
125
+ "citations": [
126
+ { "source": "internal", "file": "src/auth/middleware.ts", "lines": "12-45", "claim": "Existing JWT validation pipeline" },
127
+ { "source": "external", "url": "https://example.com/auth-patterns", "claim": "Gateway pattern is industry standard for polyglot services" }
128
+ ],
129
+ "tradeoffs": ["Adds latency hop per request", "Single point of failure without redundancy"]
130
+ }
131
+ ],
132
+ "synthesis": {
133
+ "summary": "Three broad families: gateway-based, sidecar-based, and library-based. Gateway fits our stack best.",
134
+ "comparativeNotes": "Gateway and sidecar both support polyglot; library is simpler but binds to Node.js.",
135
+ "recommendedStartingPoint": "T1 — gateway-based, because it reuses existing auth middleware."
136
+ },
137
+ "sourcesUsed": {
138
+ "internal": { "filesRead": 12, "grepResults": 45 },
139
+ "external": { "searchesPerformed": 5, "pagesFetched": 8 }
140
+ },
141
+ "diagnostics": {
142
+ "malformedCitationLines": 0,
143
+ "missingRequiredSections": [],
144
+ "invalidRequiredSections": []
145
+ }
146
+ }
147
+ }
148
+ ```
149
+
150
+ `workerStatus` is one of `done`, `done_with_concerns`, `needs_context`, `blocked`. When `done_with_concerns`, the per-task report carries `incompleteReason` (`turn_cap`, `cost_cap`, `timeout`, or `missing_sections`). When `needs_context`, the worker flagged a `[needs_context]` bullet under `## Unresolved` — re-dispatch with extra context (anchor paths, a context block, or a clarification turn).
151
+
152
+ ## Reading the findings (3.10.5+)
153
+
154
+ The terminal envelope's `results[N].annotatedFindings` is a list of structured
155
+ findings the reviewer extracted and scored from the explorer's narrative.
156
+ Every finding has the same shape:
157
+
158
+ | Field | Type | Notes |
159
+ |---|---|---|
160
+ | `id` | string | Reviewer-assigned, e.g. `F1`, `F2`. |
161
+ | `severity` | `'critical' \| 'high' \| 'medium' \| 'low'` | 4-tier. |
162
+ | `claim` | string | One-sentence summary. |
163
+ | `evidence` | string ≥20 chars | Quoted from worker output when grounded. |
164
+ | `suggestion?` | string | Optional fix recommendation. |
165
+ | `reviewerConfidence` | `number \| null` | 0–100; `null` from deterministic fallback. |
166
+ | `evidenceGrounded` | boolean | True iff `evidence` is verbatim from worker output. |
167
+
168
+ `qualityReviewVerdict` is `'annotated'` (normal), `'skipped'` (kill switch), or `'error'` (reviewer transport failure). See `mma-investigate` SKILL.md for finding-rendering conventions — same shape.
169
+
170
+ ## Best practices
171
+
172
+ This skill is one step in the larger flow described in `multi-model-agent` → "Best practices". Recipes that involve `mma-explore`:
173
+
174
+ - **Recipe E — Explore-brainstorm-plan.** `mma-explore` → `superpowers:brainstorming` → write the plan → `mma-execute-plan`. Exploration produces a broad option set; brainstorming evaluates and narrows it; the narrowed direction becomes a plan. Run `/explore` before `superpowers:brainstorming` for divergent ideation — the brainstorm works better when it has multiple concrete directions to compare.
175
+
176
+ - **Recipe F — Explore-investigate.** Start broad with `mma-explore` to identify promising directions, then use `mma-investigate` to deep-dive a specific thread that emerged. The exploration's `synthesis.recommendedStartingPoint` tells you where to focus the investigation.
177
+
178
+ Anti-pattern alert: **`inline-research-leakage`** (AP3). If you find yourself running multiple WebSearch + grep calls just to enumerate options, delegate to explore instead. The worker runs internal and external searches in parallel on its cheap budget; you read the synthesis.
179
+
180
+ ## Common pitfalls
181
+
182
+ ❌ **Asking a convergent question**
183
+ > question: "Where is the auth middleware defined?"
184
+
185
+ That's a single-answer codebase question — use `mma-investigate`. Explore is designed for divergent questions that benefit from multiple angles.
186
+
187
+ ❌ **Skipping brainstorming after explore**
188
+ Exploration produces threads, not decisions. Always feed the results into `superpowers:brainstorming` (or equivalent planning) before committing to a direction. The exploration is input to judgment, not a substitute for it.
189
+
190
+ ❌ **Expecting exhaustive coverage**
191
+ Explore samples the codebase and the web under a cost ceiling. It produces 3–5 representative threads, not an exhaustive survey. If a thread is missing, re-dispatch with tighter `filePaths` anchors or a `contextBlockIds` delta.
192
+
193
+ ❌ **Treating `done_with_concerns` as failure**
194
+ The worker still produced threads and a synthesis. Read them — partial coverage with `incompleteReason: 'turn_cap'` often surfaces enough directions to start brainstorming. Re-dispatch with a tighter scope only if the threads are unusable.
195
+
196
+ ❌ **Inline-research instead of delegating**
197
+ About to run 3+ WebSearch + grep calls just to enumerate options? That's the wrong tradeoff — the worker searches on its cheap budget; you read its synthesis on yours.
198
+
199
+ @include _shared/error-handling.md
@@ -12,7 +12,7 @@ when_to_use: >-
12
12
  git-history queries. OR you are about to read 3+ files / run any grep in main
13
13
  context — that's the inline-labor-leakage anti-pattern (AP2); delegate to this
14
14
  skill instead.
15
- version: 3.11.1
15
+ version: 3.12.1
16
16
  ---
17
17
 
18
18
  # mma-investigate
@@ -54,6 +54,7 @@ digraph when_to_use {
54
54
  - It's about web docs / external APIs → `WebSearch` / `WebFetch`
55
55
  - It's about git history → `git log` / `git blame`
56
56
  - You need to MODIFY code based on the finding → `mma-delegate` (research + edit)
57
+ - You want to consider multiple distinct directions, not converge on one answer → `mma-explore` (divergent ideation, codebase + web)
57
58
 
58
59
  ## Endpoint
59
60
 
@@ -10,7 +10,7 @@ when_to_use: >-
10
10
  you want to re-try the failed indices only. Prefer this over re-dispatching
11
11
  the whole batch or inline-retrying — it's idempotent and preserves the
12
12
  original batch's diagnostics.
13
- version: 3.11.1
13
+ version: 3.12.1
14
14
  ---
15
15
 
16
16
  # mma-retry
@@ -10,7 +10,7 @@ when_to_use: >-
10
10
  AND mmagent is running. Delegate so each file reviews on its own worker; the
11
11
  main agent only decides what to merge. Review on SOURCE CODE — use mma-audit
12
12
  for prose specs / configs.
13
- version: 3.11.1
13
+ version: 3.12.1
14
14
  ---
15
15
 
16
16
  # mma-review
@@ -10,7 +10,7 @@ when_to_use: >-
10
10
  against implemented work BEFORE claiming success. Delegate so each checklist
11
11
  item gets independent evidence-gathering on a worker. Use this BEFORE saying
12
12
  "done" — never after.
13
- version: 3.11.1
13
+ version: 3.12.1
14
14
  ---
15
15
 
16
16
  # mma-verify
@@ -11,7 +11,7 @@ when_to_use: >-
11
11
  tasks — AND mmagent is running. Read this once, pick the matching mma-* skill,
12
12
  and delegate there. Applies equally whether the user invoked a superpowers
13
13
  methodology skill or asked directly.
14
- version: 3.11.1
14
+ version: 3.12.1
15
15
  ---
16
16
 
17
17
  # multi-model-agent (router)
@@ -32,12 +32,14 @@ digraph picker {
32
32
  "Verify a checklist?" [shape=diamond];
33
33
  "Debug a failure?" [shape=diamond];
34
34
  "Codebase question?" [shape=diamond];
35
+ "Convergent or divergent?" [shape=diamond];
35
36
  "mma-execute-plan" [shape=box];
36
37
  "mma-audit" [shape=box];
37
38
  "mma-review" [shape=box];
38
39
  "mma-verify" [shape=box];
39
40
  "mma-debug" [shape=box];
40
41
  "mma-investigate" [shape=box];
42
+ "mma-explore" [shape=box];
41
43
  "mma-delegate" [shape=box];
42
44
 
43
45
  "Plan/spec file on disk?" -> "mma-execute-plan" [label="yes"];
@@ -50,8 +52,10 @@ digraph picker {
50
52
  "Verify a checklist?" -> "Debug a failure?" [label="no"];
51
53
  "Debug a failure?" -> "mma-debug" [label="yes"];
52
54
  "Debug a failure?" -> "Codebase question?" [label="no"];
53
- "Codebase question?" -> "mma-investigate" [label="yes"];
55
+ "Codebase question?" -> "Convergent or divergent?" [label="yes"];
54
56
  "Codebase question?" -> "mma-delegate" [label="no — ad-hoc"];
57
+ "Convergent or divergent?" -> "mma-investigate" [label="convergent (one answer)"];
58
+ "Convergent or divergent?" -> "mma-explore" [label="divergent (3-5 directions)"];
55
59
  }
56
60
  ```
57
61
 
@@ -63,6 +67,7 @@ digraph picker {
63
67
  | `mma-verify` | Verify work against a checklist (one item per worker, parallel) |
64
68
  | `mma-debug` | Debug a failure with a structured hypothesis |
65
69
  | `mma-investigate` | Codebase Q&A — structured answer with `file:line` citations + confidence |
70
+ | `mma-explore` | Divergent ideation from codebase + web research — use before `superpowers:brainstorming` |
66
71
  | `mma-delegate` | Ad-hoc implementation / research with no plan file |
67
72
  | `mma-retry` | Re-run specific failed/incomplete tasks from a previous batch by index |
68
73
  | `mma-context-blocks` | Register a reused doc once; reference by ID across N tasks |
@@ -132,8 +137,7 @@ When `mma-execute-plan` returns mixed `done` / `done_with_concerns` / `failed`,
132
137
  ```bash
133
138
  PORT=7337
134
139
  if ! curl -sf "http://127.0.0.1:$PORT/health" >/dev/null 2>&1; then
135
- mmagent serve >/dev/null 2>&1 &
136
- disown
140
+ mmagent serve >/dev/null 2>&1 & disown
137
141
  for _ in 1 2 3 4 5 6 7 8 9 10; do
138
142
  sleep 0.5
139
143
  curl -sf "http://127.0.0.1:$PORT/health" >/dev/null 2>&1 && break
@@ -141,10 +145,7 @@ if ! curl -sf "http://127.0.0.1:$PORT/health" >/dev/null 2>&1; then
141
145
  fi
142
146
  ```
143
147
 
144
- Idempotent: already-running daemon → curl succeeds → no-op.
145
-
146
- ❌ `mmagent serve` (no `&`) — blocks forever, never reaches the next step.
147
- ✅ `mmagent serve >/dev/null 2>&1 & disown` — backgrounded, releases the shell.
148
+ Idempotent: already-running daemon → curl succeeds → no-op. Background `mmagent serve` (with `& disown`) — never run it foreground (it would block the rest of the script).
148
149
 
149
150
  ## Auth token
150
151
 
@@ -172,6 +173,7 @@ Every other route hardcodes its tier and rejects `agentType` with HTTP 400:
172
173
  | `mma-debug` | `complex` |
173
174
  | `mma-verify` | `complex` |
174
175
  | `mma-investigate` | `complex` |
176
+ | `mma-explore` | `complex` (all three workers — internal, external, synthesizer) |
175
177
 
176
178
  If you need `complex` tier on plan-style work, dispatch via `mma-delegate` with the plan task as the prompt and `agentType: "complex"`.
177
179
 
@@ -1,4 +1,27 @@
1
+ import type { TaskCompletedEventType } from '@zhixuan92/multi-model-agent-core/telemetry/types';
1
2
  import { type BuildContext } from '@zhixuan92/multi-model-agent-core/telemetry/event-builder';
3
+ export interface ValidationWarningsResult {
4
+ warnings: Array<{
5
+ rule: string;
6
+ path: string;
7
+ }>;
8
+ baseIssues: Array<{
9
+ path: string;
10
+ message: string;
11
+ }>;
12
+ refinedIssues: Array<{
13
+ path: string;
14
+ message: string;
15
+ }>;
16
+ }
17
+ /**
18
+ * Run both base-schema and cross-field validation on a built event
19
+ * without dropping it. Returns deduplicated warnings and separate
20
+ * issue lists for logging. Deduplication key is `message::path` so
21
+ * a base-schema issue that also surfaces in the superRefine'd parse
22
+ * is stored once.
23
+ */
24
+ export declare function collectValidationWarnings(event: TaskCompletedEventType): ValidationWarningsResult;
2
25
  export interface Recorder {
3
26
  readonly signal: AbortSignal;
4
27
  recordTaskCompleted(ctx: BuildContext): void;
@@ -1 +1 @@
1
- {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/telemetry/recorder.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,2DAA2D,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAID,wBAAgB,WAAW,IAAI,QAAQ,CAKtC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAEpD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAI1F"}
1
+ {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/telemetry/recorder.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,2DAA2D,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,sBAAsB,GAC5B,wBAAwB,CA0B1B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAID,wBAAgB,WAAW,IAAI,QAAQ,CAKtC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAEpD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAI1F"}
@@ -8,6 +8,37 @@ import { Queue } from './queue.js';
8
8
  import { readGeneration, bumpGeneration } from './generation.js';
9
9
  import { SCHEMA_VERSION, TaskCompletedEventSchema, ValidatedTaskCompletedEventSchema } from '@zhixuan92/multi-model-agent-core/telemetry/types';
10
10
  import { buildTaskCompletedEvent, } from '@zhixuan92/multi-model-agent-core/telemetry/event-builder';
11
+ /**
12
+ * Run both base-schema and cross-field validation on a built event
13
+ * without dropping it. Returns deduplicated warnings and separate
14
+ * issue lists for logging. Deduplication key is `message::path` so
15
+ * a base-schema issue that also surfaces in the superRefine'd parse
16
+ * is stored once.
17
+ */
18
+ export function collectValidationWarnings(event) {
19
+ const warningsMap = new Map();
20
+ const baseIssues = [];
21
+ const refinedIssues = [];
22
+ const baseParsed = TaskCompletedEventSchema.safeParse(event);
23
+ if (!baseParsed.success) {
24
+ for (const i of baseParsed.error.issues) {
25
+ const path = i.path.join('.');
26
+ const key = `${i.message}::${path}`;
27
+ warningsMap.set(key, { rule: i.message, path });
28
+ baseIssues.push({ path, message: i.message });
29
+ }
30
+ }
31
+ const refined = ValidatedTaskCompletedEventSchema.safeParse(event);
32
+ if (!refined.success) {
33
+ for (const i of refined.error.issues) {
34
+ const path = i.path.join('.');
35
+ const key = `${i.message}::${path}`;
36
+ warningsMap.set(key, { rule: i.message, path });
37
+ refinedIssues.push({ path, message: i.message });
38
+ }
39
+ }
40
+ return { warnings: [...warningsMap.values()], baseIssues, refinedIssues };
41
+ }
11
42
  let _recorder = null;
12
43
  export function getRecorder() {
13
44
  if (!_recorder) {
@@ -67,25 +98,14 @@ function _buildRecorder(opts) {
67
98
  if (!d.enabled)
68
99
  return;
69
100
  const event = buildTaskCompletedEvent(ctx);
70
- // Validation is INFORMATIONAL ONLY never block emit. Backend uses
71
- // passthrough so it stores everything; if mma drops events here, that
72
- // data is gone forever and the user has no visibility into what was
73
- // suppressed. 3.10.2's drop-on-fail design hid real telemetry from
74
- // both operator and dashboard.
75
- const baseParsed = TaskCompletedEventSchema.safeParse(event);
76
- if (!baseParsed.success) {
101
+ const { warnings, baseIssues, refinedIssues } = collectValidationWarnings(event);
102
+ if (baseIssues.length > 0) {
77
103
  console.warn('mma-telemetry: schema warning (event still emitted)', {
78
104
  eventId: event.eventId,
79
- issues: baseParsed.error.issues.map((e) => ({ path: e.path.join('.'), message: e.message })),
105
+ issues: baseIssues,
80
106
  });
81
107
  }
82
- const refined = ValidatedTaskCompletedEventSchema.safeParse(event);
83
- if (!refined.success) {
84
- // Surface the actual offending values alongside the rule name so the
85
- // operator can tell at a glance whether the cause is config (wrong
86
- // values) or code (lifecycle bug). Tag the most informative
87
- // top-level fields plus per-stage models for the common R3/R5/R6
88
- // cross-field cases.
108
+ if (refinedIssues.length > 0) {
89
109
  const stageModelsByName = (event.stages ?? []).reduce((acc, s) => {
90
110
  if (s.name && s.model)
91
111
  acc[s.name] = s.model;
@@ -98,13 +118,16 @@ function _buildRecorder(opts) {
98
118
  totalDurationMs: event.totalDurationMs,
99
119
  inputTokens: event.inputTokens,
100
120
  outputTokens: event.outputTokens,
101
- issues: refined.error.issues.map((e) => ({
121
+ issues: refinedIssues.map((e) => ({
102
122
  rule: e.message,
103
- path: e.path.join('.'),
123
+ path: e.path,
104
124
  })),
105
125
  });
106
126
  }
107
- enqueue(event);
127
+ const enrichedEvent = warnings.length > 0
128
+ ? { ...event, validation_warnings: warnings }
129
+ : event;
130
+ enqueue(enrichedEvent);
108
131
  }
109
132
  catch {
110
133
  dropped++;
@@ -1 +1 @@
1
- {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../src/telemetry/recorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../src/telemetry/recorder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhixuan92/multi-model-agent",
3
- "version": "3.11.1",
3
+ "version": "3.12.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Standalone HTTP server for multi-model-agent. Routes tool-invocation work to Claude, Codex, or OpenAI-compatible sub-agents with async-polling REST dispatch and installable skills for Claude Code, Gemini CLI, Codex CLI, and Cursor.",
@@ -52,7 +52,7 @@
52
52
  },
53
53
  "dependencies": {
54
54
  "@asteasolutions/zod-to-openapi": "^8.5.0",
55
- "@zhixuan92/multi-model-agent-core": "^3.11.1",
55
+ "@zhixuan92/multi-model-agent-core": "^3.12.1",
56
56
  "gray-matter": "^4.0.3",
57
57
  "minimist": "^1.2.8",
58
58
  "proper-lockfile": "^4.1.2",