@mcptoolshop/style-dataset-lab 3.2.0 → 3.4.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 (95) hide show
  1. package/CHANGELOG.md +58 -1
  2. package/README.es.md +40 -19
  3. package/README.fr.md +74 -53
  4. package/README.hi.md +67 -46
  5. package/README.it.md +42 -21
  6. package/README.ja.md +44 -23
  7. package/README.md +25 -4
  8. package/README.pt-BR.md +42 -21
  9. package/README.zh.md +66 -45
  10. package/bin/sdlab.js +51 -4
  11. package/lib/adapters/ai-toolkit.js +37 -5
  12. package/lib/adapters/comfyui-runner.js +114 -27
  13. package/lib/adapters/comfyui-workflows.js +10 -2
  14. package/lib/adapters/diffusers-lora.js +37 -5
  15. package/lib/adapters/generic-image-caption.js +43 -5
  16. package/lib/args.js +16 -1
  17. package/lib/batch-modes.js +29 -8
  18. package/lib/batch-runs.js +29 -1
  19. package/lib/batch-sheet-render.js +13 -3
  20. package/lib/brief-compiler.js +19 -0
  21. package/lib/candidate-sheet.js +327 -0
  22. package/lib/canon-build/build.js +146 -93
  23. package/lib/captions.js +57 -0
  24. package/lib/card.js +74 -2
  25. package/lib/comfyui.js +116 -18
  26. package/lib/config.js +116 -12
  27. package/lib/critique-engine.js +82 -3
  28. package/lib/critique-render.js +45 -0
  29. package/lib/eligibility.js +121 -9
  30. package/lib/eval-pack.js +14 -14
  31. package/lib/eval-runs.js +33 -0
  32. package/lib/export.js +122 -34
  33. package/lib/freeze-gate.js +69 -16
  34. package/lib/freeze-stamp.js +28 -3
  35. package/lib/generated-provenance.js +16 -1
  36. package/lib/implementation-packs.js +95 -17
  37. package/lib/ingest.js +396 -0
  38. package/lib/judgment-provenance.js +220 -0
  39. package/lib/measure.js +422 -0
  40. package/lib/paths.js +196 -7
  41. package/lib/reingest-selected.js +98 -16
  42. package/lib/run-manifest.js +394 -0
  43. package/lib/run-summary.js +12 -6
  44. package/lib/runtime-runs.js +45 -4
  45. package/lib/snapshot.js +121 -16
  46. package/lib/split.js +364 -48
  47. package/lib/training-manifests.js +114 -21
  48. package/lib/training-packages.js +147 -15
  49. package/lib/verifier.js +67 -0
  50. package/lib/workflow-profiles.js +24 -3
  51. package/package.json +3 -2
  52. package/runtime/comfyui/txt2img-qwen.json +38 -0
  53. package/runtime/comfyui/txt2img-standard.json +21 -0
  54. package/scripts/_resume.js +62 -0
  55. package/scripts/_shared-args.js +44 -0
  56. package/scripts/brief-compile.js +2 -1
  57. package/scripts/brief-show.js +2 -1
  58. package/scripts/canon-bind.js +2 -2
  59. package/scripts/canon-build.js +27 -20
  60. package/scripts/canon-drift.js +16 -7
  61. package/scripts/canon-freeze-status.js +14 -6
  62. package/scripts/canon-freeze.js +27 -11
  63. package/scripts/canon-unfreeze.js +17 -9
  64. package/scripts/card.js +2 -2
  65. package/scripts/compare.js +2 -2
  66. package/scripts/critique.js +48 -8
  67. package/scripts/curate.js +23 -2
  68. package/scripts/doctor.js +181 -55
  69. package/scripts/eligibility.js +42 -2
  70. package/scripts/eval-pack.js +2 -2
  71. package/scripts/eval-run.js +2 -2
  72. package/scripts/export.js +2 -2
  73. package/scripts/generate-controlnet.js +45 -25
  74. package/scripts/generate-identity.js +53 -23
  75. package/scripts/generate-ipadapter.js +44 -23
  76. package/scripts/generate.js +72 -5
  77. package/scripts/implementation-pack.js +2 -2
  78. package/scripts/ingest.js +145 -0
  79. package/scripts/init.js +73 -13
  80. package/scripts/measure.js +170 -0
  81. package/scripts/measure_image.py +458 -0
  82. package/scripts/migrate-records.js +142 -0
  83. package/scripts/painterly-test.js +4 -3
  84. package/scripts/painterly.js +7 -3
  85. package/scripts/qwen_generate.py +334 -13
  86. package/scripts/reingest.js +2 -2
  87. package/scripts/run-generate.js +3 -0
  88. package/scripts/sheet.js +142 -0
  89. package/scripts/snapshot.js +2 -2
  90. package/scripts/split.js +2 -2
  91. package/scripts/training-manifest.js +2 -2
  92. package/scripts/training-package.js +2 -2
  93. package/scripts/training-profile.js +2 -2
  94. package/scripts/workflow-list.js +2 -1
  95. package/scripts/workflow-show.js +2 -1
@@ -11,7 +11,7 @@
11
11
 
12
12
  import { join } from 'node:path';
13
13
  import { parseArgs, getProjectName } from '../lib/args.js';
14
- import { REPO_ROOT } from '../lib/paths.js';
14
+ import { getProjectRoot } from '../lib/paths.js';
15
15
  import { inputError, handleCliError } from '../lib/errors.js';
16
16
  import { listTrainingManifests } from '../lib/training-manifests.js';
17
17
  import { buildTrainingPackage, listTrainingPackages, loadTrainingPackage } from '../lib/training-packages.js';
@@ -28,7 +28,7 @@ export async function run(argv = process.argv.slice(2)) {
28
28
  });
29
29
 
30
30
  const projectName = flags.project || getProjectName(argv);
31
- const projectRoot = join(REPO_ROOT, 'projects', projectName);
31
+ const projectRoot = getProjectRoot(projectName);
32
32
  const subcommand = positionals.find(a => !a.startsWith('tp-') && !a.startsWith('tm-')) || 'list';
33
33
 
34
34
  if (subcommand === 'build') {
@@ -10,7 +10,7 @@
10
10
 
11
11
  import { join } from 'node:path';
12
12
  import { parseArgs, getProjectName } from '../lib/args.js';
13
- import { REPO_ROOT } from '../lib/paths.js';
13
+ import { getProjectRoot } from '../lib/paths.js';
14
14
  import { inputError, handleCliError } from '../lib/errors.js';
15
15
  import { listTrainingProfiles, loadTrainingProfile } from '../lib/training-profiles.js';
16
16
 
@@ -21,7 +21,7 @@ export async function run(argv = process.argv.slice(2)) {
21
21
  });
22
22
 
23
23
  const projectName = flags.project || getProjectName(argv);
24
- const projectRoot = join(REPO_ROOT, 'projects', projectName);
24
+ const projectRoot = getProjectRoot(projectName);
25
25
  const subcommand = positionals[0] || 'list';
26
26
 
27
27
  if (subcommand === 'list') {
@@ -11,6 +11,7 @@
11
11
  import { getProjectName, parseArgs } from '../lib/args.js';
12
12
  import { getProjectRoot } from '../lib/paths.js';
13
13
  import { listWorkflowProfiles } from '../lib/workflow-profiles.js';
14
+ import { handleCliError } from '../lib/errors.js';
14
15
 
15
16
  export async function run(argv = process.argv.slice(2)) {
16
17
  const { flags } = parseArgs(argv, {
@@ -57,5 +58,5 @@ export async function run(argv = process.argv.slice(2)) {
57
58
  }
58
59
 
59
60
  if (process.argv[1] && (process.argv[1].endsWith('workflow-list.js') || process.argv[1].endsWith('workflow-list'))) {
60
- run().catch((err) => { console.error(err.message || err); process.exit(1); });
61
+ run().catch(handleCliError);
61
62
  }
@@ -11,6 +11,7 @@
11
11
  import { parseArgs, getProjectName } from '../lib/args.js';
12
12
  import { getProjectRoot } from '../lib/paths.js';
13
13
  import { getWorkflowProfile } from '../lib/workflow-profiles.js';
14
+ import { handleCliError } from '../lib/errors.js';
14
15
 
15
16
  export async function run(argv = process.argv.slice(2)) {
16
17
  const { flags, positionals } = parseArgs(argv, {
@@ -93,5 +94,5 @@ export async function run(argv = process.argv.slice(2)) {
93
94
  }
94
95
 
95
96
  if (process.argv[1] && (process.argv[1].endsWith('workflow-show.js') || process.argv[1].endsWith('workflow-show'))) {
96
- run().catch((err) => { console.error(err.message || err); process.exit(1); });
97
+ run().catch(handleCliError);
97
98
  }