@deckflow/deckuse 1.2.1 → 1.3.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.
- package/README.es.md +342 -0
- package/README.fr.md +342 -0
- package/README.ja.md +342 -0
- package/README.ko.md +342 -0
- package/README.md +60 -8
- package/README.pt-BR.md +342 -0
- package/README.ru.md +342 -0
- package/README.zh-CN.md +367 -0
- package/assets/default.docx +0 -0
- package/assets/default.pptx +0 -0
- package/dist/bin.js +188 -21
- package/dist/bin.js.map +1 -1
- package/dist/core/adapter.d.ts +24 -0
- package/dist/core/adapter.d.ts.map +1 -0
- package/dist/core/adapter.js +20 -0
- package/dist/core/adapter.js.map +1 -0
- package/dist/core/executor.d.ts +24 -0
- package/dist/core/executor.d.ts.map +1 -0
- package/dist/core/executor.js +65 -0
- package/dist/core/executor.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +7 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/length.d.ts +27 -0
- package/dist/core/length.d.ts.map +1 -0
- package/dist/core/length.js +63 -0
- package/dist/core/length.js.map +1 -0
- package/dist/core/measure.d.ts +24 -0
- package/dist/core/measure.d.ts.map +1 -0
- package/dist/core/measure.js +79 -0
- package/dist/core/measure.js.map +1 -0
- package/dist/core/not-implemented.d.ts +3 -0
- package/dist/core/not-implemented.d.ts.map +1 -0
- package/dist/core/not-implemented.js +12 -0
- package/dist/core/not-implemented.js.map +1 -0
- package/dist/core/schema.d.ts +3065 -0
- package/dist/core/schema.d.ts.map +1 -0
- package/dist/core/schema.js +799 -0
- package/dist/core/schema.js.map +1 -0
- package/dist/default-template.d.ts +8 -0
- package/dist/default-template.d.ts.map +1 -0
- package/dist/default-template.js +29 -0
- package/dist/default-template.js.map +1 -0
- package/dist/docx/adapter.d.ts +29 -0
- package/dist/docx/adapter.d.ts.map +1 -0
- package/dist/docx/adapter.js +442 -0
- package/dist/docx/adapter.js.map +1 -0
- package/dist/docx/addressing.d.ts +18 -0
- package/dist/docx/addressing.d.ts.map +1 -0
- package/dist/docx/addressing.js +111 -0
- package/dist/docx/addressing.js.map +1 -0
- package/dist/docx/blank.d.ts +4 -0
- package/dist/docx/blank.d.ts.map +1 -0
- package/dist/docx/blank.js +75 -0
- package/dist/docx/blank.js.map +1 -0
- package/dist/docx/index-sync.d.ts +7 -0
- package/dist/docx/index-sync.d.ts.map +1 -0
- package/dist/docx/index-sync.js +24 -0
- package/dist/docx/index-sync.js.map +1 -0
- package/dist/docx/index.d.ts +5 -0
- package/dist/docx/index.d.ts.map +1 -0
- package/dist/docx/index.js +4 -0
- package/dist/docx/index.js.map +1 -0
- package/dist/docx/indexer.d.ts +41 -0
- package/dist/docx/indexer.d.ts.map +1 -0
- package/dist/docx/indexer.js +353 -0
- package/dist/docx/indexer.js.map +1 -0
- package/dist/docx/mutations.d.ts +5 -0
- package/dist/docx/mutations.d.ts.map +1 -0
- package/dist/docx/mutations.js +311 -0
- package/dist/docx/mutations.js.map +1 -0
- package/dist/docx/paragraphs.d.ts +26 -0
- package/dist/docx/paragraphs.d.ts.map +1 -0
- package/dist/docx/paragraphs.js +314 -0
- package/dist/docx/paragraphs.js.map +1 -0
- package/dist/docx/properties.d.ts +23 -0
- package/dist/docx/properties.d.ts.map +1 -0
- package/dist/docx/properties.js +414 -0
- package/dist/docx/properties.js.map +1 -0
- package/dist/docx/tables.d.ts +4 -0
- package/dist/docx/tables.d.ts.map +1 -0
- package/dist/docx/tables.js +64 -0
- package/dist/docx/tables.js.map +1 -0
- package/dist/docx/text-spans.d.ts +25 -0
- package/dist/docx/text-spans.d.ts.map +1 -0
- package/dist/docx/text-spans.js +142 -0
- package/dist/docx/text-spans.js.map +1 -0
- package/dist/docx/types.d.ts +27 -0
- package/dist/docx/types.d.ts.map +1 -0
- package/dist/docx/types.js +2 -0
- package/dist/docx/types.js.map +1 -0
- package/dist/docx/workspace.d.ts +20 -0
- package/dist/docx/workspace.d.ts.map +1 -0
- package/dist/docx/workspace.js +145 -0
- package/dist/docx/workspace.js.map +1 -0
- package/dist/docx/xml.d.ts +18 -0
- package/dist/docx/xml.d.ts.map +1 -0
- package/dist/docx/xml.js +87 -0
- package/dist/docx/xml.js.map +1 -0
- package/dist/edition-config/index.d.ts +25 -0
- package/dist/edition-config/index.d.ts.map +1 -0
- package/dist/edition-config/index.js +22 -0
- package/dist/edition-config/index.js.map +1 -0
- package/dist/edition.d.ts +2 -2
- package/dist/edition.d.ts.map +1 -1
- package/dist/edition.js +1 -1
- package/dist/edition.js.map +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +124 -32
- package/dist/help.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/key/index.d.ts +2 -0
- package/dist/key/index.d.ts.map +1 -0
- package/dist/key/index.js +3 -0
- package/dist/key/index.js.map +1 -0
- package/dist/monitor-daemon.d.ts +21 -8
- package/dist/monitor-daemon.d.ts.map +1 -1
- package/dist/monitor-daemon.js +189 -51
- package/dist/monitor-daemon.js.map +1 -1
- package/dist/monitor-registry.d.ts +34 -0
- package/dist/monitor-registry.d.ts.map +1 -0
- package/dist/monitor-registry.js +191 -0
- package/dist/monitor-registry.js.map +1 -0
- package/dist/monitor.d.ts.map +1 -1
- package/dist/monitor.js +2 -12
- package/dist/monitor.js.map +1 -1
- package/dist/numbers/index.d.ts +2 -0
- package/dist/numbers/index.d.ts.map +1 -0
- package/dist/numbers/index.js +3 -0
- package/dist/numbers/index.js.map +1 -0
- package/dist/opc/index.d.ts +96 -0
- package/dist/opc/index.d.ts.map +1 -0
- package/dist/opc/index.js +596 -0
- package/dist/opc/index.js.map +1 -0
- package/dist/pptx/adapter.d.ts +167 -0
- package/dist/pptx/adapter.d.ts.map +1 -0
- package/dist/pptx/adapter.js +841 -0
- package/dist/pptx/adapter.js.map +1 -0
- package/dist/pptx/addressing.d.ts +47 -0
- package/dist/pptx/addressing.d.ts.map +1 -0
- package/dist/pptx/addressing.js +481 -0
- package/dist/pptx/addressing.js.map +1 -0
- package/dist/pptx/align.d.ts +24 -0
- package/dist/pptx/align.d.ts.map +1 -0
- package/dist/pptx/align.js +112 -0
- package/dist/pptx/align.js.map +1 -0
- package/dist/pptx/chart-classify.d.ts +10 -0
- package/dist/pptx/chart-classify.d.ts.map +1 -0
- package/dist/pptx/chart-classify.js +58 -0
- package/dist/pptx/chart-classify.js.map +1 -0
- package/dist/pptx/chart.d.ts +42 -0
- package/dist/pptx/chart.d.ts.map +1 -0
- package/dist/pptx/chart.js +614 -0
- package/dist/pptx/chart.js.map +1 -0
- package/dist/pptx/edition-extension.d.ts +25 -0
- package/dist/pptx/edition-extension.d.ts.map +1 -0
- package/dist/pptx/edition-extension.js +10 -0
- package/dist/pptx/edition-extension.js.map +1 -0
- package/dist/pptx/edition.d.ts +20 -0
- package/dist/pptx/edition.d.ts.map +1 -0
- package/dist/pptx/edition.js +69 -0
- package/dist/pptx/edition.js.map +1 -0
- package/dist/pptx/elements.d.ts +12 -0
- package/dist/pptx/elements.d.ts.map +1 -0
- package/dist/pptx/elements.js +224 -0
- package/dist/pptx/elements.js.map +1 -0
- package/dist/pptx/hyperlink.d.ts +7 -0
- package/dist/pptx/hyperlink.d.ts.map +1 -0
- package/dist/pptx/hyperlink.js +81 -0
- package/dist/pptx/hyperlink.js.map +1 -0
- package/dist/pptx/index-sync.d.ts +7 -0
- package/dist/pptx/index-sync.d.ts.map +1 -0
- package/dist/pptx/index-sync.js +24 -0
- package/dist/pptx/index-sync.js.map +1 -0
- package/dist/pptx/index.d.ts +10 -0
- package/dist/pptx/index.d.ts.map +1 -0
- package/dist/pptx/index.js +7 -0
- package/dist/pptx/index.js.map +1 -0
- package/dist/pptx/indexer.d.ts +19 -0
- package/dist/pptx/indexer.d.ts.map +1 -0
- package/dist/pptx/indexer.js +320 -0
- package/dist/pptx/indexer.js.map +1 -0
- package/dist/pptx/layout-ref.d.ts +41 -0
- package/dist/pptx/layout-ref.d.ts.map +1 -0
- package/dist/pptx/layout-ref.js +145 -0
- package/dist/pptx/layout-ref.js.map +1 -0
- package/dist/pptx/media.d.ts +15 -0
- package/dist/pptx/media.d.ts.map +1 -0
- package/dist/pptx/media.js +145 -0
- package/dist/pptx/media.js.map +1 -0
- package/dist/pptx/mutations.d.ts +11 -0
- package/dist/pptx/mutations.d.ts.map +1 -0
- package/dist/pptx/mutations.js +1114 -0
- package/dist/pptx/mutations.js.map +1 -0
- package/dist/pptx/picture.d.ts +25 -0
- package/dist/pptx/picture.d.ts.map +1 -0
- package/dist/pptx/picture.js +118 -0
- package/dist/pptx/picture.js.map +1 -0
- package/dist/pptx/placeholder-role.d.ts +19 -0
- package/dist/pptx/placeholder-role.d.ts.map +1 -0
- package/dist/pptx/placeholder-role.js +71 -0
- package/dist/pptx/placeholder-role.js.map +1 -0
- package/dist/pptx/properties.d.ts +13 -0
- package/dist/pptx/properties.d.ts.map +1 -0
- package/dist/pptx/properties.js +587 -0
- package/dist/pptx/properties.js.map +1 -0
- package/dist/pptx/resolve-properties.d.ts +17 -0
- package/dist/pptx/resolve-properties.d.ts.map +1 -0
- package/dist/pptx/resolve-properties.js +623 -0
- package/dist/pptx/resolve-properties.js.map +1 -0
- package/dist/pptx/slide-size.d.ts +9 -0
- package/dist/pptx/slide-size.d.ts.map +1 -0
- package/dist/pptx/slide-size.js +29 -0
- package/dist/pptx/slide-size.js.map +1 -0
- package/dist/pptx/slides.d.ts +15 -0
- package/dist/pptx/slides.d.ts.map +1 -0
- package/dist/pptx/slides.js +247 -0
- package/dist/pptx/slides.js.map +1 -0
- package/dist/pptx/table-measure.d.ts +43 -0
- package/dist/pptx/table-measure.d.ts.map +1 -0
- package/dist/pptx/table-measure.js +70 -0
- package/dist/pptx/table-measure.js.map +1 -0
- package/dist/pptx/table.d.ts +26 -0
- package/dist/pptx/table.d.ts.map +1 -0
- package/dist/pptx/table.js +638 -0
- package/dist/pptx/table.js.map +1 -0
- package/dist/pptx/types.d.ts +27 -0
- package/dist/pptx/types.d.ts.map +1 -0
- package/dist/pptx/types.js +2 -0
- package/dist/pptx/types.js.map +1 -0
- package/dist/pptx/workspace.d.ts +23 -0
- package/dist/pptx/workspace.d.ts.map +1 -0
- package/dist/pptx/workspace.js +148 -0
- package/dist/pptx/workspace.js.map +1 -0
- package/dist/pptx/xml.d.ts +75 -0
- package/dist/pptx/xml.d.ts.map +1 -0
- package/dist/pptx/xml.js +390 -0
- package/dist/pptx/xml.js.map +1 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +14 -2
- package/dist/render.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/workspace/git.d.ts +7 -0
- package/dist/workspace/git.d.ts.map +1 -0
- package/dist/workspace/git.js +119 -0
- package/dist/workspace/git.js.map +1 -0
- package/dist/workspace/index.d.ts +7 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +7 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/lock.d.ts +5 -0
- package/dist/workspace/lock.d.ts.map +1 -0
- package/dist/workspace/lock.js +104 -0
- package/dist/workspace/lock.js.map +1 -0
- package/dist/workspace/metadata.d.ts +4 -0
- package/dist/workspace/metadata.d.ts.map +1 -0
- package/dist/workspace/metadata.js +21 -0
- package/dist/workspace/metadata.js.map +1 -0
- package/dist/workspace/operations.d.ts +14 -0
- package/dist/workspace/operations.d.ts.map +1 -0
- package/dist/workspace/operations.js +35 -0
- package/dist/workspace/operations.js.map +1 -0
- package/dist/workspace/paths.d.ts +11 -0
- package/dist/workspace/paths.d.ts.map +1 -0
- package/dist/workspace/paths.js +12 -0
- package/dist/workspace/paths.js.map +1 -0
- package/dist/workspace/revision.d.ts +6 -0
- package/dist/workspace/revision.d.ts.map +1 -0
- package/dist/workspace/revision.js +15 -0
- package/dist/workspace/revision.js.map +1 -0
- package/dist/xlsx/index.d.ts +2 -0
- package/dist/xlsx/index.d.ts.map +1 -0
- package/dist/xlsx/index.js +3 -0
- package/dist/xlsx/index.js.map +1 -0
- package/package.json +51 -27
- package/schema/command.schema.json +2405 -0
- 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 '
|
|
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,16 @@ const APPLY_WRITE_TYPES = new Set([
|
|
|
228
240
|
'setTransform',
|
|
229
241
|
'setProperties',
|
|
230
242
|
'set',
|
|
243
|
+
'setSlideLayout',
|
|
244
|
+
'setTableLayout',
|
|
231
245
|
'xfrmSet',
|
|
232
246
|
'zMove',
|
|
233
247
|
'add',
|
|
234
248
|
'addSlide',
|
|
235
249
|
'addShape',
|
|
250
|
+
'addParagraph',
|
|
251
|
+
'addTable',
|
|
252
|
+
'insertBreak',
|
|
236
253
|
'remove',
|
|
237
254
|
'replacePicture',
|
|
238
255
|
'duplicate',
|
|
@@ -385,6 +402,22 @@ const main = async () => {
|
|
|
385
402
|
source: resolve(source),
|
|
386
403
|
});
|
|
387
404
|
}
|
|
405
|
+
else if (action === 'new') {
|
|
406
|
+
const format = (optionFrom(clean, '--format') ?? 'pptx').toLowerCase();
|
|
407
|
+
const workspace = workspaceOpt ?? positionalArg(clean);
|
|
408
|
+
if (!workspace)
|
|
409
|
+
throw new Error('Usage: deckuse new <workspace/> [--format pptx|docx]');
|
|
410
|
+
if (format !== 'pptx' && format !== 'docx')
|
|
411
|
+
throw new Error('Usage: deckuse new <workspace/> [--format pptx|docx]');
|
|
412
|
+
const source = format === 'docx' ? await assertDefaultDocxExists() : await assertDefaultPptxExists();
|
|
413
|
+
ok = await execute('deckuse new', {
|
|
414
|
+
version: PROTOCOL_VERSION,
|
|
415
|
+
type: 'init',
|
|
416
|
+
workspaceId: resolve(workspace),
|
|
417
|
+
format,
|
|
418
|
+
source,
|
|
419
|
+
});
|
|
420
|
+
}
|
|
388
421
|
else if (action === 'status') {
|
|
389
422
|
const workspace = await findWorkspace(workspaceOpt ?? clean[1]);
|
|
390
423
|
ok = await execute('deckuse status', {
|
|
@@ -395,15 +428,27 @@ const main = async () => {
|
|
|
395
428
|
}
|
|
396
429
|
else if (action === 'list') {
|
|
397
430
|
const resource = clean[1];
|
|
398
|
-
|
|
399
|
-
|
|
431
|
+
const resources = [
|
|
432
|
+
'slides',
|
|
433
|
+
'shapes',
|
|
434
|
+
'layouts',
|
|
435
|
+
'masters',
|
|
436
|
+
'theme',
|
|
437
|
+
'paragraphs',
|
|
438
|
+
'tables',
|
|
439
|
+
'sections',
|
|
440
|
+
'styles',
|
|
441
|
+
'bookmarks',
|
|
442
|
+
];
|
|
443
|
+
if (!resource || !resources.includes(resource))
|
|
444
|
+
throw new Error('Usage: deckuse list <slides|shapes|layouts|masters|theme|paragraphs|tables|sections|styles|bookmarks>');
|
|
400
445
|
const workspace = await findWorkspace(workspaceOpt);
|
|
401
446
|
const slide = optionFrom(clean, '--slide');
|
|
402
447
|
ok = await execute(`deckuse list ${resource}`, {
|
|
403
448
|
version: PROTOCOL_VERSION,
|
|
404
449
|
type: 'list',
|
|
405
450
|
workspaceId: workspace,
|
|
406
|
-
resource,
|
|
451
|
+
resource: resource,
|
|
407
452
|
...(slide ? { slide: Number(slide) } : {}),
|
|
408
453
|
});
|
|
409
454
|
}
|
|
@@ -460,7 +505,9 @@ const main = async () => {
|
|
|
460
505
|
ok = await execute('deckuse add slide', {
|
|
461
506
|
...base,
|
|
462
507
|
type: 'addSlide',
|
|
463
|
-
...(optionFrom(clean, '--after')
|
|
508
|
+
...(optionFrom(clean, '--after')
|
|
509
|
+
? { after: Number(optionFrom(clean, '--after')) }
|
|
510
|
+
: {}),
|
|
464
511
|
...(optionFrom(clean, '--layout') ? { layout: optionFrom(clean, '--layout') } : {}),
|
|
465
512
|
...(optionFrom(clean, '--name') ? { name: optionFrom(clean, '--name') } : {}),
|
|
466
513
|
});
|
|
@@ -544,8 +591,71 @@ const main = async () => {
|
|
|
544
591
|
...(takeFlag(clean, '--show-data-labels') ? { showDataLabels: true } : {}),
|
|
545
592
|
});
|
|
546
593
|
}
|
|
594
|
+
else if (what === 'paragraph') {
|
|
595
|
+
const textRaw = takeFlag(clean, '--text-raw');
|
|
596
|
+
const textFile = optionFrom(clean, '--text-file');
|
|
597
|
+
const textOpt = optionFrom(clean, '--text');
|
|
598
|
+
const initialText = await resolveCliText({
|
|
599
|
+
...(textOpt !== undefined ? { value: textOpt } : {}),
|
|
600
|
+
...(textFile !== undefined ? { textFile } : {}),
|
|
601
|
+
raw: textRaw,
|
|
602
|
+
});
|
|
603
|
+
const blocksRaw = optionFrom(clean, '--blocks');
|
|
604
|
+
let blocks;
|
|
605
|
+
if (blocksRaw !== undefined) {
|
|
606
|
+
try {
|
|
607
|
+
blocks = JSON.parse(blocksRaw);
|
|
608
|
+
}
|
|
609
|
+
catch {
|
|
610
|
+
throw new Error('--blocks must be a JSON array of {text|runs, fontSize?, ...}');
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
const levelRaw = optionFrom(clean, '--level');
|
|
614
|
+
ok = await execute('deckuse add paragraph', {
|
|
615
|
+
...base,
|
|
616
|
+
type: 'addParagraph',
|
|
617
|
+
...(optionFrom(clean, '--after') ? { after: optionFrom(clean, '--after') } : {}),
|
|
618
|
+
...(optionFrom(clean, '--style') ? { style: optionFrom(clean, '--style') } : {}),
|
|
619
|
+
...(levelRaw !== undefined ? { level: Number(levelRaw) } : {}),
|
|
620
|
+
...(optionFrom(clean, '--name') ? { name: optionFrom(clean, '--name') } : {}),
|
|
621
|
+
...(initialText !== undefined ? { text: initialText } : {}),
|
|
622
|
+
...(blocks !== undefined ? { blocks } : {}),
|
|
623
|
+
});
|
|
624
|
+
}
|
|
625
|
+
else if (what === 'table') {
|
|
626
|
+
const rowsRaw = optionFrom(clean, '--rows');
|
|
627
|
+
if (!rowsRaw)
|
|
628
|
+
throw new Error(`Usage: deckuse add table --rows '[["A","B"],["1","2"]]' [--name <bookmark>] [--after <target>]`);
|
|
629
|
+
let rows;
|
|
630
|
+
try {
|
|
631
|
+
const parsed = JSON.parse(rowsRaw);
|
|
632
|
+
if (!Array.isArray(parsed) ||
|
|
633
|
+
!parsed.every((row) => Array.isArray(row) && row.every((cell) => typeof cell === 'string'))) {
|
|
634
|
+
throw new Error('expected string[][]');
|
|
635
|
+
}
|
|
636
|
+
rows = parsed;
|
|
637
|
+
}
|
|
638
|
+
catch {
|
|
639
|
+
throw new Error(`--rows must be JSON string[][] (example: --rows '[["A","B"],["1","2"]]')`);
|
|
640
|
+
}
|
|
641
|
+
ok = await execute('deckuse add table', {
|
|
642
|
+
...base,
|
|
643
|
+
type: 'addTable',
|
|
644
|
+
rows,
|
|
645
|
+
...(optionFrom(clean, '--after') ? { after: optionFrom(clean, '--after') } : {}),
|
|
646
|
+
...(optionFrom(clean, '--name') ? { name: optionFrom(clean, '--name') } : {}),
|
|
647
|
+
});
|
|
648
|
+
}
|
|
649
|
+
else if (what === 'break') {
|
|
650
|
+
ok = await execute('deckuse add break', {
|
|
651
|
+
...base,
|
|
652
|
+
type: 'insertBreak',
|
|
653
|
+
kind: 'page',
|
|
654
|
+
...(optionFrom(clean, '--after') ? { after: optionFrom(clean, '--after') } : {}),
|
|
655
|
+
});
|
|
656
|
+
}
|
|
547
657
|
else
|
|
548
|
-
throw new Error('Usage: deckuse add <slide|shape> ...');
|
|
658
|
+
throw new Error('Usage: deckuse add <slide|shape|paragraph|table|break> ...');
|
|
549
659
|
}
|
|
550
660
|
else if (action === 'remove') {
|
|
551
661
|
const target = clean[1];
|
|
@@ -600,6 +710,21 @@ const main = async () => {
|
|
|
600
710
|
});
|
|
601
711
|
}
|
|
602
712
|
}
|
|
713
|
+
else if (clean[1] === 'slide-layout') {
|
|
714
|
+
const slideRaw = optionFrom(clean, '--slide');
|
|
715
|
+
const layout = optionFrom(clean, '--layout');
|
|
716
|
+
if (!slideRaw || !layout)
|
|
717
|
+
throw new Error('Usage: deckuse set slide-layout --slide <n> --layout <index|layout:N|slide:N|name>');
|
|
718
|
+
const slide = Number(slideRaw);
|
|
719
|
+
if (!Number.isInteger(slide) || slide < 1)
|
|
720
|
+
throw new Error('--slide must be a positive integer');
|
|
721
|
+
ok = await execute('deckuse set slide-layout', {
|
|
722
|
+
...base,
|
|
723
|
+
type: 'setSlideLayout',
|
|
724
|
+
slide,
|
|
725
|
+
layout,
|
|
726
|
+
});
|
|
727
|
+
}
|
|
603
728
|
else {
|
|
604
729
|
const target = clean[1];
|
|
605
730
|
if (!target)
|
|
@@ -635,12 +760,8 @@ const main = async () => {
|
|
|
635
760
|
find: source,
|
|
636
761
|
replace: target,
|
|
637
762
|
...(clean.includes('--regex') ? { regex: true } : {}),
|
|
638
|
-
...(optionFrom(clean, '--limit')
|
|
639
|
-
|
|
640
|
-
: {}),
|
|
641
|
-
...(optionFrom(clean, '--selector')
|
|
642
|
-
? { selector: optionFrom(clean, '--selector') }
|
|
643
|
-
: {}),
|
|
763
|
+
...(optionFrom(clean, '--limit') ? { limit: Number(optionFrom(clean, '--limit')) } : {}),
|
|
764
|
+
...(optionFrom(clean, '--selector') ? { selector: optionFrom(clean, '--selector') } : {}),
|
|
644
765
|
});
|
|
645
766
|
}
|
|
646
767
|
else if (action === 'xfrm') {
|
|
@@ -681,7 +802,10 @@ const main = async () => {
|
|
|
681
802
|
const mode = optionFrom(clean, '--mode');
|
|
682
803
|
if (!slide || !targetsRaw || !mode)
|
|
683
804
|
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
|
|
805
|
+
const targets = targetsRaw
|
|
806
|
+
.split(',')
|
|
807
|
+
.map((t) => t.trim())
|
|
808
|
+
.filter(Boolean);
|
|
685
809
|
ok = await execute('deckuse align', {
|
|
686
810
|
...(await mutationExtras(workspace)),
|
|
687
811
|
type: 'alignElements',
|
|
@@ -836,8 +960,11 @@ const main = async () => {
|
|
|
836
960
|
});
|
|
837
961
|
}
|
|
838
962
|
else if (action === 'monitor') {
|
|
839
|
-
const sub = clean[1] === 'start' || clean[1] === 'stop' || clean[1] === 'status'
|
|
963
|
+
const sub = clean[1] === 'start' || clean[1] === 'stop' || clean[1] === 'status'
|
|
964
|
+
? clean[1]
|
|
965
|
+
: undefined;
|
|
840
966
|
const daemonWorker = takeFlag(clean, '--daemon-worker');
|
|
967
|
+
const stopAll = takeFlag(clean, '--all');
|
|
841
968
|
const positionalWorkspace = sub
|
|
842
969
|
? clean[2] && !clean[2].startsWith('--')
|
|
843
970
|
? clean[2]
|
|
@@ -845,11 +972,49 @@ const main = async () => {
|
|
|
845
972
|
: clean[1] && !clean[1].startsWith('--')
|
|
846
973
|
? clean[1]
|
|
847
974
|
: undefined;
|
|
848
|
-
const
|
|
975
|
+
const hasWorkspaceArg = Boolean(workspaceOpt ?? positionalWorkspace);
|
|
849
976
|
const port = Number(optionFrom(clean, '--port') ?? 4173);
|
|
850
977
|
if (!Number.isInteger(port) || port < 0 || port > 65535)
|
|
851
978
|
throw new Error('--port must be an integer between 0 and 65535');
|
|
852
979
|
const host = optionFrom(clean, '--host') ?? '0.0.0.0';
|
|
980
|
+
if (sub === 'status' && !hasWorkspaceArg) {
|
|
981
|
+
const result = await monitorStatusAll();
|
|
982
|
+
outputEnvelope({
|
|
983
|
+
ok: true,
|
|
984
|
+
command: 'deckuse monitor status',
|
|
985
|
+
data: result,
|
|
986
|
+
});
|
|
987
|
+
return;
|
|
988
|
+
}
|
|
989
|
+
if (sub === 'stop' && stopAll) {
|
|
990
|
+
const result = await monitorStopAll();
|
|
991
|
+
outputEnvelope({
|
|
992
|
+
ok: true,
|
|
993
|
+
command: 'deckuse monitor stop',
|
|
994
|
+
data: result,
|
|
995
|
+
});
|
|
996
|
+
return;
|
|
997
|
+
}
|
|
998
|
+
if (sub === 'stop' && !hasWorkspaceArg) {
|
|
999
|
+
const listed = await monitorStatusAll();
|
|
1000
|
+
const summary = listed.monitors.length === 0
|
|
1001
|
+
? 'No running monitor daemons found.'
|
|
1002
|
+
: `Running monitors:\n${listed.monitors
|
|
1003
|
+
.map((m) => ` pid=${String(m.pid)} port=${String(m.port)} workspace=${m.workspace} url=${m.url}`)
|
|
1004
|
+
.join('\n')}`;
|
|
1005
|
+
outputEnvelope({
|
|
1006
|
+
ok: false,
|
|
1007
|
+
command: 'deckuse monitor stop',
|
|
1008
|
+
error: {
|
|
1009
|
+
code: 'INVALID_COMMAND',
|
|
1010
|
+
message: `Pass --workspace <path>, a workspace path argument, or --all. ` +
|
|
1011
|
+
`Run deckuse monitor status to list daemons.\n${summary}`,
|
|
1012
|
+
},
|
|
1013
|
+
});
|
|
1014
|
+
process.exitCode = 1;
|
|
1015
|
+
return;
|
|
1016
|
+
}
|
|
1017
|
+
const workspace = await findWorkspace(workspaceOpt ?? positionalWorkspace);
|
|
853
1018
|
if (sub === 'start') {
|
|
854
1019
|
try {
|
|
855
1020
|
const meta = await monitorStart(workspace, { host, port });
|
|
@@ -947,13 +1112,15 @@ const main = async () => {
|
|
|
947
1112
|
}
|
|
948
1113
|
}
|
|
949
1114
|
else if (action === 'query') {
|
|
950
|
-
// Back-compat shim
|
|
1115
|
+
// Back-compat shim. With `--workspace`, the first positional is the
|
|
1116
|
+
// selector; with a positional workspace path, the selector is clean[2].
|
|
951
1117
|
const workspace = await findWorkspace(workspaceOpt ?? clean[1]);
|
|
1118
|
+
const selector = (workspaceOpt ? positionalArg(clean) : clean[2]) ?? '*';
|
|
952
1119
|
ok = await execute('deckuse query', {
|
|
953
1120
|
version: PROTOCOL_VERSION,
|
|
954
1121
|
type: 'query',
|
|
955
1122
|
workspaceId: workspace,
|
|
956
|
-
selector
|
|
1123
|
+
selector,
|
|
957
1124
|
limit: Number(optionFrom(clean, '--limit') ?? 100),
|
|
958
1125
|
});
|
|
959
1126
|
}
|
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"}
|