@deckflow/deckuse 1.2.1 → 1.3.0

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 (281) hide show
  1. package/README.es.md +342 -0
  2. package/README.fr.md +342 -0
  3. package/README.ja.md +342 -0
  4. package/README.ko.md +342 -0
  5. package/README.md +46 -8
  6. package/README.pt-BR.md +342 -0
  7. package/README.ru.md +342 -0
  8. package/README.zh-CN.md +367 -0
  9. package/assets/default.docx +0 -0
  10. package/assets/default.pptx +0 -0
  11. package/dist/bin.js +183 -19
  12. package/dist/bin.js.map +1 -1
  13. package/dist/core/adapter.d.ts +24 -0
  14. package/dist/core/adapter.d.ts.map +1 -0
  15. package/dist/core/adapter.js +20 -0
  16. package/dist/core/adapter.js.map +1 -0
  17. package/dist/core/executor.d.ts +24 -0
  18. package/dist/core/executor.d.ts.map +1 -0
  19. package/dist/core/executor.js +65 -0
  20. package/dist/core/executor.js.map +1 -0
  21. package/dist/core/index.d.ts +7 -0
  22. package/dist/core/index.d.ts.map +1 -0
  23. package/dist/core/index.js +7 -0
  24. package/dist/core/index.js.map +1 -0
  25. package/dist/core/length.d.ts +27 -0
  26. package/dist/core/length.d.ts.map +1 -0
  27. package/dist/core/length.js +63 -0
  28. package/dist/core/length.js.map +1 -0
  29. package/dist/core/measure.d.ts +24 -0
  30. package/dist/core/measure.d.ts.map +1 -0
  31. package/dist/core/measure.js +79 -0
  32. package/dist/core/measure.js.map +1 -0
  33. package/dist/core/not-implemented.d.ts +3 -0
  34. package/dist/core/not-implemented.d.ts.map +1 -0
  35. package/dist/core/not-implemented.js +12 -0
  36. package/dist/core/not-implemented.js.map +1 -0
  37. package/dist/core/schema.d.ts +3035 -0
  38. package/dist/core/schema.d.ts.map +1 -0
  39. package/dist/core/schema.js +798 -0
  40. package/dist/core/schema.js.map +1 -0
  41. package/dist/default-template.d.ts +8 -0
  42. package/dist/default-template.d.ts.map +1 -0
  43. package/dist/default-template.js +29 -0
  44. package/dist/default-template.js.map +1 -0
  45. package/dist/docx/adapter.d.ts +29 -0
  46. package/dist/docx/adapter.d.ts.map +1 -0
  47. package/dist/docx/adapter.js +442 -0
  48. package/dist/docx/adapter.js.map +1 -0
  49. package/dist/docx/addressing.d.ts +18 -0
  50. package/dist/docx/addressing.d.ts.map +1 -0
  51. package/dist/docx/addressing.js +111 -0
  52. package/dist/docx/addressing.js.map +1 -0
  53. package/dist/docx/blank.d.ts +4 -0
  54. package/dist/docx/blank.d.ts.map +1 -0
  55. package/dist/docx/blank.js +75 -0
  56. package/dist/docx/blank.js.map +1 -0
  57. package/dist/docx/index-sync.d.ts +7 -0
  58. package/dist/docx/index-sync.d.ts.map +1 -0
  59. package/dist/docx/index-sync.js +24 -0
  60. package/dist/docx/index-sync.js.map +1 -0
  61. package/dist/docx/index.d.ts +5 -0
  62. package/dist/docx/index.d.ts.map +1 -0
  63. package/dist/docx/index.js +4 -0
  64. package/dist/docx/index.js.map +1 -0
  65. package/dist/docx/indexer.d.ts +41 -0
  66. package/dist/docx/indexer.d.ts.map +1 -0
  67. package/dist/docx/indexer.js +353 -0
  68. package/dist/docx/indexer.js.map +1 -0
  69. package/dist/docx/mutations.d.ts +5 -0
  70. package/dist/docx/mutations.d.ts.map +1 -0
  71. package/dist/docx/mutations.js +311 -0
  72. package/dist/docx/mutations.js.map +1 -0
  73. package/dist/docx/paragraphs.d.ts +26 -0
  74. package/dist/docx/paragraphs.d.ts.map +1 -0
  75. package/dist/docx/paragraphs.js +314 -0
  76. package/dist/docx/paragraphs.js.map +1 -0
  77. package/dist/docx/properties.d.ts +23 -0
  78. package/dist/docx/properties.d.ts.map +1 -0
  79. package/dist/docx/properties.js +414 -0
  80. package/dist/docx/properties.js.map +1 -0
  81. package/dist/docx/tables.d.ts +4 -0
  82. package/dist/docx/tables.d.ts.map +1 -0
  83. package/dist/docx/tables.js +64 -0
  84. package/dist/docx/tables.js.map +1 -0
  85. package/dist/docx/text-spans.d.ts +25 -0
  86. package/dist/docx/text-spans.d.ts.map +1 -0
  87. package/dist/docx/text-spans.js +142 -0
  88. package/dist/docx/text-spans.js.map +1 -0
  89. package/dist/docx/types.d.ts +27 -0
  90. package/dist/docx/types.d.ts.map +1 -0
  91. package/dist/docx/types.js +2 -0
  92. package/dist/docx/types.js.map +1 -0
  93. package/dist/docx/workspace.d.ts +20 -0
  94. package/dist/docx/workspace.d.ts.map +1 -0
  95. package/dist/docx/workspace.js +145 -0
  96. package/dist/docx/workspace.js.map +1 -0
  97. package/dist/docx/xml.d.ts +18 -0
  98. package/dist/docx/xml.d.ts.map +1 -0
  99. package/dist/docx/xml.js +87 -0
  100. package/dist/docx/xml.js.map +1 -0
  101. package/dist/edition-config/index.d.ts +25 -0
  102. package/dist/edition-config/index.d.ts.map +1 -0
  103. package/dist/edition-config/index.js +22 -0
  104. package/dist/edition-config/index.js.map +1 -0
  105. package/dist/edition.d.ts +2 -2
  106. package/dist/edition.d.ts.map +1 -1
  107. package/dist/edition.js +1 -1
  108. package/dist/edition.js.map +1 -1
  109. package/dist/help.d.ts.map +1 -1
  110. package/dist/help.js +124 -32
  111. package/dist/help.js.map +1 -1
  112. package/dist/index.d.ts +1 -1
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +6 -6
  115. package/dist/index.js.map +1 -1
  116. package/dist/key/index.d.ts +2 -0
  117. package/dist/key/index.d.ts.map +1 -0
  118. package/dist/key/index.js +3 -0
  119. package/dist/key/index.js.map +1 -0
  120. package/dist/monitor-daemon.d.ts +21 -8
  121. package/dist/monitor-daemon.d.ts.map +1 -1
  122. package/dist/monitor-daemon.js +189 -51
  123. package/dist/monitor-daemon.js.map +1 -1
  124. package/dist/monitor-registry.d.ts +34 -0
  125. package/dist/monitor-registry.d.ts.map +1 -0
  126. package/dist/monitor-registry.js +191 -0
  127. package/dist/monitor-registry.js.map +1 -0
  128. package/dist/monitor.js +1 -1
  129. package/dist/monitor.js.map +1 -1
  130. package/dist/numbers/index.d.ts +2 -0
  131. package/dist/numbers/index.d.ts.map +1 -0
  132. package/dist/numbers/index.js +3 -0
  133. package/dist/numbers/index.js.map +1 -0
  134. package/dist/opc/index.d.ts +90 -0
  135. package/dist/opc/index.d.ts.map +1 -0
  136. package/dist/opc/index.js +569 -0
  137. package/dist/opc/index.js.map +1 -0
  138. package/dist/pptx/adapter.d.ts +167 -0
  139. package/dist/pptx/adapter.d.ts.map +1 -0
  140. package/dist/pptx/adapter.js +807 -0
  141. package/dist/pptx/adapter.js.map +1 -0
  142. package/dist/pptx/addressing.d.ts +45 -0
  143. package/dist/pptx/addressing.d.ts.map +1 -0
  144. package/dist/pptx/addressing.js +428 -0
  145. package/dist/pptx/addressing.js.map +1 -0
  146. package/dist/pptx/align.d.ts +24 -0
  147. package/dist/pptx/align.d.ts.map +1 -0
  148. package/dist/pptx/align.js +112 -0
  149. package/dist/pptx/align.js.map +1 -0
  150. package/dist/pptx/chart-classify.d.ts +10 -0
  151. package/dist/pptx/chart-classify.d.ts.map +1 -0
  152. package/dist/pptx/chart-classify.js +58 -0
  153. package/dist/pptx/chart-classify.js.map +1 -0
  154. package/dist/pptx/chart.d.ts +42 -0
  155. package/dist/pptx/chart.d.ts.map +1 -0
  156. package/dist/pptx/chart.js +614 -0
  157. package/dist/pptx/chart.js.map +1 -0
  158. package/dist/pptx/edition-extension.d.ts +25 -0
  159. package/dist/pptx/edition-extension.d.ts.map +1 -0
  160. package/dist/pptx/edition-extension.js +10 -0
  161. package/dist/pptx/edition-extension.js.map +1 -0
  162. package/dist/pptx/edition.d.ts +20 -0
  163. package/dist/pptx/edition.d.ts.map +1 -0
  164. package/dist/pptx/edition.js +69 -0
  165. package/dist/pptx/edition.js.map +1 -0
  166. package/dist/pptx/elements.d.ts +12 -0
  167. package/dist/pptx/elements.d.ts.map +1 -0
  168. package/dist/pptx/elements.js +224 -0
  169. package/dist/pptx/elements.js.map +1 -0
  170. package/dist/pptx/hyperlink.d.ts +7 -0
  171. package/dist/pptx/hyperlink.d.ts.map +1 -0
  172. package/dist/pptx/hyperlink.js +81 -0
  173. package/dist/pptx/hyperlink.js.map +1 -0
  174. package/dist/pptx/index-sync.d.ts +7 -0
  175. package/dist/pptx/index-sync.d.ts.map +1 -0
  176. package/dist/pptx/index-sync.js +24 -0
  177. package/dist/pptx/index-sync.js.map +1 -0
  178. package/dist/pptx/index.d.ts +10 -0
  179. package/dist/pptx/index.d.ts.map +1 -0
  180. package/dist/pptx/index.js +7 -0
  181. package/dist/pptx/index.js.map +1 -0
  182. package/dist/pptx/indexer.d.ts +19 -0
  183. package/dist/pptx/indexer.d.ts.map +1 -0
  184. package/dist/pptx/indexer.js +319 -0
  185. package/dist/pptx/indexer.js.map +1 -0
  186. package/dist/pptx/layout-ref.d.ts +41 -0
  187. package/dist/pptx/layout-ref.d.ts.map +1 -0
  188. package/dist/pptx/layout-ref.js +145 -0
  189. package/dist/pptx/layout-ref.js.map +1 -0
  190. package/dist/pptx/media.d.ts +15 -0
  191. package/dist/pptx/media.d.ts.map +1 -0
  192. package/dist/pptx/media.js +145 -0
  193. package/dist/pptx/media.js.map +1 -0
  194. package/dist/pptx/mutations.d.ts +11 -0
  195. package/dist/pptx/mutations.d.ts.map +1 -0
  196. package/dist/pptx/mutations.js +1111 -0
  197. package/dist/pptx/mutations.js.map +1 -0
  198. package/dist/pptx/picture.d.ts +25 -0
  199. package/dist/pptx/picture.d.ts.map +1 -0
  200. package/dist/pptx/picture.js +118 -0
  201. package/dist/pptx/picture.js.map +1 -0
  202. package/dist/pptx/placeholder-role.d.ts +19 -0
  203. package/dist/pptx/placeholder-role.d.ts.map +1 -0
  204. package/dist/pptx/placeholder-role.js +71 -0
  205. package/dist/pptx/placeholder-role.js.map +1 -0
  206. package/dist/pptx/properties.d.ts +13 -0
  207. package/dist/pptx/properties.d.ts.map +1 -0
  208. package/dist/pptx/properties.js +587 -0
  209. package/dist/pptx/properties.js.map +1 -0
  210. package/dist/pptx/resolve-properties.d.ts +17 -0
  211. package/dist/pptx/resolve-properties.d.ts.map +1 -0
  212. package/dist/pptx/resolve-properties.js +571 -0
  213. package/dist/pptx/resolve-properties.js.map +1 -0
  214. package/dist/pptx/slide-size.d.ts +9 -0
  215. package/dist/pptx/slide-size.d.ts.map +1 -0
  216. package/dist/pptx/slide-size.js +29 -0
  217. package/dist/pptx/slide-size.js.map +1 -0
  218. package/dist/pptx/slides.d.ts +15 -0
  219. package/dist/pptx/slides.d.ts.map +1 -0
  220. package/dist/pptx/slides.js +236 -0
  221. package/dist/pptx/slides.js.map +1 -0
  222. package/dist/pptx/table-measure.d.ts +43 -0
  223. package/dist/pptx/table-measure.d.ts.map +1 -0
  224. package/dist/pptx/table-measure.js +70 -0
  225. package/dist/pptx/table-measure.js.map +1 -0
  226. package/dist/pptx/table.d.ts +23 -0
  227. package/dist/pptx/table.d.ts.map +1 -0
  228. package/dist/pptx/table.js +529 -0
  229. package/dist/pptx/table.js.map +1 -0
  230. package/dist/pptx/types.d.ts +27 -0
  231. package/dist/pptx/types.d.ts.map +1 -0
  232. package/dist/pptx/types.js +2 -0
  233. package/dist/pptx/types.js.map +1 -0
  234. package/dist/pptx/workspace.d.ts +23 -0
  235. package/dist/pptx/workspace.d.ts.map +1 -0
  236. package/dist/pptx/workspace.js +148 -0
  237. package/dist/pptx/workspace.js.map +1 -0
  238. package/dist/pptx/xml.d.ts +67 -0
  239. package/dist/pptx/xml.d.ts.map +1 -0
  240. package/dist/pptx/xml.js +355 -0
  241. package/dist/pptx/xml.js.map +1 -0
  242. package/dist/render.d.ts.map +1 -1
  243. package/dist/render.js +14 -2
  244. package/dist/render.js.map +1 -1
  245. package/dist/version.d.ts +1 -1
  246. package/dist/version.js +1 -1
  247. package/dist/workspace/git.d.ts +7 -0
  248. package/dist/workspace/git.d.ts.map +1 -0
  249. package/dist/workspace/git.js +82 -0
  250. package/dist/workspace/git.js.map +1 -0
  251. package/dist/workspace/index.d.ts +7 -0
  252. package/dist/workspace/index.d.ts.map +1 -0
  253. package/dist/workspace/index.js +7 -0
  254. package/dist/workspace/index.js.map +1 -0
  255. package/dist/workspace/lock.d.ts +3 -0
  256. package/dist/workspace/lock.d.ts.map +1 -0
  257. package/dist/workspace/lock.js +35 -0
  258. package/dist/workspace/lock.js.map +1 -0
  259. package/dist/workspace/metadata.d.ts +4 -0
  260. package/dist/workspace/metadata.d.ts.map +1 -0
  261. package/dist/workspace/metadata.js +21 -0
  262. package/dist/workspace/metadata.js.map +1 -0
  263. package/dist/workspace/operations.d.ts +14 -0
  264. package/dist/workspace/operations.d.ts.map +1 -0
  265. package/dist/workspace/operations.js +35 -0
  266. package/dist/workspace/operations.js.map +1 -0
  267. package/dist/workspace/paths.d.ts +11 -0
  268. package/dist/workspace/paths.d.ts.map +1 -0
  269. package/dist/workspace/paths.js +12 -0
  270. package/dist/workspace/paths.js.map +1 -0
  271. package/dist/workspace/revision.d.ts +6 -0
  272. package/dist/workspace/revision.d.ts.map +1 -0
  273. package/dist/workspace/revision.js +15 -0
  274. package/dist/workspace/revision.js.map +1 -0
  275. package/dist/xlsx/index.d.ts +2 -0
  276. package/dist/xlsx/index.d.ts.map +1 -0
  277. package/dist/xlsx/index.js +3 -0
  278. package/dist/xlsx/index.js.map +1 -0
  279. package/package.json +48 -27
  280. package/schema/command.schema.json +2399 -0
  281. package/dist/.tsbuildinfo +0 -1
package/dist/bin.js CHANGED
@@ -1,11 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { access, readFile } from 'node:fs/promises';
3
3
  import { dirname, extname, join, resolve } from 'node:path';
4
- import { PROTOCOL_VERSION, commandJsonSchema, measureText, parseLength, revisionAsNumber, } from '@deckflow/deckuse-core';
4
+ import { PROTOCOL_VERSION, commandJsonSchema, measureText, parseLength, revisionAsNumber, } from './core/index.js';
5
5
  import { resolveCliText } from './cli-text.js';
6
+ import { assertDefaultDocxExists, assertDefaultPptxExists } from './default-template.js';
6
7
  import { helpTopicFromArgs, resolveHelp } from './help.js';
7
8
  import { runCommand } from './index.js';
8
- import { monitorStart, monitorStatus, monitorStop, runMonitorForeground, } from './monitor-daemon.js';
9
+ import { monitorStart, monitorStatus, monitorStatusAll, monitorStop, monitorStopAll, runMonitorForeground, } from './monitor-daemon.js';
9
10
  import { renderPage } from './render.js';
10
11
  import { EDITION } from './edition.js';
11
12
  import { version } from './version.js';
@@ -77,9 +78,7 @@ const toEnvelope = (commandLabel, result, extras = {}) => {
77
78
  return {
78
79
  ok: false,
79
80
  command: commandLabel,
80
- warnings: result.diagnostics
81
- .filter((d) => d.severity === 'warning')
82
- .map((d) => d.message),
81
+ warnings: result.diagnostics.filter((d) => d.severity === 'warning').map((d) => d.message),
83
82
  error: {
84
83
  code: result.error.code,
85
84
  message: result.error.message,
@@ -212,6 +211,19 @@ const optionFrom = (list, name) => {
212
211
  const i = list.indexOf(name);
213
212
  return i >= 0 ? list[i + 1] : undefined;
214
213
  };
214
+ /** First positional argument after the command, skipping `--flag value` pairs. */
215
+ const positionalArg = (list) => {
216
+ const flagValues = new Set();
217
+ for (let index = 0; index < list.length; index += 1) {
218
+ const token = list[index];
219
+ if (!token?.startsWith('--'))
220
+ continue;
221
+ const next = list[index + 1];
222
+ if (next !== undefined && !next.startsWith('--'))
223
+ flagValues.add(index + 1);
224
+ }
225
+ return list.find((token, index) => index > 0 && !token.startsWith('--') && !flagValues.has(index));
226
+ };
215
227
  /** Pass through bare numbers as number; keep unit strings for protocol parseLength. */
216
228
  const lengthArg = (raw) => {
217
229
  if (raw === undefined)
@@ -228,11 +240,15 @@ const APPLY_WRITE_TYPES = new Set([
228
240
  'setTransform',
229
241
  'setProperties',
230
242
  'set',
243
+ 'setSlideLayout',
231
244
  'xfrmSet',
232
245
  'zMove',
233
246
  'add',
234
247
  'addSlide',
235
248
  'addShape',
249
+ 'addParagraph',
250
+ 'addTable',
251
+ 'insertBreak',
236
252
  'remove',
237
253
  'replacePicture',
238
254
  'duplicate',
@@ -385,6 +401,22 @@ const main = async () => {
385
401
  source: resolve(source),
386
402
  });
387
403
  }
404
+ else if (action === 'new') {
405
+ const format = (optionFrom(clean, '--format') ?? 'pptx').toLowerCase();
406
+ const workspace = workspaceOpt ?? positionalArg(clean);
407
+ if (!workspace)
408
+ throw new Error('Usage: deckuse new <workspace/> [--format pptx|docx]');
409
+ if (format !== 'pptx' && format !== 'docx')
410
+ throw new Error('Usage: deckuse new <workspace/> [--format pptx|docx]');
411
+ const source = format === 'docx' ? await assertDefaultDocxExists() : await assertDefaultPptxExists();
412
+ ok = await execute('deckuse new', {
413
+ version: PROTOCOL_VERSION,
414
+ type: 'init',
415
+ workspaceId: resolve(workspace),
416
+ format,
417
+ source,
418
+ });
419
+ }
388
420
  else if (action === 'status') {
389
421
  const workspace = await findWorkspace(workspaceOpt ?? clean[1]);
390
422
  ok = await execute('deckuse status', {
@@ -395,15 +427,27 @@ const main = async () => {
395
427
  }
396
428
  else if (action === 'list') {
397
429
  const resource = clean[1];
398
- if (!resource)
399
- throw new Error('Usage: deckuse list <slides|shapes|layouts|masters|theme>');
430
+ const resources = [
431
+ 'slides',
432
+ 'shapes',
433
+ 'layouts',
434
+ 'masters',
435
+ 'theme',
436
+ 'paragraphs',
437
+ 'tables',
438
+ 'sections',
439
+ 'styles',
440
+ 'bookmarks',
441
+ ];
442
+ if (!resource || !resources.includes(resource))
443
+ throw new Error('Usage: deckuse list <slides|shapes|layouts|masters|theme|paragraphs|tables|sections|styles|bookmarks>');
400
444
  const workspace = await findWorkspace(workspaceOpt);
401
445
  const slide = optionFrom(clean, '--slide');
402
446
  ok = await execute(`deckuse list ${resource}`, {
403
447
  version: PROTOCOL_VERSION,
404
448
  type: 'list',
405
449
  workspaceId: workspace,
406
- resource,
450
+ resource: resource,
407
451
  ...(slide ? { slide: Number(slide) } : {}),
408
452
  });
409
453
  }
@@ -460,7 +504,9 @@ const main = async () => {
460
504
  ok = await execute('deckuse add slide', {
461
505
  ...base,
462
506
  type: 'addSlide',
463
- ...(optionFrom(clean, '--after') ? { after: Number(optionFrom(clean, '--after')) } : {}),
507
+ ...(optionFrom(clean, '--after')
508
+ ? { after: Number(optionFrom(clean, '--after')) }
509
+ : {}),
464
510
  ...(optionFrom(clean, '--layout') ? { layout: optionFrom(clean, '--layout') } : {}),
465
511
  ...(optionFrom(clean, '--name') ? { name: optionFrom(clean, '--name') } : {}),
466
512
  });
@@ -544,8 +590,71 @@ const main = async () => {
544
590
  ...(takeFlag(clean, '--show-data-labels') ? { showDataLabels: true } : {}),
545
591
  });
546
592
  }
593
+ else if (what === 'paragraph') {
594
+ const textRaw = takeFlag(clean, '--text-raw');
595
+ const textFile = optionFrom(clean, '--text-file');
596
+ const textOpt = optionFrom(clean, '--text');
597
+ const initialText = await resolveCliText({
598
+ ...(textOpt !== undefined ? { value: textOpt } : {}),
599
+ ...(textFile !== undefined ? { textFile } : {}),
600
+ raw: textRaw,
601
+ });
602
+ const blocksRaw = optionFrom(clean, '--blocks');
603
+ let blocks;
604
+ if (blocksRaw !== undefined) {
605
+ try {
606
+ blocks = JSON.parse(blocksRaw);
607
+ }
608
+ catch {
609
+ throw new Error('--blocks must be a JSON array of {text|runs, fontSize?, ...}');
610
+ }
611
+ }
612
+ const levelRaw = optionFrom(clean, '--level');
613
+ ok = await execute('deckuse add paragraph', {
614
+ ...base,
615
+ type: 'addParagraph',
616
+ ...(optionFrom(clean, '--after') ? { after: optionFrom(clean, '--after') } : {}),
617
+ ...(optionFrom(clean, '--style') ? { style: optionFrom(clean, '--style') } : {}),
618
+ ...(levelRaw !== undefined ? { level: Number(levelRaw) } : {}),
619
+ ...(optionFrom(clean, '--name') ? { name: optionFrom(clean, '--name') } : {}),
620
+ ...(initialText !== undefined ? { text: initialText } : {}),
621
+ ...(blocks !== undefined ? { blocks } : {}),
622
+ });
623
+ }
624
+ else if (what === 'table') {
625
+ const rowsRaw = optionFrom(clean, '--rows');
626
+ if (!rowsRaw)
627
+ throw new Error(`Usage: deckuse add table --rows '[["A","B"],["1","2"]]' [--name <bookmark>] [--after <target>]`);
628
+ let rows;
629
+ try {
630
+ const parsed = JSON.parse(rowsRaw);
631
+ if (!Array.isArray(parsed) ||
632
+ !parsed.every((row) => Array.isArray(row) && row.every((cell) => typeof cell === 'string'))) {
633
+ throw new Error('expected string[][]');
634
+ }
635
+ rows = parsed;
636
+ }
637
+ catch {
638
+ throw new Error(`--rows must be JSON string[][] (example: --rows '[["A","B"],["1","2"]]')`);
639
+ }
640
+ ok = await execute('deckuse add table', {
641
+ ...base,
642
+ type: 'addTable',
643
+ rows,
644
+ ...(optionFrom(clean, '--after') ? { after: optionFrom(clean, '--after') } : {}),
645
+ ...(optionFrom(clean, '--name') ? { name: optionFrom(clean, '--name') } : {}),
646
+ });
647
+ }
648
+ else if (what === 'break') {
649
+ ok = await execute('deckuse add break', {
650
+ ...base,
651
+ type: 'insertBreak',
652
+ kind: 'page',
653
+ ...(optionFrom(clean, '--after') ? { after: optionFrom(clean, '--after') } : {}),
654
+ });
655
+ }
547
656
  else
548
- throw new Error('Usage: deckuse add <slide|shape> ...');
657
+ throw new Error('Usage: deckuse add <slide|shape|paragraph|table|break> ...');
549
658
  }
550
659
  else if (action === 'remove') {
551
660
  const target = clean[1];
@@ -600,6 +709,21 @@ const main = async () => {
600
709
  });
601
710
  }
602
711
  }
712
+ else if (clean[1] === 'slide-layout') {
713
+ const slideRaw = optionFrom(clean, '--slide');
714
+ const layout = optionFrom(clean, '--layout');
715
+ if (!slideRaw || !layout)
716
+ throw new Error('Usage: deckuse set slide-layout --slide <n> --layout <index|layout:N|slide:N|name>');
717
+ const slide = Number(slideRaw);
718
+ if (!Number.isInteger(slide) || slide < 1)
719
+ throw new Error('--slide must be a positive integer');
720
+ ok = await execute('deckuse set slide-layout', {
721
+ ...base,
722
+ type: 'setSlideLayout',
723
+ slide,
724
+ layout,
725
+ });
726
+ }
603
727
  else {
604
728
  const target = clean[1];
605
729
  if (!target)
@@ -635,12 +759,8 @@ const main = async () => {
635
759
  find: source,
636
760
  replace: target,
637
761
  ...(clean.includes('--regex') ? { regex: true } : {}),
638
- ...(optionFrom(clean, '--limit')
639
- ? { limit: Number(optionFrom(clean, '--limit')) }
640
- : {}),
641
- ...(optionFrom(clean, '--selector')
642
- ? { selector: optionFrom(clean, '--selector') }
643
- : {}),
762
+ ...(optionFrom(clean, '--limit') ? { limit: Number(optionFrom(clean, '--limit')) } : {}),
763
+ ...(optionFrom(clean, '--selector') ? { selector: optionFrom(clean, '--selector') } : {}),
644
764
  });
645
765
  }
646
766
  else if (action === 'xfrm') {
@@ -681,7 +801,10 @@ const main = async () => {
681
801
  const mode = optionFrom(clean, '--mode');
682
802
  if (!slide || !targetsRaw || !mode)
683
803
  throw new Error('Usage: deckuse align --slide <n> --targets <t1,t2,...> --mode <left|right|top|bottom|center-h|center-v|distribute-h|distribute-v> [--gap <length>]');
684
- const targets = targetsRaw.split(',').map((t) => t.trim()).filter(Boolean);
804
+ const targets = targetsRaw
805
+ .split(',')
806
+ .map((t) => t.trim())
807
+ .filter(Boolean);
685
808
  ok = await execute('deckuse align', {
686
809
  ...(await mutationExtras(workspace)),
687
810
  type: 'alignElements',
@@ -836,8 +959,11 @@ const main = async () => {
836
959
  });
837
960
  }
838
961
  else if (action === 'monitor') {
839
- const sub = clean[1] === 'start' || clean[1] === 'stop' || clean[1] === 'status' ? clean[1] : undefined;
962
+ const sub = clean[1] === 'start' || clean[1] === 'stop' || clean[1] === 'status'
963
+ ? clean[1]
964
+ : undefined;
840
965
  const daemonWorker = takeFlag(clean, '--daemon-worker');
966
+ const stopAll = takeFlag(clean, '--all');
841
967
  const positionalWorkspace = sub
842
968
  ? clean[2] && !clean[2].startsWith('--')
843
969
  ? clean[2]
@@ -845,11 +971,49 @@ const main = async () => {
845
971
  : clean[1] && !clean[1].startsWith('--')
846
972
  ? clean[1]
847
973
  : undefined;
848
- const workspace = await findWorkspace(workspaceOpt ?? positionalWorkspace);
974
+ const hasWorkspaceArg = Boolean(workspaceOpt ?? positionalWorkspace);
849
975
  const port = Number(optionFrom(clean, '--port') ?? 4173);
850
976
  if (!Number.isInteger(port) || port < 0 || port > 65535)
851
977
  throw new Error('--port must be an integer between 0 and 65535');
852
978
  const host = optionFrom(clean, '--host') ?? '0.0.0.0';
979
+ if (sub === 'status' && !hasWorkspaceArg) {
980
+ const result = await monitorStatusAll();
981
+ outputEnvelope({
982
+ ok: true,
983
+ command: 'deckuse monitor status',
984
+ data: result,
985
+ });
986
+ return;
987
+ }
988
+ if (sub === 'stop' && stopAll) {
989
+ const result = await monitorStopAll();
990
+ outputEnvelope({
991
+ ok: true,
992
+ command: 'deckuse monitor stop',
993
+ data: result,
994
+ });
995
+ return;
996
+ }
997
+ if (sub === 'stop' && !hasWorkspaceArg) {
998
+ const listed = await monitorStatusAll();
999
+ const summary = listed.monitors.length === 0
1000
+ ? 'No running monitor daemons found.'
1001
+ : `Running monitors:\n${listed.monitors
1002
+ .map((m) => ` pid=${String(m.pid)} port=${String(m.port)} workspace=${m.workspace} url=${m.url}`)
1003
+ .join('\n')}`;
1004
+ outputEnvelope({
1005
+ ok: false,
1006
+ command: 'deckuse monitor stop',
1007
+ error: {
1008
+ code: 'INVALID_COMMAND',
1009
+ message: `Pass --workspace <path>, a workspace path argument, or --all. ` +
1010
+ `Run deckuse monitor status to list daemons.\n${summary}`,
1011
+ },
1012
+ });
1013
+ process.exitCode = 1;
1014
+ return;
1015
+ }
1016
+ const workspace = await findWorkspace(workspaceOpt ?? positionalWorkspace);
853
1017
  if (sub === 'start') {
854
1018
  try {
855
1019
  const meta = await monitorStart(workspace, { host, port });
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Command, InitResult, Result } from './schema.js';
2
+ export interface AdapterContext {
3
+ readonly signal?: AbortSignal;
4
+ readonly now?: () => Date;
5
+ }
6
+ export type AdapterResolver = (workspaceId: string, context: AdapterContext) => Promise<FormatAdapter | undefined> | FormatAdapter | undefined;
7
+ export interface FormatAdapter {
8
+ readonly format: string;
9
+ readonly version: string;
10
+ init(command: Extract<Command, {
11
+ type: 'init';
12
+ }>, context: AdapterContext): Promise<Result<InitResult>>;
13
+ execute(command: Exclude<Command, {
14
+ type: 'init';
15
+ }>, context: AdapterContext): Promise<Result<unknown>>;
16
+ }
17
+ export declare class AdapterRegistry {
18
+ #private;
19
+ register(adapter: FormatAdapter): this;
20
+ get(format: string): FormatAdapter | undefined;
21
+ has(format: string): boolean;
22
+ formats(): readonly string[];
23
+ }
24
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/core/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG,CAC5B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,aAAa,GAAG,SAAS,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,IAAI,CACF,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAC3C,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/B,OAAO,CACL,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAC3C,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7B;AAED,qBAAa,eAAe;;IAE1B,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAMtC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAG9C,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAG5B,OAAO,IAAI,SAAS,MAAM,EAAE;CAG7B"}
@@ -0,0 +1,20 @@
1
+ export class AdapterRegistry {
2
+ #adapters = new Map();
3
+ register(adapter) {
4
+ const key = adapter.format.toLowerCase();
5
+ if (this.#adapters.has(key))
6
+ throw new Error(`Adapter already registered: ${key}`);
7
+ this.#adapters.set(key, adapter);
8
+ return this;
9
+ }
10
+ get(format) {
11
+ return this.#adapters.get(format.toLowerCase());
12
+ }
13
+ has(format) {
14
+ return this.#adapters.has(format.toLowerCase());
15
+ }
16
+ formats() {
17
+ return [...this.#adapters.keys()].sort();
18
+ }
19
+ }
20
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/core/adapter.ts"],"names":[],"mappings":"AAyBA,MAAM,OAAO,eAAe;IACjB,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IACtD,QAAQ,CAAC,OAAsB;QAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,GAAG,CAAC,MAAc;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,GAAG,CAAC,MAAc;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import { AdapterRegistry, type AdapterContext, type AdapterResolver } from './adapter.js';
2
+ import { type Command, type Result } from './schema.js';
3
+ export interface ExecutorOptions {
4
+ readonly context?: AdapterContext;
5
+ readonly resolveAdapter?: AdapterResolver;
6
+ }
7
+ export declare class Executor {
8
+ #private;
9
+ readonly registry: AdapterRegistry;
10
+ readonly options: ExecutorOptions;
11
+ constructor(registry: AdapterRegistry, options?: ExecutorOptions);
12
+ execute(input: unknown): Promise<Result<unknown>>;
13
+ }
14
+ export declare const execute: (executor: Executor, command: Command) => Promise<Result<unknown>>;
15
+ export declare const inspect: (executor: Executor, workspaceId: string, options?: Partial<Omit<Extract<Command, {
16
+ type: "inspect";
17
+ }>, "type" | "version" | "workspaceId">>) => Promise<Result<unknown>>;
18
+ export declare const getText: (executor: Executor, workspaceId: string, ref: Extract<Command, {
19
+ type: "getText";
20
+ }>["ref"]) => Promise<Result<unknown>>;
21
+ export declare const setText: (executor: Executor, workspaceId: string, transactionId: string, ref: NonNullable<Extract<Command, {
22
+ type: "setText";
23
+ }>["ref"]>, text: string) => Promise<Result<unknown>>;
24
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/core/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EAErB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAsB,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC;CAC3C;AACD,qBAAa,QAAQ;;IAGjB,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAClC,QAAQ,CAAC,OAAO,EAAE,eAAe;gBADxB,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAE,eAAoB;IAElC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CA8DxD;AAED,eAAO,MAAM,OAAO,GAAI,UAAU,QAAQ,EAAE,SAAS,OAAO,KAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAC3D,CAAC;AAC5B,eAAO,MAAM,OAAO,GAClB,UAAU,QAAQ,EAClB,aAAa,MAAM,EACnB,UAAS,OAAO,CACd,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,CAC3E,6BAC2E,CAAC;AACpF,eAAO,MAAM,OAAO,GAClB,UAAU,QAAQ,EAClB,aAAa,MAAM,EACnB,KAAK,OAAO,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC,KAAK,CAAC,6BACyB,CAAC;AAC7E,eAAO,MAAM,OAAO,GAClB,UAAU,QAAQ,EAClB,aAAa,MAAM,EACnB,eAAe,MAAM,EACrB,KAAK,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAC9D,MAAM,MAAM,6BACmF,CAAC"}