@mandujs/mcp 0.38.12 → 0.39.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/README.md +3 -3
  2. package/package.json +3 -5
  3. package/src/activity-adapter.ts +23 -23
  4. package/src/activity-monitor.ts +39 -10
  5. package/src/adapters/index.ts +20 -20
  6. package/src/adapters/monitor-adapter.ts +100 -100
  7. package/src/adapters/tool-adapter.ts +90 -90
  8. package/src/executor/index.ts +22 -22
  9. package/src/executor/tool-executor.ts +148 -148
  10. package/src/hooks/config-watcher.ts +173 -173
  11. package/src/hooks/index.ts +23 -23
  12. package/src/hooks/mcp-hooks.ts +227 -227
  13. package/src/index.ts +5 -5
  14. package/src/logging/index.ts +15 -15
  15. package/src/logging/mcp-transport.ts +134 -134
  16. package/src/new-resources.ts +2 -2
  17. package/src/profiles.ts +25 -54
  18. package/src/prompts.ts +4 -4
  19. package/src/registry/index.ts +13 -13
  20. package/src/registry/mcp-tool-registry.ts +298 -298
  21. package/src/resources/generated-skills/catalog.ts +36 -0
  22. package/src/resources/generated-skills/mandu-agent-workflow/SKILL.md +48 -0
  23. package/src/resources/generated-skills/mandu-contract/SKILL.md +20 -0
  24. package/src/resources/generated-skills/mandu-fs-routes/SKILL.md +19 -0
  25. package/src/resources/generated-skills/mandu-guard/SKILL.md +20 -0
  26. package/src/resources/generated-skills/mandu-hydration/SKILL.md +19 -0
  27. package/src/resources/generated-skills/mandu-testing/SKILL.md +20 -0
  28. package/src/resources/handlers.ts +3 -3
  29. package/src/resources/skills/guides.ts +49 -49
  30. package/src/resources/skills/index.ts +12 -12
  31. package/src/resources/skills/loader.ts +8 -35
  32. package/src/resources/skills/recipes.ts +28 -28
  33. package/src/server.ts +1 -1
  34. package/src/tools/agent.ts +479 -409
  35. package/src/tools/ate-exemplar.ts +92 -92
  36. package/src/tools/ate-flakes.ts +90 -90
  37. package/src/tools/ate-mutate.ts +103 -103
  38. package/src/tools/ate-mutation-report.ts +64 -64
  39. package/src/tools/ate-oracle-pending.ts +49 -49
  40. package/src/tools/ate-oracle-replay.ts +44 -44
  41. package/src/tools/ate-oracle-verdict.ts +70 -70
  42. package/src/tools/ate-prompt.ts +146 -146
  43. package/src/tools/ate-run.ts +1 -1
  44. package/src/tools/ate.ts +38 -38
  45. package/src/tools/brain.ts +6 -6
  46. package/src/tools/composite.ts +19 -61
  47. package/src/tools/contract.ts +11 -9
  48. package/src/tools/deploy-plan.ts +2 -2
  49. package/src/tools/deploy-preview.ts +316 -316
  50. package/src/tools/design.ts +825 -825
  51. package/src/tools/docs.ts +350 -350
  52. package/src/tools/generate.ts +4 -3
  53. package/src/tools/guard.ts +1 -1
  54. package/src/tools/history.ts +1 -1
  55. package/src/tools/hydration.ts +64 -64
  56. package/src/tools/index.ts +0 -118
  57. package/src/tools/kitchen.ts +72 -72
  58. package/src/tools/lint.ts +226 -226
  59. package/src/tools/loop-close.ts +175 -175
  60. package/src/tools/negotiate.ts +263 -263
  61. package/src/tools/resource.ts +1 -1
  62. package/src/tools/run-tests.ts +424 -424
  63. package/src/tools/runtime.ts +1 -1
  64. package/src/tools/seo.ts +1 -1
  65. package/src/tools/slot-validation.ts +19 -19
  66. package/src/tools/spec.ts +201 -201
  67. package/src/tools/transaction.ts +1 -1
  68. package/src/tx-lock.ts +73 -73
  69. package/src/utils/runtime-control.ts +52 -52
  70. package/src/utils/withWarnings.ts +1 -1
  71. package/src/resources/skills/mandu-agent-workflow/SKILL.md +0 -124
  72. package/src/resources/skills/mandu-agent-workflow/metadata.json +0 -7
  73. package/src/resources/skills/mandu-composition/SKILL.md +0 -131
  74. package/src/resources/skills/mandu-composition/metadata.json +0 -13
  75. package/src/resources/skills/mandu-composition/rules/_sections.md +0 -26
  76. package/src/resources/skills/mandu-composition/rules/_template.md +0 -77
  77. package/src/resources/skills/mandu-composition/rules/comp-arch-avoid-boolean-props.md +0 -146
  78. package/src/resources/skills/mandu-composition/rules/comp-arch-compound-components.md +0 -164
  79. package/src/resources/skills/mandu-composition/rules/comp-island-event.md +0 -161
  80. package/src/resources/skills/mandu-composition/rules/comp-island-slot-split.md +0 -167
  81. package/src/resources/skills/mandu-composition/rules/comp-pattern-children.md +0 -149
  82. package/src/resources/skills/mandu-composition/rules/comp-state-context-interface.md +0 -148
  83. package/src/resources/skills/mandu-composition/rules/comp-state-lift-state.md +0 -150
  84. package/src/resources/skills/mandu-deployment/SKILL.md +0 -135
  85. package/src/resources/skills/mandu-deployment/_sections.md +0 -41
  86. package/src/resources/skills/mandu-deployment/_template.md +0 -38
  87. package/src/resources/skills/mandu-deployment/metadata.json +0 -13
  88. package/src/resources/skills/mandu-deployment/rules/db-provider-supabase.md +0 -300
  89. package/src/resources/skills/mandu-deployment/rules/deploy-build-bun.md +0 -109
  90. package/src/resources/skills/mandu-deployment/rules/deploy-build-output.md +0 -115
  91. package/src/resources/skills/mandu-deployment/rules/deploy-cicd-github.md +0 -219
  92. package/src/resources/skills/mandu-deployment/rules/deploy-docker-bun.md +0 -150
  93. package/src/resources/skills/mandu-deployment/rules/deploy-docker-compose.md +0 -223
  94. package/src/resources/skills/mandu-deployment/rules/deploy-platform-fly.md +0 -152
  95. package/src/resources/skills/mandu-deployment/rules/deploy-platform-render.md +0 -179
  96. package/src/resources/skills/mandu-deployment/rules/deploy-platform-vercel.md +0 -140
  97. package/src/resources/skills/mandu-fs-routes/SKILL.md +0 -122
  98. package/src/resources/skills/mandu-fs-routes/metadata.json +0 -12
  99. package/src/resources/skills/mandu-fs-routes/rules/_sections.md +0 -36
  100. package/src/resources/skills/mandu-fs-routes/rules/_template.md +0 -69
  101. package/src/resources/skills/mandu-fs-routes/rules/routes-api-methods.md +0 -65
  102. package/src/resources/skills/mandu-fs-routes/rules/routes-dynamic-param.md +0 -93
  103. package/src/resources/skills/mandu-fs-routes/rules/routes-naming-page.md +0 -55
  104. package/src/resources/skills/mandu-guard/SKILL.md +0 -162
  105. package/src/resources/skills/mandu-guard/metadata.json +0 -12
  106. package/src/resources/skills/mandu-guard/rules/_sections.md +0 -36
  107. package/src/resources/skills/mandu-guard/rules/_template.md +0 -82
  108. package/src/resources/skills/mandu-guard/rules/guard-config-rules.md +0 -100
  109. package/src/resources/skills/mandu-guard/rules/guard-layer-direction.md +0 -76
  110. package/src/resources/skills/mandu-guard/rules/guard-preset-mandu.md +0 -81
  111. package/src/resources/skills/mandu-guard/rules/guard-validate-import.md +0 -80
  112. package/src/resources/skills/mandu-hydration/SKILL.md +0 -139
  113. package/src/resources/skills/mandu-hydration/metadata.json +0 -12
  114. package/src/resources/skills/mandu-hydration/rules/_sections.md +0 -31
  115. package/src/resources/skills/mandu-hydration/rules/_template.md +0 -72
  116. package/src/resources/skills/mandu-hydration/rules/hydration-data-event.md +0 -109
  117. package/src/resources/skills/mandu-hydration/rules/hydration-directive-use-client.md +0 -55
  118. package/src/resources/skills/mandu-hydration/rules/hydration-island-setup.md +0 -160
  119. package/src/resources/skills/mandu-hydration/rules/hydration-priority-visible.md +0 -91
  120. package/src/resources/skills/mandu-performance/SKILL.md +0 -125
  121. package/src/resources/skills/mandu-performance/metadata.json +0 -14
  122. package/src/resources/skills/mandu-performance/rules/_sections.md +0 -31
  123. package/src/resources/skills/mandu-performance/rules/_template.md +0 -64
  124. package/src/resources/skills/mandu-performance/rules/perf-async-defer-await.md +0 -103
  125. package/src/resources/skills/mandu-performance/rules/perf-async-parallel.md +0 -95
  126. package/src/resources/skills/mandu-performance/rules/perf-bun-file.md +0 -124
  127. package/src/resources/skills/mandu-performance/rules/perf-bun-serve.md +0 -125
  128. package/src/resources/skills/mandu-performance/rules/perf-bundle-imports.md +0 -80
  129. package/src/resources/skills/mandu-performance/rules/perf-bundle-island-lazy.md +0 -145
  130. package/src/resources/skills/mandu-performance/rules/perf-cache-react.md +0 -98
  131. package/src/resources/skills/mandu-performance/rules/perf-render-transitions.md +0 -154
  132. package/src/resources/skills/mandu-security/SKILL.md +0 -127
  133. package/src/resources/skills/mandu-security/metadata.json +0 -13
  134. package/src/resources/skills/mandu-security/rules/_sections.md +0 -31
  135. package/src/resources/skills/mandu-security/rules/_template.md +0 -74
  136. package/src/resources/skills/mandu-security/rules/sec-auth-guard.md +0 -127
  137. package/src/resources/skills/mandu-security/rules/sec-env-management.md +0 -133
  138. package/src/resources/skills/mandu-security/rules/sec-input-validate.md +0 -148
  139. package/src/resources/skills/mandu-security/rules/sec-protect-csrf.md +0 -146
  140. package/src/resources/skills/mandu-security/rules/sec-protect-headers.md +0 -138
  141. package/src/resources/skills/mandu-slot/SKILL.md +0 -125
  142. package/src/resources/skills/mandu-slot/metadata.json +0 -12
  143. package/src/resources/skills/mandu-slot/rules/_sections.md +0 -36
  144. package/src/resources/skills/mandu-slot/rules/_template.md +0 -63
  145. package/src/resources/skills/mandu-slot/rules/slot-basic-structure.md +0 -38
  146. package/src/resources/skills/mandu-slot/rules/slot-ctx-response.md +0 -56
  147. package/src/resources/skills/mandu-slot/rules/slot-guard-auth.md +0 -59
  148. package/src/resources/skills/mandu-slot/rules/slot-http-methods.md +0 -64
  149. package/src/resources/skills/mandu-styling/SKILL.md +0 -196
  150. package/src/resources/skills/mandu-styling/_sections.md +0 -43
  151. package/src/resources/skills/mandu-styling/_template.md +0 -32
  152. package/src/resources/skills/mandu-styling/metadata.json +0 -15
  153. package/src/resources/skills/mandu-styling/rules/style-component-compound.md +0 -235
  154. package/src/resources/skills/mandu-styling/rules/style-component-slots.md +0 -255
  155. package/src/resources/skills/mandu-styling/rules/style-component-tokens.md +0 -205
  156. package/src/resources/skills/mandu-styling/rules/style-island-animations.md +0 -272
  157. package/src/resources/skills/mandu-styling/rules/style-island-scoping.md +0 -167
  158. package/src/resources/skills/mandu-styling/rules/style-island-variants.md +0 -221
  159. package/src/resources/skills/mandu-styling/rules/style-perf-critical.md +0 -209
  160. package/src/resources/skills/mandu-styling/rules/style-perf-purge.md +0 -192
  161. package/src/resources/skills/mandu-styling/rules/style-setup-modules.md +0 -162
  162. package/src/resources/skills/mandu-styling/rules/style-setup-panda.md +0 -164
  163. package/src/resources/skills/mandu-styling/rules/style-setup-tailwind.md +0 -170
  164. package/src/resources/skills/mandu-styling/rules/style-tailwind-v4-gotchas.md +0 -179
  165. package/src/resources/skills/mandu-styling/rules/style-theme-darkmode.md +0 -229
  166. package/src/resources/skills/mandu-testing/SKILL.md +0 -132
  167. package/src/resources/skills/mandu-testing/metadata.json +0 -13
  168. package/src/resources/skills/mandu-testing/rules/_sections.md +0 -26
  169. package/src/resources/skills/mandu-testing/rules/_template.md +0 -65
  170. package/src/resources/skills/mandu-testing/rules/test-component-island.md +0 -195
  171. package/src/resources/skills/mandu-testing/rules/test-e2e-playwright.md +0 -196
  172. package/src/resources/skills/mandu-testing/rules/test-mock-fetch.md +0 -219
  173. package/src/resources/skills/mandu-testing/rules/test-slot-unit.md +0 -192
  174. package/src/resources/skills/mandu-ui/SKILL.md +0 -159
  175. package/src/resources/skills/mandu-ui/_sections.md +0 -23
  176. package/src/resources/skills/mandu-ui/_template.md +0 -32
  177. package/src/resources/skills/mandu-ui/metadata.json +0 -13
  178. package/src/resources/skills/mandu-ui/rules/ui-accessibility-aria.md +0 -232
  179. package/src/resources/skills/mandu-ui/rules/ui-accessibility-focus.md +0 -238
  180. package/src/resources/skills/mandu-ui/rules/ui-composition-patterns.md +0 -259
  181. package/src/resources/skills/mandu-ui/rules/ui-island-integration.md +0 -258
  182. package/src/resources/skills/mandu-ui/rules/ui-radix-patterns.md +0 -213
  183. package/src/resources/skills/mandu-ui/rules/ui-shadcn-setup.md +0 -209
@@ -1,134 +1,134 @@
1
- /**
2
- * MCP LogTransport Integration
3
- *
4
- * DNA-008 로깅 시스템과 MCP ActivityMonitor 통합
5
- */
6
-
7
- import {
8
- attachLogTransport,
9
- detachLogTransport,
10
- type LogTransport,
11
- type LogTransportRecord,
12
- } from "@mandujs/core";
13
- import { monitorEventToRecord, type MonitorEvent } from "../adapters/monitor-adapter.js";
14
-
15
- /**
16
- * MCP 로깅 Transport ID
17
- */
18
- export const MCP_TRANSPORT_ID = "mcp-activity";
19
-
20
- /**
21
- * MCP Activity Transport 옵션
22
- */
23
- export interface McpTransportOptions {
24
- /** 로그 파일 경로 (선택) */
25
- logFile?: string;
26
- /** 콘솔 출력 여부 */
27
- consoleOutput?: boolean;
28
- /** 커스텀 핸들러 */
29
- onRecord?: (record: LogTransportRecord) => void;
30
- }
31
-
32
- /**
33
- * MCP Activity Transport 생성
34
- *
35
- * ActivityMonitor의 이벤트를 DNA-008 TransportRegistry로 전달
36
- */
37
- export function createMcpActivityTransport(
38
- options: McpTransportOptions = {}
39
- ): LogTransport {
40
- const { consoleOutput = false, onRecord } = options;
41
-
42
- return (record: LogTransportRecord) => {
43
- // MCP 관련 로그만 처리
44
- const source = record.meta?.source;
45
- if (source !== "mcp" && source !== "tool" && source !== "watch") {
46
- return;
47
- }
48
-
49
- // 커스텀 핸들러
50
- if (onRecord) {
51
- onRecord(record);
52
- }
53
-
54
- // 콘솔 출력
55
- if (consoleOutput) {
56
- const prefix = `[MCP:${source}]`;
57
- const msg = record.error?.message || (record.meta?.message as string) || "";
58
-
59
- switch (record.level) {
60
- case "error":
61
- console.error(prefix, msg, record.meta);
62
- break;
63
- case "warn":
64
- console.warn(prefix, msg, record.meta);
65
- break;
66
- default:
67
- console.log(prefix, msg, record.meta);
68
- }
69
- }
70
- };
71
- }
72
-
73
- /**
74
- * MCP 로깅 설정
75
- *
76
- * @example
77
- * ```ts
78
- * setupMcpLogging({
79
- * consoleOutput: true,
80
- * onRecord: (record) => {
81
- * // 커스텀 처리
82
- * },
83
- * });
84
- * ```
85
- */
86
- export function setupMcpLogging(options: McpTransportOptions = {}): void {
87
- const transport = createMcpActivityTransport(options);
88
- attachLogTransport(MCP_TRANSPORT_ID, transport, { minLevel: "info" });
89
- }
90
-
91
- /**
92
- * MCP 로깅 해제
93
- */
94
- export function teardownMcpLogging(): void {
95
- detachLogTransport(MCP_TRANSPORT_ID);
96
- }
97
-
98
- /**
99
- * MonitorEvent를 DNA-008 시스템으로 전송
100
- *
101
- * ActivityMonitor에서 이 함수를 호출하여 로그 통합
102
- */
103
- export function dispatchMonitorEvent(event: MonitorEvent): void {
104
- const _record = monitorEventToRecord(event);
105
-
106
- // 직접 transport로 전달하지 않고,
107
- // 다른 transport들도 받을 수 있도록 registry를 통해 dispatch
108
- // (transportRegistry.dispatch는 core에서 export 필요)
109
-
110
- // 임시: 콘솔 출력
111
- if (event.severity === "error") {
112
- console.error(`[MCP:${event.source}] ${event.message || event.type}`, event.data);
113
- }
114
- }
115
-
116
- /**
117
- * MCP 로그 레코드 생성 헬퍼
118
- */
119
- export function createMcpLogRecord(
120
- level: "debug" | "info" | "warn" | "error",
121
- source: "mcp" | "tool" | "watch",
122
- message: string,
123
- data?: Record<string, unknown>
124
- ): LogTransportRecord {
125
- return {
126
- timestamp: new Date().toISOString(),
127
- level,
128
- meta: {
129
- source,
130
- message,
131
- ...data,
132
- },
133
- };
134
- }
1
+ /**
2
+ * MCP LogTransport Integration
3
+ *
4
+ * DNA-008 로깅 시스템과 MCP ActivityMonitor 통합
5
+ */
6
+
7
+ import {
8
+ attachLogTransport,
9
+ detachLogTransport,
10
+ type LogTransport,
11
+ type LogTransportRecord,
12
+ } from "@mandujs/core/compat/logging/index";
13
+ import { monitorEventToRecord, type MonitorEvent } from "../adapters/monitor-adapter.js";
14
+
15
+ /**
16
+ * MCP 로깅 Transport ID
17
+ */
18
+ export const MCP_TRANSPORT_ID = "mcp-activity";
19
+
20
+ /**
21
+ * MCP Activity Transport 옵션
22
+ */
23
+ export interface McpTransportOptions {
24
+ /** 로그 파일 경로 (선택) */
25
+ logFile?: string;
26
+ /** 콘솔 출력 여부 */
27
+ consoleOutput?: boolean;
28
+ /** 커스텀 핸들러 */
29
+ onRecord?: (record: LogTransportRecord) => void;
30
+ }
31
+
32
+ /**
33
+ * MCP Activity Transport 생성
34
+ *
35
+ * ActivityMonitor의 이벤트를 DNA-008 TransportRegistry로 전달
36
+ */
37
+ export function createMcpActivityTransport(
38
+ options: McpTransportOptions = {}
39
+ ): LogTransport {
40
+ const { consoleOutput = false, onRecord } = options;
41
+
42
+ return (record: LogTransportRecord) => {
43
+ // MCP 관련 로그만 처리
44
+ const source = record.meta?.source;
45
+ if (source !== "mcp" && source !== "tool" && source !== "watch") {
46
+ return;
47
+ }
48
+
49
+ // 커스텀 핸들러
50
+ if (onRecord) {
51
+ onRecord(record);
52
+ }
53
+
54
+ // 콘솔 출력
55
+ if (consoleOutput) {
56
+ const prefix = `[MCP:${source}]`;
57
+ const msg = record.error?.message || (record.meta?.message as string) || "";
58
+
59
+ switch (record.level) {
60
+ case "error":
61
+ console.error(prefix, msg, record.meta);
62
+ break;
63
+ case "warn":
64
+ console.warn(prefix, msg, record.meta);
65
+ break;
66
+ default:
67
+ console.log(prefix, msg, record.meta);
68
+ }
69
+ }
70
+ };
71
+ }
72
+
73
+ /**
74
+ * MCP 로깅 설정
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * setupMcpLogging({
79
+ * consoleOutput: true,
80
+ * onRecord: (record) => {
81
+ * // 커스텀 처리
82
+ * },
83
+ * });
84
+ * ```
85
+ */
86
+ export function setupMcpLogging(options: McpTransportOptions = {}): void {
87
+ const transport = createMcpActivityTransport(options);
88
+ attachLogTransport(MCP_TRANSPORT_ID, transport, { minLevel: "info" });
89
+ }
90
+
91
+ /**
92
+ * MCP 로깅 해제
93
+ */
94
+ export function teardownMcpLogging(): void {
95
+ detachLogTransport(MCP_TRANSPORT_ID);
96
+ }
97
+
98
+ /**
99
+ * MonitorEvent를 DNA-008 시스템으로 전송
100
+ *
101
+ * ActivityMonitor에서 이 함수를 호출하여 로그 통합
102
+ */
103
+ export function dispatchMonitorEvent(event: MonitorEvent): void {
104
+ const _record = monitorEventToRecord(event);
105
+
106
+ // 직접 transport로 전달하지 않고,
107
+ // 다른 transport들도 받을 수 있도록 registry를 통해 dispatch
108
+ // (transportRegistry.dispatch는 core에서 export 필요)
109
+
110
+ // 임시: 콘솔 출력
111
+ if (event.severity === "error") {
112
+ console.error(`[MCP:${event.source}] ${event.message || event.type}`, event.data);
113
+ }
114
+ }
115
+
116
+ /**
117
+ * MCP 로그 레코드 생성 헬퍼
118
+ */
119
+ export function createMcpLogRecord(
120
+ level: "debug" | "info" | "warn" | "error",
121
+ source: "mcp" | "tool" | "watch",
122
+ message: string,
123
+ data?: Record<string, unknown>
124
+ ): LogTransportRecord {
125
+ return {
126
+ timestamp: new Date().toISOString(),
127
+ level,
128
+ meta: {
129
+ source,
130
+ message,
131
+ ...data,
132
+ },
133
+ };
134
+ }
@@ -8,8 +8,8 @@ import type { Resource } from "@modelcontextprotocol/sdk/types.js";
8
8
  import path from "path";
9
9
  import { readConfig, readJsonFile } from "./utils/project.js";
10
10
  import { loadManduConfig, loadManifest } from "@mandujs/core";
11
- import { eventBus } from "@mandujs/core/observability";
12
- import { computeAgentStats } from "@mandujs/core/kitchen";
11
+ import { eventBus } from "@mandujs/core/compat/observability/index";
12
+ import { computeAgentStats } from "@mandujs/core/compat/kitchen/index";
13
13
  import { getDevServerState } from "./tools/project.js";
14
14
 
15
15
  export const manduResourceDefinitions: Resource[] = [
package/src/profiles.ts CHANGED
@@ -3,42 +3,15 @@
3
3
  *
4
4
  * Controls how many tool categories are exposed to AI agents.
5
5
  * - agent-core: Canonical agent workflow plus docs grounding (default)
6
- * - agent-full: Agent workflow plus Mandu domain tools
6
+ * - agent-full: Deprecated compatibility alias of agent-core
7
7
  * - internal: All categories, no filtering
8
8
  */
9
9
 
10
10
  export type McpProfile = "agent-core" | "agent-full" | "internal";
11
11
 
12
12
  export const PROFILE_CATEGORIES: Record<McpProfile, string[] | null> = {
13
- "agent-core": ["agent", "docs"],
14
- "agent-full": [
15
- // Official agent loop
16
- "agent",
17
- "docs",
18
- // Code generation / scaffolding
19
- "spec",
20
- "generate",
21
- "composite",
22
- // Domain primitives
23
- "slot",
24
- "slot-validation",
25
- "hydration",
26
- "contract",
27
- "design",
28
- "seo",
29
- // Quality / validation
30
- "guard",
31
- "lint",
32
- "run-tests",
33
- "ate",
34
- // Deploy
35
- "deploy-plan",
36
- "deploy-preview",
37
- // AI refactor
38
- "refactor-barrel",
39
- "refactor-routes",
40
- "refactor-contract",
41
- ],
13
+ "agent-core": ["agent", "docs"],
14
+ "agent-full": ["agent", "docs"],
42
15
  internal: null,
43
16
  };
44
17
 
@@ -53,8 +26,24 @@ export const PROFILE_CATEGORIES: Record<McpProfile, string[] | null> = {
53
26
  * `profile-coverage.test.ts` fails CI if a new category is left unclassified,
54
27
  * preventing silent default-profile bloat over time.
55
28
  */
56
- export const EXPERT_ONLY_CATEGORIES: ReadonlySet<string> = new Set([
57
- // Transactional state / framework internals
29
+ export const EXPERT_ONLY_CATEGORIES: ReadonlySet<string> = new Set([
30
+ // Low-level action handlers. Agent-facing clients use mandu.agent.*.
31
+ "spec",
32
+ "generate",
33
+ "composite",
34
+ "slot",
35
+ "slot-validation",
36
+ "hydration",
37
+ "contract",
38
+ "design",
39
+ "seo",
40
+ "guard",
41
+ "lint",
42
+ "run-tests",
43
+ "refactor-barrel",
44
+ "refactor-routes",
45
+ "refactor-contract",
46
+ // Transactional state / framework internals
58
47
  "transaction",
59
48
  "history",
60
49
  "decisions",
@@ -66,28 +55,10 @@ export const EXPERT_ONLY_CATEGORIES: ReadonlySet<string> = new Set([
66
55
  "resource",
67
56
  // Devtools / kitchen
68
57
  "kitchen",
69
- "component",
70
- // Agent loop internal helpers (used by mandu.agent.*, not by agents directly)
71
- "ai-brief",
72
- "loop-close",
73
- // Specialized ATE phases (core "ate" is exposed in agent-full)
74
- "ate-phase5",
75
- "ate-context",
76
- "ate-run",
77
- "ate-flakes",
78
- "ate-prompt",
79
- "ate-exemplar",
80
- "ate-save",
81
- "ate-boundary-probe",
82
- "ate-recall",
83
- "ate-remember",
84
- "ate-coverage",
85
- "ate-mutate",
86
- "ate-mutation-report",
87
- "ate-oracle-pending",
88
- "ate-oracle-verdict",
89
- "ate-oracle-replay",
90
- ]);
58
+ "component",
59
+ // Agent loop internal helpers (used by mandu.agent.*, not by agents directly)
60
+ "ai-brief",
61
+ ]);
91
62
 
92
63
  /**
93
64
  * Returns allowed category names for a profile, or null if all categories are allowed.
package/src/prompts.ts CHANGED
@@ -48,10 +48,10 @@ Follow these steps using Mandu MCP tools:
48
48
  1. Read current route manifest: Resource mandu://routes
49
49
  2. Read project config: Resource mandu://config
50
50
  3. Negotiate the feature spec: Tool mandu.negotiate
51
- 4. Generate scaffold: Tool mandu.negotiate.scaffold
52
- 5. If client interactivity needed, create island: Tool mandu_create_island
53
- Use @mandujs/core/client with wrapComponent(Component) or island({ setup, render })
54
- 6. If data requirements exist, create slot: Tool mandu_create_slot
51
+ 4. Generate scaffold: Tool mandu.negotiate.scaffold
52
+ 5. If client interactivity needed, create island: Tool mandu_create_island
53
+ Use @mandujs/core/client with wrapComponent(Component) or island({ setup, render })
54
+ 6. If data requirements exist, create slot: Tool mandu_create_slot
55
55
  Slots are server-side data loaders that run before render
56
56
  7. If API is exposed, define contract: Tool mandu_create_contract
57
57
  Contracts are Zod schemas for validation and OpenAPI generation
@@ -1,13 +1,13 @@
1
- /**
2
- * MCP Registry
3
- *
4
- * 도구 레지스트리 및 관련 유틸리티
5
- */
6
-
7
- export {
8
- McpToolRegistry,
9
- mcpToolRegistry,
10
- type ToolRegistration,
11
- type RegistryEvent,
12
- type RegistryDump,
13
- } from "./mcp-tool-registry.js";
1
+ /**
2
+ * MCP Registry
3
+ *
4
+ * 도구 레지스트리 및 관련 유틸리티
5
+ */
6
+
7
+ export {
8
+ McpToolRegistry,
9
+ mcpToolRegistry,
10
+ type ToolRegistration,
11
+ type RegistryEvent,
12
+ type RegistryDump,
13
+ } from "./mcp-tool-registry.js";