@femtomc/mu-agent 26.2.72 → 26.2.74

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 (84) hide show
  1. package/README.md +24 -45
  2. package/dist/extensions/branding.d.ts +1 -1
  3. package/dist/extensions/branding.js +3 -3
  4. package/dist/extensions/index.d.ts +3 -17
  5. package/dist/extensions/index.d.ts.map +1 -1
  6. package/dist/extensions/index.js +5 -19
  7. package/dist/extensions/mu-operator.d.ts +2 -2
  8. package/dist/extensions/mu-operator.d.ts.map +1 -1
  9. package/dist/extensions/mu-operator.js +2 -6
  10. package/dist/extensions/mu-serve.d.ts +2 -2
  11. package/dist/extensions/mu-serve.d.ts.map +1 -1
  12. package/dist/extensions/mu-serve.js +2 -14
  13. package/dist/extensions/shared.d.ts +2 -21
  14. package/dist/extensions/shared.d.ts.map +1 -1
  15. package/dist/extensions/shared.js +0 -90
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -1
  19. package/dist/operator.d.ts +15 -0
  20. package/dist/operator.d.ts.map +1 -1
  21. package/dist/operator.js +366 -14
  22. package/dist/session_factory.d.ts +12 -0
  23. package/dist/session_factory.d.ts.map +1 -1
  24. package/dist/session_factory.js +21 -2
  25. package/package.json +2 -3
  26. package/prompts/roles/operator.md +22 -45
  27. package/prompts/roles/orchestrator.md +17 -12
  28. package/prompts/roles/reviewer.md +7 -8
  29. package/prompts/roles/worker.md +6 -11
  30. package/dist/extensions/activities.d.ts +0 -7
  31. package/dist/extensions/activities.d.ts.map +0 -1
  32. package/dist/extensions/activities.js +0 -236
  33. package/dist/extensions/cron.d.ts +0 -7
  34. package/dist/extensions/cron.d.ts.map +0 -1
  35. package/dist/extensions/cron.js +0 -247
  36. package/dist/extensions/heartbeats.d.ts +0 -7
  37. package/dist/extensions/heartbeats.d.ts.map +0 -1
  38. package/dist/extensions/heartbeats.js +0 -192
  39. package/dist/extensions/messaging-setup/actions.d.ts +0 -22
  40. package/dist/extensions/messaging-setup/actions.d.ts.map +0 -1
  41. package/dist/extensions/messaging-setup/actions.js +0 -229
  42. package/dist/extensions/messaging-setup/adapters.d.ts +0 -24
  43. package/dist/extensions/messaging-setup/adapters.d.ts.map +0 -1
  44. package/dist/extensions/messaging-setup/adapters.js +0 -170
  45. package/dist/extensions/messaging-setup/index.d.ts +0 -17
  46. package/dist/extensions/messaging-setup/index.d.ts.map +0 -1
  47. package/dist/extensions/messaging-setup/index.js +0 -261
  48. package/dist/extensions/messaging-setup/parser.d.ts +0 -33
  49. package/dist/extensions/messaging-setup/parser.d.ts.map +0 -1
  50. package/dist/extensions/messaging-setup/parser.js +0 -240
  51. package/dist/extensions/messaging-setup/runtime.d.ts +0 -16
  52. package/dist/extensions/messaging-setup/runtime.d.ts.map +0 -1
  53. package/dist/extensions/messaging-setup/runtime.js +0 -110
  54. package/dist/extensions/messaging-setup/types.d.ts +0 -157
  55. package/dist/extensions/messaging-setup/types.d.ts.map +0 -1
  56. package/dist/extensions/messaging-setup/types.js +0 -4
  57. package/dist/extensions/messaging-setup/ui.d.ts +0 -15
  58. package/dist/extensions/messaging-setup/ui.d.ts.map +0 -1
  59. package/dist/extensions/messaging-setup/ui.js +0 -173
  60. package/dist/extensions/messaging-setup.d.ts +0 -3
  61. package/dist/extensions/messaging-setup.d.ts.map +0 -1
  62. package/dist/extensions/messaging-setup.js +0 -2
  63. package/dist/extensions/mu-full-tools.d.ts +0 -10
  64. package/dist/extensions/mu-full-tools.d.ts.map +0 -1
  65. package/dist/extensions/mu-full-tools.js +0 -25
  66. package/dist/extensions/mu-query-tools.d.ts +0 -10
  67. package/dist/extensions/mu-query-tools.d.ts.map +0 -1
  68. package/dist/extensions/mu-query-tools.js +0 -11
  69. package/dist/extensions/operator-command.d.ts +0 -14
  70. package/dist/extensions/operator-command.d.ts.map +0 -1
  71. package/dist/extensions/operator-command.js +0 -231
  72. package/dist/extensions/orchestration-runs-readonly.d.ts +0 -4
  73. package/dist/extensions/orchestration-runs-readonly.d.ts.map +0 -1
  74. package/dist/extensions/orchestration-runs-readonly.js +0 -226
  75. package/dist/extensions/orchestration-runs.d.ts +0 -4
  76. package/dist/extensions/orchestration-runs.d.ts.map +0 -1
  77. package/dist/extensions/orchestration-runs.js +0 -315
  78. package/dist/extensions/server-tools-readonly.d.ts +0 -4
  79. package/dist/extensions/server-tools-readonly.d.ts.map +0 -1
  80. package/dist/extensions/server-tools-readonly.js +0 -5
  81. package/dist/extensions/server-tools.d.ts +0 -25
  82. package/dist/extensions/server-tools.d.ts.map +0 -1
  83. package/dist/extensions/server-tools.js +0 -833
  84. package/prompts/skills/messaging-setup-brief.md +0 -25
package/README.md CHANGED
@@ -6,7 +6,7 @@ This package provides reusable runtime pieces for chat, orchestration, and serve
6
6
 
7
7
  - Messaging operator runtime + backend
8
8
  - Command context resolution for operator command proposals
9
- - Role prompt loading/defaults for orchestrator + worker agents
9
+ - Role prompt loading/defaults for operator/orchestrator/worker/reviewer
10
10
  - pi CLI/SDK orchestration backends and resource loader helpers
11
11
  - Prompt/template helpers used by orchestration roles
12
12
 
@@ -17,6 +17,7 @@ Bundled defaults now live as markdown files under `packages/agent/prompts/`:
17
17
  - `operator.md`
18
18
  - `orchestrator.md`
19
19
  - `worker.md`
20
+ - `reviewer.md`
20
21
  - `soul.md` (shared tail appended to all role prompts)
21
22
 
22
23
  These are loaded by runtime code and are the single source of truth for default system prompts.
@@ -34,7 +35,7 @@ From repo root (`mu/`):
34
35
 
35
36
  ```bash
36
37
  bun run build
37
- bun test packages/orchestrator packages/control-plane
38
+ bun test packages/agent/test
38
39
  ```
39
40
 
40
41
  ## Serve-mode extensions (`mu serve`)
@@ -46,63 +47,41 @@ not anonymous inline factories).
46
47
  Current stack:
47
48
 
48
49
  - `brandingExtension` — mu compact header/footer branding + default theme
49
- - `serverToolsExtension` — status + issues/forum/events/control-plane tools
50
50
  - `eventLogExtension` — event tail + watch widget
51
- - `messagingSetupExtension` — adapter diagnostics and setup guidance
52
-
53
- `mu serve` sets `MU_SERVER_URL` automatically for these extensions.
54
51
 
55
52
  Default operator UI theme is `mu-gruvbox-dark`.
56
53
 
57
54
  ## Slash commands (operator-facing)
58
55
 
59
- - `/mu status` — concise server status
60
- - `/mu control` — active control-plane adapters and webhook routes
61
- - `/mu setup` — adapter preflight
62
- - `/mu setup plan <adapter>` — actionable wiring plan
63
- - `/mu setup apply <adapter>` — guided config apply + control-plane reload
64
- - `/mu setup verify [adapter]` — runtime verification for mounted routes
65
- - `/mu setup <adapter>` — sends adapter setup brief to mu agent (`--no-agent` prints local guide)
66
56
  - `/mu events [n]` / `/mu events tail [n]` — event log tail
67
57
  - `/mu events watch on|off` — toggle event watch widget
68
58
  - `/mu brand on|off|toggle` — enable/disable UI branding
59
+ - `/mu help` — dispatcher catalog of registered `/mu` subcommands
69
60
 
70
- ## Tools (agent/operator-facing)
71
-
72
- - `mu_status()`
73
- - High-level server status.
74
- - `mu_control_plane({ action })`
75
- - `action`: `status | adapters | routes`
76
- - `mu_issues({ action, ... })`
77
- - `action`: `list | get | ready`
78
- - `mu_forum({ action, ... })`
79
- - `action`: `read | post | topics`
80
- - `mu_events({ action, ... })`
81
- - `action`: `tail | query`
82
- - `mu_messaging_setup({ action, adapter?, public_base_url? })`
83
- - `action`: `check | preflight | guide | plan | apply | verify`
84
- - `adapter`: `slack | discord | telegram`
85
-
86
- ### Query contract (context-safe by default)
61
+ ## Tooling model (CLI-first)
87
62
 
88
- Read-heavy `mu_*` tools are designed to be summary-first, with explicit narrowing:
63
+ mu agent sessions rely on generic built-in tools from pi:
89
64
 
90
- - `limit` controls result size (default is usually `20` for list/query/read actions).
91
- - `contains` performs case-insensitive content filtering where relevant.
92
- - `fields` (comma-separated paths) supports precise retrieval on targeted actions (`get`, `status`, `trace`, etc.).
65
+ - `bash`
66
+ - `read`
67
+ - `write`
68
+ - `edit`
93
69
 
94
- Recommended flow:
70
+ State inspection and mutation are performed by invoking `mu` CLI commands
71
+ directly through `bash`, for example:
95
72
 
96
- 1. Discover with bounded list/query (`limit` + filters).
97
- 2. Select a concrete ID.
98
- 3. Retrieve only required fields via `fields`.
73
+ ```bash
74
+ mu status --pretty
75
+ mu issues get <id> --pretty
76
+ mu forum read issue:<id> --limit 20 --pretty
77
+ mu issues close <id> --outcome success --pretty
78
+ mu control reload --pretty
79
+ ```
99
80
 
100
- Tool `details` may still include richer payloads for diagnostics, but `content` is
101
- kept compact to reduce context pollution.
81
+ There is no dedicated `query(...)` vs `command(...)` wrapper boundary in this package.
102
82
 
103
- ## Messaging setup notes
83
+ ## Control-plane config notes
104
84
 
105
- - Runtime setup state comes from `GET /api/config` and `.mu/config.json`.
106
- - `slack`, `discord`, `telegram` are currently modeled as available adapters.
107
- - `mu_messaging_setup(action=preflight)` is the quickest health check during
108
- onboarding.
85
+ - Runtime config source of truth is `.mu/config.json`.
86
+ - Inspect runtime state via CLI (`mu control status`, `mu status`).
87
+ - Apply control-plane lifecycle mutations via CLI (`mu control reload`, `mu control update`).
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * mu-branding — Custom serve-mode TUI chrome for mu.
3
3
  *
4
- * Defaults to a minimal, information-dense layout:
4
+ * Defaults to a compact, information-dense layout:
5
5
  * - Compact header + footer
6
6
  * - Terminal title and working message branding
7
7
  * - Lightweight periodic status refresh (open/ready/control-plane)
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * mu-branding — Custom serve-mode TUI chrome for mu.
3
3
  *
4
- * Defaults to a minimal, information-dense layout:
4
+ * Defaults to a compact, information-dense layout:
5
5
  * - Compact header + footer
6
6
  * - Terminal title and working message branding
7
7
  * - Lightweight periodic status refresh (open/ready/control-plane)
@@ -164,8 +164,8 @@ export function brandingExtension(pi) {
164
164
  routes: [],
165
165
  };
166
166
  snapshot = {
167
- openCount: status.open_count,
168
- readyCount: status.ready_count,
167
+ openCount: typeof status.open_count === "number" ? status.open_count : 0,
168
+ readyCount: typeof status.ready_count === "number" ? status.ready_count : 0,
169
169
  controlPlaneActive: cp.active,
170
170
  adapters: routesFromStatus(cp.adapters, cp.routes).map((entry) => entry.name),
171
171
  error: null,
@@ -1,33 +1,19 @@
1
- export { activitiesExtension } from "./activities.js";
2
1
  export { brandingExtension } from "./branding.js";
3
- export { cronExtension } from "./cron.js";
4
2
  export { eventLogExtension } from "./event-log.js";
5
- export { heartbeatsExtension } from "./heartbeats.js";
6
- export { messagingSetupExtension } from "./messaging-setup.js";
7
- export { muFullToolsExtension } from "./mu-full-tools.js";
8
3
  export { muOperatorExtension } from "./mu-operator.js";
9
- export { muQueryToolsExtension } from "./mu-query-tools.js";
10
4
  export { muServeExtension } from "./mu-serve.js";
11
- export { operatorCommandExtension } from "./operator-command.js";
12
- export { orchestrationRunsExtension } from "./orchestration-runs.js";
13
- export { orchestrationRunsReadOnlyExtension } from "./orchestration-runs-readonly.js";
14
- export { serverToolsExtension, serverToolsIssueForumExtension, serverToolsReadOnlyExtension } from "./server-tools.js";
15
- export { serverToolsReadonlyExtension } from "./server-tools-readonly.js";
16
5
  /**
17
6
  * Serve-mode extension — single facade that bundles all serve extensions.
18
7
  */
19
8
  export declare const serveExtensionPaths: string[];
20
9
  /**
21
- * Operator-mode extension — single facade that bundles operator UI +
22
- * full mu tools + approved `/mu` command flow.
10
+ * Operator-mode extension — single facade that bundles operator UI helpers.
23
11
  */
24
12
  export declare const operatorExtensionPaths: string[];
25
13
  /**
26
- * Tool-only extension bundle for orchestrator sessions (full tool surface).
14
+ * Orchestrator and worker sessions run with the generic built-in tools
15
+ * (bash/read/write/edit) and invoke `mu` CLI directly.
27
16
  */
28
17
  export declare const orchestratorToolExtensionPaths: string[];
29
- /**
30
- * Tool-only extension bundle for worker sessions (issue/forum coordination only).
31
- */
32
18
  export declare const workerToolExtensionPaths: string[];
33
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACvH,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAQ1E;;GAEG;AACH,eAAO,MAAM,mBAAmB,UAA4C,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,sBAAsB,UAA+C,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,8BAA8B,UAAiD,CAAC;AAE7F;;GAEG;AACH,eAAO,MAAM,wBAAwB,UAAkD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAQjD;;GAEG;AACH,eAAO,MAAM,mBAAmB,UAA4C,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,sBAAsB,UAA+C,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAAM,EAAO,CAAC;AAC3D,eAAO,MAAM,wBAAwB,EAAE,MAAM,EAAO,CAAC"}
@@ -1,18 +1,7 @@
1
- export { activitiesExtension } from "./activities.js";
2
1
  export { brandingExtension } from "./branding.js";
3
- export { cronExtension } from "./cron.js";
4
2
  export { eventLogExtension } from "./event-log.js";
5
- export { heartbeatsExtension } from "./heartbeats.js";
6
- export { messagingSetupExtension } from "./messaging-setup.js";
7
- export { muFullToolsExtension } from "./mu-full-tools.js";
8
3
  export { muOperatorExtension } from "./mu-operator.js";
9
- export { muQueryToolsExtension } from "./mu-query-tools.js";
10
4
  export { muServeExtension } from "./mu-serve.js";
11
- export { operatorCommandExtension } from "./operator-command.js";
12
- export { orchestrationRunsExtension } from "./orchestration-runs.js";
13
- export { orchestrationRunsReadOnlyExtension } from "./orchestration-runs-readonly.js";
14
- export { serverToolsExtension, serverToolsIssueForumExtension, serverToolsReadOnlyExtension } from "./server-tools.js";
15
- export { serverToolsReadonlyExtension } from "./server-tools-readonly.js";
16
5
  const RUNTIME_EXTENSION = import.meta.url.endsWith(".ts") ? "ts" : "js";
17
6
  function resolveBundledExtensionPath(moduleBasename) {
18
7
  return new URL(`./${moduleBasename}.${RUNTIME_EXTENSION}`, import.meta.url).pathname;
@@ -22,15 +11,12 @@ function resolveBundledExtensionPath(moduleBasename) {
22
11
  */
23
12
  export const serveExtensionPaths = [resolveBundledExtensionPath("mu-serve")];
24
13
  /**
25
- * Operator-mode extension — single facade that bundles operator UI +
26
- * full mu tools + approved `/mu` command flow.
14
+ * Operator-mode extension — single facade that bundles operator UI helpers.
27
15
  */
28
16
  export const operatorExtensionPaths = [resolveBundledExtensionPath("mu-operator")];
29
17
  /**
30
- * Tool-only extension bundle for orchestrator sessions (full tool surface).
18
+ * Orchestrator and worker sessions run with the generic built-in tools
19
+ * (bash/read/write/edit) and invoke `mu` CLI directly.
31
20
  */
32
- export const orchestratorToolExtensionPaths = [resolveBundledExtensionPath("mu-full-tools")];
33
- /**
34
- * Tool-only extension bundle for worker sessions (issue/forum coordination only).
35
- */
36
- export const workerToolExtensionPaths = [resolveBundledExtensionPath("mu-query-tools")];
21
+ export const orchestratorToolExtensionPaths = [];
22
+ export const workerToolExtensionPaths = [];
@@ -1,7 +1,7 @@
1
1
  /**
2
- * mu-operator — Unified operator-mode extension facade.
2
+ * mu-operator — Operator-mode extension facade.
3
3
  *
4
- * Bundles all mu operator extensions behind a single extension entry so
4
+ * Bundles operator extensions behind a single extension entry so
5
5
  * pi-coding-agent shows one "[Extensions] mu-operator" line instead of many.
6
6
  */
7
7
  import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
@@ -1 +1 @@
1
- {"version":3,"file":"mu-operator.d.ts","sourceRoot":"","sources":["../../src/extensions/mu-operator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAMlE,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,YAAY,QAKnD;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"mu-operator.d.ts","sourceRoot":"","sources":["../../src/extensions/mu-operator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAIlE,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,YAAY,QAGnD;AAED,eAAe,mBAAmB,CAAC"}
@@ -1,17 +1,13 @@
1
1
  /**
2
- * mu-operator — Unified operator-mode extension facade.
2
+ * mu-operator — Operator-mode extension facade.
3
3
  *
4
- * Bundles all mu operator extensions behind a single extension entry so
4
+ * Bundles operator extensions behind a single extension entry so
5
5
  * pi-coding-agent shows one "[Extensions] mu-operator" line instead of many.
6
6
  */
7
7
  import { brandingExtension } from "./branding.js";
8
8
  import { eventLogExtension } from "./event-log.js";
9
- import { muFullToolsExtension } from "./mu-full-tools.js";
10
- import { operatorCommandExtension } from "./operator-command.js";
11
9
  export function muOperatorExtension(pi) {
12
10
  brandingExtension(pi);
13
- muFullToolsExtension(pi);
14
11
  eventLogExtension(pi);
15
- operatorCommandExtension(pi);
16
12
  }
17
13
  export default muOperatorExtension;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * mu-serve — Unified serve-mode extension facade.
2
+ * mu-serve — Serve-mode extension facade.
3
3
  *
4
- * Bundles all mu serve extensions behind a single extension entry so
4
+ * Bundles serve extensions behind a single extension entry so
5
5
  * pi-coding-agent shows one "[Extensions] mu-serve" line instead of many.
6
6
  */
7
7
  import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
@@ -1 +1 @@
1
- {"version":3,"file":"mu-serve.d.ts","sourceRoot":"","sources":["../../src/extensions/mu-serve.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAUlE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,QAShD;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"mu-serve.d.ts","sourceRoot":"","sources":["../../src/extensions/mu-serve.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAIlE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,QAGhD;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,25 +1,13 @@
1
1
  /**
2
- * mu-serve — Unified serve-mode extension facade.
2
+ * mu-serve — Serve-mode extension facade.
3
3
  *
4
- * Bundles all mu serve extensions behind a single extension entry so
4
+ * Bundles serve extensions behind a single extension entry so
5
5
  * pi-coding-agent shows one "[Extensions] mu-serve" line instead of many.
6
6
  */
7
7
  import { brandingExtension } from "./branding.js";
8
- import { serverToolsExtension } from "./server-tools.js";
9
8
  import { eventLogExtension } from "./event-log.js";
10
- import { messagingSetupExtension } from "./messaging-setup.js";
11
- import { orchestrationRunsExtension } from "./orchestration-runs.js";
12
- import { activitiesExtension } from "./activities.js";
13
- import { heartbeatsExtension } from "./heartbeats.js";
14
- import { cronExtension } from "./cron.js";
15
9
  export function muServeExtension(pi) {
16
10
  brandingExtension(pi);
17
- serverToolsExtension(pi);
18
11
  eventLogExtension(pi);
19
- messagingSetupExtension(pi);
20
- orchestrationRunsExtension(pi);
21
- activitiesExtension(pi);
22
- heartbeatsExtension(pi);
23
- cronExtension(pi);
24
12
  }
25
13
  export default muServeExtension;
@@ -41,9 +41,9 @@ export type MuControlPlaneStatus = {
41
41
  };
42
42
  export type MuStatusResponse = {
43
43
  repo_root: string;
44
- open_count: number;
45
- ready_count: number;
46
44
  control_plane: MuControlPlaneStatus;
45
+ open_count?: number;
46
+ ready_count?: number;
47
47
  };
48
48
  export declare function muServerUrl(): string | null;
49
49
  export declare function clampInt(value: number | undefined, fallback: number, min: number, max: number): number;
@@ -53,23 +53,4 @@ export declare function fetchMuJson<T>(path: string, opts?: {
53
53
  body?: unknown;
54
54
  }): Promise<T>;
55
55
  export declare function fetchMuStatus(timeoutMs?: number): Promise<MuStatusResponse>;
56
- export declare function asRecord(value: unknown): Record<string, unknown> | null;
57
- export declare function asArray(value: unknown): unknown[];
58
- export declare function asString(value: unknown): string | null;
59
- export declare function asNumber(value: unknown): number | null;
60
- export declare function previewText(value: unknown, maxChars?: number): string;
61
- export declare function previewLines(value: unknown, opts?: {
62
- maxLines?: number;
63
- maxCharsPerLine?: number;
64
- }): string[];
65
- export declare function parseFieldPaths(value: string | undefined): string[];
66
- export declare function selectFields(source: unknown, paths: string[]): Record<string, unknown>;
67
- export declare function textResult(text: string, details?: Record<string, unknown>): {
68
- content: {
69
- type: "text";
70
- text: string;
71
- }[];
72
- details: Record<string, unknown>;
73
- };
74
- export declare function toJsonText(value: unknown): string;
75
56
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/extensions/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/extensions/shared.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7C,aAAa,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC/C,cAAc,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACjD,WAAW,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC/C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,8BAA8B,EAAE,MAAM,CAAC;IACvC,mCAAmC,EAAE,MAAM,CAAC;IAC5C,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/B,UAAU,EAAE,8BAA8B,CAAC;IAC3C,aAAa,EAAE;QACd,QAAQ,EAAE,iCAAiC,CAAC;KAC5C,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,oBAAoB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAG3C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKtG;AAED,wBAAsB,WAAW,CAAC,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAChE,OAAO,CAAC,CAAC,CAAC,CA4BZ;AAiCD,wBAAsB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAGjF"}
@@ -64,93 +64,3 @@ export async function fetchMuStatus(timeoutMs) {
64
64
  const status = await fetchMuJson("/api/status", { timeoutMs });
65
65
  return ensureGenerationScopedStatus(status);
66
66
  }
67
- export function asRecord(value) {
68
- if (typeof value !== "object" || value == null || Array.isArray(value)) {
69
- return null;
70
- }
71
- return value;
72
- }
73
- export function asArray(value) {
74
- return Array.isArray(value) ? value : [];
75
- }
76
- export function asString(value) {
77
- return typeof value === "string" ? value : null;
78
- }
79
- export function asNumber(value) {
80
- return typeof value === "number" && Number.isFinite(value) ? value : null;
81
- }
82
- export function previewText(value, maxChars = 220) {
83
- const raw = typeof value === "string"
84
- ? value
85
- : value == null
86
- ? ""
87
- : (() => {
88
- try {
89
- return JSON.stringify(value);
90
- }
91
- catch {
92
- return String(value);
93
- }
94
- })();
95
- const compact = raw.replace(/\s+/g, " ").trim();
96
- if (compact.length <= maxChars) {
97
- return compact;
98
- }
99
- const keep = Math.max(1, maxChars - 1);
100
- return `${compact.slice(0, keep)}…`;
101
- }
102
- export function previewLines(value, opts = {}) {
103
- const maxLines = clampInt(opts.maxLines, 12, 1, 200);
104
- const maxCharsPerLine = clampInt(opts.maxCharsPerLine, 220, 20, 5_000);
105
- const lines = asArray(value);
106
- const tail = lines.slice(-maxLines);
107
- return tail.map((line) => previewText(line, maxCharsPerLine));
108
- }
109
- export function parseFieldPaths(value) {
110
- if (!value) {
111
- return [];
112
- }
113
- return value
114
- .split(",")
115
- .map((segment) => segment.trim())
116
- .filter((segment) => segment.length > 0)
117
- .slice(0, 32);
118
- }
119
- function readPath(source, path) {
120
- if (path.length === 0) {
121
- return source;
122
- }
123
- const segments = path.split(".").filter((segment) => segment.length > 0);
124
- let cursor = source;
125
- for (const segment of segments) {
126
- if (Array.isArray(cursor)) {
127
- const index = Number.parseInt(segment, 10);
128
- if (!Number.isFinite(index) || index < 0 || index >= cursor.length) {
129
- return undefined;
130
- }
131
- cursor = cursor[index];
132
- continue;
133
- }
134
- if (typeof cursor !== "object" || cursor == null) {
135
- return undefined;
136
- }
137
- cursor = cursor[segment];
138
- }
139
- return cursor;
140
- }
141
- export function selectFields(source, paths) {
142
- const out = {};
143
- for (const path of paths) {
144
- out[path] = readPath(source, path);
145
- }
146
- return out;
147
- }
148
- export function textResult(text, details = {}) {
149
- return {
150
- content: [{ type: "text", text }],
151
- details,
152
- };
153
- }
154
- export function toJsonText(value) {
155
- return JSON.stringify(value, null, 2);
156
- }
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from "./backend.js";
2
2
  export * from "./command_context.js";
3
- export { DEFAULT_SOUL_PROMPT, appendSharedSoul, loadBundledPrompt } from "./default_prompts.js";
3
+ export { DEFAULT_OPERATOR_SYSTEM_PROMPT, DEFAULT_ORCHESTRATOR_PROMPT, DEFAULT_REVIEWER_PROMPT, DEFAULT_SOUL_PROMPT, DEFAULT_WORKER_PROMPT, appendSharedSoul, loadBundledPrompt, } from "./default_prompts.js";
4
4
  export * from "./extensions/index.js";
5
5
  export * from "./operator.js";
6
6
  export * from "./mu_roles.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAChG,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACN,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from "./backend.js";
2
2
  export * from "./command_context.js";
3
- export { DEFAULT_SOUL_PROMPT, appendSharedSoul, loadBundledPrompt } from "./default_prompts.js";
3
+ export { DEFAULT_OPERATOR_SYSTEM_PROMPT, DEFAULT_ORCHESTRATOR_PROMPT, DEFAULT_REVIEWER_PROMPT, DEFAULT_SOUL_PROMPT, DEFAULT_WORKER_PROMPT, appendSharedSoul, loadBundledPrompt, } from "./default_prompts.js";
4
4
  export * from "./extensions/index.js";
5
5
  export * from "./operator.js";
6
6
  export * from "./mu_roles.js";
@@ -141,6 +141,11 @@ export declare class ApprovedCommandBroker {
141
141
  details?: string;
142
142
  };
143
143
  }
144
+ export type MessagingOperatorConversationSessionStore = {
145
+ getSessionId: (conversationKey: string) => Promise<string | null> | string | null;
146
+ setSessionId: (conversationKey: string, sessionId: string) => Promise<void> | void;
147
+ stop?: () => Promise<void> | void;
148
+ };
144
149
  export type MessagingOperatorRuntimeOpts = {
145
150
  backend: MessagingOperatorBackend;
146
151
  broker?: ApprovedCommandBroker;
@@ -148,7 +153,15 @@ export type MessagingOperatorRuntimeOpts = {
148
153
  enabledChannels?: readonly string[];
149
154
  sessionIdFactory?: () => string;
150
155
  turnIdFactory?: () => string;
156
+ conversationSessionStore?: MessagingOperatorConversationSessionStore;
151
157
  };
158
+ export declare class JsonFileConversationSessionStore implements MessagingOperatorConversationSessionStore {
159
+ #private;
160
+ constructor(path: string);
161
+ getSessionId(conversationKey: string): Promise<string | null>;
162
+ setSessionId(conversationKey: string, sessionId: string): Promise<void>;
163
+ stop(): Promise<void>;
164
+ }
152
165
  export declare class MessagingOperatorRuntime {
153
166
  #private;
154
167
  constructor(opts: MessagingOperatorRuntimeOpts);
@@ -170,6 +183,8 @@ export type PiMessagingOperatorBackendOpts = {
170
183
  sessionIdleTtlMs?: number;
171
184
  maxSessions?: number;
172
185
  auditTurns?: boolean;
186
+ persistSessions?: boolean;
187
+ sessionDirForRepoRoot?: (repoRoot: string) => string;
173
188
  };
174
189
  export { DEFAULT_OPERATOR_SYSTEM_PROMPT };
175
190
  export declare class PiMessagingOperatorBackend implements MessagingOperatorBackend {
@@ -1 +1 @@
1
- {"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../src/operator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operator.d.ts","sourceRoot":"","sources":["../src/operator.ts"],"names":[],"mappings":"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"}