picopilot 0.1.5 → 0.2.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 (126) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +205 -17
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/audio.d.ts +3 -3
  5. package/dist/commands/audio.d.ts.map +1 -1
  6. package/dist/commands/audio.js +69 -44
  7. package/dist/commands/audio.js.map +1 -1
  8. package/dist/commands/doctor.d.ts +22 -0
  9. package/dist/commands/doctor.d.ts.map +1 -0
  10. package/dist/commands/doctor.js +226 -0
  11. package/dist/commands/doctor.js.map +1 -0
  12. package/dist/commands/export.d.ts +3 -4
  13. package/dist/commands/export.d.ts.map +1 -1
  14. package/dist/commands/export.js +4 -9
  15. package/dist/commands/export.js.map +1 -1
  16. package/dist/commands/gfx.d.ts +2 -2
  17. package/dist/commands/gfx.d.ts.map +1 -1
  18. package/dist/commands/gfx.js +14 -7
  19. package/dist/commands/gfx.js.map +1 -1
  20. package/dist/commands/lint.d.ts +2 -2
  21. package/dist/commands/lint.d.ts.map +1 -1
  22. package/dist/commands/lint.js +3 -2
  23. package/dist/commands/lint.js.map +1 -1
  24. package/dist/commands/minify.d.ts +2 -2
  25. package/dist/commands/minify.d.ts.map +1 -1
  26. package/dist/commands/minify.js +3 -2
  27. package/dist/commands/minify.js.map +1 -1
  28. package/dist/commands/pico8-env.d.ts +112 -0
  29. package/dist/commands/pico8-env.d.ts.map +1 -0
  30. package/dist/commands/pico8-env.js +118 -0
  31. package/dist/commands/pico8-env.js.map +1 -0
  32. package/dist/commands/playtest.d.ts +2 -2
  33. package/dist/commands/playtest.d.ts.map +1 -1
  34. package/dist/commands/playtest.js +4 -9
  35. package/dist/commands/playtest.js.map +1 -1
  36. package/dist/commands/run.d.ts +3 -4
  37. package/dist/commands/run.d.ts.map +1 -1
  38. package/dist/commands/run.js +52 -19
  39. package/dist/commands/run.js.map +1 -1
  40. package/dist/commands/serve.d.ts +2 -2
  41. package/dist/commands/serve.d.ts.map +1 -1
  42. package/dist/commands/serve.js +4 -9
  43. package/dist/commands/serve.js.map +1 -1
  44. package/dist/commands/shrinko-env.d.ts +22 -0
  45. package/dist/commands/shrinko-env.d.ts.map +1 -0
  46. package/dist/commands/shrinko-env.js +15 -0
  47. package/dist/commands/shrinko-env.js.map +1 -0
  48. package/dist/commands/tokens.d.ts +4 -4
  49. package/dist/commands/tokens.d.ts.map +1 -1
  50. package/dist/commands/tokens.js +3 -2
  51. package/dist/commands/tokens.js.map +1 -1
  52. package/dist/commands/verify.d.ts +2 -2
  53. package/dist/commands/verify.d.ts.map +1 -1
  54. package/dist/commands/verify.js +3 -2
  55. package/dist/commands/verify.js.map +1 -1
  56. package/dist/engine/child-env.d.ts +14 -0
  57. package/dist/engine/child-env.d.ts.map +1 -0
  58. package/dist/engine/child-env.js +21 -0
  59. package/dist/engine/child-env.js.map +1 -0
  60. package/dist/engine/pico8/adapter.d.ts +23 -3
  61. package/dist/engine/pico8/adapter.d.ts.map +1 -1
  62. package/dist/engine/pico8/adapter.js.map +1 -1
  63. package/dist/engine/pico8/cleanup.d.ts +16 -0
  64. package/dist/engine/pico8/cleanup.d.ts.map +1 -0
  65. package/dist/engine/pico8/cleanup.js +74 -0
  66. package/dist/engine/pico8/cleanup.js.map +1 -0
  67. package/dist/engine/pico8/display.d.ts +149 -0
  68. package/dist/engine/pico8/display.d.ts.map +1 -0
  69. package/dist/engine/pico8/display.js +311 -0
  70. package/dist/engine/pico8/display.js.map +1 -0
  71. package/dist/engine/pico8/drive.d.ts.map +1 -1
  72. package/dist/engine/pico8/drive.js +28 -2
  73. package/dist/engine/pico8/drive.js.map +1 -1
  74. package/dist/engine/pico8/harness.d.ts +8 -0
  75. package/dist/engine/pico8/harness.d.ts.map +1 -1
  76. package/dist/engine/pico8/harness.js +9 -1
  77. package/dist/engine/pico8/harness.js.map +1 -1
  78. package/dist/engine/pico8/index.d.ts +3 -0
  79. package/dist/engine/pico8/index.d.ts.map +1 -1
  80. package/dist/engine/pico8/index.js +3 -0
  81. package/dist/engine/pico8/index.js.map +1 -1
  82. package/dist/engine/pico8/shell.d.ts +56 -3
  83. package/dist/engine/pico8/shell.d.ts.map +1 -1
  84. package/dist/engine/pico8/shell.js +188 -24
  85. package/dist/engine/pico8/shell.js.map +1 -1
  86. package/dist/engine/shrinko/shell.d.ts +3 -3
  87. package/dist/engine/shrinko/shell.js +3 -3
  88. package/package.json +2 -2
  89. package/src/cli.test.ts +229 -0
  90. package/src/cli.ts +230 -18
  91. package/src/commands/audio.test.ts +64 -1
  92. package/src/commands/audio.ts +86 -57
  93. package/src/commands/doctor.test.ts +149 -0
  94. package/src/commands/doctor.ts +284 -0
  95. package/src/commands/export.ts +9 -13
  96. package/src/commands/gfx.ts +19 -15
  97. package/src/commands/lint.ts +7 -6
  98. package/src/commands/minify.ts +7 -6
  99. package/src/commands/pico8-env.ts +192 -0
  100. package/src/commands/playtest.ts +8 -11
  101. package/src/commands/run.test.ts +110 -2
  102. package/src/commands/run.ts +68 -24
  103. package/src/commands/serve.ts +8 -11
  104. package/src/commands/shrinko-env.test.ts +68 -0
  105. package/src/commands/shrinko-env.ts +40 -0
  106. package/src/commands/tokens.ts +9 -6
  107. package/src/commands/verify.ts +7 -4
  108. package/src/engine/child-env.ts +22 -0
  109. package/src/engine/pico8/adapter.ts +25 -3
  110. package/src/engine/pico8/cleanup.test.ts +28 -0
  111. package/src/engine/pico8/cleanup.ts +76 -0
  112. package/src/engine/pico8/display.test.ts +210 -0
  113. package/src/engine/pico8/display.ts +429 -0
  114. package/src/engine/pico8/drive.test.ts +20 -0
  115. package/src/engine/pico8/drive.ts +25 -2
  116. package/src/engine/pico8/fake-xvfb.test-support.ts +55 -0
  117. package/src/engine/pico8/harness.test.ts +26 -0
  118. package/src/engine/pico8/harness.ts +18 -2
  119. package/src/engine/pico8/index.ts +3 -0
  120. package/src/engine/pico8/shell.test.ts +448 -9
  121. package/src/engine/pico8/shell.ts +255 -26
  122. package/src/engine/pico8/virtual-display.process.test.ts +206 -0
  123. package/src/engine/shrinko/shell.ts +3 -3
  124. package/src/mcp.process.test.ts +219 -0
  125. package/src/skills/picopilot-audio/SKILL.md +4 -8
  126. package/src/skills/picopilot-overview/SKILL.md +9 -1
@@ -0,0 +1,226 @@
1
+ import { mkdtempSync, realpathSync, rmSync, writeFileSync } from 'node:fs';
2
+ import { tmpdir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ import { z } from 'incur';
5
+ import { DISPLAY_MODES, detectVirtualDisplayBackend, findExecutable, hasNativeDisplay, needsVirtualDisplay, pico8Candidates, pico8ChildEnv, } from '../engine/pico8/index.js';
6
+ import { createShellAdapterFactory, DISPLAY_OPTION, PICO8_ENV, resolveCommandDisplay, } from './pico8-env.js';
7
+ import { createShellShrinkoFactory, } from './shrinko-env.js';
8
+ /** The marker the version-probe cart prints in front of `stat(5)`. */
9
+ const VERSION_MARKER = '__PICOPILOT_PICO8_VERSION__';
10
+ /** The probe cart: print PICO-8's version id, then the done-sentinel. */
11
+ const PROBE_SENTINEL = '__PICOPILOT_DOCTOR_DONE__';
12
+ const PROBE_CART = `pico-8 cartridge // http://www.pico-8.com
13
+ version 42
14
+ __lua__
15
+ printh("${VERSION_MARKER}"..stat(5))
16
+ printh("${PROBE_SENTINEL}")
17
+ `;
18
+ /** A tiny cart for the shrinko probe (a real `--count` run). */
19
+ const SHRINKO_PROBE_CART = `pico-8 cartridge // http://www.pico-8.com
20
+ version 42
21
+ __lua__
22
+ print("hi")
23
+ `;
24
+ /** The doctor's backstop for the headless PICO-8 probe. */
25
+ const PROBE_BACKSTOP_MS = 15_000;
26
+ /**
27
+ * The capability table: every command (or command mode) and what it needs.
28
+ * `display` means a PICO-8 `-run` session: a native display or a virtual one.
29
+ * The `-x` paths (run screenshots, playtest, export, serve) are headless and
30
+ * need PICO-8 only.
31
+ */
32
+ const COMMAND_NEEDS = [
33
+ { command: 'init', needs: [] },
34
+ { command: 'gfx show / set / render', needs: [] },
35
+ { command: 'sfx', needs: [] },
36
+ { command: 'music', needs: [] },
37
+ { command: 'gfx import / export', needs: ['shrinko8'] },
38
+ { command: 'tokens', needs: ['shrinko8'] },
39
+ { command: 'lint', needs: ['shrinko8'] },
40
+ { command: 'minify', needs: ['shrinko8'] },
41
+ { command: 'verify', needs: ['shrinko8'] },
42
+ { command: 'run', needs: ['pico8'] },
43
+ { command: 'playtest', needs: ['pico8'] },
44
+ { command: 'export', needs: ['pico8'] },
45
+ { command: 'serve', needs: ['pico8'] },
46
+ { command: 'run --record-audio', needs: ['pico8', 'display'] },
47
+ { command: 'audio record', needs: ['pico8', 'display'] },
48
+ { command: 'audio render', needs: ['pico8', 'display'] },
49
+ ];
50
+ /** The PICO-8 version from its install path (e.g. `.../pico-8-0.2.7/...`), if it names one. */
51
+ function versionFromPath(path) {
52
+ const m = /pico-?8[-_ ]v?(\d+\.\d+\.\d+[a-z]?)/i.exec(path);
53
+ return m?.[1];
54
+ }
55
+ /**
56
+ * Registers `picopilot doctor`: what can THIS machine do? It reports whether
57
+ * PICO-8 is found (and runs headless, with its version), whether shrinko8 is
58
+ * found, how a PICO-8 `-run` session would get a display (native, a private
59
+ * virtual one via Xvfb, or none), and therefore which commands are available.
60
+ * An agent calls it first instead of discovering limits by failing. It never
61
+ * fails itself: a missing dependency is data in the report.
62
+ */
63
+ export function registerDoctor(cli, deps = {}) {
64
+ const pico8Factory = deps.pico8 ?? createShellAdapterFactory({ parentEnv: deps.parentEnv });
65
+ const shrinkoFactory = deps.shrinko ?? createShellShrinkoFactory({ parentEnv: deps.parentEnv });
66
+ const find = deps.find ?? findExecutable;
67
+ cli.command('doctor', {
68
+ description: 'Report what this machine can do: PICO-8 (found, runs headless, version), shrinko8, the display a PICO-8 -run session would use (native / virtual Xvfb / none), and which picopilot commands are therefore available. Call this first on a new machine.',
69
+ env: PICO8_ENV,
70
+ options: z.object({ display: DISPLAY_OPTION }),
71
+ output: z.object({
72
+ pico8: z.object({
73
+ found: z.boolean().describe('Whether the PICO-8 binary was found.'),
74
+ path: z.string().optional().describe('The resolved binary path.'),
75
+ runs: z
76
+ .boolean()
77
+ .describe('Whether a headless -x probe run actually worked.'),
78
+ version: z
79
+ .string()
80
+ .optional()
81
+ .describe('The PICO-8 version, when its install path names it.'),
82
+ versionId: z
83
+ .number()
84
+ .optional()
85
+ .describe("PICO-8's internal version number (stat(5))."),
86
+ }),
87
+ shrinko8: z.object({
88
+ found: z
89
+ .boolean()
90
+ .describe('Whether shrinko8 ran (token count on a probe cart).'),
91
+ }),
92
+ display: z.object({
93
+ mode: z
94
+ .enum(DISPLAY_MODES)
95
+ .describe('The resolved display mode (--display / env / config).'),
96
+ native: z
97
+ .boolean()
98
+ .describe('Whether DISPLAY or WAYLAND_DISPLAY is set.'),
99
+ virtual: z
100
+ .enum(['Xvfb', 'xvfb-run'])
101
+ .optional()
102
+ .describe('The virtual-display backend available, if any.'),
103
+ runSessions: z
104
+ .enum(['native', 'xvfb', 'none'])
105
+ .describe('How a PICO-8 -run session (audio record/render, run --record-audio) gets a display here.'),
106
+ }),
107
+ available: z
108
+ .array(z.string())
109
+ .describe('Commands that work on this machine.'),
110
+ unavailable: z
111
+ .array(z.object({
112
+ command: z.string(),
113
+ missing: z.array(z.string()),
114
+ }))
115
+ .describe('Commands that do not, and what they are missing.'),
116
+ }),
117
+ async run({ env, ok, error, options, var: vars }) {
118
+ const resolved = resolveCommandDisplay(options.display, vars);
119
+ if (!resolved.ok)
120
+ return error(resolved.error);
121
+ const display = resolved.mode;
122
+ const childEnv = pico8ChildEnv(env, deps.parentEnv ?? process.env);
123
+ // --- PICO-8: locate, then a real headless probe for the version.
124
+ const [pico8File] = pico8Candidates(childEnv);
125
+ const pico8Path = find(pico8File, childEnv);
126
+ let runs = false;
127
+ let versionId;
128
+ let version;
129
+ const probeDir = mkdtempSync(join(tmpdir(), 'picopilot-doctor-'));
130
+ try {
131
+ const cartPath = join(probeDir, 'probe.p8');
132
+ writeFileSync(cartPath, PROBE_CART);
133
+ const result = await pico8Factory(env, {
134
+ display,
135
+ }).run({
136
+ cartPath,
137
+ shotDir: probeDir,
138
+ sentinel: PROBE_SENTINEL,
139
+ backstopMs: PROBE_BACKSTOP_MS,
140
+ });
141
+ if (result.ok) {
142
+ const m = new RegExp(`${VERSION_MARKER}(\\d+)`).exec(result.value.printh);
143
+ if (m !== null) {
144
+ runs = true;
145
+ versionId = Number(m[1]);
146
+ }
147
+ }
148
+ }
149
+ finally {
150
+ rmSync(probeDir, { recursive: true, force: true });
151
+ }
152
+ if (pico8Path !== undefined) {
153
+ let real = pico8Path;
154
+ try {
155
+ real = realpathSync(pico8Path);
156
+ }
157
+ catch {
158
+ // keep the unresolved path
159
+ }
160
+ version = versionFromPath(real) ?? versionFromPath(pico8Path);
161
+ }
162
+ const pico8Found = pico8Path !== undefined || runs;
163
+ // --- shrinko8: a real --count on a tiny cart.
164
+ let shrinkoFound = false;
165
+ const shrinkoDir = mkdtempSync(join(tmpdir(), 'picopilot-doctor-'));
166
+ try {
167
+ const cartPath = join(shrinkoDir, 'probe.p8');
168
+ writeFileSync(cartPath, SHRINKO_PROBE_CART);
169
+ try {
170
+ const count = await shrinkoFactory(env).count(cartPath);
171
+ shrinkoFound = count.ok;
172
+ }
173
+ catch {
174
+ // ran but did not parse: present, yet not usable for us
175
+ shrinkoFound = false;
176
+ }
177
+ }
178
+ finally {
179
+ rmSync(shrinkoDir, { recursive: true, force: true });
180
+ }
181
+ // --- display: how a -run session would get one here.
182
+ const native = hasNativeDisplay(childEnv);
183
+ const virtual = detectVirtualDisplayBackend(childEnv, find);
184
+ const runSessions = needsVirtualDisplay(display, childEnv)
185
+ ? virtual !== undefined
186
+ ? 'xvfb'
187
+ : 'none'
188
+ : native
189
+ ? 'native'
190
+ : 'none';
191
+ const have = {
192
+ pico8: runs,
193
+ shrinko8: shrinkoFound,
194
+ display: runSessions !== 'none',
195
+ };
196
+ const available = [];
197
+ const unavailable = [];
198
+ for (const { command, needs } of COMMAND_NEEDS) {
199
+ const missing = needs.filter((n) => !have[n]);
200
+ if (missing.length === 0)
201
+ available.push(command);
202
+ else
203
+ unavailable.push({ command, missing });
204
+ }
205
+ return ok({
206
+ pico8: {
207
+ found: pico8Found,
208
+ ...(pico8Path !== undefined ? { path: pico8Path } : {}),
209
+ runs,
210
+ ...(version !== undefined ? { version } : {}),
211
+ ...(versionId !== undefined ? { versionId } : {}),
212
+ },
213
+ shrinko8: { found: shrinkoFound },
214
+ display: {
215
+ mode: display,
216
+ native,
217
+ ...(virtual !== undefined ? { virtual } : {}),
218
+ runSessions,
219
+ },
220
+ available,
221
+ unavailable,
222
+ });
223
+ },
224
+ });
225
+ }
226
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import { type Cli } from 'incur';
2
- import { type Pico8Adapter } from '../engine/pico8/index.js';
2
+ import { type Pico8AdapterFactory } from './pico8-env.js';
3
3
  /**
4
4
  * Injects the PICO-8 adapter `export` uses (defaults to the shell adapter over
5
5
  * native `pico8 <cart> -export <name>.html -x`). Mirrors the `run` seam: a test
6
- * passes a stub to drive the present/absent paths without the paid binary, and
7
- * to isolate the child `env` (its `PICO8_PATH`/`PATH`).
6
+ * passes a stub to drive the present/absent paths without the paid binary, (the child env is the parent env + PICO8_PATH/PATH).
8
7
  */
9
- export type Pico8AdapterFactory = (env: NodeJS.ProcessEnv) => Pico8Adapter;
8
+ export type { Pico8AdapterFactory } from './pico8-env.js';
10
9
  /**
11
10
  * Registers `picopilot export`, the THIN structured wrapper over PICO-8's HTML
12
11
  * export (`pico8 <cart> -export <name>.html -x`, the headless `-x` path, no
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;AAClC,OAAO,EAEN,KAAK,YAAY,EAGjB,MAAM,0BAA0B,CAAC;AAGlC;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,YAAY,CAAC;AAQ3E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,mBAA2C,GACzD,IAAI,CA+ON"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;AAMlC,OAAO,EAGN,KAAK,mBAAmB,EACxB,MAAM,gBAAgB,CAAC;AAGxB;;;;GAIG;AACH,YAAY,EAAC,mBAAmB,EAAC,MAAM,gBAAgB,CAAC;AAOxD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,mBAA2C,GACzD,IAAI,CAyON"}
@@ -2,9 +2,10 @@ import { existsSync, mkdirSync, mkdtempSync, readdirSync, rmSync } from 'node:fs
2
2
  import { tmpdir } from 'node:os';
3
3
  import { isAbsolute, join, resolve } from 'node:path';
4
4
  import { z } from 'incur';
5
- import { EXPORT_HTML_NAME, ShellPico8Adapter, } from '../engine/pico8/index.js';
5
+ import { EXPORT_HTML_NAME, } from '../engine/pico8/index.js';
6
+ import { createShellAdapterFactory, PICO8_ENV, } from './pico8-env.js';
6
7
  import { prepareLabeledCart } from './label-cart.js';
7
- const defaultAdapterFactory = (env) => new ShellPico8Adapter({ env });
8
+ const defaultAdapterFactory = createShellAdapterFactory();
8
9
  /** The default backstop: kill an export that never completes/exits after this many ms. */
9
10
  const DEFAULT_BACKSTOP_MS = 30_000;
10
11
  /**
@@ -69,13 +70,7 @@ export function registerExport(cli, adapterFactory = defaultAdapterFactory) {
69
70
  }),
70
71
  // incur resolves these from the (test-overridable) env source and hands
71
72
  // them to the child, so PICO8_PATH/PATH locate the binary in isolation.
72
- env: z.object({
73
- PICO8_PATH: z
74
- .string()
75
- .optional()
76
- .describe('Explicit path to the PICO-8 binary (else `pico8` on PATH).'),
77
- PATH: z.string().optional().describe('Used to locate `pico8`.'),
78
- }),
73
+ env: PICO8_ENV,
79
74
  output: z.object({
80
75
  outDir: z
81
76
  .string()
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Cli } from 'incur';
2
- import { type ShrinkoAdapter } from '../engine/shrinko/index.js';
2
+ import { type ShrinkoAdapterFactory } from './shrinko-env.js';
3
3
  /** Injects the shrinko adapter `gfx import`/`gfx export` use (the spritesheet round-trip). */
4
- export type ShrinkoAdapterFactory = (env: NodeJS.ProcessEnv) => ShrinkoAdapter;
4
+ export type { ShrinkoAdapterFactory } from './shrinko-env.js';
5
5
  /**
6
6
  * The exit code for the `map-overlap` refusal. Chosen as 1 (a plain failure),
7
7
  * matching every other picopilot structured refusal (`cart-not-found`,
@@ -1 +1 @@
1
- {"version":3,"file":"gfx.d.ts","sourceRoot":"","sources":["../../src/commands/gfx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,GAAG,EAAI,MAAM,OAAO,CAAC;AAoB7B,OAAO,EACN,KAAK,cAAc,EAEnB,MAAM,4BAA4B,CAAC;AAEpC,8FAA8F;AAC9F,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,cAAc,CAAC;AAK/E;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAykBlC;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAC1B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,qBAA6C,GAC3D,IAAI,CAEN"}
1
+ {"version":3,"file":"gfx.d.ts","sourceRoot":"","sources":["../../src/commands/gfx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,GAAG,EAAI,MAAM,OAAO,CAAC;AAqB7B,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,kBAAkB,CAAC;AAG1B,8FAA8F;AAC9F,YAAY,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAK5D;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AA2kBlC;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAC1B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,qBAA6C,GAC3D,IAAI,CAEN"}
@@ -3,8 +3,10 @@ import { basename, dirname, extname, isAbsolute, join, resolve } from 'node:path
3
3
  import { Cli, z } from 'incur';
4
4
  import { Cart, CartParseError, GFX_WIDTH, GfxSheet, SPRITE_SIZE, spriteAliasesMap, } from '../engine/cart/index.js';
5
5
  import { decideOverlap, GfxGridError, gridToNibbles, nibblesToGrid, renderSheetPng, renderSpritePng, SHEET_RENDER_SCALE, SPRITE_RENDER_SCALE, } from '../engine/gfx/index.js';
6
- import { ShellShrinkoAdapter, } from '../engine/shrinko/index.js';
7
- const defaultShrinkoFactory = (env) => new ShellShrinkoAdapter({ env });
6
+ import {} from '../engine/shrinko/index.js';
7
+ import { createShellShrinkoFactory, } from './shrinko-env.js';
8
+ import { mcpConfigOption } from './pico8-env.js';
9
+ const defaultShrinkoFactory = createShellShrinkoFactory();
8
10
  /**
9
11
  * The exit code for the `map-overlap` refusal. Chosen as 1 (a plain failure),
10
12
  * matching every other picopilot structured refusal (`cart-not-found`,
@@ -145,10 +147,12 @@ function buildGfxGroup(shrinkoFactory) {
145
147
  .describe('The .p8 cart to write. Defaults to main.p8 in the current folder.'),
146
148
  }),
147
149
  options: z.object({
150
+ // No zod default: an absent value must stay distinguishable, so that under
151
+ // `--mcp` (where incur loads no config) picopilot.json still applies.
148
152
  allowMapOverlap: z
149
153
  .boolean()
150
- .default(false)
151
- .describe('Authorise overwriting existing shared-region data when writing sprites 128-255 (ADR-0004). Also settable as allowMapOverlap in picopilot.json.'),
154
+ .optional()
155
+ .describe('Authorise overwriting existing shared-region data when writing sprites 128-255 (ADR-0004). Also settable as allowMapOverlap in picopilot.json. Default false.'),
152
156
  }),
153
157
  output: z.object({
154
158
  sprite: z.number().describe('The sprite index that was written.'),
@@ -175,7 +179,7 @@ function buildGfxGroup(shrinkoFactory) {
175
179
  },
176
180
  },
177
181
  ],
178
- run({ args, options, error, ok }) {
182
+ run({ args, options, error, ok, var: vars }) {
179
183
  const cartPath = resolveCart(args.cart);
180
184
  // Decode the incoming grid FIRST: a malformed grid is a caller error and
181
185
  // must never touch the cart. (No bytes change on a bad grid.)
@@ -202,8 +206,11 @@ function buildGfxGroup(shrinkoFactory) {
202
206
  // (the shared-bank bytes at risk), NOT __map__ (ADR-0004). The flag and
203
207
  // the picopilot.json config both feed `options.allowMapOverlap` (incur
204
208
  // resolves argv > config > default), so both authorisation paths converge
205
- // here.
206
- const decision = decideOverlap(sheet, args.sprite, options.allowMapOverlap);
209
+ // here. Under `--mcp` incur loads no config, so the picopilot.json value
210
+ // comes from the `mcpConfig` var instead.
211
+ const allowMapOverlap = options.allowMapOverlap ??
212
+ mcpConfigOption(vars, ['gfx', 'set'], 'allowMapOverlap') === true;
213
+ const decision = decideOverlap(sheet, args.sprite, allowMapOverlap);
207
214
  if (decision.kind === 'refused') {
208
215
  // The silent-corruption guard: REFUSE and DO NOT write. The cart file is
209
216
  // never opened for writing on this path, so the sprite's __gfx__ bytes
@@ -1 +1 @@
1
- {"version":3,"file":"gfx.js","sourceRoot":"","sources":["../../src/commands/gfx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gfx.js","sourceRoot":"","sources":["../../src/commands/gfx.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type Cli } from 'incur';
2
- import { type ShrinkoAdapter } from '../engine/shrinko/index.js';
2
+ import { type ShrinkoAdapterFactory } from './shrinko-env.js';
3
3
  /** See {@link import('./tokens.js').ShrinkoAdapterFactory}: lint reuses the same seam. */
4
- export type ShrinkoAdapterFactory = (env: NodeJS.ProcessEnv) => ShrinkoAdapter;
4
+ export type { ShrinkoAdapterFactory } from './shrinko-env.js';
5
5
  /**
6
6
  * Registers `picopilot lint` (US #4): surface PICO-8-specific issues (undefined
7
7
  * globals, unused/duplicate locals, and, via the parsed findings, the classic
@@ -1 +1 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;AAClC,OAAO,EACN,KAAK,cAAc,EAEnB,MAAM,4BAA4B,CAAC;AAEpC,0FAA0F;AAC1F,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,cAAc,CAAC;AAK/E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC3B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,qBAA6C,GAC3D,IAAI,CAqFN"}
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;AAElC,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,0FAA0F;AAC1F,YAAY,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAK5D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC3B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,qBAA6C,GAC3D,IAAI,CAqFN"}
@@ -1,8 +1,9 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { isAbsolute, resolve } from 'node:path';
3
3
  import { z } from 'incur';
4
- import { ShellShrinkoAdapter, } from '../engine/shrinko/index.js';
5
- const defaultAdapterFactory = (env) => new ShellShrinkoAdapter({ env });
4
+ import {} from '../engine/shrinko/index.js';
5
+ import { createShellShrinkoFactory, } from './shrinko-env.js';
6
+ const defaultAdapterFactory = createShellShrinkoFactory();
6
7
  /**
7
8
  * Registers `picopilot lint` (US #4): surface PICO-8-specific issues (undefined
8
9
  * globals, unused/duplicate locals, and, via the parsed findings, the classic
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type Cli } from 'incur';
2
- import { type ShrinkoAdapter } from '../engine/shrinko/index.js';
2
+ import { type ShrinkoAdapterFactory } from './shrinko-env.js';
3
3
  /** See {@link import('./tokens.js').ShrinkoAdapterFactory}: minify reuses the same seam. */
4
- export type ShrinkoAdapterFactory = (env: NodeJS.ProcessEnv) => ShrinkoAdapter;
4
+ export type { ShrinkoAdapterFactory } from './shrinko-env.js';
5
5
  /**
6
6
  * Registers `picopilot minify` (US #5, ADR-0007): run shrinko8's SAFE
7
7
  * minification and write the result to a SEPARATE artifact (`<name>.min.p8` by
@@ -1 +1 @@
1
- {"version":3,"file":"minify.d.ts","sourceRoot":"","sources":["../../src/commands/minify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;AAClC,OAAO,EACN,KAAK,cAAc,EAEnB,MAAM,4BAA4B,CAAC;AAEpC,4FAA4F;AAC5F,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,cAAc,CAAC;AAoB/E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,qBAA6C,GAC3D,IAAI,CA6GN"}
1
+ {"version":3,"file":"minify.d.ts","sourceRoot":"","sources":["../../src/commands/minify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,GAAG,EAAI,MAAM,OAAO,CAAC;AAElC,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,4FAA4F;AAC5F,YAAY,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAoB5D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,cAAc,GAAE,qBAA6C,GAC3D,IAAI,CA6GN"}
@@ -1,8 +1,9 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { dirname, isAbsolute, join, resolve } from 'node:path';
3
3
  import { z } from 'incur';
4
- import { ShellShrinkoAdapter, } from '../engine/shrinko/index.js';
5
- const defaultAdapterFactory = (env) => new ShellShrinkoAdapter({ env });
4
+ import {} from '../engine/shrinko/index.js';
5
+ import { createShellShrinkoFactory, } from './shrinko-env.js';
6
+ const defaultAdapterFactory = createShellShrinkoFactory();
6
7
  /**
7
8
  * Derives the default output path `<name>.min.p8` next to the source cart:
8
9
  * `main.p8` -> `main.min.p8`, `game.p8.png` -> `game.min.p8.png` is NOT the
@@ -1 +1 @@
1
- {"version":3,"file":"minify.js","sourceRoot":"","sources":["../../src/commands/minify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"minify.js","sourceRoot":"","sources":["../../src/commands/minify.ts"],"names":[],"mappings":"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"}