mustflow 2.70.0 → 2.74.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.md +20 -6
- package/dist/cli/commands/api.js +17 -0
- package/dist/cli/commands/check.js +38 -26
- package/dist/cli/commands/doctor.js +17 -5
- package/dist/cli/commands/evidence.js +71 -0
- package/dist/cli/commands/index.js +24 -9
- package/dist/cli/commands/map.js +20 -7
- package/dist/cli/commands/run.js +2 -1
- package/dist/cli/commands/script-pack.js +124 -0
- package/dist/cli/commands/update.js +52 -39
- package/dist/cli/commands/verify.js +50 -15
- package/dist/cli/commands/workspace.js +2 -0
- package/dist/cli/i18n/en.js +38 -0
- package/dist/cli/i18n/es.js +38 -0
- package/dist/cli/i18n/fr.js +38 -0
- package/dist/cli/i18n/hi.js +38 -0
- package/dist/cli/i18n/ko.js +38 -0
- package/dist/cli/i18n/zh.js +38 -0
- package/dist/cli/index.js +1 -0
- package/dist/cli/lib/active-command-lock.js +96 -0
- package/dist/cli/lib/agent-context.js +179 -10
- package/dist/cli/lib/command-registry.js +6 -0
- package/dist/cli/lib/dashboard-export.js +1 -0
- package/dist/cli/lib/script-pack-registry.js +27 -0
- package/dist/cli/script-packs/core-text-budget.js +241 -0
- package/dist/core/active-run-locks.js +7 -1
- package/dist/core/change-verification.js +10 -0
- package/dist/core/completion-verdict.js +14 -1
- package/dist/core/complexity-budget.js +206 -0
- package/dist/core/conflict-ledger.js +122 -0
- package/dist/core/failure-replay-capsule.js +213 -0
- package/dist/core/public-json-contracts.js +27 -0
- package/dist/core/risk-priced-evidence.js +213 -0
- package/dist/core/script-check-result.js +1 -0
- package/dist/core/text-budget.js +262 -0
- package/dist/core/verification-evidence.js +61 -13
- package/package.json +1 -1
- package/schemas/README.md +23 -11
- package/schemas/change-verification-report.schema.json +29 -0
- package/schemas/context-report.schema.json +58 -2
- package/schemas/dashboard-export.schema.json +42 -1
- package/schemas/diff-risk.schema.json +6 -0
- package/schemas/evidence-report.schema.json +45 -0
- package/schemas/latest-run-pointer.schema.json +50 -1
- package/schemas/script-pack-catalog.schema.json +68 -0
- package/schemas/text-budget-report.schema.json +131 -0
- package/schemas/verification-plan.schema.json +32 -0
- package/schemas/verify-report.schema.json +360 -1
- package/schemas/verify-run-manifest.schema.json +50 -1
- package/schemas/workspace-verification-plan.schema.json +32 -0
- package/templates/default/i18n.toml +2 -2
- package/templates/default/locales/en/.mustflow/skills/INDEX.md +2 -2
- package/templates/default/locales/en/.mustflow/skills/adapter-boundary/SKILL.md +19 -2
- package/templates/default/locales/en/.mustflow/skills/routes.toml +1 -1
- package/templates/default/manifest.toml +1 -1
|
@@ -4,6 +4,7 @@ import path from 'node:path';
|
|
|
4
4
|
import { copyFileInsideWithoutSymlinks, ensureFileTargetInsideWithoutSymlinks, ensureInside, writeUtf8FileInsideWithoutSymlinks, } from '../lib/filesystem.js';
|
|
5
5
|
import { MANIFEST_LOCK_RELATIVE_PATH, readManifestLock, sha256File } from '../lib/manifest-lock.js';
|
|
6
6
|
import { printUsageError, renderHelp } from '../lib/cli-output.js';
|
|
7
|
+
import { acquireActiveCommandLock, MUSTFLOW_UPDATE_APPLY_EFFECTS, reportActiveCommandLockConflict, } from '../lib/active-command-lock.js';
|
|
7
8
|
import { t } from '../lib/i18n.js';
|
|
8
9
|
import { formatCliOptionParseError, hasCliOptionToken, hasParsedCliOption, parseCliOptions, } from '../lib/option-parser.js';
|
|
9
10
|
import { resolveMustflowRoot } from '../lib/project-root.js';
|
|
@@ -430,53 +431,65 @@ export function runUpdate(args, reporter, lang = 'en') {
|
|
|
430
431
|
return 1;
|
|
431
432
|
}
|
|
432
433
|
const projectRoot = resolveMustflowRoot();
|
|
433
|
-
const
|
|
434
|
-
if (
|
|
435
|
-
|
|
436
|
-
reporter.stdout(JSON.stringify(withMode(planOutput(publicPlanItems(plan.items), plan.error, false), requestedMode), null, 2));
|
|
437
|
-
return 1;
|
|
438
|
-
}
|
|
439
|
-
reporter.stderr(plan.error);
|
|
434
|
+
const activeLock = wantsApply ? acquireActiveCommandLock(projectRoot, 'mf update --apply', MUSTFLOW_UPDATE_APPLY_EFFECTS) : null;
|
|
435
|
+
if (activeLock && !activeLock.ok) {
|
|
436
|
+
reportActiveCommandLockConflict(reporter, 'mf update --apply', activeLock.conflicts, 'mf update --help', lang);
|
|
440
437
|
return 1;
|
|
441
438
|
}
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
439
|
+
try {
|
|
440
|
+
const plan = createUpdatePlan(projectRoot);
|
|
441
|
+
if (plan.error) {
|
|
442
|
+
if (wantsJson) {
|
|
443
|
+
reporter.stdout(JSON.stringify(withMode(planOutput(publicPlanItems(plan.items), plan.error, false), requestedMode), null, 2));
|
|
444
|
+
return 1;
|
|
445
|
+
}
|
|
446
|
+
reporter.stderr(plan.error);
|
|
447
|
+
return 1;
|
|
448
|
+
}
|
|
449
|
+
const outputItems = wantsDiff ? withDiffPreviews(projectRoot, plan.items) : publicPlanItems(plan.items);
|
|
450
|
+
const dryRunOutput = withMode(planOutput(outputItems, undefined, false), requestedMode);
|
|
451
|
+
if (wantsDryRun) {
|
|
452
|
+
if (wantsJson) {
|
|
453
|
+
reporter.stdout(JSON.stringify(dryRunOutput, null, 2));
|
|
454
|
+
return dryRunOutput.ok ? 0 : 1;
|
|
455
|
+
}
|
|
456
|
+
printPlan(dryRunOutput, reporter, lang);
|
|
457
|
+
if (wantsDiff) {
|
|
458
|
+
printDiffPreviews(dryRunOutput.items, reporter, lang);
|
|
459
|
+
}
|
|
460
|
+
reporter.stdout(t(lang, 'update.plan.noFilesWritten'));
|
|
447
461
|
return dryRunOutput.ok ? 0 : 1;
|
|
448
462
|
}
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
463
|
+
if (!dryRunOutput.ok) {
|
|
464
|
+
if (wantsJson) {
|
|
465
|
+
reporter.stdout(JSON.stringify(dryRunOutput, null, 2));
|
|
466
|
+
return 1;
|
|
467
|
+
}
|
|
468
|
+
printPlan(dryRunOutput, reporter, lang);
|
|
469
|
+
reporter.stdout(t(lang, 'update.plan.noFilesWritten'));
|
|
470
|
+
return 1;
|
|
452
471
|
}
|
|
453
|
-
reporter.stdout(t(lang, 'update.plan.noFilesWritten'));
|
|
454
|
-
return dryRunOutput.ok ? 0 : 1;
|
|
455
|
-
}
|
|
456
|
-
if (!dryRunOutput.ok) {
|
|
457
472
|
if (wantsJson) {
|
|
458
|
-
|
|
459
|
-
|
|
473
|
+
const applicableItems = plan.items.filter((item) => item.action === 'create' || item.action === 'update');
|
|
474
|
+
const applyResult = applyUpdate(projectRoot, applicableItems, {
|
|
475
|
+
stdout: () => undefined,
|
|
476
|
+
stderr: (message) => reporter.stderr(message),
|
|
477
|
+
}, lang);
|
|
478
|
+
reporter.stdout(JSON.stringify(withMode(planOutput(publicPlanItems(plan.items), undefined, applyResult.wroteFiles), 'apply'), null, 2));
|
|
479
|
+
return 0;
|
|
460
480
|
}
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
stdout: () => undefined,
|
|
469
|
-
stderr: (message) => reporter.stderr(message),
|
|
470
|
-
}, lang);
|
|
471
|
-
reporter.stdout(JSON.stringify(withMode(planOutput(publicPlanItems(plan.items), undefined, applyResult.wroteFiles), 'apply'), null, 2));
|
|
481
|
+
const applyResult = applyUpdate(projectRoot, plan.items, reporter, lang);
|
|
482
|
+
if (!applyResult.wroteFiles) {
|
|
483
|
+
reporter.stdout(t(lang, 'update.plan.noUpdates'));
|
|
484
|
+
reporter.stdout(t(lang, 'update.plan.noFilesWritten'));
|
|
485
|
+
return 0;
|
|
486
|
+
}
|
|
487
|
+
reporter.stdout(t(lang, 'update.complete', { updated: applyResult.updated, created: applyResult.created }));
|
|
472
488
|
return 0;
|
|
473
489
|
}
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
return 0;
|
|
490
|
+
finally {
|
|
491
|
+
if (activeLock?.ok) {
|
|
492
|
+
activeLock.handle.release();
|
|
493
|
+
}
|
|
479
494
|
}
|
|
480
|
-
reporter.stdout(t(lang, 'update.complete', { updated: applyResult.updated, created: applyResult.created }));
|
|
481
|
-
return 0;
|
|
482
495
|
}
|
|
@@ -5,11 +5,13 @@ import { createCorrelationId } from '../../core/correlation-id.js';
|
|
|
5
5
|
import { readUtf8FileInsideWithoutSymlinks, writeJsonFileInsideWithoutSymlinks } from '../../core/safe-filesystem.js';
|
|
6
6
|
import { createVerifyCompletionVerdict, } from '../../core/completion-verdict.js';
|
|
7
7
|
import { createExternalEvidenceRisks, } from '../../core/external-evidence.js';
|
|
8
|
+
import { createFailureReplayCapsule, } from '../../core/failure-replay-capsule.js';
|
|
8
9
|
import { createRepeatedFailureRisks, createVerificationFailureFingerprint, updateRepeatedFailureState, } from '../../core/repeated-failure.js';
|
|
9
10
|
import { createVerificationPlanId } from '../../core/verification-plan-id.js';
|
|
10
11
|
import { countReproEvidenceVerdictEffects, createReproEvidenceRisks, } from '../../core/repro-evidence.js';
|
|
11
12
|
import { createVerifyEvidenceModel } from '../../core/verification-evidence.js';
|
|
12
13
|
import { createScopeDiffRisks } from '../../core/scope-risk.js';
|
|
14
|
+
import { riskPricedEvidenceRiskCount, } from '../../core/risk-priced-evidence.js';
|
|
13
15
|
import { countValidationRatchetVerdictEffects, createValidationRatchetRisks, } from '../../core/validation-ratchet.js';
|
|
14
16
|
import { finishRunWriteBatchTracking, startRunWriteBatchTracking, } from '../../core/run-write-drift.js';
|
|
15
17
|
import { createCommandEnv } from '../../core/command-env.js';
|
|
@@ -486,6 +488,16 @@ function createCompletionVerdictForResults(input) {
|
|
|
486
488
|
const receiptBinding = createReceiptBindingEvidence(input.results, input.verificationPlanId);
|
|
487
489
|
const receiptBindingRiskCount = receiptBinding.plan_unbound_count + receiptBinding.fingerprint_unbound_count;
|
|
488
490
|
const repeatedFailureBlockerCount = input.repeatedFailureRisks.filter((risk) => risk.verdict_effect === 'blocker').length;
|
|
491
|
+
const writeDriftRiskCount = countUndeclaredWriteDrift(input.results);
|
|
492
|
+
const specificReviewRiskCount = input.sourceAnchorRiskCount +
|
|
493
|
+
input.scopeDiffRiskCount +
|
|
494
|
+
input.validationRatchetRiskCount +
|
|
495
|
+
input.reproEvidenceRiskCount +
|
|
496
|
+
input.externalEvidenceRiskCount +
|
|
497
|
+
writeDriftRiskCount +
|
|
498
|
+
receiptBindingRiskCount +
|
|
499
|
+
receiptBinding.stale_count;
|
|
500
|
+
const genericRiskPricedEvidenceRiskCount = specificReviewRiskCount === 0 ? riskPricedEvidenceRiskCount(input.report.risk_assessment) : 0;
|
|
489
501
|
return createVerifyCompletionVerdict({
|
|
490
502
|
verificationPlanId: input.verificationPlanId,
|
|
491
503
|
matchedIntents: input.summary.matched,
|
|
@@ -505,7 +517,8 @@ function createCompletionVerdictForResults(input) {
|
|
|
505
517
|
reproEvidenceContradictionCount: input.reproEvidenceContradictionCount,
|
|
506
518
|
reproEvidenceUnverifiedCount: input.reproEvidenceUnverifiedCount,
|
|
507
519
|
externalEvidenceRiskCount: input.externalEvidenceRiskCount,
|
|
508
|
-
|
|
520
|
+
riskPricedEvidenceRiskCount: genericRiskPricedEvidenceRiskCount,
|
|
521
|
+
writeDriftRiskCount,
|
|
509
522
|
receiptBindingRiskCount,
|
|
510
523
|
staleReceiptCount: receiptBinding.stale_count,
|
|
511
524
|
planMismatchCount: receiptBinding.plan_mismatch_count,
|
|
@@ -642,6 +655,15 @@ function writeVerifyRunReceipts(projectRoot, output, report, sourceAnchorRisks,
|
|
|
642
655
|
results,
|
|
643
656
|
}),
|
|
644
657
|
});
|
|
658
|
+
const failureReplayCapsule = createFailureReplayCapsule({
|
|
659
|
+
projectRoot,
|
|
660
|
+
verificationPlanId: output.verification_plan_id,
|
|
661
|
+
status: output.status,
|
|
662
|
+
reasons: output.reasons,
|
|
663
|
+
report,
|
|
664
|
+
results,
|
|
665
|
+
failureFingerprint,
|
|
666
|
+
});
|
|
645
667
|
const repeatedFailureSummary = updateRepeatedFailureState({
|
|
646
668
|
projectRoot,
|
|
647
669
|
failureFingerprint,
|
|
@@ -670,28 +692,32 @@ function writeVerifyRunReceipts(projectRoot, output, report, sourceAnchorRisks,
|
|
|
670
692
|
reproEvidenceUnverifiedCount: reproEvidenceVerdictEffects.unverified,
|
|
671
693
|
externalEvidenceRiskCount: externalEvidenceRisks.length,
|
|
672
694
|
});
|
|
695
|
+
const evidenceModel = createVerifyEvidenceModel({
|
|
696
|
+
report,
|
|
697
|
+
results,
|
|
698
|
+
verificationPlanId: output.verification_plan_id,
|
|
699
|
+
verdict: completionVerdict,
|
|
700
|
+
sourceAnchorRisks,
|
|
701
|
+
scopeDiffRisks,
|
|
702
|
+
repeatedFailureRisks: finalRepeatedFailureRisks,
|
|
703
|
+
validationRatchetRisks,
|
|
704
|
+
reproEvidence,
|
|
705
|
+
reproEvidenceRisks,
|
|
706
|
+
externalChecks,
|
|
707
|
+
externalEvidenceRisks,
|
|
708
|
+
failureReplayCapsule,
|
|
709
|
+
});
|
|
673
710
|
const outputWithReceiptPaths = {
|
|
674
711
|
...output,
|
|
675
712
|
completion_verdict: completionVerdict,
|
|
713
|
+
evidence_model: evidenceModel,
|
|
714
|
+
conflict_ledger: evidenceModel.conflict_ledger,
|
|
676
715
|
failure_fingerprint: failureFingerprint,
|
|
716
|
+
failure_replay_capsule: failureReplayCapsule,
|
|
677
717
|
repeated_failure_summary: repeatedFailureSummary,
|
|
678
718
|
run_dir: statePaths.runDir,
|
|
679
719
|
manifest_path: statePaths.manifestPath,
|
|
680
720
|
results,
|
|
681
|
-
evidence_model: createVerifyEvidenceModel({
|
|
682
|
-
report,
|
|
683
|
-
results,
|
|
684
|
-
verificationPlanId: output.verification_plan_id,
|
|
685
|
-
verdict: completionVerdict,
|
|
686
|
-
sourceAnchorRisks,
|
|
687
|
-
scopeDiffRisks,
|
|
688
|
-
repeatedFailureRisks: finalRepeatedFailureRisks,
|
|
689
|
-
validationRatchetRisks,
|
|
690
|
-
reproEvidence,
|
|
691
|
-
reproEvidenceRisks,
|
|
692
|
-
externalChecks,
|
|
693
|
-
externalEvidenceRisks,
|
|
694
|
-
}),
|
|
695
721
|
};
|
|
696
722
|
const manifest = {
|
|
697
723
|
schema_version: '1',
|
|
@@ -703,9 +729,12 @@ function writeVerifyRunReceipts(projectRoot, output, report, sourceAnchorRisks,
|
|
|
703
729
|
verification_plan_id: outputWithReceiptPaths.verification_plan_id,
|
|
704
730
|
execution_status: outputWithReceiptPaths.execution_status,
|
|
705
731
|
status: outputWithReceiptPaths.status,
|
|
732
|
+
risk_assessment: outputWithReceiptPaths.risk_assessment,
|
|
706
733
|
completion_verdict: outputWithReceiptPaths.completion_verdict,
|
|
707
734
|
evidence_model: outputWithReceiptPaths.evidence_model,
|
|
735
|
+
conflict_ledger: outputWithReceiptPaths.conflict_ledger,
|
|
708
736
|
failure_fingerprint: outputWithReceiptPaths.failure_fingerprint,
|
|
737
|
+
failure_replay_capsule: outputWithReceiptPaths.failure_replay_capsule,
|
|
709
738
|
repeated_failure_summary: outputWithReceiptPaths.repeated_failure_summary,
|
|
710
739
|
summary: outputWithReceiptPaths.summary,
|
|
711
740
|
...(outputWithReceiptPaths.repro_evidence ? { repro_evidence: outputWithReceiptPaths.repro_evidence } : {}),
|
|
@@ -724,9 +753,12 @@ function writeVerifyRunReceipts(projectRoot, output, report, sourceAnchorRisks,
|
|
|
724
753
|
verification_plan_id: outputWithReceiptPaths.verification_plan_id,
|
|
725
754
|
execution_status: outputWithReceiptPaths.execution_status,
|
|
726
755
|
status: outputWithReceiptPaths.status,
|
|
756
|
+
risk_assessment: outputWithReceiptPaths.risk_assessment,
|
|
727
757
|
completion_verdict: outputWithReceiptPaths.completion_verdict,
|
|
728
758
|
evidence_model: outputWithReceiptPaths.evidence_model,
|
|
759
|
+
conflict_ledger: outputWithReceiptPaths.conflict_ledger,
|
|
729
760
|
failure_fingerprint: outputWithReceiptPaths.failure_fingerprint,
|
|
761
|
+
failure_replay_capsule: outputWithReceiptPaths.failure_replay_capsule,
|
|
730
762
|
repeated_failure_summary: outputWithReceiptPaths.repeated_failure_summary,
|
|
731
763
|
summary: outputWithReceiptPaths.summary,
|
|
732
764
|
...(outputWithReceiptPaths.repro_evidence ? { repro_evidence: outputWithReceiptPaths.repro_evidence } : {}),
|
|
@@ -814,9 +846,12 @@ async function createVerifyOutput(input, planSource, projectRoot, lang, reproEvi
|
|
|
814
846
|
verification_plan_id: verificationPlanId,
|
|
815
847
|
execution_status: status,
|
|
816
848
|
status,
|
|
849
|
+
risk_assessment: report.risk_assessment,
|
|
817
850
|
completion_verdict: completionVerdict,
|
|
818
851
|
evidence_model: evidenceModel,
|
|
852
|
+
conflict_ledger: evidenceModel.conflict_ledger,
|
|
819
853
|
failure_fingerprint: failureFingerprint,
|
|
854
|
+
failure_replay_capsule: null,
|
|
820
855
|
repeated_failure_summary: null,
|
|
821
856
|
summary,
|
|
822
857
|
...(parallelismReport ? { parallelism: parallelismReport } : {}),
|
|
@@ -312,6 +312,7 @@ function createUnavailableVerificationRepository(repository, commandSurface, sta
|
|
|
312
312
|
changed_file_count: classification ? classification.summary.fileCount : null,
|
|
313
313
|
changed_files: classification ? classification.files : [],
|
|
314
314
|
verification_plan_id: null,
|
|
315
|
+
risk_assessment: null,
|
|
315
316
|
requirement_count: 0,
|
|
316
317
|
candidate_count: 0,
|
|
317
318
|
selected_intent_count: 0,
|
|
@@ -367,6 +368,7 @@ function createVerificationRepository(projectRoot, repository) {
|
|
|
367
368
|
changed_file_count: classification.summary.fileCount,
|
|
368
369
|
changed_files: classification.files,
|
|
369
370
|
verification_plan_id: createVerificationPlanId(report, contract),
|
|
371
|
+
risk_assessment: report.risk_assessment,
|
|
370
372
|
requirement_count: report.requirements.length,
|
|
371
373
|
candidate_count: report.candidates.length,
|
|
372
374
|
selected_intent_count: report.schedule.entries.length,
|
package/dist/cli/i18n/en.js
CHANGED
|
@@ -40,6 +40,7 @@ export const enMessages = {
|
|
|
40
40
|
"command.map.summary": "Generate REPO_MAP.md",
|
|
41
41
|
"command.lineEndings.summary": "Inspect and normalize line-ending policy",
|
|
42
42
|
"command.quality.summary": "Inspect changed files for quality-gaming patterns",
|
|
43
|
+
"command.scriptPack.summary": "List and run bundled mustflow script packs",
|
|
43
44
|
"command.run.summary": "Run a configured oneshot command",
|
|
44
45
|
"command.context.summary": "Print machine-readable agent context",
|
|
45
46
|
"command.tech.summary": "Manage technology preferences for agents",
|
|
@@ -182,6 +183,7 @@ export const enMessages = {
|
|
|
182
183
|
"label.results": "Results",
|
|
183
184
|
"label.comment": "Comment",
|
|
184
185
|
"label.mode": "Mode",
|
|
186
|
+
"label.status": "Status",
|
|
185
187
|
"adapters.help.summary": "Inspect repository-visible host adapter files without generating or authorizing adapter surfaces.",
|
|
186
188
|
"adapters.help.exit.ok": "Adapter compatibility was inspected and printed",
|
|
187
189
|
"adapters.help.exit.fail": "The command received invalid input",
|
|
@@ -747,6 +749,42 @@ Read these files before working:
|
|
|
747
749
|
"quality.clean": "No quality-gaming risks found.",
|
|
748
750
|
"quality.error.missingAction": "Specify a quality action: check",
|
|
749
751
|
"quality.error.unknownAction": "Unknown quality action: {action}",
|
|
752
|
+
"scriptPack.help.summary": "List and run bundled mustflow script-pack utilities through one stable command namespace.",
|
|
753
|
+
"scriptPack.help.exit.ok": "The script-pack command completed successfully",
|
|
754
|
+
"scriptPack.help.exit.fail": "The script-pack command received invalid input or the selected script failed",
|
|
755
|
+
"scriptPack.title": "mustflow script packs",
|
|
756
|
+
"scriptPack.pack.core.summary": "Core built-in utility scripts",
|
|
757
|
+
"scriptPack.script.textBudget.summary": "Check exact text length budgets for files or JSON string fields",
|
|
758
|
+
"scriptPack.label.script": "Script",
|
|
759
|
+
"scriptPack.label.actions": "actions",
|
|
760
|
+
"scriptPack.label.schema": "schema",
|
|
761
|
+
"scriptPack.error.missingAction": "Specify a script-pack action: list or run",
|
|
762
|
+
"scriptPack.error.unknownAction": "Unknown script-pack action: {action}",
|
|
763
|
+
"scriptPack.error.missingScript": "Specify a script ref such as core/text-budget",
|
|
764
|
+
"scriptPack.error.unknownScript": "Unknown script-pack script: {script}",
|
|
765
|
+
"textBudget.help.summary": "Check exact text length budgets for files or JSON string fields using grapheme counts by default.",
|
|
766
|
+
"textBudget.help.option.min": "Require at least this many units",
|
|
767
|
+
"textBudget.help.option.max": "Require at most this many units",
|
|
768
|
+
"textBudget.help.option.exact": "Require exactly this many units; cannot be combined with --min or --max",
|
|
769
|
+
"textBudget.help.option.unit": "Counting unit: grapheme, code-point, utf16, utf8-byte, word, or line",
|
|
770
|
+
"textBudget.help.option.jsonPointer": "Read a string field from each JSON file before counting",
|
|
771
|
+
"textBudget.help.exit.ok": "Every checked target is within the declared budget",
|
|
772
|
+
"textBudget.help.exit.fail": "A budget violation, read error, JSON error, or invalid input was found",
|
|
773
|
+
"textBudget.title": "mustflow text budget",
|
|
774
|
+
"textBudget.label.budget": "Budget",
|
|
775
|
+
"textBudget.label.checkedTargets": "Checked targets",
|
|
776
|
+
"textBudget.label.findings": "Findings",
|
|
777
|
+
"textBudget.label.metrics": "Metrics",
|
|
778
|
+
"textBudget.label.issues": "Issues",
|
|
779
|
+
"textBudget.clean": "All text budgets passed.",
|
|
780
|
+
"textBudget.error.missingAction": "Specify a text-budget action: check",
|
|
781
|
+
"textBudget.error.unknownAction": "Unknown text-budget action: {action}",
|
|
782
|
+
"textBudget.error.missingPath": "Provide at least one path to check",
|
|
783
|
+
"textBudget.error.missingBudget": "Declare at least one text budget with --min, --max, or --exact",
|
|
784
|
+
"textBudget.error.exactConflict": "Cannot combine --exact with --min or --max",
|
|
785
|
+
"textBudget.error.invalidNumber": "{option} must be a non-negative safe integer: {value}",
|
|
786
|
+
"textBudget.error.invalidUnit": "Unknown text-budget unit: {unit}. Use one of: {allowed}",
|
|
787
|
+
"textBudget.error.minGreaterThanMax": "--min must be less than or equal to --max",
|
|
750
788
|
"run.help.summary": "Run a configured oneshot command from .mustflow/config/commands.toml.",
|
|
751
789
|
"run.help.option.dryRun": "Print a non-executing command plan",
|
|
752
790
|
"run.help.option.planOnly": "Alias for --dry-run",
|
package/dist/cli/i18n/es.js
CHANGED
|
@@ -40,6 +40,7 @@ export const esMessages = {
|
|
|
40
40
|
"command.map.summary": "Genera REPO_MAP.md",
|
|
41
41
|
"command.lineEndings.summary": "Inspecciona y normaliza la política de finales de línea",
|
|
42
42
|
"command.quality.summary": "Inspect changed files for quality-gaming patterns",
|
|
43
|
+
"command.scriptPack.summary": "List and run bundled mustflow script packs",
|
|
43
44
|
"command.run.summary": "Ejecuta un comando configurado de una sola ejecución",
|
|
44
45
|
"command.context.summary": "Imprime contexto de agente legible por máquinas",
|
|
45
46
|
"command.tech.summary": "Gestiona preferencias tecnológicas para agentes",
|
|
@@ -182,6 +183,7 @@ export const esMessages = {
|
|
|
182
183
|
"label.results": "Resultados",
|
|
183
184
|
"label.comment": "Comentario",
|
|
184
185
|
"label.mode": "Modo",
|
|
186
|
+
"label.status": "Status",
|
|
185
187
|
"adapters.help.summary": "Inspecciona archivos de adaptadores visibles en el repositorio sin generarlos ni autorizarlos.",
|
|
186
188
|
"adapters.help.exit.ok": "La compatibilidad de adaptadores fue inspeccionada e impresa",
|
|
187
189
|
"adapters.help.exit.fail": "El comando recibió entrada inválida",
|
|
@@ -747,6 +749,42 @@ Lee estos archivos antes de trabajar:
|
|
|
747
749
|
"quality.clean": "No quality-gaming risks found.",
|
|
748
750
|
"quality.error.missingAction": "Specify a quality action: check",
|
|
749
751
|
"quality.error.unknownAction": "Unknown quality action: {action}",
|
|
752
|
+
"scriptPack.help.summary": "List and run bundled mustflow script-pack utilities through one stable command namespace.",
|
|
753
|
+
"scriptPack.help.exit.ok": "The script-pack command completed successfully",
|
|
754
|
+
"scriptPack.help.exit.fail": "The script-pack command received invalid input or the selected script failed",
|
|
755
|
+
"scriptPack.title": "mustflow script packs",
|
|
756
|
+
"scriptPack.pack.core.summary": "Core built-in utility scripts",
|
|
757
|
+
"scriptPack.script.textBudget.summary": "Check exact text length budgets for files or JSON string fields",
|
|
758
|
+
"scriptPack.label.script": "Script",
|
|
759
|
+
"scriptPack.label.actions": "actions",
|
|
760
|
+
"scriptPack.label.schema": "schema",
|
|
761
|
+
"scriptPack.error.missingAction": "Specify a script-pack action: list or run",
|
|
762
|
+
"scriptPack.error.unknownAction": "Unknown script-pack action: {action}",
|
|
763
|
+
"scriptPack.error.missingScript": "Specify a script ref such as core/text-budget",
|
|
764
|
+
"scriptPack.error.unknownScript": "Unknown script-pack script: {script}",
|
|
765
|
+
"textBudget.help.summary": "Check exact text length budgets for files or JSON string fields using grapheme counts by default.",
|
|
766
|
+
"textBudget.help.option.min": "Require at least this many units",
|
|
767
|
+
"textBudget.help.option.max": "Require at most this many units",
|
|
768
|
+
"textBudget.help.option.exact": "Require exactly this many units; cannot be combined with --min or --max",
|
|
769
|
+
"textBudget.help.option.unit": "Counting unit: grapheme, code-point, utf16, utf8-byte, word, or line",
|
|
770
|
+
"textBudget.help.option.jsonPointer": "Read a string field from each JSON file before counting",
|
|
771
|
+
"textBudget.help.exit.ok": "Every checked target is within the declared budget",
|
|
772
|
+
"textBudget.help.exit.fail": "A budget violation, read error, JSON error, or invalid input was found",
|
|
773
|
+
"textBudget.title": "mustflow text budget",
|
|
774
|
+
"textBudget.label.budget": "Budget",
|
|
775
|
+
"textBudget.label.checkedTargets": "Checked targets",
|
|
776
|
+
"textBudget.label.findings": "Findings",
|
|
777
|
+
"textBudget.label.metrics": "Metrics",
|
|
778
|
+
"textBudget.label.issues": "Issues",
|
|
779
|
+
"textBudget.clean": "All text budgets passed.",
|
|
780
|
+
"textBudget.error.missingAction": "Specify a text-budget action: check",
|
|
781
|
+
"textBudget.error.unknownAction": "Unknown text-budget action: {action}",
|
|
782
|
+
"textBudget.error.missingPath": "Provide at least one path to check",
|
|
783
|
+
"textBudget.error.missingBudget": "Declare at least one text budget with --min, --max, or --exact",
|
|
784
|
+
"textBudget.error.exactConflict": "Cannot combine --exact with --min or --max",
|
|
785
|
+
"textBudget.error.invalidNumber": "{option} must be a non-negative safe integer: {value}",
|
|
786
|
+
"textBudget.error.invalidUnit": "Unknown text-budget unit: {unit}. Use one of: {allowed}",
|
|
787
|
+
"textBudget.error.minGreaterThanMax": "--min must be less than or equal to --max",
|
|
750
788
|
"run.help.summary": "Ejecuta un comando configurado de una sola ejecución desde .mustflow/config/commands.toml.",
|
|
751
789
|
"run.help.option.dryRun": "Imprime un plan de comando sin ejecutarlo",
|
|
752
790
|
"run.help.option.planOnly": "Alias de --dry-run",
|
package/dist/cli/i18n/fr.js
CHANGED
|
@@ -40,6 +40,7 @@ export const frMessages = {
|
|
|
40
40
|
"command.map.summary": "Génère REPO_MAP.md",
|
|
41
41
|
"command.lineEndings.summary": "Inspecte et normalise la politique de fins de ligne",
|
|
42
42
|
"command.quality.summary": "Inspect changed files for quality-gaming patterns",
|
|
43
|
+
"command.scriptPack.summary": "List and run bundled mustflow script packs",
|
|
43
44
|
"command.run.summary": "Exécute une commande configurée à exécution unique",
|
|
44
45
|
"command.context.summary": "Imprime le contexte d'agent lisible par machine",
|
|
45
46
|
"command.tech.summary": "Gère les préférences technologiques pour les agents",
|
|
@@ -182,6 +183,7 @@ export const frMessages = {
|
|
|
182
183
|
"label.results": "Résultats",
|
|
183
184
|
"label.comment": "Commentaire",
|
|
184
185
|
"label.mode": "Mode",
|
|
186
|
+
"label.status": "Status",
|
|
185
187
|
"adapters.help.summary": "Inspecte les fichiers d'adaptateur visibles dans le dépôt sans les générer ni leur donner d'autorité.",
|
|
186
188
|
"adapters.help.exit.ok": "La compatibilité des adaptateurs a été inspectée et affichée",
|
|
187
189
|
"adapters.help.exit.fail": "La commande a reçu une entrée non valide",
|
|
@@ -747,6 +749,42 @@ Lisez ces fichiers avant de travailler :
|
|
|
747
749
|
"quality.clean": "No quality-gaming risks found.",
|
|
748
750
|
"quality.error.missingAction": "Specify a quality action: check",
|
|
749
751
|
"quality.error.unknownAction": "Unknown quality action: {action}",
|
|
752
|
+
"scriptPack.help.summary": "List and run bundled mustflow script-pack utilities through one stable command namespace.",
|
|
753
|
+
"scriptPack.help.exit.ok": "The script-pack command completed successfully",
|
|
754
|
+
"scriptPack.help.exit.fail": "The script-pack command received invalid input or the selected script failed",
|
|
755
|
+
"scriptPack.title": "mustflow script packs",
|
|
756
|
+
"scriptPack.pack.core.summary": "Core built-in utility scripts",
|
|
757
|
+
"scriptPack.script.textBudget.summary": "Check exact text length budgets for files or JSON string fields",
|
|
758
|
+
"scriptPack.label.script": "Script",
|
|
759
|
+
"scriptPack.label.actions": "actions",
|
|
760
|
+
"scriptPack.label.schema": "schema",
|
|
761
|
+
"scriptPack.error.missingAction": "Specify a script-pack action: list or run",
|
|
762
|
+
"scriptPack.error.unknownAction": "Unknown script-pack action: {action}",
|
|
763
|
+
"scriptPack.error.missingScript": "Specify a script ref such as core/text-budget",
|
|
764
|
+
"scriptPack.error.unknownScript": "Unknown script-pack script: {script}",
|
|
765
|
+
"textBudget.help.summary": "Check exact text length budgets for files or JSON string fields using grapheme counts by default.",
|
|
766
|
+
"textBudget.help.option.min": "Require at least this many units",
|
|
767
|
+
"textBudget.help.option.max": "Require at most this many units",
|
|
768
|
+
"textBudget.help.option.exact": "Require exactly this many units; cannot be combined with --min or --max",
|
|
769
|
+
"textBudget.help.option.unit": "Counting unit: grapheme, code-point, utf16, utf8-byte, word, or line",
|
|
770
|
+
"textBudget.help.option.jsonPointer": "Read a string field from each JSON file before counting",
|
|
771
|
+
"textBudget.help.exit.ok": "Every checked target is within the declared budget",
|
|
772
|
+
"textBudget.help.exit.fail": "A budget violation, read error, JSON error, or invalid input was found",
|
|
773
|
+
"textBudget.title": "mustflow text budget",
|
|
774
|
+
"textBudget.label.budget": "Budget",
|
|
775
|
+
"textBudget.label.checkedTargets": "Checked targets",
|
|
776
|
+
"textBudget.label.findings": "Findings",
|
|
777
|
+
"textBudget.label.metrics": "Metrics",
|
|
778
|
+
"textBudget.label.issues": "Issues",
|
|
779
|
+
"textBudget.clean": "All text budgets passed.",
|
|
780
|
+
"textBudget.error.missingAction": "Specify a text-budget action: check",
|
|
781
|
+
"textBudget.error.unknownAction": "Unknown text-budget action: {action}",
|
|
782
|
+
"textBudget.error.missingPath": "Provide at least one path to check",
|
|
783
|
+
"textBudget.error.missingBudget": "Declare at least one text budget with --min, --max, or --exact",
|
|
784
|
+
"textBudget.error.exactConflict": "Cannot combine --exact with --min or --max",
|
|
785
|
+
"textBudget.error.invalidNumber": "{option} must be a non-negative safe integer: {value}",
|
|
786
|
+
"textBudget.error.invalidUnit": "Unknown text-budget unit: {unit}. Use one of: {allowed}",
|
|
787
|
+
"textBudget.error.minGreaterThanMax": "--min must be less than or equal to --max",
|
|
750
788
|
"run.help.summary": "Exécute une commande configurée à exécution unique depuis .mustflow/config/commands.toml.",
|
|
751
789
|
"run.help.option.dryRun": "Imprime un plan de commande sans l'exécuter",
|
|
752
790
|
"run.help.option.planOnly": "Alias de --dry-run",
|
package/dist/cli/i18n/hi.js
CHANGED
|
@@ -40,6 +40,7 @@ export const hiMessages = {
|
|
|
40
40
|
"command.map.summary": "REPO_MAP.md बनाएँ",
|
|
41
41
|
"command.lineEndings.summary": "लाइन-एंडिंग नीति की जाँच और सामान्यीकरण करें",
|
|
42
42
|
"command.quality.summary": "Inspect changed files for quality-gaming patterns",
|
|
43
|
+
"command.scriptPack.summary": "List and run bundled mustflow script packs",
|
|
43
44
|
"command.run.summary": "कॉन्फ़िगर की गई एक-बार चलने वाली कमांड चलाएँ",
|
|
44
45
|
"command.context.summary": "मशीन-पठनीय एजेंट संदर्भ प्रिंट करें",
|
|
45
46
|
"command.tech.summary": "एजेंटों के लिए technology preferences प्रबंधित करें",
|
|
@@ -182,6 +183,7 @@ export const hiMessages = {
|
|
|
182
183
|
"label.results": "परिणाम",
|
|
183
184
|
"label.comment": "टिप्पणी",
|
|
184
185
|
"label.mode": "मोड",
|
|
186
|
+
"label.status": "Status",
|
|
185
187
|
"adapters.help.summary": "रिपॉज़िटरी में दिखने वाली होस्ट एडाप्टर फ़ाइलों की जाँच करें, बिना फ़ाइल बनाए या अधिकार दिए।",
|
|
186
188
|
"adapters.help.exit.ok": "एडाप्टर संगतता जाँची और प्रिंट की गई",
|
|
187
189
|
"adapters.help.exit.fail": "कमांड को अमान्य इनपुट मिला",
|
|
@@ -747,6 +749,42 @@ export const hiMessages = {
|
|
|
747
749
|
"quality.clean": "No quality-gaming risks found.",
|
|
748
750
|
"quality.error.missingAction": "Specify a quality action: check",
|
|
749
751
|
"quality.error.unknownAction": "Unknown quality action: {action}",
|
|
752
|
+
"scriptPack.help.summary": "List and run bundled mustflow script-pack utilities through one stable command namespace.",
|
|
753
|
+
"scriptPack.help.exit.ok": "The script-pack command completed successfully",
|
|
754
|
+
"scriptPack.help.exit.fail": "The script-pack command received invalid input or the selected script failed",
|
|
755
|
+
"scriptPack.title": "mustflow script packs",
|
|
756
|
+
"scriptPack.pack.core.summary": "Core built-in utility scripts",
|
|
757
|
+
"scriptPack.script.textBudget.summary": "Check exact text length budgets for files or JSON string fields",
|
|
758
|
+
"scriptPack.label.script": "Script",
|
|
759
|
+
"scriptPack.label.actions": "actions",
|
|
760
|
+
"scriptPack.label.schema": "schema",
|
|
761
|
+
"scriptPack.error.missingAction": "Specify a script-pack action: list or run",
|
|
762
|
+
"scriptPack.error.unknownAction": "Unknown script-pack action: {action}",
|
|
763
|
+
"scriptPack.error.missingScript": "Specify a script ref such as core/text-budget",
|
|
764
|
+
"scriptPack.error.unknownScript": "Unknown script-pack script: {script}",
|
|
765
|
+
"textBudget.help.summary": "Check exact text length budgets for files or JSON string fields using grapheme counts by default.",
|
|
766
|
+
"textBudget.help.option.min": "Require at least this many units",
|
|
767
|
+
"textBudget.help.option.max": "Require at most this many units",
|
|
768
|
+
"textBudget.help.option.exact": "Require exactly this many units; cannot be combined with --min or --max",
|
|
769
|
+
"textBudget.help.option.unit": "Counting unit: grapheme, code-point, utf16, utf8-byte, word, or line",
|
|
770
|
+
"textBudget.help.option.jsonPointer": "Read a string field from each JSON file before counting",
|
|
771
|
+
"textBudget.help.exit.ok": "Every checked target is within the declared budget",
|
|
772
|
+
"textBudget.help.exit.fail": "A budget violation, read error, JSON error, or invalid input was found",
|
|
773
|
+
"textBudget.title": "mustflow text budget",
|
|
774
|
+
"textBudget.label.budget": "Budget",
|
|
775
|
+
"textBudget.label.checkedTargets": "Checked targets",
|
|
776
|
+
"textBudget.label.findings": "Findings",
|
|
777
|
+
"textBudget.label.metrics": "Metrics",
|
|
778
|
+
"textBudget.label.issues": "Issues",
|
|
779
|
+
"textBudget.clean": "All text budgets passed.",
|
|
780
|
+
"textBudget.error.missingAction": "Specify a text-budget action: check",
|
|
781
|
+
"textBudget.error.unknownAction": "Unknown text-budget action: {action}",
|
|
782
|
+
"textBudget.error.missingPath": "Provide at least one path to check",
|
|
783
|
+
"textBudget.error.missingBudget": "Declare at least one text budget with --min, --max, or --exact",
|
|
784
|
+
"textBudget.error.exactConflict": "Cannot combine --exact with --min or --max",
|
|
785
|
+
"textBudget.error.invalidNumber": "{option} must be a non-negative safe integer: {value}",
|
|
786
|
+
"textBudget.error.invalidUnit": "Unknown text-budget unit: {unit}. Use one of: {allowed}",
|
|
787
|
+
"textBudget.error.minGreaterThanMax": "--min must be less than or equal to --max",
|
|
750
788
|
"run.help.summary": ".mustflow/config/commands.toml से कॉन्फ़िगर की गई एक-बार चलने वाली कमांड चलाएँ।",
|
|
751
789
|
"run.help.option.dryRun": "कमांड चलाए बिना उसका plan प्रिंट करें",
|
|
752
790
|
"run.help.option.planOnly": "--dry-run का alias",
|
package/dist/cli/i18n/ko.js
CHANGED
|
@@ -40,6 +40,7 @@ export const koMessages = {
|
|
|
40
40
|
"command.map.summary": "REPO_MAP.md를 작성합니다",
|
|
41
41
|
"command.lineEndings.summary": "줄바꿈 정책을 검사하고 정규화합니다",
|
|
42
42
|
"command.quality.summary": "변경 파일의 품질 지표 꼼수를 검사합니다",
|
|
43
|
+
"command.scriptPack.summary": "mustflow 내장 script pack을 나열하고 실행합니다",
|
|
43
44
|
"command.run.summary": "설정된 일회성 명령을 실행합니다",
|
|
44
45
|
"command.context.summary": "에이전트 작업 맥락을 출력합니다",
|
|
45
46
|
"command.tech.summary": "에이전트용 기술 선호를 관리합니다",
|
|
@@ -182,6 +183,7 @@ export const koMessages = {
|
|
|
182
183
|
"label.results": "결과",
|
|
183
184
|
"label.comment": "코멘트",
|
|
184
185
|
"label.mode": "모드",
|
|
186
|
+
"label.status": "상태",
|
|
185
187
|
"adapters.help.summary": "파일을 만들거나 어댑터 표면에 권한을 주지 않고, 저장소에서 보이는 호스트 어댑터 파일을 확인합니다.",
|
|
186
188
|
"adapters.help.exit.ok": "어댑터 호환성을 확인하고 출력했습니다",
|
|
187
189
|
"adapters.help.exit.fail": "잘못된 입력이 제공되었습니다",
|
|
@@ -747,6 +749,42 @@ export const koMessages = {
|
|
|
747
749
|
"quality.clean": "품질 지표 꼼수가 발견되지 않았습니다.",
|
|
748
750
|
"quality.error.missingAction": "quality 작업을 지정하세요: check",
|
|
749
751
|
"quality.error.unknownAction": "알 수 없는 quality 작업: {action}",
|
|
752
|
+
"scriptPack.help.summary": "mustflow 내장 utility script들을 하나의 안정적인 command namespace 아래에서 나열하고 실행합니다.",
|
|
753
|
+
"scriptPack.help.exit.ok": "script-pack 명령이 성공적으로 완료되었습니다",
|
|
754
|
+
"scriptPack.help.exit.fail": "script-pack 명령에 잘못된 입력이 제공되었거나 선택한 script가 실패했습니다",
|
|
755
|
+
"scriptPack.title": "mustflow script packs",
|
|
756
|
+
"scriptPack.pack.core.summary": "핵심 내장 utility script",
|
|
757
|
+
"scriptPack.script.textBudget.summary": "파일이나 JSON 문자열 필드의 정확한 텍스트 길이 예산을 검사합니다",
|
|
758
|
+
"scriptPack.label.script": "Script",
|
|
759
|
+
"scriptPack.label.actions": "작업",
|
|
760
|
+
"scriptPack.label.schema": "스키마",
|
|
761
|
+
"scriptPack.error.missingAction": "script-pack 작업을 지정하세요: list 또는 run",
|
|
762
|
+
"scriptPack.error.unknownAction": "알 수 없는 script-pack 작업: {action}",
|
|
763
|
+
"scriptPack.error.missingScript": "core/text-budget 같은 script ref를 지정하세요",
|
|
764
|
+
"scriptPack.error.unknownScript": "알 수 없는 script-pack script: {script}",
|
|
765
|
+
"textBudget.help.summary": "파일이나 JSON 문자열 필드의 정확한 텍스트 길이 예산을 검사합니다. 기본 단위는 grapheme입니다.",
|
|
766
|
+
"textBudget.help.option.min": "최소 단위 수를 요구합니다",
|
|
767
|
+
"textBudget.help.option.max": "최대 단위 수를 요구합니다",
|
|
768
|
+
"textBudget.help.option.exact": "정확히 이 단위 수를 요구합니다. --min 또는 --max와 함께 쓸 수 없습니다",
|
|
769
|
+
"textBudget.help.option.unit": "계산 단위: grapheme, code-point, utf16, utf8-byte, word, line",
|
|
770
|
+
"textBudget.help.option.jsonPointer": "계산 전에 각 JSON 파일에서 문자열 필드를 읽습니다",
|
|
771
|
+
"textBudget.help.exit.ok": "모든 대상이 선언된 예산 안에 있습니다",
|
|
772
|
+
"textBudget.help.exit.fail": "예산 위반, 읽기 오류, JSON 오류, 또는 잘못된 입력이 발견되었습니다",
|
|
773
|
+
"textBudget.title": "mustflow text budget",
|
|
774
|
+
"textBudget.label.budget": "예산",
|
|
775
|
+
"textBudget.label.checkedTargets": "검사한 대상",
|
|
776
|
+
"textBudget.label.findings": "발견 항목",
|
|
777
|
+
"textBudget.label.metrics": "측정값",
|
|
778
|
+
"textBudget.label.issues": "문제",
|
|
779
|
+
"textBudget.clean": "모든 텍스트 예산을 통과했습니다.",
|
|
780
|
+
"textBudget.error.missingAction": "text-budget 작업을 지정하세요: check",
|
|
781
|
+
"textBudget.error.unknownAction": "알 수 없는 text-budget 작업: {action}",
|
|
782
|
+
"textBudget.error.missingPath": "검사할 경로를 하나 이상 제공하세요",
|
|
783
|
+
"textBudget.error.missingBudget": "--min, --max, 또는 --exact 중 하나로 텍스트 예산을 선언하세요",
|
|
784
|
+
"textBudget.error.exactConflict": "--exact는 --min 또는 --max와 함께 쓸 수 없습니다",
|
|
785
|
+
"textBudget.error.invalidNumber": "{option} 값은 0 이상의 안전한 정수여야 합니다: {value}",
|
|
786
|
+
"textBudget.error.invalidUnit": "알 수 없는 text-budget 단위: {unit}. 다음 중 하나를 사용하세요: {allowed}",
|
|
787
|
+
"textBudget.error.minGreaterThanMax": "--min은 --max보다 작거나 같아야 합니다",
|
|
750
788
|
"run.help.summary": ".mustflow/config/commands.toml에 설정된 일회성 명령을 실행합니다.",
|
|
751
789
|
"run.help.option.dryRun": "실행하지 않고 명령 계획을 출력합니다",
|
|
752
790
|
"run.help.option.planOnly": "--dry-run과 같은 동작입니다",
|
package/dist/cli/i18n/zh.js
CHANGED
|
@@ -40,6 +40,7 @@ export const zhMessages = {
|
|
|
40
40
|
"command.map.summary": "生成 REPO_MAP.md",
|
|
41
41
|
"command.lineEndings.summary": "检查并规范化换行符策略",
|
|
42
42
|
"command.quality.summary": "Inspect changed files for quality-gaming patterns",
|
|
43
|
+
"command.scriptPack.summary": "List and run bundled mustflow script packs",
|
|
43
44
|
"command.run.summary": "运行已配置的一次性命令",
|
|
44
45
|
"command.context.summary": "输出机器可读的代理上下文",
|
|
45
46
|
"command.tech.summary": "管理代理使用的技术偏好",
|
|
@@ -182,6 +183,7 @@ export const zhMessages = {
|
|
|
182
183
|
"label.results": "结果",
|
|
183
184
|
"label.comment": "评论",
|
|
184
185
|
"label.mode": "模式",
|
|
186
|
+
"label.status": "Status",
|
|
185
187
|
"adapters.help.summary": "检查仓库中可见的宿主适配器文件,但不生成文件,也不授予适配器执行权限。",
|
|
186
188
|
"adapters.help.exit.ok": "已检查并输出适配器兼容性",
|
|
187
189
|
"adapters.help.exit.fail": "命令收到无效输入",
|
|
@@ -747,6 +749,42 @@ export const zhMessages = {
|
|
|
747
749
|
"quality.clean": "No quality-gaming risks found.",
|
|
748
750
|
"quality.error.missingAction": "Specify a quality action: check",
|
|
749
751
|
"quality.error.unknownAction": "Unknown quality action: {action}",
|
|
752
|
+
"scriptPack.help.summary": "List and run bundled mustflow script-pack utilities through one stable command namespace.",
|
|
753
|
+
"scriptPack.help.exit.ok": "The script-pack command completed successfully",
|
|
754
|
+
"scriptPack.help.exit.fail": "The script-pack command received invalid input or the selected script failed",
|
|
755
|
+
"scriptPack.title": "mustflow script packs",
|
|
756
|
+
"scriptPack.pack.core.summary": "Core built-in utility scripts",
|
|
757
|
+
"scriptPack.script.textBudget.summary": "Check exact text length budgets for files or JSON string fields",
|
|
758
|
+
"scriptPack.label.script": "Script",
|
|
759
|
+
"scriptPack.label.actions": "actions",
|
|
760
|
+
"scriptPack.label.schema": "schema",
|
|
761
|
+
"scriptPack.error.missingAction": "Specify a script-pack action: list or run",
|
|
762
|
+
"scriptPack.error.unknownAction": "Unknown script-pack action: {action}",
|
|
763
|
+
"scriptPack.error.missingScript": "Specify a script ref such as core/text-budget",
|
|
764
|
+
"scriptPack.error.unknownScript": "Unknown script-pack script: {script}",
|
|
765
|
+
"textBudget.help.summary": "Check exact text length budgets for files or JSON string fields using grapheme counts by default.",
|
|
766
|
+
"textBudget.help.option.min": "Require at least this many units",
|
|
767
|
+
"textBudget.help.option.max": "Require at most this many units",
|
|
768
|
+
"textBudget.help.option.exact": "Require exactly this many units; cannot be combined with --min or --max",
|
|
769
|
+
"textBudget.help.option.unit": "Counting unit: grapheme, code-point, utf16, utf8-byte, word, or line",
|
|
770
|
+
"textBudget.help.option.jsonPointer": "Read a string field from each JSON file before counting",
|
|
771
|
+
"textBudget.help.exit.ok": "Every checked target is within the declared budget",
|
|
772
|
+
"textBudget.help.exit.fail": "A budget violation, read error, JSON error, or invalid input was found",
|
|
773
|
+
"textBudget.title": "mustflow text budget",
|
|
774
|
+
"textBudget.label.budget": "Budget",
|
|
775
|
+
"textBudget.label.checkedTargets": "Checked targets",
|
|
776
|
+
"textBudget.label.findings": "Findings",
|
|
777
|
+
"textBudget.label.metrics": "Metrics",
|
|
778
|
+
"textBudget.label.issues": "Issues",
|
|
779
|
+
"textBudget.clean": "All text budgets passed.",
|
|
780
|
+
"textBudget.error.missingAction": "Specify a text-budget action: check",
|
|
781
|
+
"textBudget.error.unknownAction": "Unknown text-budget action: {action}",
|
|
782
|
+
"textBudget.error.missingPath": "Provide at least one path to check",
|
|
783
|
+
"textBudget.error.missingBudget": "Declare at least one text budget with --min, --max, or --exact",
|
|
784
|
+
"textBudget.error.exactConflict": "Cannot combine --exact with --min or --max",
|
|
785
|
+
"textBudget.error.invalidNumber": "{option} must be a non-negative safe integer: {value}",
|
|
786
|
+
"textBudget.error.invalidUnit": "Unknown text-budget unit: {unit}. Use one of: {allowed}",
|
|
787
|
+
"textBudget.error.minGreaterThanMax": "--min must be less than or equal to --max",
|
|
750
788
|
"run.help.summary": "从 .mustflow/config/commands.toml 运行已配置的一次性命令。",
|
|
751
789
|
"run.help.option.dryRun": "输出命令计划但不执行",
|
|
752
790
|
"run.help.option.planOnly": "--dry-run 的别名",
|