ue-mcp 1.0.32 → 1.0.34

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 (33) hide show
  1. package/README.md +2 -2
  2. package/dist/feedback-cli.d.ts +2 -2
  3. package/dist/feedback-cli.js +130 -20
  4. package/dist/feedback-cli.js.map +1 -1
  5. package/dist/pie/schema.d.ts +671 -0
  6. package/dist/pie/schema.js +126 -0
  7. package/dist/pie/schema.js.map +1 -0
  8. package/dist/tool-counts.json +6 -6
  9. package/dist/tools/asset.js +2 -1
  10. package/dist/tools/asset.js.map +1 -1
  11. package/dist/tools/gameplay.js +55 -0
  12. package/dist/tools/gameplay.js.map +1 -1
  13. package/dist/ue-mcp.default.yml +114 -0
  14. package/package.json +2 -2
  15. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AssetHandlers.cpp +110 -0
  16. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/AssetHandlers.h +2 -0
  17. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers.cpp +18 -0
  18. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers.h +26 -0
  19. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers_InputInject.cpp +202 -0
  20. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers_PIEDiff.cpp +146 -0
  21. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers_PIERecord.cpp +324 -0
  22. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/Handlers/GameplayHandlers_PIEReplay.cpp +143 -0
  23. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/PIE/PIEFrameSampler.cpp +333 -0
  24. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/PIE/PIEFrameSampler.h +94 -0
  25. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/PIE/PIEInputInjector.cpp +272 -0
  26. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/PIE/PIEInputInjector.h +76 -0
  27. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/PIE/PIEInputRecorder.cpp +456 -0
  28. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/PIE/PIEInputRecorder.h +135 -0
  29. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/PIE/PIEInputReplayer.cpp +527 -0
  30. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/PIE/PIEInputReplayer.h +133 -0
  31. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/PIE/PIESequenceFormat.cpp +709 -0
  32. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/PIE/PIESequenceFormat.h +205 -0
  33. package/plugin/ue_mcp_bridge/Source/UE_MCP_Bridge/Private/UE_MCP_Bridge.cpp +16 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # UE-MCP
2
2
 
3
- **Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->21<!-- /count --> category tools covering <!-- count:actions -->524+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows.
3
+ **Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->21<!-- /count --> category tools covering <!-- count:actions -->543+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows.
4
4
 
5
5
  ```mermaid
6
6
  flowchart LR
@@ -57,7 +57,7 @@ If you prefer to configure manually, add to your MCP client config:
57
57
 
58
58
  - [Getting Started](https://db-lyon.github.io/ue-mcp/getting-started/) — Installation, configuration, first run
59
59
  - [Architecture](https://db-lyon.github.io/ue-mcp/architecture/) — How the pieces fit together
60
- - [Tool Reference](https://db-lyon.github.io/ue-mcp/tool-reference/) - All <!-- count:tools -->21<!-- /count --> tools with <!-- count:actions -->524+<!-- /count --> actions
60
+ - [Tool Reference](https://db-lyon.github.io/ue-mcp/tool-reference/) - All <!-- count:tools -->21<!-- /count --> tools with <!-- count:actions -->543+<!-- /count --> actions
61
61
  - [Flows](https://db-lyon.github.io/ue-mcp/flows/) - YAML flow engine, custom tasks, rollback, hooks
62
62
  - [Configuration](https://db-lyon.github.io/ue-mcp/configuration/) — `.ue-mcp.json` and MCP client config
63
63
  - [Neon Shrine Demo](https://db-lyon.github.io/ue-mcp/neon-shrine-demo/) — Interactive guided demo
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * `npx ue-mcp feedback <list|show|approve|discard>` — review and act on
3
+ * `npx ue-mcp feedback <list|show|approve|discard|review>` — review and act on
4
4
  * submissions that ue-mcp deferred to disk while running in
5
5
  * `feedback.mode = "defer"`. Pairs with src/feedback-deferred.ts.
6
6
  *
7
7
  * Argv layout after index.ts splices "feedback" out:
8
- * argv[2] = subcommand (list, show, approve, discard)
8
+ * argv[2] = subcommand (list, show, approve, discard, review)
9
9
  * argv[3] = id (for show/approve/discard)
10
10
  */
11
11
  export {};
@@ -1,17 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * `npx ue-mcp feedback <list|show|approve|discard>` — review and act on
3
+ * `npx ue-mcp feedback <list|show|approve|discard|review>` — review and act on
4
4
  * submissions that ue-mcp deferred to disk while running in
5
5
  * `feedback.mode = "defer"`. Pairs with src/feedback-deferred.ts.
6
6
  *
7
7
  * Argv layout after index.ts splices "feedback" out:
8
- * argv[2] = subcommand (list, show, approve, discard)
8
+ * argv[2] = subcommand (list, show, approve, discard, review)
9
9
  * argv[3] = id (for show/approve/discard)
10
10
  */
11
+ import * as readline from "node:readline";
11
12
  import { deleteDeferred, getPendingDir, listDeferred, loadDeferred, } from "./feedback-deferred.js";
12
13
  import { submitFeedback } from "./github-app.js";
13
14
  import { getFeedbackMode, setFeedbackMode, getUserStatePath, } from "./user-state.js";
14
- import { BOLD, CYAN, DIM, RED, RESET, YELLOW, fail, info, ok, warn, } from "./ui/ansi.js";
15
+ import { BOLD, CYAN, DIM, GREEN, RED, RESET, YELLOW, fail, info, ok, warn, } from "./ui/ansi.js";
15
16
  function printHelp() {
16
17
  console.log("");
17
18
  console.log(` ${BOLD}${CYAN}ue-mcp feedback${RESET}`);
@@ -25,6 +26,7 @@ function printHelp() {
25
26
  console.log(` ${BOLD}show${RESET} <id> Print the full body and metadata for one entry`);
26
27
  console.log(` ${BOLD}approve${RESET} <id> POST the entry to GitHub, then delete it locally`);
27
28
  console.log(` ${BOLD}discard${RESET} <id> Delete the entry without posting`);
29
+ console.log(` ${BOLD}review${RESET} Walk the queue one entry at a time, approve/discard/skip per item ${DIM}(experimental)${RESET}`);
28
30
  console.log("");
29
31
  }
30
32
  function cmdMode(arg) {
@@ -85,18 +87,15 @@ function cmdList() {
85
87
  console.log(` ${DIM}Discard with: npx ue-mcp feedback discard <id>${RESET}`);
86
88
  console.log("");
87
89
  }
88
- function cmdShow(id) {
89
- const entry = loadDeferred(id);
90
- if (!entry) {
91
- fail(`No pending feedback with id "${id}".`);
92
- process.exit(1);
93
- }
90
+ function renderEntry(entry, header) {
94
91
  console.log("");
92
+ if (header)
93
+ console.log(` ${header}`);
95
94
  console.log(` ${BOLD}id ${RESET}${entry.id}`);
96
95
  console.log(` ${BOLD}created ${RESET}${entry.createdAt}`);
97
96
  console.log(` ${BOLD}project ${RESET}${entry.project ?? "(none)"}`);
98
97
  console.log(` ${BOLD}author ${RESET}${entry.author}`);
99
- console.log(` ${BOLD}labels ${RESET}${entry.labels.join(", ")}`);
98
+ console.log(` ${BOLD}labels ${RESET}${entry.labels.join(", ") || "(none)"}`);
100
99
  console.log(` ${BOLD}title ${RESET}${entry.title}`);
101
100
  console.log("");
102
101
  console.log(` ${BOLD}── BODY ─────────────────────────────────────${RESET}`);
@@ -104,14 +103,15 @@ function cmdShow(id) {
104
103
  console.log(` ${BOLD}── END BODY ─────────────────────────────────${RESET}`);
105
104
  console.log("");
106
105
  }
107
- async function cmdApprove(id) {
106
+ function cmdShow(id) {
108
107
  const entry = loadDeferred(id);
109
108
  if (!entry) {
110
109
  fail(`No pending feedback with id "${id}".`);
111
110
  process.exit(1);
112
111
  }
113
- console.log("");
114
- info(`Posting ${id} to GitHub as ${entry.author === "bot" ? "ue-mcp-feedback bot" : "your GitHub user"}...`);
112
+ renderEntry(entry);
113
+ }
114
+ async function approveEntry(entry) {
115
115
  let result;
116
116
  try {
117
117
  result = await submitFeedback(entry.title, entry.body, entry.labels, {
@@ -119,21 +119,128 @@ async function cmdApprove(id) {
119
119
  });
120
120
  }
121
121
  catch (e) {
122
- fail(`GitHub POST failed: ${e instanceof Error ? e.message : String(e)}`);
122
+ return { kind: "error", message: e instanceof Error ? e.message : String(e) };
123
+ }
124
+ if (result.kind === "auth_required") {
125
+ return { kind: "auth_required", verification_uri: result.verification_uri, user_code: result.user_code };
126
+ }
127
+ deleteDeferred(entry.id);
128
+ return { kind: "posted", number: result.number, url: result.url };
129
+ }
130
+ async function cmdApprove(id) {
131
+ const entry = loadDeferred(id);
132
+ if (!entry) {
133
+ fail(`No pending feedback with id "${id}".`);
134
+ process.exit(1);
135
+ }
136
+ console.log("");
137
+ info(`Posting ${id} to GitHub as ${entry.author === "bot" ? "ue-mcp-feedback bot" : "your GitHub user"}...`);
138
+ const outcome = await approveEntry(entry);
139
+ if (outcome.kind === "error") {
140
+ fail(`GitHub POST failed: ${outcome.message}`);
123
141
  info(`Entry left on disk; retry with: npx ue-mcp feedback approve ${id}`);
124
142
  process.exit(1);
125
143
  }
126
- if (result.kind === "auth_required") {
144
+ if (outcome.kind === "auth_required") {
127
145
  warn("GitHub auth required to post as user.");
128
- console.log(` ${BOLD}1.${RESET} Open: ${CYAN}${result.verification_uri}${RESET}`);
129
- console.log(` ${BOLD}2.${RESET} Enter code: ${BOLD}${YELLOW}${result.user_code}${RESET}`);
146
+ console.log(` ${BOLD}1.${RESET} Open: ${CYAN}${outcome.verification_uri}${RESET}`);
147
+ console.log(` ${BOLD}2.${RESET} Enter code: ${BOLD}${YELLOW}${outcome.user_code}${RESET}`);
130
148
  console.log(` ${BOLD}3.${RESET} Authorize, then re-run: npx ue-mcp feedback approve ${id}`);
131
149
  info(`Or discard with: npx ue-mcp feedback discard ${id}`);
132
150
  process.exit(1);
133
151
  }
134
- ok(`Posted as issue #${result.number} (${result.url})`);
135
- if (deleteDeferred(id)) {
136
- info(`Removed local entry ${id}.`);
152
+ ok(`Posted as issue #${outcome.number} (${outcome.url})`);
153
+ info(`Removed local entry ${id}.`);
154
+ console.log("");
155
+ }
156
+ async function cmdReview() {
157
+ const entries = listDeferred();
158
+ if (entries.length === 0) {
159
+ info("No pending feedback submissions.");
160
+ info(getPendingDir());
161
+ return;
162
+ }
163
+ if (!process.stdin.isTTY) {
164
+ fail("`feedback review` requires an interactive terminal. Use list/show/approve/discard for non-interactive workflows.");
165
+ process.exit(1);
166
+ }
167
+ console.log("");
168
+ console.log(` ${BOLD}Reviewing ${entries.length} pending submission(s).${RESET}`);
169
+ console.log(` ${DIM}Choices per item: [a]pprove [d]iscard [s]kip [q]uit${RESET}`);
170
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
171
+ const ask = (prompt) => new Promise((resolve) => rl.question(prompt, (a) => resolve(a.trim().toLowerCase())));
172
+ let approved = 0;
173
+ let discarded = 0;
174
+ let skipped = 0;
175
+ let quit = false;
176
+ try {
177
+ for (let i = 0; i < entries.length; i++) {
178
+ const entry = entries[i];
179
+ renderEntry(entry, `${BOLD}[${i + 1}/${entries.length}]${RESET}`);
180
+ let action = null;
181
+ while (action === null) {
182
+ const answer = await ask(` ${BOLD}?${RESET} [a]pprove [d]iscard [s]kip [q]uit > `);
183
+ if (answer === "a" || answer === "approve")
184
+ action = "a";
185
+ else if (answer === "d" || answer === "discard")
186
+ action = "d";
187
+ else if (answer === "s" || answer === "skip" || answer === "")
188
+ action = "s";
189
+ else if (answer === "q" || answer === "quit" || answer === "exit")
190
+ action = "q";
191
+ else
192
+ warn(`Unknown choice "${answer}". Type a, d, s, or q.`);
193
+ }
194
+ if (action === "q") {
195
+ quit = true;
196
+ break;
197
+ }
198
+ if (action === "s") {
199
+ info(`Skipped (left on disk).`);
200
+ skipped++;
201
+ continue;
202
+ }
203
+ if (action === "d") {
204
+ if (deleteDeferred(entry.id)) {
205
+ ok(`Discarded ${entry.id}.`);
206
+ discarded++;
207
+ }
208
+ else {
209
+ fail(`Failed to delete ${entry.id}.`);
210
+ }
211
+ continue;
212
+ }
213
+ info(`Posting ${entry.id} to GitHub as ${entry.author === "bot" ? "ue-mcp-feedback bot" : "your GitHub user"}...`);
214
+ const outcome = await approveEntry(entry);
215
+ if (outcome.kind === "posted") {
216
+ ok(`Posted as issue #${outcome.number} (${outcome.url})`);
217
+ approved++;
218
+ continue;
219
+ }
220
+ if (outcome.kind === "auth_required") {
221
+ warn("GitHub auth required to post as user.");
222
+ console.log(` ${BOLD}1.${RESET} Open: ${CYAN}${outcome.verification_uri}${RESET}`);
223
+ console.log(` ${BOLD}2.${RESET} Enter code: ${BOLD}${YELLOW}${outcome.user_code}${RESET}`);
224
+ console.log(` ${BOLD}3.${RESET} Authorize, then re-run: npx ue-mcp feedback review`);
225
+ info(`This entry and any remaining are left on disk. Stopping.`);
226
+ quit = true;
227
+ break;
228
+ }
229
+ // outcome.kind === "error"
230
+ fail(`GitHub POST failed: ${outcome.message}`);
231
+ info(`Entry left on disk. Stopping the review loop so you can investigate; re-run to resume.`);
232
+ quit = true;
233
+ break;
234
+ }
235
+ }
236
+ finally {
237
+ rl.close();
238
+ }
239
+ const leftover = listDeferred().length;
240
+ console.log("");
241
+ console.log(` ${BOLD}Done.${RESET} approved: ${GREEN}${approved}${RESET} discarded: ${YELLOW}${discarded}${RESET} skipped: ${skipped} remaining: ${leftover}`);
242
+ if (quit && leftover > 0) {
243
+ info(`Re-run with: npx ue-mcp feedback review`);
137
244
  }
138
245
  console.log("");
139
246
  }
@@ -182,6 +289,9 @@ async function main() {
182
289
  }
183
290
  cmdDiscard(id);
184
291
  return;
292
+ case "review":
293
+ await cmdReview();
294
+ return;
185
295
  case undefined:
186
296
  case "help":
187
297
  case "--help":
@@ -1 +1 @@
1
- {"version":3,"file":"feedback-cli.js","sourceRoot":"","sources":["../src/feedback-cli.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,GAEb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,GAAG,EAEH,GAAG,EACH,KAAK,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,IAAI,GACL,MAAM,cAAc,CAAC;AAEtB,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,IAAI,kBAAkB,KAAK,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,GAAG,aAAa,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,wDAAwD,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,iEAAiE,CAAC,CAAC;IACpG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,kEAAkE,CAAC,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,8DAA8D,CAAC,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,UAAU,KAAK,6DAA6D,CAAC,CAAC;IACnG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,UAAU,KAAK,6CAA6C,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,GAAuB;IACtC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;QAC/B,MAAM,SAAS,GACb,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,OAAO;YAChE,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC;QAE5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,aAAa,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,sCAAsC,IAAI,IAAI,gCAAgC,GAAG,KAAK,EAAE,CAAC,CAAC;QAC9G,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,sCAAsC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,sEAAsE,KAAK,EAAE,CAAC,CAAC;QACnG,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,qDAAqD,KAAK,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QAC5D,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3B,EAAE,CAAC,8HAA8H,CAAC,CAAC;QACnI,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACvE,IAAI,CAAC,iBAAiB,GAAG,wDAAwD,CAAC,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,eAAe,CAAC,GAAG,CAAC,CAAC;IACrB,EAAE,CAAC,yBAAyB,GAAG,+CAA+C,CAAC,CAAC;IAChF,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,IAAI,CAAC,wBAAwB,OAAO,CAAC,GAAG,CAAC,oBAAoB,8FAA8F,CAAC,CAAC;IAC/J,CAAC;AACH,CAAC;AAED,SAAS,OAAO;IACd,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,kCAAkC,KAAK,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,SAAS,CAAC,MAAM,EAChB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,MAAM,CAAC,CACtD,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CACxG,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,iDAAiD,KAAK,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,iDAAiD,KAAK,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,EAAU;IACzB,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,KAAK,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,KAAK,GAAG,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,gDAAgD,KAAK,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,gDAAgD,KAAK,EAAE,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,EAAU;IAClC,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,WAAW,EAAE,iBAAiB,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,CAAC;IAC7G,IAAI,MAAkD,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE;YACnE,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,KAAK;SAC/B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,uBAAuB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,+DAA+D,EAAE,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,UAAU,IAAI,GAAG,MAAM,CAAC,gBAAgB,GAAG,KAAK,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,gBAAgB,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,KAAK,wDAAwD,EAAE,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,EAAE,CAAC,oBAAoB,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;IACxD,IAAI,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,EAAU;IAC5B,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,aAAa,EAAE,WAAW,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,CAAC,EAAE,CAAC,CAAC;YACZ,OAAO;QACT,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;YACV,OAAO;QACT,KAAK,MAAM;YACT,IAAI,CAAC,EAAE,EAAE,CAAC;gBAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAC3E,OAAO,CAAC,EAAE,CAAC,CAAC;YACZ,OAAO;QACT,KAAK,SAAS;YACZ,IAAI,CAAC,EAAE,EAAE,CAAC;gBAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAC9E,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;YACrB,OAAO;QACT,KAAK,SAAS;YACZ,IAAI,CAAC,EAAE,EAAE,CAAC;gBAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAC9E,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,OAAO;QACT,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,SAAS,EAAE,CAAC;YACZ,OAAO;QACT;YACE,IAAI,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;YAC5C,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CACX,OAAO,GAAG,gBAAgB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CACzE,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"feedback-cli.js","sourceRoot":"","sources":["../src/feedback-cli.ts"],"names":[],"mappings":"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"}