@femtomc/mu-agent 26.2.72 → 26.2.73

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 (83) hide show
  1. package/README.md +27 -37
  2. package/dist/extensions/branding.d.ts +1 -1
  3. package/dist/extensions/branding.js +1 -1
  4. package/dist/extensions/index.d.ts +5 -13
  5. package/dist/extensions/index.d.ts.map +1 -1
  6. package/dist/extensions/index.js +7 -15
  7. package/dist/extensions/mu-operator.d.ts +2 -2
  8. package/dist/extensions/mu-operator.js +4 -4
  9. package/dist/extensions/mu-serve.d.ts +2 -2
  10. package/dist/extensions/mu-serve.d.ts.map +1 -1
  11. package/dist/extensions/mu-serve.js +6 -14
  12. package/dist/extensions/mu-tools.d.ts +9 -0
  13. package/dist/extensions/mu-tools.d.ts.map +1 -0
  14. package/dist/extensions/mu-tools.js +12 -0
  15. package/dist/extensions/operator-command.d.ts +3 -4
  16. package/dist/extensions/operator-command.d.ts.map +1 -1
  17. package/dist/extensions/operator-command.js +58 -115
  18. package/dist/extensions/query.d.ts +4 -0
  19. package/dist/extensions/query.d.ts.map +1 -0
  20. package/dist/extensions/query.js +402 -0
  21. package/dist/operator.d.ts +15 -0
  22. package/dist/operator.d.ts.map +1 -1
  23. package/dist/operator.js +130 -10
  24. package/dist/session_factory.d.ts +7 -0
  25. package/dist/session_factory.d.ts.map +1 -1
  26. package/dist/session_factory.js +21 -2
  27. package/package.json +2 -2
  28. package/prompts/roles/operator.md +22 -40
  29. package/prompts/roles/orchestrator.md +18 -12
  30. package/prompts/roles/reviewer.md +8 -7
  31. package/prompts/roles/worker.md +8 -11
  32. package/dist/extensions/activities.d.ts +0 -7
  33. package/dist/extensions/activities.d.ts.map +0 -1
  34. package/dist/extensions/activities.js +0 -236
  35. package/dist/extensions/cron.d.ts +0 -7
  36. package/dist/extensions/cron.d.ts.map +0 -1
  37. package/dist/extensions/cron.js +0 -247
  38. package/dist/extensions/heartbeats.d.ts +0 -7
  39. package/dist/extensions/heartbeats.d.ts.map +0 -1
  40. package/dist/extensions/heartbeats.js +0 -192
  41. package/dist/extensions/messaging-setup/actions.d.ts +0 -22
  42. package/dist/extensions/messaging-setup/actions.d.ts.map +0 -1
  43. package/dist/extensions/messaging-setup/actions.js +0 -229
  44. package/dist/extensions/messaging-setup/adapters.d.ts +0 -24
  45. package/dist/extensions/messaging-setup/adapters.d.ts.map +0 -1
  46. package/dist/extensions/messaging-setup/adapters.js +0 -170
  47. package/dist/extensions/messaging-setup/index.d.ts +0 -17
  48. package/dist/extensions/messaging-setup/index.d.ts.map +0 -1
  49. package/dist/extensions/messaging-setup/index.js +0 -261
  50. package/dist/extensions/messaging-setup/parser.d.ts +0 -33
  51. package/dist/extensions/messaging-setup/parser.d.ts.map +0 -1
  52. package/dist/extensions/messaging-setup/parser.js +0 -240
  53. package/dist/extensions/messaging-setup/runtime.d.ts +0 -16
  54. package/dist/extensions/messaging-setup/runtime.d.ts.map +0 -1
  55. package/dist/extensions/messaging-setup/runtime.js +0 -110
  56. package/dist/extensions/messaging-setup/types.d.ts +0 -157
  57. package/dist/extensions/messaging-setup/types.d.ts.map +0 -1
  58. package/dist/extensions/messaging-setup/types.js +0 -4
  59. package/dist/extensions/messaging-setup/ui.d.ts +0 -15
  60. package/dist/extensions/messaging-setup/ui.d.ts.map +0 -1
  61. package/dist/extensions/messaging-setup/ui.js +0 -173
  62. package/dist/extensions/messaging-setup.d.ts +0 -3
  63. package/dist/extensions/messaging-setup.d.ts.map +0 -1
  64. package/dist/extensions/messaging-setup.js +0 -2
  65. package/dist/extensions/mu-full-tools.d.ts +0 -10
  66. package/dist/extensions/mu-full-tools.d.ts.map +0 -1
  67. package/dist/extensions/mu-full-tools.js +0 -25
  68. package/dist/extensions/mu-query-tools.d.ts +0 -10
  69. package/dist/extensions/mu-query-tools.d.ts.map +0 -1
  70. package/dist/extensions/mu-query-tools.js +0 -11
  71. package/dist/extensions/orchestration-runs-readonly.d.ts +0 -4
  72. package/dist/extensions/orchestration-runs-readonly.d.ts.map +0 -1
  73. package/dist/extensions/orchestration-runs-readonly.js +0 -226
  74. package/dist/extensions/orchestration-runs.d.ts +0 -4
  75. package/dist/extensions/orchestration-runs.d.ts.map +0 -1
  76. package/dist/extensions/orchestration-runs.js +0 -315
  77. package/dist/extensions/server-tools-readonly.d.ts +0 -4
  78. package/dist/extensions/server-tools-readonly.d.ts.map +0 -1
  79. package/dist/extensions/server-tools-readonly.js +0 -5
  80. package/dist/extensions/server-tools.d.ts +0 -25
  81. package/dist/extensions/server-tools.d.ts.map +0 -1
  82. package/dist/extensions/server-tools.js +0 -833
  83. package/prompts/skills/messaging-setup-brief.md +0 -25
@@ -1,157 +0,0 @@
1
- /**
2
- * Type definitions for mu-messaging-setup adapter configuration.
3
- */
4
- export type AdapterSupport = "available" | "planned";
5
- export type AdapterId = "slack" | "discord" | "telegram";
6
- export type SetupAction = "check" | "preflight" | "guide" | "plan" | "apply" | "verify";
7
- export type AdapterField = {
8
- key: string;
9
- required: boolean;
10
- description: string;
11
- };
12
- export type AdapterConfig = {
13
- id: AdapterId;
14
- name: string;
15
- support: AdapterSupport;
16
- fields: AdapterField[];
17
- providerSetupSteps: string[];
18
- notes?: string[];
19
- };
20
- export type RuntimeState = {
21
- repoRoot: string | null;
22
- configPath: string | null;
23
- runtimeActive: boolean;
24
- routesByAdapter: Map<string, string>;
25
- configPresence: ConfigPresence | null;
26
- fetchError: string | null;
27
- };
28
- export type AdapterCheck = {
29
- id: AdapterId;
30
- name: string;
31
- support: AdapterSupport;
32
- configured: boolean;
33
- missing: string[];
34
- active: boolean;
35
- route: string | null;
36
- state: "active" | "configured_not_active" | "missing_config" | "planned";
37
- next_step: string;
38
- notes: string[];
39
- };
40
- export type AdapterPlan = {
41
- id: AdapterId;
42
- name: string;
43
- support: AdapterSupport;
44
- state: AdapterCheck["state"];
45
- route: string;
46
- webhook_url: string | null;
47
- required_fields: string[];
48
- missing_required_fields: string[];
49
- steps: string[];
50
- commands: {
51
- apply: string;
52
- verify: string;
53
- };
54
- };
55
- export type ApplyOutcome = {
56
- ok: true;
57
- adapter: AdapterId;
58
- updated_fields: string[];
59
- config_path: string | null;
60
- reload: ControlPlaneReloadOutcome;
61
- } | {
62
- ok: false;
63
- adapter: AdapterId;
64
- reason: string;
65
- missing_required_fields: string[];
66
- reload?: ControlPlaneReloadOutcome;
67
- };
68
- export type VerifyOutcome = {
69
- ok: boolean;
70
- targets: AdapterCheck[];
71
- public_base_url: string | null;
72
- };
73
- export type ConfigPresence = {
74
- control_plane: {
75
- adapters: {
76
- slack: {
77
- signing_secret: boolean;
78
- };
79
- discord: {
80
- signing_secret: boolean;
81
- };
82
- telegram: {
83
- webhook_secret: boolean;
84
- bot_token: boolean;
85
- bot_username: boolean;
86
- };
87
- };
88
- operator: {
89
- enabled: boolean;
90
- run_triggers_enabled: boolean;
91
- provider: boolean;
92
- model: boolean;
93
- };
94
- };
95
- };
96
- export type ConfigReadResponse = {
97
- repo_root: string;
98
- config_path: string;
99
- presence: ConfigPresence;
100
- };
101
- export type ConfigWriteResponse = {
102
- ok: boolean;
103
- repo_root: string;
104
- config_path: string;
105
- presence: ConfigPresence;
106
- };
107
- export type ControlPlaneGenerationIdentity = {
108
- generation_id: string;
109
- generation_seq: number;
110
- };
111
- export type ControlPlaneReloadGenerationSummary = {
112
- attempt_id: string;
113
- coalesced: boolean;
114
- from_generation: ControlPlaneGenerationIdentity | null;
115
- to_generation: ControlPlaneGenerationIdentity;
116
- active_generation: ControlPlaneGenerationIdentity | null;
117
- outcome: "success" | "failure";
118
- };
119
- export type ControlPlaneReloadApiResponse = {
120
- ok: boolean;
121
- reason: string;
122
- previous_control_plane?: {
123
- active: boolean;
124
- adapters: string[];
125
- routes: Array<{
126
- name: string;
127
- route: string;
128
- }>;
129
- };
130
- control_plane?: {
131
- active: boolean;
132
- adapters: string[];
133
- routes: Array<{
134
- name: string;
135
- route: string;
136
- }>;
137
- };
138
- generation: ControlPlaneReloadGenerationSummary;
139
- telegram_generation: {
140
- handled: boolean;
141
- ok: boolean;
142
- rollback: {
143
- requested: boolean;
144
- trigger: string | null;
145
- attempted: boolean;
146
- ok: boolean;
147
- error?: string;
148
- };
149
- } | null;
150
- error?: string;
151
- };
152
- export type ControlPlaneReloadOutcome = {
153
- ok: boolean;
154
- response: ControlPlaneReloadApiResponse | null;
155
- error: string | null;
156
- };
157
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/extensions/messaging-setup/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- /**
2
- * Type definitions for mu-messaging-setup adapter configuration.
3
- */
4
- export {};
@@ -1,15 +0,0 @@
1
- /**
2
- * UI text formatting functions for mu-messaging-setup.
3
- */
4
- import type { AdapterCheck, AdapterPlan, RuntimeState, VerifyOutcome } from "./types.js";
5
- import type { AdapterId } from "./types.js";
6
- export declare function iconForState(state: AdapterCheck["state"]): string;
7
- export declare function summarizeChecks(checks: AdapterCheck[]): string;
8
- export declare function preflightSummary(checks: AdapterCheck[], runtime: RuntimeState): string;
9
- export declare function guideForAdapter(check: AdapterCheck): string;
10
- export declare function setupGuide(checks: AdapterCheck[], adapterId?: AdapterId): string;
11
- export declare function buildPlan(check: AdapterCheck, publicBaseUrl?: string): AdapterPlan;
12
- export declare function planText(plan: AdapterPlan): string;
13
- export declare function planSummary(plans: AdapterPlan[]): string;
14
- export declare function verifyText(result: VerifyOutcome): string;
15
- //# sourceMappingURL=ui.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/extensions/messaging-setup/ui.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAWjE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAW9D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAmBtF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAuB3D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAkBhF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,WAAW,CAyClF;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAoBlD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAExD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAgBxD"}
@@ -1,173 +0,0 @@
1
- /**
2
- * UI text formatting functions for mu-messaging-setup.
3
- */
4
- import { adapterById, defaultRouteForAdapter, normalizePublicBaseUrl } from "./adapters.js";
5
- export function iconForState(state) {
6
- switch (state) {
7
- case "active":
8
- return "✅";
9
- case "configured_not_active":
10
- return "⚠️";
11
- case "missing_config":
12
- return "❌";
13
- case "planned":
14
- return "🧪";
15
- }
16
- }
17
- export function summarizeChecks(checks) {
18
- const active = checks.filter((check) => check.state === "active").map((check) => check.id);
19
- const configured = checks.filter((check) => check.state === "configured_not_active").map((check) => check.id);
20
- const missing = checks.filter((check) => check.state === "missing_config").map((check) => check.id);
21
- const planned = checks.filter((check) => check.state === "planned").map((check) => check.id);
22
- const parts = [];
23
- if (active.length > 0)
24
- parts.push(`active: ${active.join(",")}`);
25
- if (configured.length > 0)
26
- parts.push(`reload-needed: ${configured.join(",")}`);
27
- if (missing.length > 0)
28
- parts.push(`missing-config: ${missing.join(",")}`);
29
- if (planned.length > 0)
30
- parts.push(`planned: ${planned.join(",")}`);
31
- return parts.join(" | ");
32
- }
33
- export function preflightSummary(checks, runtime) {
34
- const lines = ["Messaging adapter preflight:", ""];
35
- if (checks.length === 0) {
36
- lines.push("(no matching adapters)");
37
- }
38
- for (const check of checks) {
39
- const route = check.route ? ` · route ${check.route}` : "";
40
- const missing = check.missing.length > 0 ? ` · missing ${check.missing.join(", ")}` : "";
41
- const support = check.support === "planned" ? "planned" : "available";
42
- lines.push(`${iconForState(check.state)} ${check.name} (${support})${route}${missing}`);
43
- lines.push(` next: ${check.next_step}`);
44
- }
45
- if (runtime.configPath) {
46
- lines.push("", `config: ${runtime.configPath}`);
47
- }
48
- if (runtime.fetchError) {
49
- lines.push("", `runtime note: ${runtime.fetchError}`);
50
- }
51
- return lines.join("\n");
52
- }
53
- export function guideForAdapter(check) {
54
- const adapter = adapterById(check.id);
55
- const vars = adapter.fields
56
- .map((field) => {
57
- const present = check.missing.includes(field.key) ? "MISSING" : "SET";
58
- const req = field.required ? "required" : "optional";
59
- return `- ${field.key} [${present}] (${req})\n ${field.description}`;
60
- })
61
- .join("\n");
62
- return [
63
- `## ${adapter.name}`,
64
- `state: ${check.state}`,
65
- check.route ? `webhook route: ${check.route}` : "webhook route: not active",
66
- `next step: ${check.next_step}`,
67
- "",
68
- "config fields (.mu/config.json → control_plane.adapters.<adapter>):",
69
- vars,
70
- "",
71
- "provider setup steps:",
72
- ...adapter.providerSetupSteps.map((step, index) => `${index + 1}. ${step}`),
73
- ...(check.notes.length > 0 ? ["", "notes:", ...check.notes.map((note) => `- ${note}`)] : []),
74
- ].join("\n");
75
- }
76
- export function setupGuide(checks, adapterId) {
77
- if (adapterId) {
78
- const found = checks.find((check) => check.id === adapterId);
79
- if (!found) {
80
- return `Unknown adapter: ${adapterId}`;
81
- }
82
- return guideForAdapter(found);
83
- }
84
- const sections = checks.map((check) => guideForAdapter(check));
85
- return [
86
- "# Messaging Integration Setup",
87
- "",
88
- "Use `/mu setup <adapter>` to hand setup context to mu agent.",
89
- "Config source of truth is `.mu/config.json`.",
90
- "",
91
- ...sections,
92
- ].join("\n\n");
93
- }
94
- export function buildPlan(check, publicBaseUrl) {
95
- const adapter = adapterById(check.id);
96
- const normalizedBase = normalizePublicBaseUrl(publicBaseUrl);
97
- const route = check.route ?? defaultRouteForAdapter(check.id);
98
- const webhookUrl = normalizedBase ? `${normalizedBase}${route}` : null;
99
- const requiredFields = adapter.fields.filter((field) => field.required).map((field) => field.key);
100
- const steps = [];
101
- if (check.support === "planned") {
102
- steps.push("Adapter is planned; implementation is required before runtime activation.");
103
- }
104
- else {
105
- if (check.missing.length > 0) {
106
- steps.push(`Set required config fields: ${check.missing.join(", ")}.`);
107
- steps.push(`Run /mu setup apply ${check.id} to write config and reload control-plane.`);
108
- }
109
- if (check.state === "configured_not_active") {
110
- steps.push(`Run /mu setup apply ${check.id} to trigger control-plane reload.`);
111
- }
112
- if (webhookUrl) {
113
- steps.push(`Configure provider webhook/inbound URL to: ${webhookUrl}`);
114
- }
115
- steps.push(`Run verification: /mu setup verify ${check.id}${normalizedBase ? ` --public-base-url ${normalizedBase}` : ""}`);
116
- }
117
- return {
118
- id: check.id,
119
- name: check.name,
120
- support: check.support,
121
- state: check.state,
122
- route,
123
- webhook_url: webhookUrl,
124
- required_fields: requiredFields,
125
- missing_required_fields: check.missing,
126
- steps,
127
- commands: {
128
- apply: `/mu setup apply ${check.id}`,
129
- verify: `/mu setup verify ${check.id}`,
130
- },
131
- };
132
- }
133
- export function planText(plan) {
134
- const lines = [
135
- `# ${plan.name} wiring plan`,
136
- `state: ${plan.state}`,
137
- `support: ${plan.support}`,
138
- `route: ${plan.route}`,
139
- `required fields: ${plan.required_fields.join(", ") || "(none)"}`,
140
- `missing fields now: ${plan.missing_required_fields.join(", ") || "(none)"}`,
141
- `webhook url: ${plan.webhook_url ?? "(provide --public-base-url to compute)"}`,
142
- "",
143
- "steps:",
144
- ...plan.steps.map((step, index) => `${index + 1}. ${step}`),
145
- "",
146
- "apply command:",
147
- plan.commands.apply,
148
- "",
149
- "verify command:",
150
- plan.commands.verify,
151
- ];
152
- return lines.join("\n");
153
- }
154
- export function planSummary(plans) {
155
- return plans.map((plan) => planText(plan)).join("\n\n");
156
- }
157
- export function verifyText(result) {
158
- const lines = [`Verification: ${result.ok ? "PASS" : "NOT READY"}`, ""];
159
- for (const check of result.targets) {
160
- const route = check.route ?? defaultRouteForAdapter(check.id);
161
- const webhookUrl = result.public_base_url ? `${result.public_base_url}${route}` : null;
162
- lines.push(`${iconForState(check.state)} ${check.name}: ${check.state}`);
163
- lines.push(` route: ${route}`);
164
- if (webhookUrl) {
165
- lines.push(` expected webhook URL: ${webhookUrl}`);
166
- }
167
- lines.push(` next: ${check.next_step}`);
168
- }
169
- if (!result.ok) {
170
- lines.push("", "Tip: run `/mu setup plan <adapter>` for exact remediation steps.");
171
- }
172
- return lines.join("\n");
173
- }
@@ -1,3 +0,0 @@
1
- export * from "./messaging-setup/index.js";
2
- export { default } from "./messaging-setup/index.js";
3
- //# sourceMappingURL=messaging-setup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messaging-setup.d.ts","sourceRoot":"","sources":["../../src/extensions/messaging-setup.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./messaging-setup/index.js";
2
- export { default } from "./messaging-setup/index.js";
@@ -1,10 +0,0 @@
1
- /**
2
- * mu-full-tools — Tool-only extension bundle with full mu tool surface.
3
- *
4
- * Intended for orchestrator/operator contexts that should have the complete
5
- * server-backed tool set (including mutation-capable tool actions).
6
- */
7
- import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
8
- export declare function muFullToolsExtension(pi: ExtensionAPI): void;
9
- export default muFullToolsExtension;
10
- //# sourceMappingURL=mu-full-tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mu-full-tools.d.ts","sourceRoot":"","sources":["../../src/extensions/mu-full-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAQlE,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,YAAY,QAYpD;AAED,eAAe,oBAAoB,CAAC"}
@@ -1,25 +0,0 @@
1
- /**
2
- * mu-full-tools — Tool-only extension bundle with full mu tool surface.
3
- *
4
- * Intended for orchestrator/operator contexts that should have the complete
5
- * server-backed tool set (including mutation-capable tool actions).
6
- */
7
- import { activitiesExtension } from "./activities.js";
8
- import { cronExtension } from "./cron.js";
9
- import { heartbeatsExtension } from "./heartbeats.js";
10
- import { messagingSetupExtension } from "./messaging-setup.js";
11
- import { orchestrationRunsExtension } from "./orchestration-runs.js";
12
- import { serverToolsExtension } from "./server-tools.js";
13
- export function muFullToolsExtension(pi) {
14
- serverToolsExtension(pi, {
15
- allowForumPost: true,
16
- allowIdentityMutations: true,
17
- toolIntroLine: "Tools: mu_status, mu_control_plane, mu_issues, mu_forum, mu_events, mu_runs, mu_activities, mu_heartbeats, mu_cron, mu_messaging_setup, mu_identity.",
18
- });
19
- messagingSetupExtension(pi, { allowApply: true });
20
- orchestrationRunsExtension(pi);
21
- activitiesExtension(pi, { allowMutations: true });
22
- heartbeatsExtension(pi, { allowMutations: true });
23
- cronExtension(pi, { allowMutations: true });
24
- }
25
- export default muFullToolsExtension;
@@ -1,10 +0,0 @@
1
- /**
2
- * mu-query-tools — Worker tool bundle.
3
- *
4
- * Exposes only issue/forum tools for agentic coordination, plus the base coding
5
- * tools supplied by the session runtime (bash/read/write/edit).
6
- */
7
- import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
8
- export declare function muQueryToolsExtension(pi: ExtensionAPI): void;
9
- export default muQueryToolsExtension;
10
- //# sourceMappingURL=mu-query-tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mu-query-tools.d.ts","sourceRoot":"","sources":["../../src/extensions/mu-query-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGlE,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,YAAY,QAErD;AAED,eAAe,qBAAqB,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * mu-query-tools — Worker tool bundle.
3
- *
4
- * Exposes only issue/forum tools for agentic coordination, plus the base coding
5
- * tools supplied by the session runtime (bash/read/write/edit).
6
- */
7
- import { serverToolsIssueForumExtension } from "./server-tools.js";
8
- export function muQueryToolsExtension(pi) {
9
- serverToolsIssueForumExtension(pi);
10
- }
11
- export default muQueryToolsExtension;
@@ -1,4 +0,0 @@
1
- import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
2
- export declare function orchestrationRunsReadOnlyExtension(pi: ExtensionAPI): void;
3
- export default orchestrationRunsReadOnlyExtension;
4
- //# sourceMappingURL=orchestration-runs-readonly.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestration-runs-readonly.d.ts","sourceRoot":"","sources":["../../src/extensions/orchestration-runs-readonly.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AA2JlE,wBAAgB,kCAAkC,CAAC,EAAE,EAAE,YAAY,QA+FlE;AAED,eAAe,kCAAkC,CAAC"}