godot-cli 0.38.0 → 0.39.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/README.md +139 -16
  3. package/dist/cli.d.ts +7 -0
  4. package/dist/cli.js +7 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/check.d.ts +2 -0
  7. package/dist/commands/check.js +48 -0
  8. package/dist/commands/check.js.map +1 -0
  9. package/dist/commands/close.d.ts +3 -0
  10. package/dist/commands/close.js +82 -27
  11. package/dist/commands/close.js.map +1 -1
  12. package/dist/commands/commands.d.ts +3 -0
  13. package/dist/commands/commands.js +28 -0
  14. package/dist/commands/commands.js.map +1 -0
  15. package/dist/commands/exec.js +43 -28
  16. package/dist/commands/exec.js.map +1 -1
  17. package/dist/commands/export.d.ts +2 -0
  18. package/dist/commands/export.js +45 -0
  19. package/dist/commands/export.js.map +1 -0
  20. package/dist/commands/headless-common.d.ts +29 -0
  21. package/dist/commands/headless-common.js +69 -0
  22. package/dist/commands/headless-common.js.map +1 -0
  23. package/dist/commands/import.d.ts +2 -0
  24. package/dist/commands/import.js +32 -0
  25. package/dist/commands/import.js.map +1 -0
  26. package/dist/commands/install-plugin.js.map +1 -1
  27. package/dist/commands/open.js +38 -6
  28. package/dist/commands/open.js.map +1 -1
  29. package/dist/commands/rql.d.ts +2 -0
  30. package/dist/commands/rql.js +81 -0
  31. package/dist/commands/rql.js.map +1 -0
  32. package/dist/commands/run-script.d.ts +2 -0
  33. package/dist/commands/run-script.js +33 -0
  34. package/dist/commands/run-script.js.map +1 -0
  35. package/dist/commands/run-system-tool.js +0 -1
  36. package/dist/commands/run-system-tool.js.map +1 -1
  37. package/dist/commands/run-tool-builder.d.ts +38 -4
  38. package/dist/commands/run-tool-builder.js +179 -56
  39. package/dist/commands/run-tool-builder.js.map +1 -1
  40. package/dist/commands/run-tool.js +0 -1
  41. package/dist/commands/run-tool.js.map +1 -1
  42. package/dist/commands/setup-skills.js +3 -2
  43. package/dist/commands/setup-skills.js.map +1 -1
  44. package/dist/commands/status.js +25 -19
  45. package/dist/commands/status.js.map +1 -1
  46. package/dist/commands/test.d.ts +5 -0
  47. package/dist/commands/test.js +111 -0
  48. package/dist/commands/test.js.map +1 -0
  49. package/dist/commands/tools.d.ts +2 -0
  50. package/dist/commands/tools.js +120 -0
  51. package/dist/commands/tools.js.map +1 -0
  52. package/dist/commands/update.js +1 -1
  53. package/dist/commands/update.js.map +1 -1
  54. package/dist/commands/wait-for-ready.js +18 -20
  55. package/dist/commands/wait-for-ready.js.map +1 -1
  56. package/dist/index.js +48 -3
  57. package/dist/index.js.map +1 -1
  58. package/dist/lib/build.d.ts +1 -1
  59. package/dist/lib/build.js +21 -4
  60. package/dist/lib/build.js.map +1 -1
  61. package/dist/lib/check.d.ts +44 -0
  62. package/dist/lib/check.js +191 -0
  63. package/dist/lib/check.js.map +1 -0
  64. package/dist/lib/cli-guide.d.ts +26 -0
  65. package/dist/lib/cli-guide.js +51 -0
  66. package/dist/lib/cli-guide.js.map +1 -0
  67. package/dist/lib/configure-agent.js.map +1 -1
  68. package/dist/lib/exec.d.ts +19 -0
  69. package/dist/lib/exec.js +61 -10
  70. package/dist/lib/exec.js.map +1 -1
  71. package/dist/lib/export-project.d.ts +41 -0
  72. package/dist/lib/export-project.js +159 -0
  73. package/dist/lib/export-project.js.map +1 -0
  74. package/dist/lib/godot-log.d.ts +38 -0
  75. package/dist/lib/godot-log.js +145 -0
  76. package/dist/lib/godot-log.js.map +1 -0
  77. package/dist/lib/godot-run.d.ts +34 -0
  78. package/dist/lib/godot-run.js +113 -0
  79. package/dist/lib/godot-run.js.map +1 -0
  80. package/dist/lib/headless.d.ts +82 -0
  81. package/dist/lib/headless.js +117 -0
  82. package/dist/lib/headless.js.map +1 -0
  83. package/dist/lib/import-project.d.ts +9 -0
  84. package/dist/lib/import-project.js +15 -0
  85. package/dist/lib/import-project.js.map +1 -0
  86. package/dist/lib/install-server.js.map +1 -1
  87. package/dist/lib/junit.d.ts +36 -0
  88. package/dist/lib/junit.js +146 -0
  89. package/dist/lib/junit.js.map +1 -0
  90. package/dist/lib/list-tools.d.ts +51 -0
  91. package/dist/lib/list-tools.js +147 -0
  92. package/dist/lib/list-tools.js.map +1 -0
  93. package/dist/lib/open.js +3 -1
  94. package/dist/lib/open.js.map +1 -1
  95. package/dist/lib/progress.d.ts +1 -7
  96. package/dist/lib/progress.js +2 -15
  97. package/dist/lib/progress.js.map +1 -1
  98. package/dist/lib/rql.d.ts +32 -0
  99. package/dist/lib/rql.js +105 -0
  100. package/dist/lib/rql.js.map +1 -0
  101. package/dist/lib/run-script.d.ts +23 -0
  102. package/dist/lib/run-script.js +43 -0
  103. package/dist/lib/run-script.js.map +1 -0
  104. package/dist/lib/run-tests.d.ts +50 -0
  105. package/dist/lib/run-tests.js +181 -0
  106. package/dist/lib/run-tests.js.map +1 -0
  107. package/dist/lib/run-tool.js +6 -22
  108. package/dist/lib/run-tool.js.map +1 -1
  109. package/dist/lib/session.d.ts +8 -1
  110. package/dist/lib/session.js +36 -4
  111. package/dist/lib/session.js.map +1 -1
  112. package/dist/lib/setup-skills.d.ts +8 -13
  113. package/dist/lib/setup-skills.js +27 -24
  114. package/dist/lib/setup-skills.js.map +1 -1
  115. package/dist/lib/types.d.ts +7 -0
  116. package/dist/lib/update-project.js +1 -1
  117. package/dist/lib/update-project.js.map +1 -1
  118. package/dist/lib.d.ts +16 -0
  119. package/dist/lib.js +10 -0
  120. package/dist/lib.js.map +1 -1
  121. package/dist/utils/addon-deps.js +2 -2
  122. package/dist/utils/agents.d.ts +2 -6
  123. package/dist/utils/agents.js.map +1 -1
  124. package/dist/utils/cloud-login.js.map +1 -1
  125. package/dist/utils/connection.d.ts +59 -0
  126. package/dist/utils/connection.js +11 -10
  127. package/dist/utils/connection.js.map +1 -1
  128. package/dist/utils/csproj-deps.js +1 -1
  129. package/dist/utils/csproj-deps.js.map +1 -1
  130. package/dist/utils/editor-connection.d.ts +74 -0
  131. package/dist/utils/editor-connection.js +225 -0
  132. package/dist/utils/editor-connection.js.map +1 -0
  133. package/dist/utils/editor-mcp-server.d.ts +32 -0
  134. package/dist/utils/editor-mcp-server.js +134 -0
  135. package/dist/utils/editor-mcp-server.js.map +1 -0
  136. package/dist/utils/exit-codes.d.ts +2 -0
  137. package/dist/utils/exit-codes.js +4 -0
  138. package/dist/utils/exit-codes.js.map +1 -0
  139. package/dist/utils/extensions-catalog.js.map +1 -1
  140. package/dist/utils/godot-editor.d.ts +1 -1
  141. package/dist/utils/godot-editor.js.map +1 -1
  142. package/dist/utils/godot-process.d.ts +5 -0
  143. package/dist/utils/godot-process.js +16 -0
  144. package/dist/utils/godot-process.js.map +1 -1
  145. package/dist/utils/godot-shutdown.d.ts +3 -1
  146. package/dist/utils/godot-shutdown.js +4 -2
  147. package/dist/utils/godot-shutdown.js.map +1 -1
  148. package/dist/utils/input.d.ts +3 -3
  149. package/dist/utils/input.js +22 -35
  150. package/dist/utils/input.js.map +1 -1
  151. package/dist/utils/machine-store.js.map +1 -1
  152. package/dist/utils/output.d.ts +45 -0
  153. package/dist/utils/output.js +101 -0
  154. package/dist/utils/output.js.map +1 -0
  155. package/dist/utils/project-godot.js.map +1 -1
  156. package/dist/utils/server-source.d.ts +1 -1
  157. package/dist/utils/server-source.js +1 -1
  158. package/dist/utils/server-source.js.map +1 -1
  159. package/dist/utils/skill-guides.d.ts +8 -11
  160. package/dist/utils/skill-guides.js +100 -43
  161. package/dist/utils/skill-guides.js.map +1 -1
  162. package/dist/utils/skills.d.ts +1 -14
  163. package/dist/utils/skills.js +0 -89
  164. package/dist/utils/skills.js.map +1 -1
  165. package/dist/utils/ui.d.ts +6 -1
  166. package/dist/utils/ui.js +72 -58
  167. package/dist/utils/ui.js.map +1 -1
  168. package/dist/utils/update-check.d.ts +6 -17
  169. package/dist/utils/update-check.js +10 -77
  170. package/dist/utils/update-check.js.map +1 -1
  171. package/package.json +9 -9
  172. package/dist/utils/json-parse.d.ts +0 -25
  173. package/dist/utils/json-parse.js +0 -83
  174. package/dist/utils/json-parse.js.map +0 -1
  175. package/dist/utils/semver.d.ts +0 -4
  176. package/dist/utils/semver.js +0 -25
  177. package/dist/utils/semver.js.map +0 -1
@@ -0,0 +1,32 @@
1
+ import { Command } from 'commander';
2
+ import * as ui from '../utils/ui.js';
3
+ import { CommandOutput, addFormatOption, parseFormat } from '../utils/output.js';
4
+ import { importProject } from '../lib/import-project.js';
5
+ import { addHeadlessOptions, diagnosticErrors, finishHeadless, headlessProjectPath, headlessTimeout, printDiagnostics, printSteps, } from './headless-common.js';
6
+ export const importCommand = addFormatOption(addHeadlessOptions(new Command('import')
7
+ .description('Import the project headless (godot --headless --import); fails on import and script errors in the log')
8
+ .argument('[path]', 'Godot project path'), 600000)).action(async (positional, options) => {
9
+ const output = new CommandOutput('import', parseFormat(options.format));
10
+ const result = await importProject({
11
+ projectPath: headlessProjectPath(positional, options),
12
+ timeoutMs: headlessTimeout(options),
13
+ allowOpenProject: options.allowOpen === true,
14
+ ...(options.editorPath ? { editorPath: options.editorPath } : {}),
15
+ onProgress: (m) => output.progress(m),
16
+ });
17
+ const diagnostics = result.diagnostics ?? [];
18
+ for (const d of diagnostics.filter((x) => x.severity === 'warning'))
19
+ output.warnings.push(d.message);
20
+ if (!output.machine) {
21
+ ui.heading('Godot Import');
22
+ if (result.projectPath)
23
+ ui.label('Project', result.projectPath);
24
+ printSteps(result.steps ?? []);
25
+ printDiagnostics(diagnostics.filter((d) => d.severity === 'error'));
26
+ }
27
+ const data = result.projectPath ? { projectPath: result.projectPath, diagnostics, steps: result.steps } : null;
28
+ finishHeadless(output, result, data, result.kind === 'failure'
29
+ ? diagnosticErrors((d) => (d.source === 'engine' ? 'IMPORT_FAILED' : 'SCRIPT_ERRORS'), diagnostics.filter((d) => d.severity === 'error'))
30
+ : [], 'Imported');
31
+ });
32
+ //# sourceMappingURL=import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,UAAU,GAEX,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAC1C,kBAAkB,CAChB,IAAI,OAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,uGAAuG,CAAC;KACpH,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,EAC3C,MAAO,CACR,CACF,CAAC,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,OAA2B,EAAE,EAAE;IAC7E,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;QACjC,WAAW,EAAE,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC;QACrD,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC;QACnC,gBAAgB,EAAE,OAAO,CAAC,SAAS,KAAK,IAAI;QAC5C,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;KACtC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;QAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACrG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,WAAW;YAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAChE,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC/B,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/G,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS;QAC5D,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;QACzI,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"install-plugin.js","sourceRoot":"","sources":["../../src/commands/install-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-plugin.js","sourceRoot":"","sources":["../../src/commands/install-plugin.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,10 @@ import * as ui from '../utils/ui.js';
4
4
  import { verbose } from '../utils/ui.js';
5
5
  import { openProject, resolveProjectPath as libResolveProjectPath, isGodotProjectDir as libIsGodotProjectDir, } from '../lib/open.js';
6
6
  import { resolveOpenAuthToken, resolveSessionConnection } from '../utils/connection.js';
7
+ import { localEditorRefusal, localFallbackNote, resolveEditorConnection, signInState } from '../utils/editor-connection.js';
8
+ import { ExitCode } from '../utils/exit-codes.js';
7
9
  import { createGodotSession, ensureEditor } from '../lib/session.js';
8
- import { parsePositiveIntFlag } from '../utils/input.js';
10
+ import { parseIntFlag } from '../utils/output.js';
9
11
  import { DEFAULT_SESSION_IDLE_SECONDS, DEFAULT_SESSION_READY_TIMEOUT_MS } from '@baizor/gamedev-cli-core';
10
12
  import { pidSuffix } from '../lib/progress.js';
11
13
  /**
@@ -92,6 +94,25 @@ export const openCommand = new Command('open')
92
94
  verbose(`Closed the headless editor (PID ${prepared.stoppedPid})`);
93
95
  // In Cloud mode with no explicit --token / GODOT_MCP_TOKEN, inject the
94
96
  // token persisted by `godot-cli login` so `open --mode Cloud` auto-connects.
97
+ // Nothing chose the connection: follow the project's mode. A machine that never signed in to ai-game.dev gets the
98
+ // project's local server for this editor (in memory: the project stays in Cloud mode); a signed-in one is never
99
+ // switched to a local server.
100
+ let fallbackUrl;
101
+ const nothingChosen = options.connect !== false && options.url === undefined && options.mode === undefined
102
+ && options.token === undefined && options.cloudUrl === undefined && options.auth === undefined;
103
+ if (nothingChosen) {
104
+ const conn = await resolveEditorConnection(projectPath, {});
105
+ if (conn.localFallback) {
106
+ fallbackUrl = conn.url;
107
+ process.stderr.write(`WARN: ${localFallbackNote(conn.url)}
108
+ `);
109
+ }
110
+ else if (conn.signInRequired) {
111
+ // The editor would come up on a Cloud connection it cannot use (and never on a local server instead).
112
+ ui.error(conn.signInRequired);
113
+ process.exit(ExitCode.CommandFailed);
114
+ }
115
+ }
95
116
  const authToken = await resolveOpenAuthToken(projectPath, { token: options.token, mode: options.mode });
96
117
  if (authToken !== undefined && options.token === undefined) {
97
118
  verbose('Using persisted cloud credential (per-project store, legacy fallback, or machine store)');
@@ -103,11 +124,12 @@ export const openCommand = new Command('open')
103
124
  build: options.build !== false,
104
125
  buildConfiguration: options.buildConfiguration,
105
126
  noConnect: options.connect === false,
106
- url: options.url,
127
+ url: options.url ?? fallbackUrl,
128
+ ...(fallbackUrl ? { startServer: true } : {}),
107
129
  cloudUrl: options.cloudUrl,
108
130
  token: authToken,
109
- auth: options.auth,
110
- mode: options.mode,
131
+ auth: (options.auth ?? (fallbackUrl ? 'None' : undefined)),
132
+ mode: (options.mode ?? (fallbackUrl ? 'Custom' : undefined)),
111
133
  logLevel: options.logLevel,
112
134
  onProgress: (event) => {
113
135
  switch (event.phase) {
@@ -184,8 +206,18 @@ export const openCommand = new Command('open')
184
206
  });
185
207
  /** `open --headless`: a ready windowless editor on the project's local server (cli-core EditorSession). */
186
208
  async function openHeadless(projectPath, options) {
187
- const idleSeconds = parsePositiveIntFlag(options.idleTimeout, '--idle-timeout', true);
188
- const readyTimeoutMs = parsePositiveIntFlag(options.readyTimeout, '--ready-timeout');
209
+ const idleSeconds = parseIntFlag(options.idleTimeout, '--idle-timeout', true);
210
+ const readyTimeoutMs = parseIntFlag(options.readyTimeout, '--ready-timeout');
211
+ // A headless editor runs on a local server: never for a Cloud project on a signed-in machine.
212
+ const conn = await resolveEditorConnection(projectPath, { url: options.url, token: options.token });
213
+ const refusal = localEditorRefusal(conn, () => signInState(projectPath) !== 'missing');
214
+ if (refusal) {
215
+ ui.error(refusal);
216
+ process.exit(ExitCode.CommandFailed);
217
+ }
218
+ // The fallback's URL is the project's local port: the session's default.
219
+ if (conn.localFallback)
220
+ process.stderr.write(`WARN: ${localFallbackNote(conn.url)}\n`);
189
221
  const spinner = ui.startSpinner('Connecting...');
190
222
  const result = await ensureEditor({
191
223
  projectPath,
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const rqlCommand: Command;
@@ -0,0 +1,81 @@
1
+ import * as fs from 'fs';
2
+ import { Command, Option } from 'commander';
3
+ import { DEFAULT_SESSION_READY_TIMEOUT_MS } from '@baizor/gamedev-cli-core';
4
+ import { RQL_MUTATE_TOOL, decodeQueryFile, resourcesWrittenSince, rqlMaySave, rqlToolCall, saveReceipt, stripToolName } from '../lib/rql.js';
5
+ import { runTool } from '../lib/run-tool.js';
6
+ import { resolveAndValidateProjectPath } from '../utils/connection.js';
7
+ import { ExitCode } from '../utils/exit-codes.js';
8
+ import { CommandOutput, addFormatOption, parseFormat, parseIntFlag } from '../utils/output.js';
9
+ import { RQL_LANGUAGE, RQL_RECIPES } from '../lib/cli-guide.js';
10
+ import { runToolAction } from './run-tool-builder.js';
11
+ /** How `rql` calls a tool: as run-tool does. */
12
+ const RQL_CALL = {
13
+ name: 'rql',
14
+ routePrefix: '/api/tools',
15
+ verboseLabel: 'Tool',
16
+ errorNoun: 'tool',
17
+ invoke: runTool,
18
+ };
19
+ const RQL_HELP_FOOTER = [
20
+ 'Recipes:',
21
+ ...RQL_RECIPES.map(([query, what]) => ` ${query} # ${what}`),
22
+ '',
23
+ ...RQL_LANGUAGE,
24
+ 'Quote the query with single quotes; strings inside it take double quotes (a shell that strips them: -f <file> or -f -).',
25
+ 'A receipt (set / call) lists every change, so a separate check is rarely needed; scene edits stay unsaved until',
26
+ 'SaveScene() (resource files and project settings are saved at once).',
27
+ 'Sources, types and members: godot-cli rql --schema [Type] (full language: godot-cli tools rql-query)',
28
+ ].join('\n');
29
+ /** The query from the argument or `-f <file>` (`-f -`: stdin; stdin is never read unasked). */
30
+ function readQuery(query, file) {
31
+ if (query !== undefined && file !== undefined)
32
+ throw new Error('Pass the query either as an argument or with -f, not both.');
33
+ if (file === undefined)
34
+ return query;
35
+ return decodeQueryFile(fs.readFileSync(file === '-' ? 0 : file)).trim();
36
+ }
37
+ export const rqlCommand = addFormatOption(new Command('rql')
38
+ .description('Read or change the editor with one RQL query: scenes, nodes, resources (a query ending in set / call changes the editor, any other only reads); starts a headless editor when none answers')
39
+ .argument('[query]', 'RQL query, e.g. \'nodes | where name starts-with "Tree" | count\'')
40
+ .option('--path <path>', 'Godot project path (defaults to cwd)')
41
+ .option('-f, --file <file>', 'Read the query from a file ("-" for stdin)')
42
+ .option('--schema [type]', 'List the RQL sources (or one type\'s members) instead of running a query')
43
+ .option('--dry-run', 'For set / call: show what would change, change nothing')
44
+ .option('--max-targets <n>', 'For set / call: allow more than 200 targets (up to 1000)')
45
+ .option('--no-start', 'Do not start a headless editor when none answers')
46
+ .option('--once', 'Close the editor afterwards when this call started it')
47
+ // The connection options of run-tool work here too; hidden to keep this help short.
48
+ .addOption(new Option('--url <url>', 'MCP server base URL').hideHelp())
49
+ .addOption(new Option('--token <token>', 'Bearer token override').hideHelp())
50
+ .addOption(new Option('--raw', 'Output raw JSON').hideHelp())
51
+ .addOption(new Option('--timeout <ms>', 'Request timeout in milliseconds').default('60000').hideHelp())
52
+ .addOption(new Option('--no-build', 'Do not build the C# assembly before starting an editor').hideHelp())
53
+ .addOption(new Option('--editor-path <path>', 'Godot editor executable for a started editor').hideHelp())
54
+ .addOption(new Option('--ready-timeout <ms>', 'How long to wait for a started editor to become ready').default(String(DEFAULT_SESSION_READY_TIMEOUT_MS)).hideHelp())
55
+ .addHelpText('after', `\n${RQL_HELP_FOOTER}\n`)).action(async (queryArg, options) => {
56
+ const output = new CommandOutput('rql', parseFormat(options.format));
57
+ let query;
58
+ try {
59
+ const text = readQuery(queryArg, options.file);
60
+ query = text === undefined ? undefined : stripToolName(text);
61
+ }
62
+ catch (err) {
63
+ return output.fail(ExitCode.Usage, 'USAGE', err instanceof Error ? err.message : String(err));
64
+ }
65
+ const maxTargets = options.maxTargets === undefined ? undefined : parseIntFlag(options.maxTargets, '--max-targets');
66
+ const call = rqlToolCall(query, { schema: options.schema, dryRun: options.dryRun, maxTargets });
67
+ if ('usage' in call)
68
+ return output.fail(ExitCode.Usage, 'USAGE', call.usage);
69
+ // A save answers without naming its files; which files a change wrote is read from the disk, so nobody re-opens the
70
+ // scene: only for an editor on this machine, and only files written since the tool call itself.
71
+ const receiptFor = call.toolName === RQL_MUTATE_TOOL && !options.dryRun && !options.raw && !output.machine
72
+ ? resolveAndValidateProjectPath(undefined, options) : undefined;
73
+ await runToolAction(RQL_CALL, call.toolName, undefined, { ...options, input: JSON.stringify(call.input) }, ({ calledAt, local }) => {
74
+ if (receiptFor === undefined || !local)
75
+ return;
76
+ const receipt = saveReceipt(resourcesWrittenSince(receiptFor, calledAt), rqlMaySave(query));
77
+ if (receipt)
78
+ console.log(receipt);
79
+ });
80
+ });
81
+ //# sourceMappingURL=rql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rql.js","sourceRoot":"","sources":["../../src/commands/rql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const runScriptCommand: Command;
@@ -0,0 +1,33 @@
1
+ import { Command } from 'commander';
2
+ import * as ui from '../utils/ui.js';
3
+ import { CommandOutput, addFormatOption, parseFormat } from '../utils/output.js';
4
+ import { runScript } from '../lib/run-script.js';
5
+ import { addHeadlessOptions, diagnosticErrors, finishHeadless, headlessProjectPath, headlessTimeout, } from './headless-common.js';
6
+ export const runScriptCommand = addFormatOption(addHeadlessOptions(new Command('run-script')
7
+ .description('Run a one-shot SceneTree GDScript headless (godot -s); exit 0 only when it called quit(0)')
8
+ .argument('<script>', 'GDScript file (res://… or a file path) extending SceneTree or MainLoop')
9
+ .argument('[args...]', 'Arguments for the script (OS.get_cmdline_user_args())'), 300000, false)).action(async (script, scriptArgs, options) => {
10
+ const output = new CommandOutput('run-script', parseFormat(options.format));
11
+ const result = await runScript({
12
+ projectPath: headlessProjectPath(undefined, options),
13
+ timeoutMs: headlessTimeout(options),
14
+ // A -s script runs the game, not the editor: it does not touch the import cache an open editor owns.
15
+ allowOpenProject: true,
16
+ script,
17
+ scriptArgs,
18
+ ...(options.editorPath ? { editorPath: options.editorPath } : {}),
19
+ // Text: stream the script's output as it runs.
20
+ ...(!output.machine ? { onLine: (line) => console.log(line) } : {}),
21
+ });
22
+ const data = result.projectPath ? {
23
+ projectPath: result.projectPath,
24
+ script: result.script,
25
+ scriptExitCode: result.scriptExitCode ?? null,
26
+ output: result.output,
27
+ diagnostics: result.diagnostics,
28
+ } : null;
29
+ if (!output.machine && result.kind === 'failure')
30
+ ui.divider();
31
+ finishHeadless(output, result, data, result.kind === 'failure' ? diagnosticErrors('SCRIPT_ERRORS', (result.diagnostics ?? []).filter((d) => d.severity === 'error')) : []);
32
+ });
33
+ //# sourceMappingURL=run-script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-script.js","sourceRoot":"","sources":["../../src/commands/run-script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,GAEhB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAC7C,kBAAkB,CAChB,IAAI,OAAO,CAAC,YAAY,CAAC;KACtB,WAAW,CAAC,2FAA2F,CAAC;KACxG,QAAQ,CAAC,UAAU,EAAE,wEAAwE,CAAC;KAC9F,QAAQ,CAAC,WAAW,EAAE,uDAAuD,CAAC,EACjF,MAAO,EACP,KAAK,CACN,CACF,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,UAAoB,EAAE,OAA2B,EAAE,EAAE;IACnF,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;QAC7B,WAAW,EAAE,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC;QACpD,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC;QACnC,qGAAqG;QACrG,gBAAgB,EAAE,IAAI;QACtB,MAAM;QACN,UAAU;QACV,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,+CAA+C;QAC/C,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5E,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAChC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,EAAE,CAAC,OAAO,EAAE,CAAC;IAC/D,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7K,CAAC,CAAC,CAAC"}
@@ -6,7 +6,6 @@ export const runSystemToolCommand = buildRunToolCommand({
6
6
  argDescription: 'Name of the system tool to execute',
7
7
  routePrefix: '/api/system-tools',
8
8
  verboseLabel: 'System tool',
9
- headingLabel: 'Run System Tool',
10
9
  errorNoun: 'system tool',
11
10
  invoke: runSystemTool,
12
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"run-system-tool.js","sourceRoot":"","sources":["../../src/commands/run-system-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;IACtD,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,qEAAqE;IAClF,cAAc,EAAE,oCAAoC;IACpD,WAAW,EAAE,mBAAmB;IAChC,YAAY,EAAE,aAAa;IAC3B,YAAY,EAAE,iBAAiB;IAC/B,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,aAAa;CACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"run-system-tool.js","sourceRoot":"","sources":["../../src/commands/run-system-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;IACtD,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,qEAAqE;IAClF,cAAc,EAAE,oCAAoC;IACpD,WAAW,EAAE,mBAAmB;IAChC,YAAY,EAAE,aAAa;IAC3B,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,aAAa;CACtB,CAAC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { Command } from 'commander';
2
+ import { type ToolFailureClass } from '@baizor/gamedev-cli-core';
3
+ import { type EnsureEditorResult } from '../lib/session.js';
2
4
  import type { RunToolFailure, RunToolOptions, RunToolResult } from '../lib/types.js';
3
- interface BuilderOptions {
5
+ export interface BuilderOptions {
4
6
  /** CLI subcommand name, e.g. `'run-tool'`. */
5
7
  name: string;
6
8
  /** `description()` text for the commander command. */
@@ -11,8 +13,6 @@ interface BuilderOptions {
11
13
  routePrefix: string;
12
14
  /** Verbose-log label, e.g. `'Tool'` or `'System tool'`. */
13
15
  verboseLabel: string;
14
- /** Heading printed by `ui.heading`, e.g. `'Run Tool'`. */
15
- headingLabel: string;
16
16
  /**
17
17
  * Lower-case noun used in user-facing failure copy:
18
18
  * `Failed to call <noun>:` and `<Capitalized> call timed out…`.
@@ -21,6 +21,23 @@ interface BuilderOptions {
21
21
  /** Library function — `runTool` or `runSystemTool`. */
22
22
  invoke: (opts: RunToolOptions) => Promise<RunToolResult>;
23
23
  }
24
+ /** What `runToolAction` needs of a command: everything but its help texts. */
25
+ export type RunToolCall = Omit<BuilderOptions, 'description' | 'argDescription'>;
26
+ export interface RunToolCliOptions {
27
+ path?: string;
28
+ url?: string;
29
+ token?: string;
30
+ input?: string;
31
+ inputFile?: string;
32
+ raw?: boolean;
33
+ timeout?: string;
34
+ format?: string;
35
+ start?: boolean;
36
+ once?: boolean;
37
+ build?: boolean;
38
+ editorPath?: string;
39
+ readyTimeout: string;
40
+ }
24
41
  export interface FailureContext {
25
42
  toolName: string;
26
43
  endpoint: string;
@@ -28,6 +45,23 @@ export interface FailureContext {
28
45
  timeoutMs: number;
29
46
  errorNoun: string;
30
47
  }
48
+ /** Exit code and envelope error code when no editor could be obtained (the shared table). */
49
+ export declare function ensureFailureExit(failure: Pick<Extract<EnsureEditorResult, {
50
+ kind: 'failure';
51
+ }>, 'reason' | 'sessionReason'>): ToolFailureClass;
52
+ /** A tool response that carries `status: "error"`: the call reached the tool and the tool failed. */
53
+ export declare function isToolErrorResponse(data: unknown): boolean;
31
54
  export declare function buildRunToolCommand(cfg: BuilderOptions): Command;
55
+ /** Call one tool and print its answer (`run-tool`, and `rql` with the RQL tool it picks); a failure exits. */
56
+ export declare function runToolAction(cfg: RunToolCall, toolName: string, positionalPath: string | undefined, options: RunToolCliOptions,
57
+ /** After a successful call printed its answer: when the call went out, and whether the editor runs on this machine. */
58
+ onSuccess?: (call: {
59
+ calledAt: number;
60
+ local: boolean;
61
+ }) => void): Promise<void>;
32
62
  export declare function buildFailureMessage(failure: RunToolFailure, ctx: FailureContext): string;
33
- export {};
63
+ /**
64
+ * The next step after an HTTP failure: list the tools on a 404; on 400 read the tool's arguments (422 is the tool's
65
+ * own failure, e.g. a missing file: its text says what is wrong).
66
+ */
67
+ export declare function httpFailureHint(httpStatus: number | undefined, toolName: string): string | undefined;