@litfamily/litopencode 1.0.17 → 1.0.19

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 (71) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README-Ko-KR.md +56 -86
  3. package/README.md +57 -86
  4. package/dist/activation-routing.js +3 -1
  5. package/dist/cli/args.js +5 -1
  6. package/dist/cli/auto-update.js +1 -1
  7. package/dist/cli/doctor.js +7 -5
  8. package/dist/cli/host-limits.js +2 -5
  9. package/dist/cli/install-config.d.ts +4 -0
  10. package/dist/cli/install-config.js +27 -1
  11. package/dist/cli/install-report.js +4 -1
  12. package/dist/cli/install.js +89 -28
  13. package/dist/cli/json.d.ts +1 -0
  14. package/dist/cli/json.js +10 -4
  15. package/dist/cli/jsonc.d.ts +17 -0
  16. package/dist/cli/jsonc.js +174 -0
  17. package/dist/cli/loop.d.ts +1 -1
  18. package/dist/cli/loop.js +81 -1
  19. package/dist/cli/motion-runtime.d.ts +13 -1
  20. package/dist/cli/motion-runtime.js +89 -2
  21. package/dist/cli/plugin-mutation.js +11 -6
  22. package/dist/cli/tui-config.d.ts +52 -0
  23. package/dist/cli/tui-config.js +198 -0
  24. package/dist/cli/types.d.ts +4 -0
  25. package/dist/cli.js +8 -3
  26. package/dist/deliverable-hedge-guard.js +5 -3
  27. package/dist/hooks.js +2 -1
  28. package/dist/tui/mission-band.d.ts +29 -0
  29. package/dist/tui/mission-band.js +116 -0
  30. package/dist/tui/mission-model.d.ts +139 -0
  31. package/dist/tui/mission-model.js +318 -0
  32. package/dist/tui/mission-motion.d.ts +66 -0
  33. package/dist/tui/mission-motion.js +147 -0
  34. package/dist/tui/mission-source.d.ts +56 -0
  35. package/dist/tui/mission-source.js +88 -0
  36. package/dist/tui/mission-text.d.ts +103 -0
  37. package/dist/tui/mission-text.js +613 -0
  38. package/dist/tui.d.ts +6 -0
  39. package/dist/tui.js +317 -0
  40. package/docs/assets/readme/badge-version.svg +1 -1
  41. package/docs/reference-Ko-KR.md +72 -1
  42. package/docs/reference.md +82 -1
  43. package/package.json +21 -2
  44. package/skills/lit-docx/scripts/docx_design.py +1 -1
  45. package/skills/lit-docx/templates/tonalities/brief.yaml +0 -1
  46. package/skills/lit-docx/templates/tonalities/journal.yaml +0 -1
  47. package/skills/lit-docx/templates/tonalities/manual.yaml +0 -1
  48. package/skills/lit-docx/templates/tonalities/memo.yaml +0 -1
  49. package/skills/lit-docx/templates/tonalities/proposal.yaml +0 -1
  50. package/skills/lit-docx/templates/tonalities/report.yaml +0 -1
  51. package/skills/lit-pptx/references/tonalities/atlas.md +3 -4
  52. package/skills/lit-pptx/references/tonalities/chalk.md +2 -2
  53. package/skills/lit-pptx/references/tonalities/gazette.md +3 -3
  54. package/skills/lit-pptx/references/tonalities/ledger.md +6 -7
  55. package/skills/lit-pptx/references/tonalities/night.md +3 -3
  56. package/skills/lit-pptx/references/tonalities/paper.md +4 -5
  57. package/skills/lit-pptx/references/tonalities/signal.md +3 -4
  58. package/skills/lit-pptx/references/tonalities/studio.md +3 -3
  59. package/skills/lit-pptx/scripts/lib/template-registry.js +1 -1
  60. package/skills/lit-pptx/scripts/validate_pptx.py +10 -4
  61. package/skills/lit-pptx/templates/tonalities/atlas/pack.yaml +0 -12
  62. package/skills/lit-pptx/templates/tonalities/chalk/pack.yaml +0 -12
  63. package/skills/lit-pptx/templates/tonalities/gazette/pack.yaml +0 -12
  64. package/skills/lit-pptx/templates/tonalities/ledger/pack.yaml +2 -14
  65. package/skills/lit-pptx/templates/tonalities/night/pack.yaml +0 -12
  66. package/skills/lit-pptx/templates/tonalities/paper/pack.yaml +0 -12
  67. package/skills/lit-pptx/templates/tonalities/signal/pack.yaml +0 -12
  68. package/skills/lit-pptx/templates/tonalities/studio/pack.yaml +0 -12
  69. package/skills/managed-skill-manifest.json +25 -25
  70. package/tools/check-pack-payload.mjs +20 -5
  71. package/tools/version-manifests.json +18 -6
@@ -6,6 +6,10 @@ import { readStableRegularFile } from "../skills/frontend-ui-ux/scripts/stable-f
6
6
 
7
7
  // Shown by the GitHub pages only; the npm cards never reference them, so they stay out of the package.
8
8
  const GITHUB_ONLY_README_MEDIA = /^docs\/assets\/readme\/(?:jev-[^/]+\.webp|(?:install-output|doctor-output|ignition-toast|planner-permissions)-(?:dark|light)\.webp|promo(?:-[^/]+)?\.[^/]+|promo-source(?:\/.*)?)$/u;
9
+ // The landing README links these GitHub pages for what moved off it (guide, skills gallery, screens,
10
+ // artwork). They load images by paths relative to docs/, and they stay out of the package with the social preview.
11
+ const GITHUB_DOC_PAGES = ["docs/guide.md", "docs/guide-Ko-KR.md", "docs/skills.md", "docs/skills-Ko-KR.md", "docs/screens.md", "docs/screens-Ko-KR.md", "docs/brand.md", "docs/brand-Ko-KR.md"];
12
+ const GITHUB_ONLY_DOCS = /^docs\/(?:(?:guide|skills|screens|brand)(?:-Ko-KR)?\.md|assets\/(?:social-preview\.png|demo\.(?:gif|webp)))$/u;
9
13
 
10
14
  const FORBIDDEN_PATH_RULES = [
11
15
  { label: "original prompt provenance", pattern: /^INITIAL_PROMPT\.md$/u },
@@ -17,6 +21,7 @@ const FORBIDDEN_PATH_RULES = [
17
21
  { label: "GitHub-only README media (Jev snapshots, on-screen pictures, promo film)", pattern: GITHUB_ONLY_README_MEDIA },
18
22
  { label: "unapproved README presentation asset", pattern: /^docs\/assets\/readme\/(?!(?:ascii-readme|badge-version|badge-license|lucide-book-open|lucide-play|lucide-shield-check)\.svg$|litopencode-wordmark\.svg$|litopencode-clay-icon\.png$|(?:litfamily-machines|poster)\.png$|ignition-film\.mp4$|ignition-readme\.gif$|(?:Lucide-LICENSE|JetBrainsMono-OFL)\.txt$)/u },
19
23
  { label: "maintainer release checklist", pattern: /^docs\/release-checklist\.md$/u },
24
+ { label: "GitHub-only docs page, social preview or demo film", pattern: GITHUB_ONLY_DOCS },
20
25
  { label: "npm README source (packed as README.md / README-Ko-KR.md)", pattern: /^README-npm(?:-Ko-KR)?\.md$/u },
21
26
  { label: "GitHub README backup from the npm README swap", pattern: /^\.readme-npm-backup(?:\/|$)/u },
22
27
  { label: "npm README swap script", pattern: /^tools\/readme-for-npm\.mjs$/u },
@@ -77,9 +82,10 @@ const REQUIRED_README_PATHS = [
77
82
  "docs/assets/readme/poster.png"
78
83
  ];
79
84
 
80
- // Every image the READMEs show must ship, except the GitHub-only media above: the npm pages load
81
- // pinned package-CDN copies, and the GitHub pages load the same files by relative path. Inside a
82
- // packed artifact the npm sources are absent and README.md / README-Ko-KR.md already hold the npm pages.
85
+ // Every image the READMEs and the GitHub docs pages show must ship, except the GitHub-only media above:
86
+ // the npm pages load pinned package-CDN copies, and the GitHub pages load the same files by relative path.
87
+ // Inside a packed artifact the npm sources and the GitHub docs pages are absent, and README.md /
88
+ // README-Ko-KR.md already hold the npm pages.
83
89
  async function readmeImagePaths() {
84
90
  const { version } = JSON.parse(await fs.readFile("package.json", "utf8"));
85
91
  const prefix = `https://cdn.jsdelivr.net/npm/@litfamily/litopencode@${version}/`;
@@ -94,18 +100,27 @@ async function readmeImagePaths() {
94
100
  // Packed artifact: the target already is the npm page.
95
101
  }
96
102
  }
103
+ for (const page of GITHUB_DOC_PAGES) {
104
+ try {
105
+ await fs.access(page);
106
+ sources.push(page);
107
+ } catch {
108
+ // Packed artifact: the GitHub docs pages stay in the repository.
109
+ }
110
+ }
97
111
  for (const file of sources) {
98
112
  const text = await fs.readFile(file, "utf8");
113
+ const base = path.posix.dirname(file);
99
114
  const targets = [
100
115
  ...[...text.matchAll(/!\[[^\]]*\]\(([^)\s]+)\)/gu)].map((match) => match[1]),
101
116
  ...[...text.matchAll(/\b(?:src|srcset)="([^"\s]+)"/gu)].map((match) => match[1])
102
117
  ];
103
118
  for (const target of targets) {
104
119
  if (target.startsWith(prefix)) paths.add(target.slice(prefix.length));
105
- else if (target.startsWith("./")) paths.add(target.slice(2));
120
+ else if (target.startsWith("./")) paths.add(path.posix.join(base, target.slice(2)));
106
121
  }
107
122
  }
108
- return [...paths].filter((imagePath) => !GITHUB_ONLY_README_MEDIA.test(imagePath));
123
+ return [...paths].filter((imagePath) => !GITHUB_ONLY_README_MEDIA.test(imagePath) && !GITHUB_ONLY_DOCS.test(imagePath));
109
124
  }
110
125
 
111
126
  async function readManagedManifest() {
@@ -11,26 +11,26 @@
11
11
  {
12
12
  "path": "README-Ko-KR.md",
13
13
  "kind": "pinned",
14
- "occurrences": 2,
15
- "why": "The GitHub landing pages load assets by relative path; the release badge alt text and the checkout-version note repeat the package version."
14
+ "occurrences": 1,
15
+ "why": "The GitHub landing pages load assets by relative path; the release badge alt text repeats the package version."
16
16
  },
17
17
  {
18
18
  "path": "README-npm-Ko-KR.md",
19
19
  "kind": "pinned",
20
- "occurrences": 18,
20
+ "occurrences": 13,
21
21
  "why": "The npm package pages pin artwork and package links to the current package version; tools/readme-for-npm.mjs copies them over README.md and README-Ko-KR.md at pack time."
22
22
  },
23
23
  {
24
24
  "path": "README-npm.md",
25
25
  "kind": "pinned",
26
- "occurrences": 18,
26
+ "occurrences": 12,
27
27
  "why": "The npm package pages pin artwork and package links to the current package version; tools/readme-for-npm.mjs copies them over README.md and README-Ko-KR.md at pack time."
28
28
  },
29
29
  {
30
30
  "path": "README.md",
31
31
  "kind": "pinned",
32
- "occurrences": 2,
33
- "why": "The GitHub landing pages load assets by relative path; the release badge alt text and the checkout-version note repeat the package version."
32
+ "occurrences": 1,
33
+ "why": "The GitHub landing pages load assets by relative path; the release badge alt text repeats the package version."
34
34
  },
35
35
  {
36
36
  "path": "docs/assets/readme/badge-version.svg",
@@ -38,6 +38,18 @@
38
38
  "occurrences": 3,
39
39
  "why": "The local candidate badge repeats the checkout version in its accessible label, title, and visible text; it does not claim registry availability."
40
40
  },
41
+ {
42
+ "path": "docs/guide-Ko-KR.md",
43
+ "kind": "pinned",
44
+ "occurrences": 1,
45
+ "why": "The user guide's install section names the checkout version, which moved there from the landing README."
46
+ },
47
+ {
48
+ "path": "docs/guide.md",
49
+ "kind": "pinned",
50
+ "occurrences": 1,
51
+ "why": "The user guide's install section names the checkout version, which moved there from the landing README."
52
+ },
41
53
  {
42
54
  "path": "docs/release-checklist.md",
43
55
  "kind": "pinned",