emdash-emit 0.1.9 → 0.1.11

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 (138) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/README.md +102 -13
  3. package/dist/bin/emit.d.ts.map +1 -1
  4. package/dist/bin/emit.js +6 -0
  5. package/dist/bin/emit.js.map +1 -1
  6. package/dist/cli/commands/conflicts.d.ts +4 -0
  7. package/dist/cli/commands/conflicts.d.ts.map +1 -0
  8. package/dist/cli/commands/conflicts.js +153 -0
  9. package/dist/cli/commands/conflicts.js.map +1 -0
  10. package/dist/cli/commands/delete.d.ts +4 -0
  11. package/dist/cli/commands/delete.d.ts.map +1 -0
  12. package/dist/cli/commands/delete.js +89 -0
  13. package/dist/cli/commands/delete.js.map +1 -0
  14. package/dist/cli/commands/doctor.d.ts +4 -0
  15. package/dist/cli/commands/doctor.d.ts.map +1 -0
  16. package/dist/cli/commands/doctor.js +82 -0
  17. package/dist/cli/commands/doctor.js.map +1 -0
  18. package/dist/cli/commands/new.d.ts.map +1 -1
  19. package/dist/cli/commands/new.js +52 -22
  20. package/dist/cli/commands/new.js.map +1 -1
  21. package/dist/cli/commands/pull.d.ts.map +1 -1
  22. package/dist/cli/commands/pull.js +23 -0
  23. package/dist/cli/commands/pull.js.map +1 -1
  24. package/dist/cli/commands/push.d.ts.map +1 -1
  25. package/dist/cli/commands/push.js +36 -1
  26. package/dist/cli/commands/push.js.map +1 -1
  27. package/dist/cli/commands/status.d.ts.map +1 -1
  28. package/dist/cli/commands/status.js +27 -7
  29. package/dist/cli/commands/status.js.map +1 -1
  30. package/dist/cli/context.d.ts +3 -1
  31. package/dist/cli/context.d.ts.map +1 -1
  32. package/dist/cli/context.js +17 -6
  33. package/dist/cli/context.js.map +1 -1
  34. package/dist/db/cache.d.ts +3 -0
  35. package/dist/db/cache.d.ts.map +1 -1
  36. package/dist/db/cache.js +39 -0
  37. package/dist/db/cache.js.map +1 -1
  38. package/dist/mcp/context.d.ts +7 -0
  39. package/dist/mcp/context.d.ts.map +1 -1
  40. package/dist/mcp/server.d.ts.map +1 -1
  41. package/dist/mcp/server.js +39 -2
  42. package/dist/mcp/server.js.map +1 -1
  43. package/dist/mcp/tool-errors.d.ts +7 -2
  44. package/dist/mcp/tool-errors.d.ts.map +1 -1
  45. package/dist/mcp/tool-errors.js +80 -5
  46. package/dist/mcp/tool-errors.js.map +1 -1
  47. package/dist/mcp/tools/profile.d.ts.map +1 -1
  48. package/dist/mcp/tools/profile.js +4 -0
  49. package/dist/mcp/tools/profile.js.map +1 -1
  50. package/dist/mcp/tools/sync-conflicts.d.ts +4 -0
  51. package/dist/mcp/tools/sync-conflicts.d.ts.map +1 -0
  52. package/dist/mcp/tools/sync-conflicts.js +100 -0
  53. package/dist/mcp/tools/sync-conflicts.js.map +1 -0
  54. package/dist/mcp/tools/sync-delete.d.ts +4 -0
  55. package/dist/mcp/tools/sync-delete.d.ts.map +1 -0
  56. package/dist/mcp/tools/sync-delete.js +77 -0
  57. package/dist/mcp/tools/sync-delete.js.map +1 -0
  58. package/dist/mcp/tools/sync-diff.d.ts.map +1 -1
  59. package/dist/mcp/tools/sync-diff.js +3 -2
  60. package/dist/mcp/tools/sync-diff.js.map +1 -1
  61. package/dist/mcp/tools/sync-doctor.d.ts +4 -0
  62. package/dist/mcp/tools/sync-doctor.d.ts.map +1 -0
  63. package/dist/mcp/tools/sync-doctor.js +57 -0
  64. package/dist/mcp/tools/sync-doctor.js.map +1 -0
  65. package/dist/mcp/tools/sync-new.d.ts.map +1 -1
  66. package/dist/mcp/tools/sync-new.js +16 -3
  67. package/dist/mcp/tools/sync-new.js.map +1 -1
  68. package/dist/mcp/tools/sync-pull.d.ts.map +1 -1
  69. package/dist/mcp/tools/sync-pull.js +41 -11
  70. package/dist/mcp/tools/sync-pull.js.map +1 -1
  71. package/dist/mcp/tools/sync-push.d.ts.map +1 -1
  72. package/dist/mcp/tools/sync-push.js +16 -2
  73. package/dist/mcp/tools/sync-push.js.map +1 -1
  74. package/dist/mcp/tools/sync-status.d.ts.map +1 -1
  75. package/dist/mcp/tools/sync-status.js +63 -22
  76. package/dist/mcp/tools/sync-status.js.map +1 -1
  77. package/dist/sync/conflicts.d.ts +89 -0
  78. package/dist/sync/conflicts.d.ts.map +1 -0
  79. package/dist/sync/conflicts.js +374 -0
  80. package/dist/sync/conflicts.js.map +1 -0
  81. package/dist/sync/delete.d.ts +58 -0
  82. package/dist/sync/delete.d.ts.map +1 -0
  83. package/dist/sync/delete.js +221 -0
  84. package/dist/sync/delete.js.map +1 -0
  85. package/dist/sync/diff.d.ts.map +1 -1
  86. package/dist/sync/diff.js +6 -3
  87. package/dist/sync/diff.js.map +1 -1
  88. package/dist/sync/doctor.d.ts +31 -0
  89. package/dist/sync/doctor.d.ts.map +1 -0
  90. package/dist/sync/doctor.js +273 -0
  91. package/dist/sync/doctor.js.map +1 -0
  92. package/dist/sync/media.d.ts +22 -0
  93. package/dist/sync/media.d.ts.map +1 -1
  94. package/dist/sync/media.js +342 -94
  95. package/dist/sync/media.js.map +1 -1
  96. package/dist/sync/merge.d.ts +17 -1
  97. package/dist/sync/merge.d.ts.map +1 -1
  98. package/dist/sync/merge.js +110 -3
  99. package/dist/sync/merge.js.map +1 -1
  100. package/dist/sync/new.d.ts +31 -0
  101. package/dist/sync/new.d.ts.map +1 -1
  102. package/dist/sync/new.js +139 -2
  103. package/dist/sync/new.js.map +1 -1
  104. package/dist/sync/orchestrator.d.ts.map +1 -1
  105. package/dist/sync/orchestrator.js +2 -0
  106. package/dist/sync/orchestrator.js.map +1 -1
  107. package/dist/sync/preflight.d.ts.map +1 -1
  108. package/dist/sync/preflight.js +29 -3
  109. package/dist/sync/preflight.js.map +1 -1
  110. package/dist/sync/pull.d.ts +4 -0
  111. package/dist/sync/pull.d.ts.map +1 -1
  112. package/dist/sync/pull.js +159 -80
  113. package/dist/sync/pull.js.map +1 -1
  114. package/dist/sync/push.d.ts +10 -0
  115. package/dist/sync/push.d.ts.map +1 -1
  116. package/dist/sync/push.js +84 -31
  117. package/dist/sync/push.js.map +1 -1
  118. package/dist/sync/status.d.ts +10 -0
  119. package/dist/sync/status.d.ts.map +1 -1
  120. package/dist/sync/status.js +26 -0
  121. package/dist/sync/status.js.map +1 -1
  122. package/dist/sync/taxonomies.d.ts +14 -5
  123. package/dist/sync/taxonomies.d.ts.map +1 -1
  124. package/dist/sync/taxonomies.js +104 -6
  125. package/dist/sync/taxonomies.js.map +1 -1
  126. package/dist/sync/terms.d.ts +32 -0
  127. package/dist/sync/terms.d.ts.map +1 -0
  128. package/dist/sync/terms.js +62 -0
  129. package/dist/sync/terms.js.map +1 -0
  130. package/dist/utils/config.d.ts +12 -0
  131. package/dist/utils/config.d.ts.map +1 -1
  132. package/dist/utils/config.js +27 -0
  133. package/dist/utils/config.js.map +1 -1
  134. package/dist/utils/frontmatter.d.ts +40 -3
  135. package/dist/utils/frontmatter.d.ts.map +1 -1
  136. package/dist/utils/frontmatter.js +188 -5
  137. package/dist/utils/frontmatter.js.map +1 -1
  138. package/package.json +2 -1
@@ -0,0 +1,89 @@
1
+ /*
2
+ * Copyright (C) 2026 SPORT-SERVICE RSā˜…R
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in all
12
+ * copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+ import { deleteArticle } from '../../sync/delete.js';
23
+ import { ApiError } from '../../client/error.js';
24
+ export function registerDeleteCommand(program, resolveContext) {
25
+ const reportActionFailure = (error) => {
26
+ if (error instanceof ApiError) {
27
+ console.error(error.toActionableString());
28
+ }
29
+ else if (error instanceof Error) {
30
+ console.error(error.message);
31
+ }
32
+ else {
33
+ console.error(String(error));
34
+ }
35
+ process.exit(1);
36
+ };
37
+ program
38
+ .command('delete <target>')
39
+ .description('Safely delete an article from both local workspace and remote EmDash server')
40
+ .option('--allow-delete-published', 'Explicitly confirm deletion of a live published article')
41
+ .option('--dry-run', 'Preview deletion metadata without deleting anything')
42
+ .option('-y, --yes', 'Confirm deletion without interactive prompt')
43
+ .option('-c, --collection <collection>', 'Target collection (defaults to "posts")')
44
+ .option('-p, --profile <name>', 'Explicitly use a specific connection profile')
45
+ .action(async (target, options) => {
46
+ try {
47
+ // In non-interactive CLI environments, require --yes or treat as dry-run
48
+ const isDryRun = Boolean(options.dryRun || !options.yes);
49
+ const ctx = resolveContext(options.profile, { optionalAuth: isDryRun });
50
+ const collection = options.collection || ctx.config.defaultCollection;
51
+ const result = await deleteArticle({
52
+ workspaceRoot: ctx.root,
53
+ cache: ctx.cache,
54
+ filePath: target.endsWith('.md') || target.includes('/') ? target : undefined,
55
+ id: !target.endsWith('.md') && !target.includes('/') ? target : undefined,
56
+ collection,
57
+ allowDeletePublished: Boolean(options.allowDeletePublished),
58
+ dryRun: isDryRun,
59
+ origin: ctx.origin,
60
+ token: ctx.auth?.token,
61
+ refreshToken: ctx.auth?.refreshToken,
62
+ });
63
+ if (result.dryRun) {
64
+ console.log(`\nšŸ” [DRY-RUN PREVIEW]`);
65
+ console.log(` ID: ${result.id}`);
66
+ console.log(` Slug: ${result.slug}`);
67
+ console.log(` Title: ${result.title}`);
68
+ console.log(` Status: ${result.status}`);
69
+ console.log(` File Path: ${result.filePath}`);
70
+ console.log(` Lines: ${result.bodyLineCount} lines`);
71
+ if (result.referencedMedia.length > 0) {
72
+ console.log(` Referenced Media (${result.referencedMedia.length} files preserved in media/):`);
73
+ for (const m of result.referencedMedia) {
74
+ console.log(` - ${m}`);
75
+ }
76
+ }
77
+ console.log(`\nāš ļø To permanently delete this article, run again with --yes:`);
78
+ const pubFlag = result.status === 'published' ? ' --allow-delete-published' : '';
79
+ console.log(` emit delete ${target}${pubFlag} --yes\n`);
80
+ return;
81
+ }
82
+ console.log(`\n${result.message}\n`);
83
+ }
84
+ catch (error) {
85
+ reportActionFailure(error);
86
+ }
87
+ });
88
+ }
89
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Command } from 'commander';
2
+ import type { CliContextResolver } from '../context.js';
3
+ export declare function registerDoctorCommand(program: Command, resolveContext: CliContextResolver): void;
4
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAgEhG"}
@@ -0,0 +1,82 @@
1
+ /*
2
+ * Copyright (C) 2026 SPORT-SERVICE RSā˜…R
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in all
12
+ * copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+ import { ApiError } from '../../client/error.js';
23
+ import { runWorkspaceDoctor } from '../../sync/doctor.js';
24
+ export function registerDoctorCommand(program, resolveContext) {
25
+ const reportActionFailure = (error) => {
26
+ if (error instanceof ApiError) {
27
+ console.error(error.toActionableString());
28
+ }
29
+ else if (error instanceof Error) {
30
+ console.error(`āŒ Error: ${error.message}`);
31
+ }
32
+ else {
33
+ console.error(`āŒ Error: ${String(error)}`);
34
+ }
35
+ process.exit(1);
36
+ };
37
+ program
38
+ .command('doctor')
39
+ .description('Run comprehensive diagnostics on workspace configuration, cache, and content integrity')
40
+ .option('-c, --collection <collection>', 'Target collection (defaults to "posts")')
41
+ .option('-p, --profile <name>', 'Explicitly use a specific connection profile')
42
+ .action(async (options) => {
43
+ try {
44
+ const ctx = resolveContext(options.profile, { optionalAuth: true });
45
+ const collection = options.collection || ctx.config.defaultCollection || 'posts';
46
+ const report = await runWorkspaceDoctor({
47
+ workspaceRoot: ctx.root,
48
+ cache: ctx.cache,
49
+ config: ctx.config,
50
+ profileName: ctx.auth?.profileName,
51
+ profileOrigin: ctx.auth?.origin,
52
+ collection,
53
+ });
54
+ console.log(`🩺 Emit Workspace Doctor`);
55
+ console.log(` Workspace: ${report.workspace}`);
56
+ console.log(` Version: v${report.emitVersion}${report.createdWithVersion ? ` (created with v${report.createdWithVersion})` : ''}\n`);
57
+ for (const check of report.checks) {
58
+ const badge = check.status === 'ok'
59
+ ? 'āœ… [PASS]'
60
+ : check.status === 'warning'
61
+ ? 'āš ļø [WARN]'
62
+ : 'āŒ [FAIL]';
63
+ console.log(` ${badge} ${check.name}: ${check.message}`);
64
+ }
65
+ console.log('');
66
+ if (report.overallStatus === 'healthy') {
67
+ console.log('šŸŽ‰ Overall Status: HEALTHY — Workspace is in good condition.');
68
+ }
69
+ else if (report.overallStatus === 'warnings') {
70
+ console.log('āš ļø Overall Status: WARNINGS — Workspace is functional but has items to review.');
71
+ }
72
+ else {
73
+ console.log('āŒ Overall Status: ERRORS — Issues detected that need attention.');
74
+ process.exit(1);
75
+ }
76
+ }
77
+ catch (err) {
78
+ reportActionFailure(err);
79
+ }
80
+ });
81
+ }
82
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAyC7F"}
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAqE7F"}
@@ -19,9 +19,22 @@
19
19
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  * SOFTWARE.
21
21
  */
22
- import { createArticleScaffold } from '../../sync/new.js';
22
+ import { createArticleScaffold, checkRemoteDuplicateSlug, DuplicateSlugError, } from '../../sync/new.js';
23
+ import { ApiError } from '../../client/error.js';
23
24
  import { getLocalTaxonomiesSummary, formatTaxonomiesHint } from '../../sync/taxonomies.js';
24
25
  export function registerNewCommand(program, resolveContext) {
26
+ const reportActionFailure = (error) => {
27
+ if (error instanceof ApiError) {
28
+ console.error(error.toActionableString());
29
+ }
30
+ else if (error instanceof Error) {
31
+ console.error(error.message);
32
+ }
33
+ else {
34
+ console.error(String(error));
35
+ }
36
+ process.exit(1);
37
+ };
25
38
  program
26
39
  .command('new <slug>')
27
40
  .description('Create a new draft article template with an auto-generated ULID and taxonomy hints')
@@ -30,28 +43,45 @@ export function registerNewCommand(program, resolveContext) {
30
43
  .option('-l, --locale <locale>', 'Article locale (defaults to "ja")')
31
44
  .option('-b, --byline <slug>', 'Author byline slug (defaults to first cached non-guest author by slug)')
32
45
  .option('-p, --profile <name>', 'Explicitly use a specific connection profile')
33
- .action((slug, options) => {
34
- const ctx = resolveContext(options.profile);
35
- const collection = options.collection || ctx.config.defaultCollection;
36
- const locale = options.locale || ctx.config.defaultLocale;
37
- const res = createArticleScaffold({
38
- slug,
39
- title: options.title,
40
- collection,
41
- locale,
42
- byline: options.byline,
43
- workspaceRoot: ctx.root,
44
- cache: ctx.cache,
45
- });
46
- console.log(`āœ… Created new article scaffold (ID: ${res.id})`);
47
- console.log(` Path: ${res.filePath}`);
48
- const taxSummary = getLocalTaxonomiesSummary(ctx.root);
49
- const taxHint = formatTaxonomiesHint(taxSummary, { maxTags: 30 });
50
- if (taxHint) {
51
- console.log(`\n${taxHint}`);
46
+ .action(async (slug, options) => {
47
+ try {
48
+ const ctx = resolveContext(options.profile);
49
+ const collection = options.collection || ctx.config.defaultCollection;
50
+ const locale = options.locale || ctx.config.defaultLocale;
51
+ // Best-effort remote duplicate check if connected
52
+ if (ctx.origin && ctx.auth?.token) {
53
+ const remoteDup = await checkRemoteDuplicateSlug({
54
+ origin: ctx.origin,
55
+ token: ctx.auth.token,
56
+ collection,
57
+ slug,
58
+ }).catch(() => null);
59
+ if (remoteDup) {
60
+ throw new DuplicateSlugError(remoteDup);
61
+ }
62
+ }
63
+ const res = createArticleScaffold({
64
+ slug,
65
+ title: options.title,
66
+ collection,
67
+ locale,
68
+ byline: options.byline,
69
+ workspaceRoot: ctx.root,
70
+ cache: ctx.cache,
71
+ });
72
+ console.log(`āœ… Created new article scaffold (ID: ${res.id})`);
73
+ console.log(` Path: ${res.filePath}`);
74
+ const taxSummary = getLocalTaxonomiesSummary(ctx.root);
75
+ const taxHint = formatTaxonomiesHint(taxSummary, { maxTags: 30 });
76
+ if (taxHint) {
77
+ console.log(`\n${taxHint}`);
78
+ }
79
+ console.log(`\nNext: Write your content in Markdown, then run:`);
80
+ console.log(` emit push ${res.filePath}`);
81
+ }
82
+ catch (error) {
83
+ reportActionFailure(error);
52
84
  }
53
- console.log(`\nNext: Write your content in Markdown, then run:`);
54
- console.log(` emit push ${res.filePath}`);
55
85
  });
56
86
  }
57
87
  //# sourceMappingURL=new.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAG3F,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,cAAkC;IACrF,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CACV,oFAAoF,CACrF;SACA,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC;SAC9C,MAAM,CAAC,+BAA+B,EAAE,yCAAyC,CAAC;SAClF,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;SACpE,MAAM,CACL,qBAAqB,EACrB,wEAAwE,CACzE;SACA,MAAM,CAAC,sBAAsB,EAAE,8CAA8C,CAAC;SAC9E,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;QAE1D,MAAM,GAAG,GAAG,qBAAqB,CAAC;YAChC,IAAI;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU;YACV,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,aAAa,EAAE,GAAG,CAAC,IAAI;YACvB,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,uCAAuC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAExC,MAAM,UAAU,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,oBAAoB,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pull.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACnD,MAAM,CAKR;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CA4R/F"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pull.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACnD,MAAM,CAKR;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CA+T/F"}
@@ -109,6 +109,9 @@ export function registerPullCommands(program, resolveContext) {
109
109
  if (item.deleted) {
110
110
  console.log(` [${current}/${total}] šŸ—‘ļø Pruned ${item.slug} -> ${item.filePath}`);
111
111
  }
112
+ else if (item.healed) {
113
+ console.log(` [${current}/${total}] šŸ› ļø Repaired frontmatter syntax for ${item.slug} (${item.filePath}, local body preserved)`);
114
+ }
112
115
  else if (item.localEditsPreserved) {
113
116
  console.log(`\n [${current}/${total}] šŸ›”ļø Kept local edits for ${item.slug} (${item.filePath})`);
114
117
  }
@@ -165,6 +168,9 @@ export function registerPullCommands(program, resolveContext) {
165
168
  if (res.deleted) {
166
169
  console.log(`šŸ—‘ļø Remote article was deleted. Pruned local file: ${res.filePath}`);
167
170
  }
171
+ else if (res.healed) {
172
+ console.log(`šŸ› ļø Repaired frontmatter syntax for ${res.slug} (${res.filePath}; unpushed local body was strictly preserved).`);
173
+ }
168
174
  else if (res.localEditsPreserved) {
169
175
  console.log(`šŸ›”ļø Kept your local edits for ${res.slug} (${res.filePath}); remote changes were NOT applied.`);
170
176
  console.log(` Push them with "emit push ${res.filePath}", or re-run with --force to accept the remote version.`);
@@ -241,6 +247,8 @@ export function registerPullCommands(program, resolveContext) {
241
247
  program
242
248
  .command('pull-media')
243
249
  .description('Pull remote media files and metadata YAML into local media/ directory')
250
+ .option('-a, --article <id-or-path>', 'Target specific article ID (ULID) or Markdown file path to pull only referenced media')
251
+ .option('-c, --collection <collection>', 'Collection name when using --article (defaults to "posts")')
244
252
  .option('-l, --limit <number>', 'Maximum media items to fetch (default: 300 or config)')
245
253
  .option('--all', 'Fetch ALL media files from remote')
246
254
  .option('--prune', 'Prune local media files that no longer exist on remote')
@@ -254,6 +262,21 @@ export function registerPullCommands(program, resolveContext) {
254
262
  ? parseInt(options.limit, 10)
255
263
  : ctx.config.mediaSyncLimit || 300;
256
264
  try {
265
+ if (options.article) {
266
+ console.log(`Pulling media referenced by article '${options.article}'...`);
267
+ const res = await pullMedia({
268
+ workspaceRoot: ctx.root,
269
+ origin: ctx.origin,
270
+ token: ctx.auth.token,
271
+ refreshToken: ctx.auth.refreshToken,
272
+ article: options.article,
273
+ collection: options.collection || ctx.config.defaultCollection,
274
+ downloadFiles: !options.metadataOnly,
275
+ });
276
+ const failedMsg = res.failed ? `, ${res.failed} failed` : '';
277
+ console.log(`āœ… Media sync for article '${res.articleId || options.article}' complete: ${res.total} referenced item(s) (${res.downloaded} downloaded, ${res.skipped} skipped/up-to-date${failedMsg}).`);
278
+ return;
279
+ }
257
280
  console.log(`Pulling media from remote (${options.all ? 'all' : `limit: ${limit}`})...`);
258
281
  const res = await pullMedia({
259
282
  workspaceRoot: ctx.root,
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/cli/commands/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/cli/commands/pull.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/push.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CA2G9F"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/push.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAiJ9F"}
@@ -22,6 +22,7 @@
22
22
  import { pushArticle, PushValidationError } from '../../sync/push.js';
23
23
  import { pushAll } from '../../sync/orchestrator.js';
24
24
  import { ApiError } from '../../client/error.js';
25
+ import { FrontmatterParseError } from '../../utils/frontmatter.js';
25
26
  export function registerPushCommand(program, resolveContext) {
26
27
  program
27
28
  .command('push [file]')
@@ -56,6 +57,17 @@ export function registerPushCommand(program, resolveContext) {
56
57
  if (res.previousFilePath) {
57
58
  console.log(` šŸ“„ Renamed local file: ${res.previousFilePath} -> ${res.filePath}`);
58
59
  }
60
+ if (res.resolvedTaxonomies) {
61
+ for (const [tax, items] of Object.entries(res.resolvedTaxonomies)) {
62
+ if (Array.isArray(items)) {
63
+ for (const item of items) {
64
+ if (item.input !== item.resolved) {
65
+ console.log(` šŸ·ļø Canonicalized ${tax}: '${item.input}' -> '${item.resolved}'`);
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
59
71
  if (res.warnings && res.warnings.length > 0) {
60
72
  console.warn(` āš ļø Warnings (${res.warnings.length}):`);
61
73
  for (const w of res.warnings) {
@@ -92,6 +104,17 @@ export function registerPushCommand(program, resolveContext) {
92
104
  if (res.previousFilePath) {
93
105
  console.log(` šŸ“„ Renamed local file: ${res.previousFilePath} -> ${res.filePath}`);
94
106
  }
107
+ if (res.resolvedTaxonomies) {
108
+ for (const [tax, items] of Object.entries(res.resolvedTaxonomies)) {
109
+ if (Array.isArray(items)) {
110
+ for (const item of items) {
111
+ if (item.input !== item.resolved) {
112
+ console.log(` šŸ·ļø Canonicalized ${tax}: '${item.input}' -> '${item.resolved}'`);
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
95
118
  if (res.warnings && res.warnings.length > 0) {
96
119
  console.warn(`\nāš ļø Warnings (${res.warnings.length}):`);
97
120
  for (const w of res.warnings) {
@@ -111,11 +134,23 @@ export function registerPushCommand(program, resolveContext) {
111
134
  }
112
135
  process.exit(1);
113
136
  }
137
+ if (err instanceof FrontmatterParseError) {
138
+ console.error(`\nāŒ Error: [${err.code}] ${err.message}`);
139
+ if (err.suggestion) {
140
+ console.error(` šŸ’” Suggestion: ${err.suggestion}`);
141
+ }
142
+ process.exit(1);
143
+ }
114
144
  if (err instanceof ApiError) {
115
145
  console.error(`\n${err.toActionableString()}`);
116
146
  process.exit(1);
117
147
  }
118
- throw err;
148
+ if (err instanceof Error) {
149
+ console.error(`\nāŒ Error: ${err.message}`);
150
+ process.exit(1);
151
+ }
152
+ console.error(`\nāŒ Error: ${String(err)}`);
153
+ process.exit(1);
119
154
  }
120
155
  });
121
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/cli/commands/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/cli/commands/push.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gGAAgG;IAChG,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC5C,eAAe,EAAE,oBAAoB,GAAG,IAAI,EAC5C,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,CAiBhB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,kBAAkB,GACjC,IAAI,CA6KN"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gGAAgG;IAChG,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC5C,eAAe,EAAE,oBAAoB,GAAG,IAAI,EAC5C,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,CAiBhB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,kBAAkB,GACjC,IAAI,CAsMN"}
@@ -19,7 +19,7 @@
19
19
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  * SOFTWARE.
21
21
  */
22
- import { getWorkspaceStatus } from '../../sync/status.js';
22
+ import { getWorkspaceStatus, filterStatusItems } from '../../sync/status.js';
23
23
  import { inspectArticleDiff } from '../../sync/diff.js';
24
24
  import { sameOrigin } from '../context.js';
25
25
  /**
@@ -50,13 +50,29 @@ export function registerStatusInitCommands(program, resolveContext) {
50
50
  .command('status')
51
51
  .description('Show sync status of articles in local workspace')
52
52
  .option('-c, --collection <collection>', 'Collection to check (default: posts)')
53
+ .option('-s, --search <term>', 'Filter articles by search term (title, slug, ID, filePath)')
54
+ .option('--slug <slug>', 'Filter articles by slug')
55
+ .option('--status <status>', 'Filter by publication status (draft or published)')
56
+ .option('--sync-status <status>', 'Filter by sync state (synced, modified, untracked, invalid)')
53
57
  .option('-p, --profile <name>', 'Explicitly use a specific connection profile')
54
58
  .action((options) => {
55
59
  const ctx = resolveContext(options.profile);
56
60
  const collection = options.collection || ctx.config.defaultCollection;
57
61
  const status = getWorkspaceStatus(ctx.root, ctx.cache, collection);
62
+ const isFiltered = Boolean(options.search || options.slug || options.status || options.syncStatus);
63
+ const displayItems = isFiltered
64
+ ? filterStatusItems(status.items, {
65
+ search: options.search,
66
+ slugFilter: options.slug,
67
+ status: options.status,
68
+ syncStatus: options.syncStatus,
69
+ })
70
+ : status.items;
58
71
  console.log(`\n--- Workspace Status (${collection} | origin: ${ctx.origin}) ---`);
59
- for (const item of status.items) {
72
+ if (isFiltered) {
73
+ console.log(` (Filtered: showing ${displayItems.length} of ${status.items.length} articles)\n`);
74
+ }
75
+ for (const item of displayItems) {
60
76
  let icon = '🟢';
61
77
  let label = 'synced ';
62
78
  if (item.syncStatus === 'modified') {
@@ -83,10 +99,10 @@ export function registerStatusInitCommands(program, resolveContext) {
83
99
  const uncachedInvalid = status.items.filter((i) => i.syncStatus === 'invalid' && i.cached === false);
84
100
  if (uncachedInvalid.length > 0) {
85
101
  const exampleId = uncachedInvalid.find((i) => i.id && i.id !== 'unknown')?.id || '<ULID>';
86
- console.log(`šŸ’” Hint: Run "emit pull" to repair cached invalid files. For ${uncachedInvalid.length} uncached file(s) outside the sync window, run "emit pull ${exampleId}".\n`);
102
+ console.log(`šŸ’” Hint: Run "emit pull" to automatically repair cached invalid frontmatter (local body is strictly preserved). For ${uncachedInvalid.length} uncached file(s) outside the sync window, run "emit pull ${exampleId}".\n`);
87
103
  }
88
104
  else {
89
- console.log('šŸ’” Hint: Run "emit pull" to automatically re-serialize and repair invalid frontmatter files.\n');
105
+ console.log('šŸ’” Hint: Run "emit pull" to automatically re-serialize and repair frontmatter syntax (local body is strictly preserved).\n');
90
106
  }
91
107
  }
92
108
  if (status.summary.conflicts > 0) {
@@ -140,9 +156,13 @@ export function registerStatusInitCommands(program, resolveContext) {
140
156
  emit push <file> --allow-publish
141
157
 
142
158
  ā–  Handy Commands
143
- - emit status ... View local editing status and diff against remote
144
- - emit pull [id] ... Sync remote articles + taxonomies into local workspace
145
- - emit mcp ... Launch stdio MCP server for AI agents (Antigravity, Claude Code)
159
+ - emit status ... View local editing status and diff against remote
160
+ - emit pull [id] ... Sync remote articles + taxonomies into local workspace
161
+ - emit delete <id> ... Safely delete article locally & remotely (saves .deleted.md rescue copy)
162
+ - emit conflicts ... List, diff, and resolve quarantined copies in posts/conflicts/
163
+ - emit doctor ... Diagnose workspace health, version, origin, and media references
164
+ - emit pull-media ... Download remote media assets (supports --article <id> for targeted sync)
165
+ - emit mcp ... Launch stdio MCP server for AI agents (Antigravity, Claude Code)
146
166
 
147
167
  ā–  Collaboration Rules with AI (AGENTS.md)
148
168
  - Strict prohibition against creating throwaway temporary files (e.g. temp.md).