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.
- package/README.md +2 -2
- package/dist/action-class.d.ts +22 -1
- package/dist/action-class.js +17 -1
- package/dist/action-class.js.map +1 -1
- package/dist/action-effects.d.ts +84 -0
- package/dist/action-effects.js +214 -0
- package/dist/action-effects.js.map +1 -0
- package/dist/action-schema.d.ts +16 -3
- package/dist/action-schema.js +2 -2
- package/dist/action-schema.js.map +1 -1
- package/dist/action-verbs.d.ts +45 -0
- package/dist/action-verbs.js +64 -0
- package/dist/action-verbs.js.map +1 -0
- package/dist/editor-gate.js +34 -6
- package/dist/editor-gate.js.map +1 -1
- package/dist/epic-input.d.ts +22 -0
- package/dist/epic-input.js +120 -0
- package/dist/epic-input.js.map +1 -0
- package/dist/epic-surface.d.ts +47 -0
- package/dist/epic-surface.js +37 -0
- package/dist/epic-surface.js.map +1 -0
- package/dist/flow/flow-tool.js +6 -0
- package/dist/flow/flow-tool.js.map +1 -1
- package/dist/flow/guard-schema.d.ts +28 -16
- package/dist/flow/guard-schema.js +16 -2
- package/dist/flow/guard-schema.js.map +1 -1
- package/dist/flow/guard.d.ts +37 -7
- package/dist/flow/guard.js +57 -19
- package/dist/flow/guard.js.map +1 -1
- package/dist/flow/guards.js +34 -11
- package/dist/flow/guards.js.map +1 -1
- package/dist/flow/journal-actions.js +18 -0
- package/dist/flow/journal-actions.js.map +1 -1
- package/dist/flow/schema.d.ts +10 -10
- package/dist/flow/skill-actions.d.ts +15 -1
- package/dist/flow/skill-actions.js +33 -6
- package/dist/flow/skill-actions.js.map +1 -1
- package/dist/flow/write-methods.d.ts +0 -24
- package/dist/flow/write-methods.js +21 -5
- package/dist/flow/write-methods.js.map +1 -1
- package/dist/guard-task.d.ts +125 -0
- package/dist/guard-task.js +85 -0
- package/dist/guard-task.js.map +1 -0
- package/dist/index.js +25 -77
- package/dist/index.js.map +1 -1
- package/dist/init.js +6 -6
- package/dist/init.js.map +1 -1
- package/dist/lean-context.js +16 -0
- package/dist/lean-context.js.map +1 -1
- package/dist/lock-owner.d.ts +13 -0
- package/dist/lock-owner.js +26 -0
- package/dist/lock-owner.js.map +1 -0
- package/dist/locking.d.ts +30 -15
- package/dist/locking.js +45 -54
- package/dist/locking.js.map +1 -1
- package/dist/plugin/injection.js +7 -0
- package/dist/plugin/injection.js.map +1 -1
- package/dist/plugin/manifest.d.ts +46 -16
- package/dist/plugin/manifest.js +9 -0
- package/dist/plugin/manifest.js.map +1 -1
- package/dist/plugin/provision.js +6 -0
- package/dist/plugin/provision.js.map +1 -1
- package/dist/schemas.js +1 -1
- package/dist/schemas.js.map +1 -1
- package/dist/session.js +1 -1
- package/dist/session.js.map +1 -1
- package/dist/skill-packs.d.ts +10 -2
- package/dist/skill-packs.js +12 -7
- package/dist/skill-packs.js.map +1 -1
- package/dist/tool-counts.json +26 -24
- package/dist/tools/animation.js +118 -115
- package/dist/tools/animation.js.map +1 -1
- package/dist/tools/asset.js +141 -126
- package/dist/tools/asset.js.map +1 -1
- package/dist/tools/audio.js +51 -51
- package/dist/tools/audio.js.map +1 -1
- package/dist/tools/blueprint.js +89 -84
- package/dist/tools/blueprint.js.map +1 -1
- package/dist/tools/chooser.js +9 -9
- package/dist/tools/chooser.js.map +1 -1
- package/dist/tools/conversation.d.ts +10 -0
- package/dist/tools/conversation.js +12 -0
- package/dist/tools/conversation.js.map +1 -0
- package/dist/tools/dataflow.d.ts +15 -0
- package/dist/tools/dataflow.js +17 -0
- package/dist/tools/dataflow.js.map +1 -0
- package/dist/tools/demo.js +4 -4
- package/dist/tools/demo.js.map +1 -1
- package/dist/tools/editor.js +123 -102
- package/dist/tools/editor.js.map +1 -1
- package/dist/tools/epic/animation.generated.d.ts +6 -0
- package/dist/tools/epic/animation.generated.js +875 -0
- package/dist/tools/epic/animation.generated.js.map +1 -0
- package/dist/tools/epic/asset.generated.d.ts +6 -0
- package/dist/tools/epic/asset.generated.js +226 -0
- package/dist/tools/epic/asset.generated.js.map +1 -0
- package/dist/tools/epic/blueprint.generated.d.ts +6 -0
- package/dist/tools/epic/blueprint.generated.js +168 -0
- package/dist/tools/epic/blueprint.generated.js.map +1 -0
- package/dist/tools/epic/conversation.generated.d.ts +6 -0
- package/dist/tools/epic/conversation.generated.js +37 -0
- package/dist/tools/epic/conversation.generated.js.map +1 -0
- package/dist/tools/epic/dataflow.generated.d.ts +6 -0
- package/dist/tools/epic/dataflow.generated.js +88 -0
- package/dist/tools/epic/dataflow.generated.js.map +1 -0
- package/dist/tools/epic/editor.generated.d.ts +6 -0
- package/dist/tools/epic/editor.generated.js +88 -0
- package/dist/tools/epic/editor.generated.js.map +1 -0
- package/dist/tools/epic/effects.d.ts +25 -0
- package/dist/tools/epic/effects.js +1716 -0
- package/dist/tools/epic/effects.js.map +1 -0
- package/dist/tools/epic/epic.generated.d.ts +6 -0
- package/dist/tools/epic/epic.generated.js +39 -0
- package/dist/tools/epic/epic.generated.js.map +1 -0
- package/dist/tools/epic/gameplay.generated.d.ts +6 -0
- package/dist/tools/epic/gameplay.generated.js +113 -0
- package/dist/tools/epic/gameplay.generated.js.map +1 -0
- package/dist/tools/epic/gas.generated.d.ts +6 -0
- package/dist/tools/epic/gas.generated.js +59 -0
- package/dist/tools/epic/gas.generated.js.map +1 -0
- package/dist/tools/epic/index.d.ts +40 -0
- package/dist/tools/epic/index.js +41 -0
- package/dist/tools/epic/index.js.map +1 -0
- package/dist/tools/epic/level.generated.d.ts +6 -0
- package/dist/tools/epic/level.generated.js +135 -0
- package/dist/tools/epic/level.generated.js.map +1 -0
- package/dist/tools/epic/material.generated.d.ts +6 -0
- package/dist/tools/epic/material.generated.js +114 -0
- package/dist/tools/epic/material.generated.js.map +1 -0
- package/dist/tools/epic/niagara.generated.d.ts +6 -0
- package/dist/tools/epic/niagara.generated.js +186 -0
- package/dist/tools/epic/niagara.generated.js.map +1 -0
- package/dist/tools/epic/pcg.generated.d.ts +6 -0
- package/dist/tools/epic/pcg.generated.js +116 -0
- package/dist/tools/epic/pcg.generated.js.map +1 -0
- package/dist/tools/epic/plugins.generated.d.ts +6 -0
- package/dist/tools/epic/plugins.generated.js +78 -0
- package/dist/tools/epic/plugins.generated.js.map +1 -0
- package/dist/tools/epic/project.generated.d.ts +6 -0
- package/dist/tools/epic/project.generated.js +61 -0
- package/dist/tools/epic/project.generated.js.map +1 -0
- package/dist/tools/epic/reflection.generated.d.ts +6 -0
- package/dist/tools/epic/reflection.generated.js +37 -0
- package/dist/tools/epic/reflection.generated.js.map +1 -0
- package/dist/tools/epic/statetree.generated.d.ts +6 -0
- package/dist/tools/epic/statetree.generated.js +41 -0
- package/dist/tools/epic/statetree.generated.js.map +1 -0
- package/dist/tools/epic/widget.generated.d.ts +6 -0
- package/dist/tools/epic/widget.generated.js +140 -0
- package/dist/tools/epic/widget.generated.js.map +1 -0
- package/dist/tools/epic.js +7 -4
- package/dist/tools/epic.js.map +1 -1
- package/dist/tools/fab.js +8 -8
- package/dist/tools/fab.js.map +1 -1
- package/dist/tools/feedback.js +4 -0
- package/dist/tools/feedback.js.map +1 -1
- package/dist/tools/foliage.js +17 -13
- package/dist/tools/foliage.js.map +1 -1
- package/dist/tools/gameplay.js +101 -98
- package/dist/tools/gameplay.js.map +1 -1
- package/dist/tools/gas.js +36 -33
- package/dist/tools/gas.js.map +1 -1
- package/dist/tools/landscape.js +35 -35
- package/dist/tools/landscape.js.map +1 -1
- package/dist/tools/level.js +113 -92
- package/dist/tools/level.js.map +1 -1
- package/dist/tools/material.js +52 -49
- package/dist/tools/material.js.map +1 -1
- package/dist/tools/networking.js +11 -11
- package/dist/tools/networking.js.map +1 -1
- package/dist/tools/niagara.js +47 -42
- package/dist/tools/niagara.js.map +1 -1
- package/dist/tools/pcg.js +22 -19
- package/dist/tools/pcg.js.map +1 -1
- package/dist/tools/plugins.js +7 -0
- package/dist/tools/plugins.js.map +1 -1
- package/dist/tools/project.js +101 -10
- package/dist/tools/project.js.map +1 -1
- package/dist/tools/reflection.js +16 -13
- package/dist/tools/reflection.js.map +1 -1
- package/dist/tools/statetree.js +51 -48
- package/dist/tools/statetree.js.map +1 -1
- package/dist/tools/widget.js +52 -49
- package/dist/tools/widget.js.map +1 -1
- package/dist/tools.js +4 -0
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +108 -6
- package/dist/types.js +21 -7
- package/dist/types.js.map +1 -1
- package/dist/ue-mcp.default.yml +6358 -1786
- package/package.json +11 -3
- package/plugin/ue_mcp_bridge/UE_MCP_Bridge.uplugin +2 -2
- package/skills/ue-mcp-workflow/SKILL.md +1 -1
- package/assets/epic-catalog.snapshot.json +0 -15758
- package/dist/epic-cache.d.ts +0 -43
- package/dist/epic-cache.js +0 -81
- package/dist/epic-cache.js.map +0 -1
- package/dist/epic-enrich.d.ts +0 -47
- package/dist/epic-enrich.js +0 -323
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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"}
|
package/dist/flow/guard.d.ts
CHANGED
|
@@ -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
|
|
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
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
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
|
/**
|
package/dist/flow/guard.js
CHANGED
|
@@ -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 {
|
|
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
|
|
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
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
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
|
|
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
|
-
/**
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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) {
|
package/dist/flow/guard.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/flow/guards.js
CHANGED
|
@@ -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
|
-
/**
|
|
26
|
-
|
|
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
|
|
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
|
package/dist/flow/guards.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/flow/guards.ts"],"names":[],"mappings":"AAgBA,OAAO,
|
|
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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"}
|