ue-mcp 1.3.7 → 1.3.8-beta.2

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 (200) hide show
  1. package/README.md +2 -2
  2. package/dist/action-class.d.ts +22 -1
  3. package/dist/action-class.js +17 -1
  4. package/dist/action-class.js.map +1 -1
  5. package/dist/action-effects.d.ts +84 -0
  6. package/dist/action-effects.js +214 -0
  7. package/dist/action-effects.js.map +1 -0
  8. package/dist/action-schema.d.ts +16 -3
  9. package/dist/action-schema.js +2 -2
  10. package/dist/action-schema.js.map +1 -1
  11. package/dist/action-verbs.d.ts +45 -0
  12. package/dist/action-verbs.js +64 -0
  13. package/dist/action-verbs.js.map +1 -0
  14. package/dist/editor-gate.js +34 -6
  15. package/dist/editor-gate.js.map +1 -1
  16. package/dist/epic-input.d.ts +22 -0
  17. package/dist/epic-input.js +120 -0
  18. package/dist/epic-input.js.map +1 -0
  19. package/dist/epic-surface.d.ts +47 -0
  20. package/dist/epic-surface.js +37 -0
  21. package/dist/epic-surface.js.map +1 -0
  22. package/dist/flow/flow-tool.js +6 -0
  23. package/dist/flow/flow-tool.js.map +1 -1
  24. package/dist/flow/guard-schema.d.ts +28 -16
  25. package/dist/flow/guard-schema.js +16 -2
  26. package/dist/flow/guard-schema.js.map +1 -1
  27. package/dist/flow/guard.d.ts +37 -7
  28. package/dist/flow/guard.js +57 -19
  29. package/dist/flow/guard.js.map +1 -1
  30. package/dist/flow/guards.js +34 -11
  31. package/dist/flow/guards.js.map +1 -1
  32. package/dist/flow/journal-actions.js +18 -0
  33. package/dist/flow/journal-actions.js.map +1 -1
  34. package/dist/flow/schema.d.ts +10 -10
  35. package/dist/flow/skill-actions.d.ts +15 -1
  36. package/dist/flow/skill-actions.js +33 -6
  37. package/dist/flow/skill-actions.js.map +1 -1
  38. package/dist/flow/write-methods.d.ts +0 -24
  39. package/dist/flow/write-methods.js +21 -5
  40. package/dist/flow/write-methods.js.map +1 -1
  41. package/dist/guard-task.d.ts +125 -0
  42. package/dist/guard-task.js +85 -0
  43. package/dist/guard-task.js.map +1 -0
  44. package/dist/index.js +25 -77
  45. package/dist/index.js.map +1 -1
  46. package/dist/init.js +6 -6
  47. package/dist/init.js.map +1 -1
  48. package/dist/lean-context.js +16 -0
  49. package/dist/lean-context.js.map +1 -1
  50. package/dist/lock-owner.d.ts +13 -0
  51. package/dist/lock-owner.js +26 -0
  52. package/dist/lock-owner.js.map +1 -0
  53. package/dist/locking.d.ts +30 -15
  54. package/dist/locking.js +45 -54
  55. package/dist/locking.js.map +1 -1
  56. package/dist/plugin/injection.js +7 -0
  57. package/dist/plugin/injection.js.map +1 -1
  58. package/dist/plugin/manifest.d.ts +46 -16
  59. package/dist/plugin/manifest.js +9 -0
  60. package/dist/plugin/manifest.js.map +1 -1
  61. package/dist/plugin/provision.js +6 -0
  62. package/dist/plugin/provision.js.map +1 -1
  63. package/dist/schemas.js +1 -1
  64. package/dist/schemas.js.map +1 -1
  65. package/dist/session.js +1 -1
  66. package/dist/session.js.map +1 -1
  67. package/dist/skill-packs.d.ts +10 -2
  68. package/dist/skill-packs.js +12 -7
  69. package/dist/skill-packs.js.map +1 -1
  70. package/dist/tool-counts.json +26 -24
  71. package/dist/tools/animation.js +118 -115
  72. package/dist/tools/animation.js.map +1 -1
  73. package/dist/tools/asset.js +141 -126
  74. package/dist/tools/asset.js.map +1 -1
  75. package/dist/tools/audio.js +51 -51
  76. package/dist/tools/audio.js.map +1 -1
  77. package/dist/tools/blueprint.js +89 -84
  78. package/dist/tools/blueprint.js.map +1 -1
  79. package/dist/tools/chooser.js +9 -9
  80. package/dist/tools/chooser.js.map +1 -1
  81. package/dist/tools/conversation.d.ts +10 -0
  82. package/dist/tools/conversation.js +12 -0
  83. package/dist/tools/conversation.js.map +1 -0
  84. package/dist/tools/dataflow.d.ts +15 -0
  85. package/dist/tools/dataflow.js +17 -0
  86. package/dist/tools/dataflow.js.map +1 -0
  87. package/dist/tools/demo.js +4 -4
  88. package/dist/tools/demo.js.map +1 -1
  89. package/dist/tools/editor.js +123 -102
  90. package/dist/tools/editor.js.map +1 -1
  91. package/dist/tools/epic/animation.generated.d.ts +6 -0
  92. package/dist/tools/epic/animation.generated.js +875 -0
  93. package/dist/tools/epic/animation.generated.js.map +1 -0
  94. package/dist/tools/epic/asset.generated.d.ts +6 -0
  95. package/dist/tools/epic/asset.generated.js +226 -0
  96. package/dist/tools/epic/asset.generated.js.map +1 -0
  97. package/dist/tools/epic/blueprint.generated.d.ts +6 -0
  98. package/dist/tools/epic/blueprint.generated.js +168 -0
  99. package/dist/tools/epic/blueprint.generated.js.map +1 -0
  100. package/dist/tools/epic/conversation.generated.d.ts +6 -0
  101. package/dist/tools/epic/conversation.generated.js +37 -0
  102. package/dist/tools/epic/conversation.generated.js.map +1 -0
  103. package/dist/tools/epic/dataflow.generated.d.ts +6 -0
  104. package/dist/tools/epic/dataflow.generated.js +88 -0
  105. package/dist/tools/epic/dataflow.generated.js.map +1 -0
  106. package/dist/tools/epic/editor.generated.d.ts +6 -0
  107. package/dist/tools/epic/editor.generated.js +88 -0
  108. package/dist/tools/epic/editor.generated.js.map +1 -0
  109. package/dist/tools/epic/effects.d.ts +25 -0
  110. package/dist/tools/epic/effects.js +1716 -0
  111. package/dist/tools/epic/effects.js.map +1 -0
  112. package/dist/tools/epic/epic.generated.d.ts +6 -0
  113. package/dist/tools/epic/epic.generated.js +39 -0
  114. package/dist/tools/epic/epic.generated.js.map +1 -0
  115. package/dist/tools/epic/gameplay.generated.d.ts +6 -0
  116. package/dist/tools/epic/gameplay.generated.js +113 -0
  117. package/dist/tools/epic/gameplay.generated.js.map +1 -0
  118. package/dist/tools/epic/gas.generated.d.ts +6 -0
  119. package/dist/tools/epic/gas.generated.js +59 -0
  120. package/dist/tools/epic/gas.generated.js.map +1 -0
  121. package/dist/tools/epic/index.d.ts +40 -0
  122. package/dist/tools/epic/index.js +41 -0
  123. package/dist/tools/epic/index.js.map +1 -0
  124. package/dist/tools/epic/level.generated.d.ts +6 -0
  125. package/dist/tools/epic/level.generated.js +135 -0
  126. package/dist/tools/epic/level.generated.js.map +1 -0
  127. package/dist/tools/epic/material.generated.d.ts +6 -0
  128. package/dist/tools/epic/material.generated.js +114 -0
  129. package/dist/tools/epic/material.generated.js.map +1 -0
  130. package/dist/tools/epic/niagara.generated.d.ts +6 -0
  131. package/dist/tools/epic/niagara.generated.js +186 -0
  132. package/dist/tools/epic/niagara.generated.js.map +1 -0
  133. package/dist/tools/epic/pcg.generated.d.ts +6 -0
  134. package/dist/tools/epic/pcg.generated.js +116 -0
  135. package/dist/tools/epic/pcg.generated.js.map +1 -0
  136. package/dist/tools/epic/plugins.generated.d.ts +6 -0
  137. package/dist/tools/epic/plugins.generated.js +78 -0
  138. package/dist/tools/epic/plugins.generated.js.map +1 -0
  139. package/dist/tools/epic/project.generated.d.ts +6 -0
  140. package/dist/tools/epic/project.generated.js +61 -0
  141. package/dist/tools/epic/project.generated.js.map +1 -0
  142. package/dist/tools/epic/reflection.generated.d.ts +6 -0
  143. package/dist/tools/epic/reflection.generated.js +37 -0
  144. package/dist/tools/epic/reflection.generated.js.map +1 -0
  145. package/dist/tools/epic/statetree.generated.d.ts +6 -0
  146. package/dist/tools/epic/statetree.generated.js +41 -0
  147. package/dist/tools/epic/statetree.generated.js.map +1 -0
  148. package/dist/tools/epic/widget.generated.d.ts +6 -0
  149. package/dist/tools/epic/widget.generated.js +140 -0
  150. package/dist/tools/epic/widget.generated.js.map +1 -0
  151. package/dist/tools/epic.js +7 -4
  152. package/dist/tools/epic.js.map +1 -1
  153. package/dist/tools/fab.js +8 -8
  154. package/dist/tools/fab.js.map +1 -1
  155. package/dist/tools/feedback.js +4 -0
  156. package/dist/tools/feedback.js.map +1 -1
  157. package/dist/tools/foliage.js +17 -13
  158. package/dist/tools/foliage.js.map +1 -1
  159. package/dist/tools/gameplay.js +101 -98
  160. package/dist/tools/gameplay.js.map +1 -1
  161. package/dist/tools/gas.js +36 -33
  162. package/dist/tools/gas.js.map +1 -1
  163. package/dist/tools/landscape.js +35 -35
  164. package/dist/tools/landscape.js.map +1 -1
  165. package/dist/tools/level.js +113 -92
  166. package/dist/tools/level.js.map +1 -1
  167. package/dist/tools/material.js +52 -49
  168. package/dist/tools/material.js.map +1 -1
  169. package/dist/tools/networking.js +11 -11
  170. package/dist/tools/networking.js.map +1 -1
  171. package/dist/tools/niagara.js +47 -42
  172. package/dist/tools/niagara.js.map +1 -1
  173. package/dist/tools/pcg.js +22 -19
  174. package/dist/tools/pcg.js.map +1 -1
  175. package/dist/tools/plugins.js +7 -0
  176. package/dist/tools/plugins.js.map +1 -1
  177. package/dist/tools/project.js +101 -10
  178. package/dist/tools/project.js.map +1 -1
  179. package/dist/tools/reflection.js +16 -13
  180. package/dist/tools/reflection.js.map +1 -1
  181. package/dist/tools/statetree.js +51 -48
  182. package/dist/tools/statetree.js.map +1 -1
  183. package/dist/tools/widget.js +52 -49
  184. package/dist/tools/widget.js.map +1 -1
  185. package/dist/tools.js +4 -0
  186. package/dist/tools.js.map +1 -1
  187. package/dist/types.d.ts +108 -6
  188. package/dist/types.js +21 -7
  189. package/dist/types.js.map +1 -1
  190. package/dist/ue-mcp.default.yml +6358 -1786
  191. package/package.json +11 -3
  192. package/plugin/ue_mcp_bridge/UE_MCP_Bridge.uplugin +2 -2
  193. package/skills/ue-mcp-workflow/SKILL.md +1 -1
  194. package/assets/epic-catalog.snapshot.json +0 -15758
  195. package/dist/epic-cache.d.ts +0 -43
  196. package/dist/epic-cache.js +0 -81
  197. package/dist/epic-cache.js.map +0 -1
  198. package/dist/epic-enrich.d.ts +0 -47
  199. package/dist/epic-enrich.js +0 -323
  200. package/dist/epic-enrich.js.map +0 -1
@@ -20,12 +20,24 @@ import { z } from "zod";
20
20
  * mutations every call that changes editor state, whether or not it names
21
21
  * an asset. This is what "block everything that mutates" means:
22
22
  * spawning an actor and starting a play session are in, reads are
23
- * out.
23
+ * out. Includes `unknown`, which is gated as a change everywhere.
24
24
  * writes calls that modify content already on disk. Narrower than
25
25
  * mutations on purpose: it is the source-control question, and a
26
26
  * call that creates something new modifies nothing yet.
27
+ * reads only the calls that observe. For auditing what an agent looked
28
+ * at without the noise of everything it did.
29
+ * unknown only the calls whose effect a PARAMETER decides: an arbitrary
30
+ * python string, a console command, a wrapped Epic tool, a
31
+ * reflected function invocation. The escape hatches, and the
32
+ * narrowest useful scope for "make somebody approve this".
33
+ *
34
+ * Every one of them is answered from what the action DECLARED. Until that
35
+ * existed, `reads` and `unknown` could not be offered at all: the answer came
36
+ * from matching the call's name against a list of verbs, which can approximate
37
+ * "not a read" and cannot pick out the set whose effect is genuinely unknowable
38
+ * from the name.
27
39
  */
28
- export declare const GuardScopeSchema: z.ZodDefault<z.ZodEnum<["all", "mutations", "writes"]>>;
40
+ export declare const GuardScopeSchema: z.ZodDefault<z.ZodEnum<["all", "mutations", "writes", "reads", "unknown"]>>;
29
41
  /** One hook: the task to run, and the options it is built with. */
30
42
  export declare const GuardHookSchema: z.ZodObject<{
31
43
  class_path: z.ZodString;
@@ -43,7 +55,7 @@ export declare const GuardDeclarationSchema: z.ZodEffects<z.ZodObject<{
43
55
  * `writes` costs nothing on a read: the pipeline only resolves which files
44
56
  * a call touches when a guard asks for it.
45
57
  */
46
- scope: z.ZodDefault<z.ZodEnum<["all", "mutations", "writes"]>>;
58
+ scope: z.ZodDefault<z.ZodEnum<["all", "mutations", "writes", "reads", "unknown"]>>;
47
59
  /** Lower runs first before the call, and last after it. */
48
60
  order: z.ZodDefault<z.ZodNumber>;
49
61
  /** Runs before the call. Denying here means the call never happens. */
@@ -70,7 +82,7 @@ export declare const GuardDeclarationSchema: z.ZodEffects<z.ZodObject<{
70
82
  }>>;
71
83
  }, "strip", z.ZodTypeAny, {
72
84
  order: number;
73
- scope: "all" | "mutations" | "writes";
85
+ scope: "unknown" | "all" | "mutations" | "writes" | "reads";
74
86
  description?: string | undefined;
75
87
  before?: {
76
88
  options: Record<string, unknown>;
@@ -81,9 +93,8 @@ export declare const GuardDeclarationSchema: z.ZodEffects<z.ZodObject<{
81
93
  class_path: string;
82
94
  } | undefined;
83
95
  }, {
84
- description?: string | undefined;
85
96
  order?: number | undefined;
86
- scope?: "all" | "mutations" | "writes" | undefined;
97
+ description?: string | undefined;
87
98
  before?: {
88
99
  class_path: string;
89
100
  options?: Record<string, unknown> | undefined;
@@ -92,9 +103,10 @@ export declare const GuardDeclarationSchema: z.ZodEffects<z.ZodObject<{
92
103
  class_path: string;
93
104
  options?: Record<string, unknown> | undefined;
94
105
  } | undefined;
106
+ scope?: "unknown" | "all" | "mutations" | "writes" | "reads" | undefined;
95
107
  }>, {
96
108
  order: number;
97
- scope: "all" | "mutations" | "writes";
109
+ scope: "unknown" | "all" | "mutations" | "writes" | "reads";
98
110
  description?: string | undefined;
99
111
  before?: {
100
112
  options: Record<string, unknown>;
@@ -105,9 +117,8 @@ export declare const GuardDeclarationSchema: z.ZodEffects<z.ZodObject<{
105
117
  class_path: string;
106
118
  } | undefined;
107
119
  }, {
108
- description?: string | undefined;
109
120
  order?: number | undefined;
110
- scope?: "all" | "mutations" | "writes" | undefined;
121
+ description?: string | undefined;
111
122
  before?: {
112
123
  class_path: string;
113
124
  options?: Record<string, unknown> | undefined;
@@ -116,6 +127,7 @@ export declare const GuardDeclarationSchema: z.ZodEffects<z.ZodObject<{
116
127
  class_path: string;
117
128
  options?: Record<string, unknown> | undefined;
118
129
  } | undefined;
130
+ scope?: "unknown" | "all" | "mutations" | "writes" | "reads" | undefined;
119
131
  }>;
120
132
  /** Guards keyed by name. The name is an identifier, not a phase encoding. */
121
133
  export declare const GuardsSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodObject<{
@@ -124,7 +136,7 @@ export declare const GuardsSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEf
124
136
  * `writes` costs nothing on a read: the pipeline only resolves which files
125
137
  * a call touches when a guard asks for it.
126
138
  */
127
- scope: z.ZodDefault<z.ZodEnum<["all", "mutations", "writes"]>>;
139
+ scope: z.ZodDefault<z.ZodEnum<["all", "mutations", "writes", "reads", "unknown"]>>;
128
140
  /** Lower runs first before the call, and last after it. */
129
141
  order: z.ZodDefault<z.ZodNumber>;
130
142
  /** Runs before the call. Denying here means the call never happens. */
@@ -151,7 +163,7 @@ export declare const GuardsSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEf
151
163
  }>>;
152
164
  }, "strip", z.ZodTypeAny, {
153
165
  order: number;
154
- scope: "all" | "mutations" | "writes";
166
+ scope: "unknown" | "all" | "mutations" | "writes" | "reads";
155
167
  description?: string | undefined;
156
168
  before?: {
157
169
  options: Record<string, unknown>;
@@ -162,9 +174,8 @@ export declare const GuardsSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEf
162
174
  class_path: string;
163
175
  } | undefined;
164
176
  }, {
165
- description?: string | undefined;
166
177
  order?: number | undefined;
167
- scope?: "all" | "mutations" | "writes" | undefined;
178
+ description?: string | undefined;
168
179
  before?: {
169
180
  class_path: string;
170
181
  options?: Record<string, unknown> | undefined;
@@ -173,9 +184,10 @@ export declare const GuardsSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEf
173
184
  class_path: string;
174
185
  options?: Record<string, unknown> | undefined;
175
186
  } | undefined;
187
+ scope?: "unknown" | "all" | "mutations" | "writes" | "reads" | undefined;
176
188
  }>, {
177
189
  order: number;
178
- scope: "all" | "mutations" | "writes";
190
+ scope: "unknown" | "all" | "mutations" | "writes" | "reads";
179
191
  description?: string | undefined;
180
192
  before?: {
181
193
  options: Record<string, unknown>;
@@ -186,9 +198,8 @@ export declare const GuardsSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEf
186
198
  class_path: string;
187
199
  } | undefined;
188
200
  }, {
189
- description?: string | undefined;
190
201
  order?: number | undefined;
191
- scope?: "all" | "mutations" | "writes" | undefined;
202
+ description?: string | undefined;
192
203
  before?: {
193
204
  class_path: string;
194
205
  options?: Record<string, unknown> | undefined;
@@ -197,6 +208,7 @@ export declare const GuardsSchema: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEf
197
208
  class_path: string;
198
209
  options?: Record<string, unknown> | undefined;
199
210
  } | undefined;
211
+ scope?: "unknown" | "all" | "mutations" | "writes" | "reads" | undefined;
200
212
  }>>>;
201
213
  export type GuardScope = z.infer<typeof GuardScopeSchema>;
202
214
  export type GuardHook = z.infer<typeof GuardHookSchema>;
@@ -20,12 +20,26 @@ import { z } from "zod";
20
20
  * mutations every call that changes editor state, whether or not it names
21
21
  * an asset. This is what "block everything that mutates" means:
22
22
  * spawning an actor and starting a play session are in, reads are
23
- * out.
23
+ * out. Includes `unknown`, which is gated as a change everywhere.
24
24
  * writes calls that modify content already on disk. Narrower than
25
25
  * mutations on purpose: it is the source-control question, and a
26
26
  * call that creates something new modifies nothing yet.
27
+ * reads only the calls that observe. For auditing what an agent looked
28
+ * at without the noise of everything it did.
29
+ * unknown only the calls whose effect a PARAMETER decides: an arbitrary
30
+ * python string, a console command, a wrapped Epic tool, a
31
+ * reflected function invocation. The escape hatches, and the
32
+ * narrowest useful scope for "make somebody approve this".
33
+ *
34
+ * Every one of them is answered from what the action DECLARED. Until that
35
+ * existed, `reads` and `unknown` could not be offered at all: the answer came
36
+ * from matching the call's name against a list of verbs, which can approximate
37
+ * "not a read" and cannot pick out the set whose effect is genuinely unknowable
38
+ * from the name.
27
39
  */
28
- export const GuardScopeSchema = z.enum(["all", "mutations", "writes"]).default("all");
40
+ export const GuardScopeSchema = z
41
+ .enum(["all", "mutations", "writes", "reads", "unknown"])
42
+ .default("all");
29
43
  /** One hook: the task to run, and the options it is built with. */
30
44
  export const GuardHookSchema = z.object({
31
45
  class_path: z.string().min(1, "a guard hook needs the class_path of the task that implements it"),
@@ -1 +1 @@
1
- {"version":3,"file":"guard-schema.js","sourceRoot":"","sources":["../../src/flow/guard-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEtF,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kEAAkE,CAAC;IACjG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC;;;OAGG;IACH,KAAK,EAAE,gBAAgB;IACvB,2DAA2D;IAC3D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,uEAAuE;IACvE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;IAClC,gEAAgE;IAChE,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;CAClC,CAAC;KACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE;IAC9D,OAAO,EACL,iFAAiF;UAC/E,uFAAuF;CAC5F,CAAC,CAAC;AAEL,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CACL,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE;IACtC,OAAO,EACL,mFAAmF;UACjF,aAAa;CAClB,CAAC,EACF,sBAAsB,CACvB;KACA,OAAO,CAAC,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"guard-schema.js","sourceRoot":"","sources":["../../src/flow/guard-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;KACxD,OAAO,CAAC,KAAK,CAAC,CAAC;AAElB,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kEAAkE,CAAC;IACjG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC;;;OAGG;IACH,KAAK,EAAE,gBAAgB;IACvB,2DAA2D;IAC3D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,uEAAuE;IACvE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;IAClC,gEAAgE;IAChE,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;CAClC,CAAC;KACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE;IAC9D,OAAO,EACL,iFAAiF;UAC/E,uFAAuF;CAC5F,CAAC,CAAC;AAEL,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CACL,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE;IACtC,OAAO,EACL,mFAAmF;UACjF,aAAa;CAClB,CAAC,EACF,sBAAsB,CACvB;KACA,OAAO,CAAC,EAAE,CAAC,CAAC"}
@@ -50,21 +50,51 @@ export declare class GuardRegistry extends FlowkitGuardRegistry<CallContext, unk
50
50
  */
51
51
  export declare function writeScope(ctx: CallContext): boolean;
52
52
  /**
53
- * Every call that is not provably a read.
53
+ * Every call that is not a declared read.
54
54
  *
55
55
  * Wider than `writeScope`, and deliberately so. That one asks which existing
56
56
  * files a call modifies, which is the source-control question: it answers
57
57
  * "no" whenever it cannot extract a content path, and a call with no asset
58
58
  * path in its parameters is still a mutation of the editor.
59
59
  *
60
- * This one FAILS CLOSED. A guard told to stand in front of everything that
61
- * mutates is asked to be exhaustive, so anything whose verb is not a known
62
- * read counts. Listing mutating verbs instead was the wrong way round: the
63
- * list is open-ended, and every verb missing from it was a mutation nobody
64
- * guarded. The read lexicon is the same one asset locking uses, so the two
65
- * cannot drift into disagreeing about what a read is.
60
+ * The guard pipeline sits on `IBridge.call`, so what it is handed is a bridge
61
+ * METHOD name rather than a `category.action`. `bridgeMethodEffect` is what
62
+ * turns one into the other, and it has no undefined answer: the effects the
63
+ * forwarding actions declared, or the table of methods a handler calls
64
+ * directly, or `mutate` for a method this server does not recognise.
65
+ *
66
+ * It still FAILS CLOSED, and now it does so by declaration rather than by not
67
+ * finding a verb in a list. Listing mutating verbs was the wrong way round:
68
+ * that list is open-ended, and every verb missing from it was a mutation
69
+ * nobody guarded. Inverting it to a read list was the same guess pointed the
70
+ * other way, and it put every read whose name does not open with a read verb
71
+ * (`metasound_get_graph`, `line_trace`, `hit_test_viewport_pixel`) in front of
72
+ * a guard that had no business seeing it.
66
73
  */
67
74
  export declare function mutationScope(ctx: CallContext): boolean;
75
+ /**
76
+ * Only the calls that observe.
77
+ *
78
+ * The complement of `mutationScope`, for auditing what an agent looked at
79
+ * without the noise of everything it did. It could not be offered while the
80
+ * answer came from a verb list: "not a read" tolerates a wrong guess in the
81
+ * safe direction, and "IS a read" does not, because a mutation that slipped
82
+ * into this scope is a mutation the guard was told to ignore.
83
+ */
84
+ export declare function readScope(ctx: CallContext): boolean;
85
+ /**
86
+ * Only the calls whose effect a PARAMETER decides.
87
+ *
88
+ * `editor(execute_python)`, `editor(execute_command)`, the wrapped Epic tools
89
+ * behind `epic_call_tool`, and the reflected `invoke_*` family. The escape
90
+ * hatches: the calls that can do anything, named as a set rather than
91
+ * enumerated by hand in every project that wants to gate them.
92
+ *
93
+ * This is the scope that the declaration made possible rather than merely made
94
+ * correct. A verb list cannot produce this set at all - `unknown` is not a
95
+ * property of the name, it is the absence of one.
96
+ */
97
+ export declare function unknownScope(ctx: CallContext): boolean;
68
98
  /** Build the per-call context, wiring the lazy write-enrichment helpers. */
69
99
  export declare function makeCallContext(method: string, params: Record<string, unknown>, timeoutMs: number | undefined, rawBridge: IBridge, resolveExistingFile: ResolveExistingFile, session?: EditorSession): CallContext;
70
100
  /**
@@ -16,7 +16,7 @@
16
16
  import { GuardRegistry as FlowkitGuardRegistry, guardContextBase, lazy, } from "@db-lyon/flowkit/guard";
17
17
  import * as fs from "node:fs";
18
18
  import { classifyWrite } from "./write-methods.js";
19
- import { READ_PREFIXES } from "../locking.js";
19
+ import { bridgeMethodEffect, mayChangeState } from "../action-effects.js";
20
20
  /** The bridge's guard set. Built-in guards register directly; plugin guards are discovered. */
21
21
  export class GuardRegistry extends FlowkitGuardRegistry {
22
22
  }
@@ -30,33 +30,71 @@ export function writeScope(ctx) {
30
30
  return ctx.writeFiles().length > 0;
31
31
  }
32
32
  /**
33
- * Every call that is not provably a read.
33
+ * Every call that is not a declared read.
34
34
  *
35
35
  * Wider than `writeScope`, and deliberately so. That one asks which existing
36
36
  * files a call modifies, which is the source-control question: it answers
37
37
  * "no" whenever it cannot extract a content path, and a call with no asset
38
38
  * path in its parameters is still a mutation of the editor.
39
39
  *
40
- * This one FAILS CLOSED. A guard told to stand in front of everything that
41
- * mutates is asked to be exhaustive, so anything whose verb is not a known
42
- * read counts. Listing mutating verbs instead was the wrong way round: the
43
- * list is open-ended, and every verb missing from it was a mutation nobody
44
- * guarded. The read lexicon is the same one asset locking uses, so the two
45
- * cannot drift into disagreeing about what a read is.
40
+ * The guard pipeline sits on `IBridge.call`, so what it is handed is a bridge
41
+ * METHOD name rather than a `category.action`. `bridgeMethodEffect` is what
42
+ * turns one into the other, and it has no undefined answer: the effects the
43
+ * forwarding actions declared, or the table of methods a handler calls
44
+ * directly, or `mutate` for a method this server does not recognise.
45
+ *
46
+ * It still FAILS CLOSED, and now it does so by declaration rather than by not
47
+ * finding a verb in a list. Listing mutating verbs was the wrong way round:
48
+ * that list is open-ended, and every verb missing from it was a mutation
49
+ * nobody guarded. Inverting it to a read list was the same guess pointed the
50
+ * other way, and it put every read whose name does not open with a read verb
51
+ * (`metasound_get_graph`, `line_trace`, `hit_test_viewport_pixel`) in front of
52
+ * a guard that had no business seeing it.
46
53
  */
47
54
  export function mutationScope(ctx) {
48
- return !isReadVerb(ctx.method);
55
+ return mayChangeState(effectOf(ctx));
56
+ }
57
+ /**
58
+ * What THIS call does, method and arguments together.
59
+ *
60
+ * The arguments matter for one reason and it is not a detail: all 830 wrapped
61
+ * engine tools dispatch through `epic_call_tool`, so the method alone is
62
+ * `unknown` and every scope below was wrong about 830 of the 1920 actions on
63
+ * this surface. `mutations` fired on every wrapped read, `reads` matched none
64
+ * of them, and `unknown` matched all of them, which made a guard meant to put
65
+ * a person in front of arbitrary code stop `epic_list_attributes` as well.
66
+ *
67
+ * `unknown` means an argument decides. The guard has the arguments.
68
+ */
69
+ function effectOf(ctx) {
70
+ return bridgeMethodEffect(ctx.method, ctx.params).effect;
71
+ }
72
+ /**
73
+ * Only the calls that observe.
74
+ *
75
+ * The complement of `mutationScope`, for auditing what an agent looked at
76
+ * without the noise of everything it did. It could not be offered while the
77
+ * answer came from a verb list: "not a read" tolerates a wrong guess in the
78
+ * safe direction, and "IS a read" does not, because a mutation that slipped
79
+ * into this scope is a mutation the guard was told to ignore.
80
+ */
81
+ export function readScope(ctx) {
82
+ return effectOf(ctx) === "read";
49
83
  }
50
- /** Whether a method's leading verb is a known read. Shared with asset locking. */
51
- function isReadVerb(method) {
52
- const segments = String(method).toLowerCase().split(/[._]/);
53
- let verb = segments[0] ?? "";
54
- // "bulk" and "batch" describe the shape of a call, not what it does, so the
55
- // verb after one is the answer: `bulk_read_properties` only looks.
56
- if ((verb === "bulk" || verb === "batch") && segments.length > 1) {
57
- verb = segments[1];
58
- }
59
- return READ_PREFIXES.includes(verb);
84
+ /**
85
+ * Only the calls whose effect a PARAMETER decides.
86
+ *
87
+ * `editor(execute_python)`, `editor(execute_command)`, the wrapped Epic tools
88
+ * behind `epic_call_tool`, and the reflected `invoke_*` family. The escape
89
+ * hatches: the calls that can do anything, named as a set rather than
90
+ * enumerated by hand in every project that wants to gate them.
91
+ *
92
+ * This is the scope that the declaration made possible rather than merely made
93
+ * correct. A verb list cannot produce this set at all - `unknown` is not a
94
+ * property of the name, it is the absence of one.
95
+ */
96
+ export function unknownScope(ctx) {
97
+ return effectOf(ctx) === "unknown";
60
98
  }
61
99
  /** Build the per-call context, wiring the lazy write-enrichment helpers. */
62
100
  export function makeCallContext(method, params, timeoutMs, rawBridge, resolveExistingFile, session) {
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/flow/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EACL,aAAa,IAAI,oBAAoB,EACrC,gBAAgB,EAChB,IAAI,GAGL,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,aAAa,EAA4B,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AA0B9C,+FAA+F;AAC/F,MAAM,OAAO,aAAc,SAAQ,oBAA0C;CAAG;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAgB;IACzC,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,GAAgB;IAC5C,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,kFAAkF;AAClF,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,4EAA4E;IAC5E,mEAAmE;IACnE,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAQ,aAAmC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,MAA+B,EAC/B,SAA6B,EAC7B,SAAkB,EAClB,mBAAwC,EACxC,OAAuB;IAEvB,MAAM,GAAG,GAAG;QACV,GAAG,gBAAgB,EAAE;QACrB,MAAM;QACN,MAAM;QACN,SAAS;QACT,MAAM,EAAE,SAAS;QACjB,OAAO;KACO,CAAC;IAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC,MAAM;YACb,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;YAChF,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAuB;IAC7D,OAAO,CAAC,WAAmB,EAAiB,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/flow/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EACL,aAAa,IAAI,oBAAoB,EACrC,gBAAgB,EAChB,IAAI,GAGL,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,aAAa,EAA4B,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA2B1E,+FAA+F;AAC/F,MAAM,OAAO,aAAc,SAAQ,oBAA0C;CAAG;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAgB;IACzC,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,aAAa,CAAC,GAAgB;IAC5C,OAAO,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,QAAQ,CAAC,GAAgB;IAChC,OAAO,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,GAAgB;IACxC,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,GAAgB;IAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;AACrC,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,MAA+B,EAC/B,SAA6B,EAC7B,SAAkB,EAClB,mBAAwC,EACxC,OAAuB;IAEvB,MAAM,GAAG,GAAG;QACV,GAAG,gBAAgB,EAAE;QACrB,MAAM;QACN,MAAM;QACN,SAAS;QACT,MAAM,EAAE,SAAS;QACjB,OAAO;KACO,CAAC;IAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,CAAC,MAAM;YACb,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;YAChF,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAuB;IAC7D,OAAO,CAAC,WAAmB,EAAiB,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,8 +1,9 @@
1
- import { mutationScope, writeScope } from "./guard.js";
1
+ import { mutationScope, readScope, unknownScope, writeScope, } from "./guard.js";
2
2
  import { withoutDialogActuation } from "../dialog-guard.js";
3
3
  import { DialogGatedBridge } from "./guarded-bridge.js";
4
4
  import { McpError, ErrorCode } from "../errors.js";
5
5
  import { debug } from "../log.js";
6
+ import { GUARD_CALL_KEY, GUARD_CONFIG_KEY, } from "../guard-task.js";
6
7
  /**
7
8
  * The context a hook task runs in.
8
9
  *
@@ -22,22 +23,42 @@ function hookContext(cc, deps) {
22
23
  session: cc.session,
23
24
  };
24
25
  }
25
- /** What a hook is told about the call it is guarding. */
26
- function hookOptions(cc, declared, result) {
26
+ /**
27
+ * What a hook is told about the call it is guarding.
28
+ *
29
+ * Two shapes, deliberately. The flattened keys are what a guard written
30
+ * against `UeMcpTask` reads, and they keep their old meaning exactly: the
31
+ * declaration goes in first so the call being guarded wins a collision, which
32
+ * is the behaviour those guards were written against.
33
+ *
34
+ * The two reserved keys are what `UeMcpGuard` reads, and they exist because
35
+ * that flattening is a hazard: a guard whose option is named `method` loses
36
+ * it, and the phase can only be inferred from `result` happening to be there.
37
+ * Nested, the configuration and the subject cannot touch each other, and the
38
+ * phase is stated rather than detected.
39
+ */
40
+ function hookOptions(cc, declared, phase, result) {
41
+ const paths = cc.writeFiles();
27
42
  return {
28
- // The declaration first, so the call being guarded always wins a
29
- // collision: a guard reads its configuration and its subject from one
30
- // object, and the subject is never masked by a stale default.
31
43
  ...declared,
32
44
  method: cc.method,
33
45
  params: cc.params,
34
- paths: cc.writeFiles(),
46
+ paths,
35
47
  ...(result !== undefined ? { result } : {}),
48
+ [GUARD_CALL_KEY]: {
49
+ phase,
50
+ method: cc.method,
51
+ params: cc.params,
52
+ paths,
53
+ session: cc.session,
54
+ ...(result !== undefined ? { result } : {}),
55
+ },
56
+ [GUARD_CONFIG_KEY]: declared,
36
57
  };
37
58
  }
38
59
  /** Run one hook and give back what it answered. */
39
- async function runHook(hook, cc, deps, result) {
40
- const task = await deps.registry.create(hook.class_path, hookContext(cc, deps), hookOptions(cc, hook.options, result));
60
+ async function runHook(hook, cc, deps, phase, result) {
61
+ const task = await deps.registry.create(hook.class_path, hookContext(cc, deps), hookOptions(cc, hook.options, phase, result));
41
62
  return (await task.execute());
42
63
  }
43
64
  /** The message a denial carries, from wherever the hook put it. */
@@ -85,12 +106,14 @@ export async function buildGuards(declarations, deps, source) {
85
106
  // and a pipeline of guards that all ask pays once.
86
107
  ...(decl.scope === "writes" ? { appliesTo: (cc) => writeScope(cc) } : {}),
87
108
  ...(decl.scope === "mutations" ? { appliesTo: (cc) => mutationScope(cc) } : {}),
109
+ ...(decl.scope === "reads" ? { appliesTo: (cc) => readScope(cc) } : {}),
110
+ ...(decl.scope === "unknown" ? { appliesTo: (cc) => unknownScope(cc) } : {}),
88
111
  ...(decl.before
89
112
  ? {
90
113
  before: async (cc) => {
91
114
  let answered;
92
115
  try {
93
- answered = await runHook(decl.before, cc, deps);
116
+ answered = await runHook(decl.before, cc, deps, "before");
94
117
  }
95
118
  catch (e) {
96
119
  // A hook that threw denies the call. It is the same outcome as
@@ -112,7 +135,7 @@ export async function buildGuards(declarations, deps, source) {
112
135
  after: async (cc, result) => {
113
136
  let answered;
114
137
  try {
115
- answered = await runHook(decl.after, cc, deps, result);
138
+ answered = await runHook(decl.after, cc, deps, "after", result);
116
139
  }
117
140
  catch (e) {
118
141
  // The call already happened. Failing it now would report a
@@ -1 +1 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/flow/guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/flow/guards.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,8 @@ function resolveRun(file, params, verb) {
63
63
  }
64
64
  export const journalActions = {
65
65
  journal_start: {
66
+ kind: "handler",
67
+ effect: "mutate",
66
68
  description: "Open a journal run: a named unit of work whose notes, artifacts and outcome are recorded "
67
69
  + "under ~/.ue-mcp/journal, keyed by this project, so it survives a server restart and never "
68
70
  + "lands in the project's own tree. Use it for work you are NOT wrapping in a flow; "
@@ -73,6 +75,8 @@ export const journalActions = {
73
75
  handler: async (ctx, params) => journalStart(ctx, params),
74
76
  },
75
77
  journal_note: {
78
+ kind: "handler",
79
+ effect: "mutate",
76
80
  description: "Append a note to a journal run: what you decided, what surprised you, what the next session "
77
81
  + "needs to know. Notes accumulate and are never rewritten, so a correction is another note. "
78
82
  + "Params: text, runId? (defaults to the open run, and the response says which it chose). "
@@ -80,6 +84,8 @@ export const journalActions = {
80
84
  handler: async (ctx, params) => journalNote(ctx, params),
81
85
  },
82
86
  journal_attach: {
87
+ kind: "handler",
88
+ effect: "mutate",
83
89
  description: "Record something a run produced: a content path, a file on disk, a URL. Idempotent per run on "
84
90
  + "artifactPath, so re-attaching the same path reports existed=true instead of duplicating it. "
85
91
  + "Params: artifactPath, artifactKind? (free-form label such as asset, screenshot, log, report), "
@@ -87,6 +93,8 @@ export const journalActions = {
87
93
  handler: async (ctx, params) => journalAttach(ctx, params),
88
94
  },
89
95
  journal_finish: {
96
+ kind: "handler",
97
+ effect: "mutate",
90
98
  description: "Close a journal run with a verdict. Idempotent: a run that already ended keeps its first "
91
99
  + "verdict and reports existed=true, so the first answer about a run is the one that stands. "
92
100
  + "Params: status? (completed|failed, default completed), summary? (one or two sentences the "
@@ -94,12 +102,16 @@ export const journalActions = {
94
102
  handler: async (ctx, params) => journalFinish(ctx, params),
95
103
  },
96
104
  journal_cancel: {
105
+ kind: "handler",
106
+ effect: "mutate",
97
107
  description: "Close a journal run as cancelled, for work abandoned rather than finished. Same idempotency as "
98
108
  + "journal_finish. Params: reason? (why it was abandoned), runId? (defaults to the open run). "
99
109
  + "Returns the cancelled run.",
100
110
  handler: async (ctx, params) => journalCancel(ctx, params),
101
111
  },
102
112
  journal_list: {
113
+ kind: "handler",
114
+ effect: "read",
103
115
  description: "List this project's journal runs, newest first, with every filter applied together. Params: "
104
116
  + "status? (active|completed|failed|cancelled), flowName? (only runs of that flow), tag? (one tag "
105
117
  + "the run carries), since? (epoch ms, an ISO date, or a relative age like 2h / 7d / 30m), "
@@ -109,12 +121,16 @@ export const journalActions = {
109
121
  handler: async (ctx, params) => journalList(ctx, params),
110
122
  },
111
123
  journal_get: {
124
+ kind: "handler",
125
+ effect: "read",
112
126
  description: "Read one journal run in full: every note, every artifact, the outcome, and the per-step record "
113
127
  + "if it was a flow run. This is the handover call - give the next session a runId and it can "
114
128
  + "reconstruct what happened. Params: runId. Returns the run.",
115
129
  handler: async (ctx, params) => journalGet(ctx, params),
116
130
  },
117
131
  journal_delete: {
132
+ kind: "handler",
133
+ effect: "mutate",
118
134
  description: "Delete journal runs, rewriting the file without their records. The granularity is the run: "
119
135
  + "notes and artifacts are append-only by design, and a correction is another note. Reports how "
120
136
  + "many runs and records went, so a delete that matched nothing is distinguishable from one that "
@@ -123,6 +139,8 @@ export const journalActions = {
123
139
  handler: async (ctx, params) => journalDelete(ctx, params),
124
140
  },
125
141
  journal_status: {
142
+ kind: "handler",
143
+ effect: "read",
126
144
  description: "Where this project's journal lives, whether it is recording, how much is in it, and which run "
127
145
  + "is open. There is no initialise step: the file is created on the first write and read fresh on "
128
146
  + "every call, so nothing has to be started or shut down. Set UE_MCP_JOURNAL=0 to stop recording "
@@ -1 +1 @@
1
- {"version":3,"file":"journal-actions.js","sourceRoot":"","sources":["../../src/flow/journal-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal-actions.js","sourceRoot":"","sources":["../../src/flow/journal-actions.ts"],"names":[],"mappings":"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"}