@rubytech/create-maxy-code 0.1.62 → 0.1.63

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 (146) hide show
  1. package/dist/__tests__/installer-specialist-registration.test.js +112 -0
  2. package/dist/index.js +22 -0
  3. package/dist/specialist-registration.js +78 -0
  4. package/package.json +1 -1
  5. package/payload/platform/plugins/admin/PLUGIN.md +22 -0
  6. package/payload/platform/plugins/admin/hooks/__tests__/turn-completed-graph-write.test.sh +50 -13
  7. package/payload/platform/plugins/admin/hooks/turn-completed-graph-write.sh +22 -21
  8. package/payload/platform/plugins/contacts/PLUGIN.md +9 -0
  9. package/payload/platform/plugins/docs/references/admin-session.md +55 -7
  10. package/payload/platform/plugins/email/PLUGIN.md +9 -0
  11. package/payload/platform/plugins/epc/PLUGIN.md +5 -0
  12. package/payload/platform/plugins/loop/PLUGIN.md +27 -0
  13. package/payload/platform/plugins/memory/PLUGIN.md +37 -0
  14. package/payload/platform/plugins/memory/mcp/dist/index.js +3 -3
  15. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  16. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/live-schema-source.test.js +137 -75
  17. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/live-schema-source.test.js.map +1 -1
  18. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.d.ts +0 -17
  19. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.d.ts.map +1 -1
  20. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.js +32 -4
  21. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.js.map +1 -1
  22. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.d.ts +65 -0
  23. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.d.ts.map +1 -0
  24. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.js +182 -0
  25. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.js.map +1 -0
  26. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js +8 -8
  27. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js.map +1 -1
  28. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.d.ts +2 -0
  29. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.d.ts.map +1 -0
  30. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.js +241 -0
  31. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.js.map +1 -0
  32. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts.map +1 -1
  33. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js +9 -0
  34. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js.map +1 -1
  35. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.d.ts +1 -1
  36. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.d.ts.map +1 -1
  37. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.js +9 -1
  38. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.js.map +1 -1
  39. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-memory-expunge.d.ts.map +1 -1
  40. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-memory-expunge.js +10 -2
  41. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-memory-expunge.js.map +1 -1
  42. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.d.ts +1 -1
  43. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.d.ts.map +1 -1
  44. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.js +5 -1
  45. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.js.map +1 -1
  46. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.d.ts +1 -1
  47. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.d.ts.map +1 -1
  48. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.js +5 -1
  49. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.js.map +1 -1
  50. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.d.ts.map +1 -1
  51. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js +4 -0
  52. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js.map +1 -1
  53. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts.map +1 -1
  54. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +4 -0
  55. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js.map +1 -1
  56. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts.map +1 -1
  57. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js +4 -0
  58. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js.map +1 -1
  59. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.d.ts.map +1 -1
  60. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.js +4 -0
  61. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.js.map +1 -1
  62. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.d.ts.map +1 -1
  63. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.js +4 -0
  64. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.js.map +1 -1
  65. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.d.ts.map +1 -1
  66. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js +4 -0
  67. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js.map +1 -1
  68. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.d.ts.map +1 -1
  69. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js +4 -0
  70. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js.map +1 -1
  71. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -1
  72. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +5 -0
  73. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
  74. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.d.ts.map +1 -1
  75. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.js +4 -0
  76. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.js.map +1 -1
  77. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.d.ts.map +1 -1
  78. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.js +4 -0
  79. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.js.map +1 -1
  80. package/payload/platform/plugins/memory/mcp/dist/tools/memory-restore.d.ts.map +1 -1
  81. package/payload/platform/plugins/memory/mcp/dist/tools/memory-restore.js +4 -0
  82. package/payload/platform/plugins/memory/mcp/dist/tools/memory-restore.js.map +1 -1
  83. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts.map +1 -1
  84. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +5 -0
  85. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
  86. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -1
  87. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +6 -0
  88. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
  89. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.d.ts.map +1 -1
  90. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.js +4 -0
  91. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.js.map +1 -1
  92. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.d.ts.map +1 -1
  93. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js +4 -0
  94. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js.map +1 -1
  95. package/payload/platform/plugins/memory/mcp/vitest.config.ts +10 -3
  96. package/payload/platform/plugins/outlook/PLUGIN.md +7 -0
  97. package/payload/platform/plugins/preval/.claude-plugin/plugin.json +1 -1
  98. package/payload/platform/plugins/preval/PLUGIN.md +16 -8
  99. package/payload/platform/plugins/preval/hooks/preval-prompt-required.sh +140 -0
  100. package/payload/platform/plugins/preval/skills/property-preval/SKILL.md +44 -14
  101. package/payload/platform/plugins/preval/skills/property-preval/references/__tests__/adherence.test.py +373 -0
  102. package/payload/platform/plugins/preval/skills/property-preval/references/render.py +247 -62
  103. package/payload/platform/plugins/preval/skills/property-preval/references/template-inputs.schema.json +29 -19
  104. package/payload/platform/plugins/property-data/PLUGIN.md +22 -0
  105. package/payload/platform/plugins/replicate/PLUGIN.md +3 -0
  106. package/payload/platform/plugins/scheduling/PLUGIN.md +8 -0
  107. package/payload/platform/plugins/tasks/PLUGIN.md +14 -0
  108. package/payload/platform/plugins/telegram/PLUGIN.md +3 -0
  109. package/payload/platform/plugins/waitlist/PLUGIN.md +7 -0
  110. package/payload/platform/plugins/whatsapp/PLUGIN.md +12 -0
  111. package/payload/platform/plugins/workflows/PLUGIN.md +8 -0
  112. package/payload/platform/services/claude-session-manager/dist/index.js +39 -1
  113. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  114. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +21 -0
  115. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  116. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +148 -41
  117. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  118. package/payload/platform/services/claude-session-manager/dist/specialist-drift.d.ts +23 -0
  119. package/payload/platform/services/claude-session-manager/dist/specialist-drift.d.ts.map +1 -0
  120. package/payload/platform/services/claude-session-manager/dist/specialist-drift.js +141 -0
  121. package/payload/platform/services/claude-session-manager/dist/specialist-drift.js.map +1 -0
  122. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts +13 -2
  123. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts.map +1 -1
  124. package/payload/platform/services/claude-session-manager/dist/tool-surface.js +135 -37
  125. package/payload/platform/services/claude-session-manager/dist/tool-surface.js.map +1 -1
  126. package/payload/premium-plugins/real-agent/agents/compliance.md +1 -1
  127. package/payload/premium-plugins/real-agent/plugins/epc/PLUGIN.md +5 -0
  128. package/payload/premium-plugins/real-agent/plugins/loop/PLUGIN.md +27 -0
  129. package/payload/premium-plugins/real-agent/plugins/preval/.claude-plugin/plugin.json +1 -1
  130. package/payload/premium-plugins/real-agent/plugins/preval/PLUGIN.md +16 -8
  131. package/payload/premium-plugins/real-agent/plugins/preval/hooks/preval-prompt-required.sh +140 -0
  132. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/SKILL.md +44 -14
  133. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/__tests__/adherence.test.py +373 -0
  134. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/render.py +247 -62
  135. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/template-inputs.schema.json +29 -19
  136. package/payload/premium-plugins/real-agent/plugins/property-data/PLUGIN.md +22 -0
  137. package/payload/server/public/assets/{admin-DhN3G8W7.js → admin-ymReS1mN.js} +1 -1
  138. package/payload/server/public/assets/{data-B2ZVXOcE.js → data-D6U2e85B.js} +1 -1
  139. package/payload/server/public/assets/{graph-BAMGPHrK.js → graph-C274PN27.js} +1 -1
  140. package/payload/server/public/assets/{graph-labels-D9eBbvxo.js → graph-labels-DQFzd1FY.js} +1 -1
  141. package/payload/server/public/assets/{page-DjdVMWCz.js → page-D-OLjort.js} +1 -1
  142. package/payload/server/public/assets/{page-CV27Al6Z.js → page-DFFt9_Q0.js} +1 -1
  143. package/payload/server/public/data.html +3 -3
  144. package/payload/server/public/graph.html +3 -3
  145. package/payload/server/public/index.html +4 -4
  146. package/payload/server/server.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pty-spawner.js","sourceRoot":"","sources":["../src/pty-spawner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pty-spawner.js","sourceRoot":"","sources":["../src/pty-spawner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { ToolSurface } from './tool-surface.js';
2
+ export interface SpecialistDriftDefect {
3
+ specialistPath: string;
4
+ specialistName: string;
5
+ tool: string;
6
+ reason: 'unknown-plugin-namespace' | 'unknown-tool-in-plugin' | 'malformed-name';
7
+ }
8
+ export interface SpecialistDriftResult {
9
+ ok: boolean;
10
+ /** Defects found, by specialist file. */
11
+ defects: SpecialistDriftDefect[];
12
+ /** Total specialist `.md` files inspected (those with a `tools:` line). */
13
+ inspected: number;
14
+ }
15
+ /** Extract the value of the `tools:` line from a YAML frontmatter block.
16
+ * Returns the raw value (whitespace-trimmed) or null when no `tools:`
17
+ * key appears. The value is the comma-separated tool list Claude Code
18
+ * resolves; this module is the single parser of that grammar. */
19
+ export declare function parseSpecialistToolsLine(frontmatter: string): string | null;
20
+ /** Walk one or more directories, classify every specialist `.md` file's
21
+ * `tools:` frontmatter, and return drift defects. */
22
+ export declare function assertSpecialistDrift(agentDirs: readonly string[], toolSurface: ToolSurface): SpecialistDriftResult;
23
+ //# sourceMappingURL=specialist-drift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialist-drift.d.ts","sourceRoot":"","sources":["../src/specialist-drift.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AA6BpD,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,0BAA0B,GAAG,wBAAwB,GAAG,gBAAgB,CAAA;CACjF;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAA;IACX,yCAAyC;IACzC,OAAO,EAAE,qBAAqB,EAAE,CAAA;IAChC,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;kEAGkE;AAClE,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI3E;AAyBD;sDACsD;AACtD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,GAAG,qBAAqB,CAmCnH"}
@@ -0,0 +1,141 @@
1
+ // Boot-time drift assertion against specialist `.md` frontmatter.
2
+ //
3
+ // Every specialist subagent declares a `tools:` line in its YAML front-
4
+ // matter (a comma-separated list of fully qualified tool names). The
5
+ // `--allowed-tools` argv that Claude Code resolves for that subagent is
6
+ // derived from this list, so a name that does not correspond to any tool
7
+ // the platform can actually serve becomes a silent "tool not found" the
8
+ // first time the specialist tries to use it — months after the typo or
9
+ // stale-removal landed.
10
+ //
11
+ // This module catches the gap at manager boot. For every tool name a
12
+ // specialist `.md` declares we verify that the name resolves to one of:
13
+ //
14
+ // - the tool surface `all` set (every tool declared in any
15
+ // `<plugin>/PLUGIN.md` — both `tools:` entries and `hidden:` names),
16
+ // - a Claude Code-native tool (Read, Glob, Grep, Write, Bash,
17
+ // WebSearch, WebFetch, Task, etc.),
18
+ // - or an MCP-bridge namespace (Playwright via `mcp__plugin_playwright_*`
19
+ // and the graph proxy via `mcp__graph__*`).
20
+ //
21
+ // Anything outside those three exits is drift, and the manager refuses to
22
+ // boot. Out-of-scope: validating that bridge-namespace tools actually
23
+ // exist (those servers self-declare their tool catalogue at MCP start);
24
+ // the assertion only catches names that target a Maxy plugin namespace
25
+ // no plugin produces.
26
+ import { readFileSync, readdirSync, statSync } from 'node:fs';
27
+ import { join, basename } from 'node:path';
28
+ /** Claude Code-native tools an agent can call without any MCP server.
29
+ * Listed exhaustively rather than guessed — a new CC-native tool added
30
+ * upstream forces an explicit ledger update here. */
31
+ const CC_NATIVE_TOOLS = new Set([
32
+ 'Read',
33
+ 'Write',
34
+ 'Edit',
35
+ 'Glob',
36
+ 'Grep',
37
+ 'Bash',
38
+ 'BashOutput',
39
+ 'KillShell',
40
+ 'WebSearch',
41
+ 'WebFetch',
42
+ 'Task',
43
+ 'TodoWrite',
44
+ 'NotebookEdit',
45
+ 'NotebookRead',
46
+ 'AskUserQuestion',
47
+ ]);
48
+ /** MCP-bridge namespaces. Tools under these prefixes are served by MCP
49
+ * servers that are not declared via PLUGIN.md — Playwright is launched
50
+ * by Claude Code per-spawn, and the graph proxy (`platform/lib/graph-mcp`)
51
+ * is registered through `.mcp.json` / per-spawn config. */
52
+ const BRIDGE_PREFIXES = ['mcp__plugin_playwright_', 'mcp__graph__'];
53
+ /** Extract the value of the `tools:` line from a YAML frontmatter block.
54
+ * Returns the raw value (whitespace-trimmed) or null when no `tools:`
55
+ * key appears. The value is the comma-separated tool list Claude Code
56
+ * resolves; this module is the single parser of that grammar. */
57
+ export function parseSpecialistToolsLine(frontmatter) {
58
+ const m = frontmatter.match(/^tools:\s*(.+)$/m);
59
+ if (!m)
60
+ return null;
61
+ return m[1].trim();
62
+ }
63
+ function splitToolList(raw) {
64
+ return raw
65
+ .split(',')
66
+ .map((t) => t.trim())
67
+ .filter((t) => t.length > 0);
68
+ }
69
+ function classifyTool(tool, allSet) {
70
+ if (CC_NATIVE_TOOLS.has(tool))
71
+ return 'ok';
72
+ for (const prefix of BRIDGE_PREFIXES) {
73
+ if (tool.startsWith(prefix))
74
+ return 'ok';
75
+ }
76
+ if (allSet.has(tool))
77
+ return 'ok';
78
+ const mcpMatch = tool.match(/^mcp__([^_]+(?:_[^_]+)*)__/);
79
+ if (!mcpMatch)
80
+ return 'malformed-name';
81
+ // The `all` set carries every tool from every plugin namespace. A name
82
+ // shaped like `mcp__<plugin>__<tool>` whose `<plugin>` segment never
83
+ // appears in `all` means no plugin produces tools for that namespace.
84
+ const ns = mcpMatch[1];
85
+ const hasNamespace = Array.from(allSet).some((t) => t.startsWith(`mcp__${ns}__`));
86
+ return hasNamespace ? 'unknown-tool-in-plugin' : 'unknown-plugin-namespace';
87
+ }
88
+ /** Walk one or more directories, classify every specialist `.md` file's
89
+ * `tools:` frontmatter, and return drift defects. */
90
+ export function assertSpecialistDrift(agentDirs, toolSurface) {
91
+ const defects = [];
92
+ let inspected = 0;
93
+ for (const dir of agentDirs) {
94
+ let entries;
95
+ try {
96
+ entries = readdirSync(dir);
97
+ }
98
+ catch {
99
+ continue;
100
+ }
101
+ for (const entry of entries.sort()) {
102
+ const fullPath = join(dir, entry);
103
+ let st;
104
+ try {
105
+ st = statSync(fullPath);
106
+ }
107
+ catch {
108
+ continue;
109
+ }
110
+ if (!st.isFile())
111
+ continue;
112
+ if (!entry.endsWith('.md'))
113
+ continue;
114
+ // Convention: top-level agent files like `valuer.md` are specialists.
115
+ // IDENTITY.md/SOUL.md/AGENTS.md/LEARNINGS.md are sub-agent prompts
116
+ // for non-specialist subagent roles (buyer-enquiry, etc.) and live
117
+ // inside a sub-directory — they are not specialists themselves and
118
+ // the directory iteration above already skips them.
119
+ const upperBaseName = basename(entry, '.md').toUpperCase();
120
+ if (upperBaseName === 'IDENTITY' || upperBaseName === 'SOUL' || upperBaseName === 'AGENTS' || upperBaseName === 'LEARNINGS')
121
+ continue;
122
+ const raw = readFileSync(fullPath, 'utf-8');
123
+ const fmMatch = raw.match(/^---\r?\n([\s\S]*?)\r?\n---/);
124
+ if (!fmMatch)
125
+ continue;
126
+ const toolsLine = parseSpecialistToolsLine(fmMatch[1]);
127
+ if (!toolsLine)
128
+ continue;
129
+ inspected += 1;
130
+ const specialistName = basename(entry, '.md');
131
+ for (const tool of splitToolList(toolsLine)) {
132
+ const verdict = classifyTool(tool, toolSurface.all);
133
+ if (verdict !== 'ok') {
134
+ defects.push({ specialistPath: fullPath, specialistName, tool, reason: verdict });
135
+ }
136
+ }
137
+ }
138
+ }
139
+ return { ok: defects.length === 0, defects, inspected };
140
+ }
141
+ //# sourceMappingURL=specialist-drift.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialist-drift.js","sourceRoot":"","sources":["../src/specialist-drift.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  export interface ToolSurface {
2
2
  admin: ReadonlySet<string>;
3
3
  public: ReadonlySet<string>;
4
+ /** Every declared tool across every plugin (both `tools:` and `hidden:`
5
+ * entries). Used by the manager-boot drift assertion to verify that a
6
+ * specialist's `tools:` frontmatter names tools that actually exist. */
7
+ all: ReadonlySet<string>;
4
8
  /** Per-plugin MCP server descriptors. Key is the plugin directory name
5
9
  * (matches the `mcp__<plugin>__*` namespace). Spawned by Claude Code at
6
10
  * session start via `--mcp-config`. Plugins with `tools: []` contribute
@@ -20,12 +24,19 @@ export declare class ToolSurfaceError extends Error {
20
24
  interface ToolEntry {
21
25
  name: string;
22
26
  publicAllowlist: boolean;
27
+ adminAllowlist: boolean;
23
28
  }
24
29
  /** Parse the tools: block out of a PLUGIN.md frontmatter body. Returns an
25
30
  * empty array when the frontmatter has no tools: key or declares `tools: []`.
26
31
  * Throws ToolSurfaceError on any malformed entry (missing name, missing or
27
- * non-boolean publicAllowlist). */
32
+ * non-boolean publicAllowlist or adminAllowlist). */
28
33
  export declare function parseToolsBlock(frontmatter: string, pluginDir: string): ToolEntry[];
34
+ /** Parse the `hidden:` block out of a PLUGIN.md frontmatter body. Returns
35
+ * the list of tool names declared as hidden — these tools are served by
36
+ * the plugin's MCP server but excluded from agent-visible enumerations.
37
+ * They count for the `all` surface so specialists may still name them
38
+ * in their `tools:` frontmatter without tripping the drift assertion. */
39
+ export declare function parseHiddenBlock(frontmatter: string): string[];
29
40
  /** Parse the optional `mcp:` block out of a PLUGIN.md frontmatter body.
30
41
  * Returns null when the frontmatter has no `mcp:` key. Throws on a malformed
31
42
  * shape (missing command, args not a list, env not key:value pairs). The
@@ -44,7 +55,7 @@ export declare function parseToolsBlock(frontmatter: string, pluginDir: string):
44
55
  */
45
56
  export declare function parseMcpBlock(frontmatter: string, pluginDir: string): McpServerDescriptor | null;
46
57
  /** Walk a plugins root directory, parse every <name>/PLUGIN.md, and return
47
- * the {admin, public, mcpServers} sets. Throws on the first malformed
58
+ * the {admin, public, all, mcpServers} sets. Throws on the first malformed
48
59
  * manifest — the caller (the manager boot) must exit non-zero so the
49
60
  * operator sees the gap.
50
61
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tool-surface.d.ts","sourceRoot":"","sources":["../src/tool-surface.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3B;;;sBAGkB;IAClB,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IACvB,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACvC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aACb,MAAM,EAAE,MAAM;aAAkB,MAAM,EAAE,MAAM;gBAA9C,MAAM,EAAE,MAAM,EAAkB,MAAM,EAAE,MAAM;CAI3E;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,OAAO,CAAA;CACzB;AAYD;;;oCAGoC;AACpC,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,CAsEnF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CA6ChG;AAED;;;;;;;;;wDASwD;AACxD,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,WAAW,CA8CrF"}
1
+ {"version":3,"file":"tool-surface.d.ts","sourceRoot":"","sources":["../src/tool-surface.ts"],"names":[],"mappings":"AAqCA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3B;;6EAEyE;IACzE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxB;;;sBAGkB;IAClB,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IACvB,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACvC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aACb,MAAM,EAAE,MAAM;aAAkB,MAAM,EAAE,MAAM;gBAA9C,MAAM,EAAE,MAAM,EAAkB,MAAM,EAAE,MAAM;CAI3E;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;CACxB;AAYD;;;sDAGsD;AACtD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,CA0FnF;AAED;;;;0EAI0E;AAC1E,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAiB9D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CA6ChG;AAED;;;;;;;;;wDASwD;AACxD,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,WAAW,CAiFrF"}
@@ -1,22 +1,36 @@
1
1
  // Tool-surface resolver.
2
2
  //
3
3
  // Loaded once at manager boot from a directory walk of every
4
- // platform/plugins/<name>/PLUGIN.md. The frontmatter of each PLUGIN.md
5
- // declares a list of tools; every tool entry must specify both `name` and
6
- // `publicAllowlist: <bool>`. The resolver produces two sets of fully
7
- // qualified tool names (`mcp__<plugin-dir>__<tool>`):
4
+ // platform/plugins/<name>/PLUGIN.md (plus premium-plugins/<bundle>/PLUGIN.md
5
+ // and premium-plugins/<bundle>/plugins/<sub>/PLUGIN.md). The frontmatter of
6
+ // each PLUGIN.md declares a list of tools; every tool entry must specify
7
+ // `name`, `publicAllowlist: <bool>`, and `adminAllowlist: <bool>`. The
8
+ // resolver produces three sets of fully qualified tool names
9
+ // (`mcp__<plugin-dir>__<tool>`):
8
10
  //
9
- // - admin: every tool, every plugin.
11
+ // - admin: subset where adminAllowlist === true.
10
12
  // - public: subset where publicAllowlist === true.
13
+ // - all: every declared tool across every plugin (both `tools:`
14
+ // entries and `hidden:` names). Used by the boot-time drift
15
+ // assertion that catches specialists naming tools no plugin
16
+ // produces.
11
17
  //
12
- // A tool missing the publicAllowlist field is a refusal-to-boot condition,
18
+ // The third surface specialists is declared on each specialist's
19
+ // agent `.md` frontmatter (`tools: <comma-list>`), not here. That list
20
+ // is consumed by Claude Code per-subagent; this resolver does not gate
21
+ // it. The drift assertion (see manager boot in `index.ts`) verifies the
22
+ // listed tools resolve to something — either an `all`-member tool, a
23
+ // CC-native tool, or a known MCP-bridge namespace.
24
+ //
25
+ // A tool missing either allowlist field is a refusal-to-boot condition,
13
26
  // not a silent default. The decision belongs at the tool's declaration
14
27
  // site; defaulting either way hides the question from the writer.
15
28
  //
16
29
  // The parser uses a hand-rolled YAML-ish walker over the frontmatter block
17
30
  // — there is no js-yaml dependency in this service today and the schema
18
31
  // is intentionally narrow (a sequence of `- name: <s>` + `publicAllowlist:
19
- // <bool>` pairs). Anything outside that shape is rejected loudly.
32
+ // <bool>` + `adminAllowlist: <bool>` triples). Anything outside that
33
+ // shape is rejected loudly.
20
34
  import { readFileSync, readdirSync, statSync, existsSync } from 'node:fs';
21
35
  import { join } from 'node:path';
22
36
  export class ToolSurfaceError extends Error {
@@ -40,7 +54,7 @@ function extractFrontmatter(raw, pluginDir) {
40
54
  /** Parse the tools: block out of a PLUGIN.md frontmatter body. Returns an
41
55
  * empty array when the frontmatter has no tools: key or declares `tools: []`.
42
56
  * Throws ToolSurfaceError on any malformed entry (missing name, missing or
43
- * non-boolean publicAllowlist). */
57
+ * non-boolean publicAllowlist or adminAllowlist). */
44
58
  export function parseToolsBlock(frontmatter, pluginDir) {
45
59
  const lines = frontmatter.split(/\r?\n/);
46
60
  let i = 0;
@@ -71,6 +85,12 @@ export function parseToolsBlock(frontmatter, pluginDir) {
71
85
  }
72
86
  throw new ToolSurfaceError('public-allowlist-not-boolean', `${pluginDir}/${current.name} — publicAllowlist must be a YAML boolean (true|false), got ${JSON.stringify(current.publicAllowlist)}`);
73
87
  }
88
+ if (typeof current.adminAllowlist !== 'boolean') {
89
+ if (current.adminAllowlist === undefined) {
90
+ throw new ToolSurfaceError('admin-allowlist-missing', `${pluginDir}/${current.name} — every tool must declare adminAllowlist: <true|false>`);
91
+ }
92
+ throw new ToolSurfaceError('admin-allowlist-not-boolean', `${pluginDir}/${current.name} — adminAllowlist must be a YAML boolean (true|false), got ${JSON.stringify(current.adminAllowlist)}`);
93
+ }
74
94
  out.push(current);
75
95
  current = null;
76
96
  };
@@ -93,9 +113,9 @@ export function parseToolsBlock(frontmatter, pluginDir) {
93
113
  if (orphanListItem) {
94
114
  throw new ToolSurfaceError('tool-name-missing', `${pluginDir}/PLUGIN.md tool entry lacks a name field`);
95
115
  }
96
- const allowlist = line.match(/^\s+publicAllowlist:\s*(.+?)\s*$/);
97
- if (allowlist && current) {
98
- const v = allowlist[1].trim();
116
+ const publicAllow = line.match(/^\s+publicAllowlist:\s*(.+?)\s*$/);
117
+ if (publicAllow && current) {
118
+ const v = publicAllow[1].trim();
99
119
  if (v === 'true')
100
120
  current.publicAllowlist = true;
101
121
  else if (v === 'false')
@@ -104,13 +124,54 @@ export function parseToolsBlock(frontmatter, pluginDir) {
104
124
  current.publicAllowlist = v;
105
125
  continue;
106
126
  }
127
+ const adminAllow = line.match(/^\s+adminAllowlist:\s*(.+?)\s*$/);
128
+ if (adminAllow && current) {
129
+ const v = adminAllow[1].trim();
130
+ if (v === 'true')
131
+ current.adminAllowlist = true;
132
+ else if (v === 'false')
133
+ current.adminAllowlist = false;
134
+ else
135
+ current.adminAllowlist = v;
136
+ continue;
137
+ }
107
138
  // Other per-entry fields (e.g. nested name on its own line, or unknown
108
- // keys we don't care about) are ignored — only name and publicAllowlist
109
- // affect the resolver.
139
+ // keys we don't care about) are ignored — only name, publicAllowlist,
140
+ // and adminAllowlist affect the resolver.
110
141
  }
111
142
  flush();
112
143
  return out;
113
144
  }
145
+ /** Parse the `hidden:` block out of a PLUGIN.md frontmatter body. Returns
146
+ * the list of tool names declared as hidden — these tools are served by
147
+ * the plugin's MCP server but excluded from agent-visible enumerations.
148
+ * They count for the `all` surface so specialists may still name them
149
+ * in their `tools:` frontmatter without tripping the drift assertion. */
150
+ export function parseHiddenBlock(frontmatter) {
151
+ const lines = frontmatter.split(/\r?\n/);
152
+ let i = 0;
153
+ while (i < lines.length) {
154
+ if (/^hidden:\s*$/.test(lines[i])) {
155
+ i++;
156
+ break;
157
+ }
158
+ i++;
159
+ }
160
+ if (i >= lines.length)
161
+ return [];
162
+ const out = [];
163
+ for (; i < lines.length; i++) {
164
+ const line = lines[i];
165
+ if (line.length === 0)
166
+ continue;
167
+ if (/^[A-Za-z_]/.test(line))
168
+ break;
169
+ const item = line.match(/^\s+-\s+(.+?)\s*$/);
170
+ if (item)
171
+ out.push(item[1]);
172
+ }
173
+ return out;
174
+ }
114
175
  /** Parse the optional `mcp:` block out of a PLUGIN.md frontmatter body.
115
176
  * Returns null when the frontmatter has no `mcp:` key. Throws on a malformed
116
177
  * shape (missing command, args not a list, env not key:value pairs). The
@@ -192,7 +253,7 @@ export function parseMcpBlock(frontmatter, pluginDir) {
192
253
  return desc;
193
254
  }
194
255
  /** Walk a plugins root directory, parse every <name>/PLUGIN.md, and return
195
- * the {admin, public, mcpServers} sets. Throws on the first malformed
256
+ * the {admin, public, all, mcpServers} sets. Throws on the first malformed
196
257
  * manifest — the caller (the manager boot) must exit non-zero so the
197
258
  * operator sees the gap.
198
259
  *
@@ -209,42 +270,79 @@ export function loadToolSurface(pluginsRoots) {
209
270
  }
210
271
  const admin = new Set();
211
272
  const pub = new Set();
273
+ const all = new Set();
212
274
  const mcpServers = new Map();
275
+ /** Process one candidate plugin directory. The plugin's MCP namespace
276
+ * is the directory basename; sub-plugins under a premium bundle use
277
+ * their own basename, not the bundle's. */
278
+ const loadOne = (pluginsRoot, plugin) => {
279
+ const pluginDir = join(pluginsRoot, plugin);
280
+ try {
281
+ if (!statSync(pluginDir).isDirectory())
282
+ return;
283
+ }
284
+ catch {
285
+ return;
286
+ }
287
+ const manifestPath = join(pluginDir, 'PLUGIN.md');
288
+ if (!existsSync(manifestPath))
289
+ return;
290
+ const raw = readFileSync(manifestPath, 'utf-8');
291
+ const frontmatter = extractFrontmatter(raw, plugin);
292
+ const tools = parseToolsBlock(frontmatter, plugin);
293
+ if (tools.length === 0)
294
+ return;
295
+ const mcp = parseMcpBlock(frontmatter, plugin);
296
+ if (!mcp) {
297
+ throw new ToolSurfaceError('mcp-block-missing', `${plugin}/PLUGIN.md declares tools but no mcp: block; spawns would --allowed-tools mcp__${plugin}__* with no registered server`);
298
+ }
299
+ if (mcpServers.has(plugin)) {
300
+ throw new ToolSurfaceError('mcp-plugin-duplicate', `${plugin} declared by more than one plugins root`);
301
+ }
302
+ mcpServers.set(plugin, mcp);
303
+ for (const t of tools) {
304
+ const qualified = `mcp__${plugin}__${t.name}`;
305
+ all.add(qualified);
306
+ if (t.adminAllowlist)
307
+ admin.add(qualified);
308
+ if (t.publicAllowlist)
309
+ pub.add(qualified);
310
+ }
311
+ // Hidden tools share the plugin's MCP server but stay out of the
312
+ // admin/public allowlists. They count for `all` so specialists may
313
+ // name them without tripping the drift assertion.
314
+ for (const h of parseHiddenBlock(frontmatter)) {
315
+ all.add(`mcp__${plugin}__${h}`);
316
+ }
317
+ };
213
318
  for (const root of roots) {
214
319
  const entries = readdirSync(root).sort();
215
320
  for (const plugin of entries) {
216
321
  const pluginDir = join(root, plugin);
322
+ // Walk the top-level plugin manifest (platform/plugins/<name>/PLUGIN.md
323
+ // or premium-plugins/<bundle>/PLUGIN.md).
324
+ loadOne(root, plugin);
325
+ // A premium bundle may also nest sibling plugins under
326
+ // `<bundle>/plugins/<sub>/PLUGIN.md`. The bundle itself is often a
327
+ // wrapper without tools while the sub-plugins carry real namespaces
328
+ // (loop, property-data, epc under real-agent). The MCP namespace
329
+ // ends up as `mcp__<sub>__*` — the bundle name does not appear in
330
+ // tool names.
331
+ const subRoot = join(pluginDir, 'plugins');
332
+ let subEntries;
217
333
  try {
218
- if (!statSync(pluginDir).isDirectory())
334
+ if (!statSync(subRoot).isDirectory())
219
335
  continue;
336
+ subEntries = readdirSync(subRoot).sort();
220
337
  }
221
338
  catch {
222
339
  continue;
223
340
  }
224
- const manifestPath = join(pluginDir, 'PLUGIN.md');
225
- if (!existsSync(manifestPath))
226
- continue;
227
- const raw = readFileSync(manifestPath, 'utf-8');
228
- const frontmatter = extractFrontmatter(raw, plugin);
229
- const tools = parseToolsBlock(frontmatter, plugin);
230
- if (tools.length === 0)
231
- continue;
232
- const mcp = parseMcpBlock(frontmatter, plugin);
233
- if (!mcp) {
234
- throw new ToolSurfaceError('mcp-block-missing', `${plugin}/PLUGIN.md declares tools but no mcp: block; spawns would --allowed-tools mcp__${plugin}__* with no registered server`);
235
- }
236
- if (mcpServers.has(plugin)) {
237
- throw new ToolSurfaceError('mcp-plugin-duplicate', `${plugin} declared by more than one plugins root`);
238
- }
239
- mcpServers.set(plugin, mcp);
240
- for (const t of tools) {
241
- const qualified = `mcp__${plugin}__${t.name}`;
242
- admin.add(qualified);
243
- if (t.publicAllowlist)
244
- pub.add(qualified);
341
+ for (const sub of subEntries) {
342
+ loadOne(subRoot, sub);
245
343
  }
246
344
  }
247
345
  }
248
- return { admin, public: pub, mcpServers };
346
+ return { admin, public: pub, all, mcpServers };
249
347
  }
250
348
  //# sourceMappingURL=tool-surface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-surface.js","sourceRoot":"","sources":["../src/tool-surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-surface.js","sourceRoot":"","sources":["../src/tool-surface.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ name: compliance
3
3
  description: "UK estate agency legal and compliance guidance — legislation, regulation, codes of practice, AML obligations, consumer protection, data protection, material information, advertising standards, and lettings law. Delegate when the task involves regulatory compliance, legal obligations, listing audit against legislative requirements, AML/KYC procedures, data handling questions, advertising rules, or any question about what the law requires of an estate agent or letting agent."
4
4
  summary: "Your compliance officer — advises on UK estate agency law, audits listings against regulatory requirements, and cites current legislation."
5
5
  model: claude-opus-4-7
6
- tools: mcp__loop__loop-key-register, mcp__loop__loop-key-deregister, mcp__loop__loop-key-list, mcp__loop__loop-people-search, mcp__loop__loop-people-detail, mcp__loop__loop-property-search, mcp__loop__loop-property-detail, mcp__loop__loop-property-listed, mcp__loop__loop-property-sold, mcp__loop__loop-property-viewing, mcp__loop__loop-property-callback, mcp__loop__loop-property-information, mcp__loop__loop-viewing-search, mcp__loop__loop-viewing-detail, mcp__loop__loop-viewing-create, mcp__loop__loop-viewing-update, mcp__loop__loop-feedback-get, mcp__loop__loop-feedback-submit, mcp__loop__loop-team-info, mcp__loop__loop-team-availability, mcp__loop__loop-marketing-match, mcp__loop__loop-marketing-match-batch, mcp__loop__loop-marketing-match-request, mcp__loop__loop-marketing-enquiry, mcp__loop__loop-auto-responder, mcp__loop__loop-customer-preferences, mcp__loop__loop-supplier, mcp__memory__memory-search, mcp__deep-research__perplexity-search
6
+ tools: mcp__loop__loop-key-register, mcp__loop__loop-key-deregister, mcp__loop__loop-key-list, mcp__loop__loop-people-search, mcp__loop__loop-people-detail, mcp__loop__loop-property-search, mcp__loop__loop-property-detail, mcp__loop__loop-property-listed, mcp__loop__loop-property-sold, mcp__loop__loop-property-viewing, mcp__loop__loop-property-callback, mcp__loop__loop-property-information, mcp__loop__loop-viewing-search, mcp__loop__loop-viewing-detail, mcp__loop__loop-viewing-create, mcp__loop__loop-viewing-update, mcp__loop__loop-feedback-get, mcp__loop__loop-feedback-submit, mcp__loop__loop-team-info, mcp__loop__loop-team-availability, mcp__loop__loop-marketing-match, mcp__loop__loop-marketing-match-batch, mcp__loop__loop-marketing-match-request, mcp__loop__loop-marketing-enquiry, mcp__loop__loop-auto-responder, mcp__loop__loop-customer-preferences, mcp__loop__loop-supplier, mcp__memory__memory-search
7
7
  ---
8
8
 
9
9
  # Compliance