@hongmaple0820/scale-engine 0.40.2 → 0.44.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.
- package/README.md +30 -2
- package/dist/api/cli.js +43 -2
- package/dist/api/cli.js.map +1 -1
- package/dist/api/quickstart.d.ts +11 -0
- package/dist/api/quickstart.js +98 -1
- package/dist/api/quickstart.js.map +1 -1
- package/dist/artifact/fsmDefinitions.js +15 -2
- package/dist/artifact/fsmDefinitions.js.map +1 -1
- package/dist/artifact/types.d.ts +1 -1
- package/dist/artifact/types.js.map +1 -1
- package/dist/cache/ScanCache.d.ts +41 -0
- package/dist/cache/ScanCache.js +120 -0
- package/dist/cache/ScanCache.js.map +1 -0
- package/dist/capabilities/BrowserQACapability.d.ts +14 -0
- package/dist/capabilities/BrowserQACapability.js +94 -0
- package/dist/capabilities/BrowserQACapability.js.map +1 -1
- package/dist/cli/autofixCommands.d.ts +22 -0
- package/dist/cli/autofixCommands.js +32 -0
- package/dist/cli/autofixCommands.js.map +1 -0
- package/dist/cli/cortexCommands.d.ts +71 -0
- package/dist/cli/cortexCommands.js +335 -0
- package/dist/cli/cortexCommands.js.map +1 -0
- package/dist/cli/costCommands.d.ts +13 -0
- package/dist/cli/costCommands.js +48 -0
- package/dist/cli/costCommands.js.map +1 -0
- package/dist/cli/orchCommands.d.ts +43 -0
- package/dist/cli/orchCommands.js +135 -0
- package/dist/cli/orchCommands.js.map +1 -0
- package/dist/cli/phaseCommands.js +1 -2
- package/dist/cli/phaseCommands.js.map +1 -1
- package/dist/cli/qaCommands.d.ts +22 -0
- package/dist/cli/qaCommands.js +84 -0
- package/dist/cli/qaCommands.js.map +1 -0
- package/dist/cli/quickstartCommands.d.ts +17 -0
- package/dist/cli/quickstartCommands.js +47 -0
- package/dist/cli/quickstartCommands.js.map +1 -0
- package/dist/cli/shieldCommands.d.ts +30 -0
- package/dist/cli/shieldCommands.js +212 -0
- package/dist/cli/shieldCommands.js.map +1 -0
- package/dist/cli/tuiCommands.d.ts +7 -0
- package/dist/cli/tuiCommands.js +33 -0
- package/dist/cli/tuiCommands.js.map +1 -0
- package/dist/codegraph/CodeIntelligence.d.ts +27 -0
- package/dist/codegraph/CodeIntelligence.js +316 -3
- package/dist/codegraph/CodeIntelligence.js.map +1 -1
- package/dist/config/profiles.js +26 -0
- package/dist/config/profiles.js.map +1 -1
- package/dist/cortex/GovernanceMetrics.d.ts +66 -0
- package/dist/cortex/GovernanceMetrics.js +230 -0
- package/dist/cortex/GovernanceMetrics.js.map +1 -0
- package/dist/cortex/InstinctExtractor.d.ts +61 -0
- package/dist/cortex/InstinctExtractor.js +184 -0
- package/dist/cortex/InstinctExtractor.js.map +1 -0
- package/dist/cortex/InstinctStore.d.ts +54 -0
- package/dist/cortex/InstinctStore.js +266 -0
- package/dist/cortex/InstinctStore.js.map +1 -0
- package/dist/cortex/ReflexionEngine.d.ts +34 -0
- package/dist/cortex/ReflexionEngine.js +157 -0
- package/dist/cortex/ReflexionEngine.js.map +1 -0
- package/dist/cortex/SessionInjector.d.ts +44 -0
- package/dist/cortex/SessionInjector.js +127 -0
- package/dist/cortex/SessionInjector.js.map +1 -0
- package/dist/cortex/adapters/ClaudeAdapter.d.ts +17 -0
- package/dist/cortex/adapters/ClaudeAdapter.js +61 -0
- package/dist/cortex/adapters/ClaudeAdapter.js.map +1 -0
- package/dist/cortex/adapters/CodexAdapter.d.ts +10 -0
- package/dist/cortex/adapters/CodexAdapter.js +52 -0
- package/dist/cortex/adapters/CodexAdapter.js.map +1 -0
- package/dist/cortex/adapters/CursorAdapter.d.ts +10 -0
- package/dist/cortex/adapters/CursorAdapter.js +46 -0
- package/dist/cortex/adapters/CursorAdapter.js.map +1 -0
- package/dist/cortex/adapters/GeminiAdapter.d.ts +11 -0
- package/dist/cortex/adapters/GeminiAdapter.js +48 -0
- package/dist/cortex/adapters/GeminiAdapter.js.map +1 -0
- package/dist/dashboard/DashboardServer.d.ts +33 -13
- package/dist/dashboard/DashboardServer.js +314 -182
- package/dist/dashboard/DashboardServer.js.map +1 -1
- package/dist/dashboard/index.d.ts +2 -2
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard/index.js.map +1 -1
- package/dist/dashboard/server.d.ts +8 -22
- package/dist/dashboard/server.js +2 -83
- package/dist/dashboard/server.js.map +1 -1
- package/dist/eval/BenchmarkPublisher.d.ts +25 -0
- package/dist/eval/BenchmarkPublisher.js +27 -0
- package/dist/eval/BenchmarkPublisher.js.map +1 -0
- package/dist/guardrails/DependencyAuditor.js +10 -1
- package/dist/guardrails/DependencyAuditor.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/orchestrator/OrchestratorDaemon.d.ts +44 -0
- package/dist/orchestrator/OrchestratorDaemon.js +150 -0
- package/dist/orchestrator/OrchestratorDaemon.js.map +1 -0
- package/dist/orchestrator/PolicyLoader.d.ts +80 -0
- package/dist/orchestrator/PolicyLoader.js +229 -0
- package/dist/orchestrator/PolicyLoader.js.map +1 -0
- package/dist/orchestrator/ReconciliationLoop.d.ts +71 -0
- package/dist/orchestrator/ReconciliationLoop.js +266 -0
- package/dist/orchestrator/ReconciliationLoop.js.map +1 -0
- package/dist/orchestrator/TrackerAdapter.d.ts +60 -0
- package/dist/orchestrator/TrackerAdapter.js +147 -0
- package/dist/orchestrator/TrackerAdapter.js.map +1 -0
- package/dist/orchestrator/WorkspaceManager.d.ts +66 -0
- package/dist/orchestrator/WorkspaceManager.js +257 -0
- package/dist/orchestrator/WorkspaceManager.js.map +1 -0
- package/dist/qa/BrowserDaemon.d.ts +23 -0
- package/dist/qa/BrowserDaemon.js +79 -0
- package/dist/qa/BrowserDaemon.js.map +1 -0
- package/dist/qa/E2ETestOrchestrator.d.ts +14 -0
- package/dist/qa/E2ETestOrchestrator.js +19 -0
- package/dist/qa/E2ETestOrchestrator.js.map +1 -0
- package/dist/review/CrossModelReviewer.d.ts +35 -0
- package/dist/review/CrossModelReviewer.js +75 -0
- package/dist/review/CrossModelReviewer.js.map +1 -0
- package/dist/review/ReviewAggregator.d.ts +13 -0
- package/dist/review/ReviewAggregator.js +28 -0
- package/dist/review/ReviewAggregator.js.map +1 -0
- package/dist/review/reviewCommands.d.ts +15 -0
- package/dist/review/reviewCommands.js +24 -0
- package/dist/review/reviewCommands.js.map +1 -0
- package/dist/routing/LocalModelProvider.d.ts +11 -0
- package/dist/routing/LocalModelProvider.js +21 -0
- package/dist/routing/LocalModelProvider.js.map +1 -0
- package/dist/routing/ModelRouter.d.ts +12 -0
- package/dist/routing/ModelRouter.js +31 -4
- package/dist/routing/ModelRouter.js.map +1 -1
- package/dist/runtime/AiOsRuntime.d.ts +1 -0
- package/dist/runtime/AiOsRuntime.js +15 -0
- package/dist/runtime/AiOsRuntime.js.map +1 -1
- package/dist/runtime/CostAnalyzer.d.ts +53 -0
- package/dist/runtime/CostAnalyzer.js +160 -0
- package/dist/runtime/CostAnalyzer.js.map +1 -0
- package/dist/runtime/CostOptimizer.d.ts +11 -0
- package/dist/runtime/CostOptimizer.js +21 -0
- package/dist/runtime/CostOptimizer.js.map +1 -0
- package/dist/shield/PolicyCompiler.d.ts +70 -0
- package/dist/shield/PolicyCompiler.js +540 -0
- package/dist/shield/PolicyCompiler.js.map +1 -0
- package/dist/shield/ProtectedPaths.d.ts +39 -0
- package/dist/shield/ProtectedPaths.js +179 -0
- package/dist/shield/ProtectedPaths.js.map +1 -0
- package/dist/shield/ShieldProtocol.d.ts +50 -0
- package/dist/shield/ShieldProtocol.js +103 -0
- package/dist/shield/ShieldProtocol.js.map +1 -0
- package/dist/skills/SkillMdStandard.d.ts +33 -0
- package/dist/skills/SkillMdStandard.js +88 -0
- package/dist/skills/SkillMdStandard.js.map +1 -0
- package/dist/skills/SkillRegistry.d.ts +9 -1
- package/dist/skills/SkillRegistry.js +20 -0
- package/dist/skills/SkillRegistry.js.map +1 -1
- package/dist/skills/interop/GStackInterop.d.ts +15 -0
- package/dist/skills/interop/GStackInterop.js +34 -0
- package/dist/skills/interop/GStackInterop.js.map +1 -0
- package/dist/skills/interop/OMCInterop.d.ts +15 -0
- package/dist/skills/interop/OMCInterop.js +34 -0
- package/dist/skills/interop/OMCInterop.js.map +1 -0
- package/dist/topology/DomainMapper.d.ts +23 -0
- package/dist/topology/DomainMapper.js +179 -0
- package/dist/topology/DomainMapper.js.map +1 -0
- package/dist/topology/LayerClassifier.d.ts +8 -0
- package/dist/topology/LayerClassifier.js +109 -0
- package/dist/topology/LayerClassifier.js.map +1 -0
- package/dist/topology/TourGenerator.d.ts +18 -0
- package/dist/topology/TourGenerator.js +120 -0
- package/dist/topology/TourGenerator.js.map +1 -0
- package/dist/topology/index.d.ts +3 -0
- package/dist/topology/index.js +4 -0
- package/dist/topology/index.js.map +1 -0
- package/dist/tui/TuiDashboard.d.ts +3 -0
- package/dist/tui/TuiDashboard.js +120 -0
- package/dist/tui/TuiDashboard.js.map +1 -0
- package/dist/workflow/GateCatalog.d.ts +2 -0
- package/dist/workflow/GateCatalog.js +59 -3
- package/dist/workflow/GateCatalog.js.map +1 -1
- package/dist/workflow/GovernanceTemplatePacks.d.ts +1 -1
- package/dist/workflow/GovernanceTemplatePacks.js +15 -0
- package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
- package/dist/workflow/TddLoop.d.ts +2 -0
- package/dist/workflow/TddLoop.js +2 -0
- package/dist/workflow/TddLoop.js.map +1 -1
- package/dist/workflow/UpgradeManager.d.ts +10 -1
- package/dist/workflow/UpgradeManager.js +55 -0
- package/dist/workflow/UpgradeManager.js.map +1 -1
- package/dist/workflow/VerificationProfile.d.ts +8 -0
- package/dist/workflow/VerificationProfile.js +61 -0
- package/dist/workflow/VerificationProfile.js.map +1 -1
- package/dist/workflow/VerificationSchema.d.ts +46 -0
- package/dist/workflow/VerificationSchema.js +97 -0
- package/dist/workflow/VerificationSchema.js.map +1 -0
- package/dist/workflow/autofix/AutoFixEngine.d.ts +37 -0
- package/dist/workflow/autofix/AutoFixEngine.js +169 -0
- package/dist/workflow/autofix/AutoFixEngine.js.map +1 -0
- package/dist/workflow/execution/RalphEngine.d.ts +18 -0
- package/dist/workflow/execution/RalphEngine.js +22 -0
- package/dist/workflow/execution/RalphEngine.js.map +1 -1
- package/dist/workflow/gates/EnhancedGates.d.ts +74 -0
- package/dist/workflow/gates/EnhancedGates.js +653 -0
- package/dist/workflow/gates/EnhancedGates.js.map +1 -0
- package/dist/workflow/gates/GateSystem.d.ts +3 -0
- package/dist/workflow/gates/GateSystem.js +94 -1
- package/dist/workflow/gates/GateSystem.js.map +1 -1
- package/dist/workflow/types.d.ts +1 -1
- package/docs/README.md +3 -0
- package/docs/guides/DEVELOPMENT_WORKFLOW.md +28 -9
- package/docs/guides/GETTING_STARTED.md +19 -0
- package/docs/guides/MIGRATION.md +119 -0
- package/docs/workflow/GATES_AND_SCORE.md +34 -1
- package/docs/workflow/README.md +58 -10
- package/package.json +7 -17
- package/docs/ACTIVE_SECURITY_VISUAL_GATES.md +0 -87
- package/docs/AI_ENGINEERING_OS_POSITIONING.md +0 -607
- package/docs/BACKGROUND_HUNTER.md +0 -62
- package/docs/CODE_INTELLIGENCE.md +0 -180
- package/docs/CONTEXT_BUDGET.md +0 -165
- package/docs/DEPENDENCY_AUDIT.md +0 -118
- package/docs/EVOLUTION_SHADOW_MODE.md +0 -63
- package/docs/GITLAB_FLOW.md +0 -125
- package/docs/GOVERNANCE_DASHBOARD.md +0 -92
- package/docs/MEMORY_BRAIN.md +0 -104
- package/docs/MEMORY_FABRIC.md +0 -161
- package/docs/RESOURCE_GOVERNANCE.md +0 -92
- package/docs/RUNTIME_EVIDENCE.md +0 -101
- package/docs/WORKFLOW_EVAL.md +0 -151
- package/image/wechat-public.jpg +0 -0
- package/image/wxPay.jpg +0 -0
- package/image/zfb.jpg +0 -0
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="https://img.shields.io/badge/version-0.
|
|
2
|
+
<img src="https://img.shields.io/badge/version-0.42.0-orange?style=flat-square" alt="version" />
|
|
3
3
|
<img src="https://img.shields.io/badge/platforms-22-blue?style=flat-square" alt="platforms" />
|
|
4
4
|
<img src="https://img.shields.io/badge/agents-12-blue?style=flat-square" alt="agents" />
|
|
5
5
|
<img src="https://img.shields.io/badge/tests-verified-brightgreen?style=flat-square" alt="tests" />
|
|
6
|
-
<img src="https://img.shields.io/badge/npm-0.
|
|
6
|
+
<img src="https://img.shields.io/badge/npm-0.42.0-cb3837?style=flat-square&logo=npm" alt="npm" />
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
[](https://repostars.dev/?repos=hongmaple0820%2Fscale-engine&theme=copper)
|
|
@@ -114,6 +114,34 @@ scale doctor env --json
|
|
|
114
114
|
| **Role Skills** | 6 个角色化审查视角(eng-manager、security-reviewer、qa-lead 等) |
|
|
115
115
|
| **Memory Intelligence** | 6 信号质量评分,跨 provider 冲突检测,新鲜度衰减 |
|
|
116
116
|
| **Governance ROI** | 端到端治理 ROI 度量 — token 成本 vs 质量 vs 门禁摩擦 |
|
|
117
|
+
| **Scale Shield** | 退出码钩子拦截引擎 — YAML 策略 → hook 脚本编译,40+ 危险命令阻断,退出码协议 |
|
|
118
|
+
| **Scale Orchestrator** | 声明式编排守护进程 — SCALE_POLICY.md 策略驱动,git worktree 隔离,协调循环 |
|
|
119
|
+
| **Scale Cortex** | 证据驱动持续进化 — 本能提取 (Instincts 0.3-0.9),SessionStart 注入,跨 harness 适配器 |
|
|
120
|
+
|
|
121
|
+
## SCALE 2.0 三引擎架构
|
|
122
|
+
|
|
123
|
+
SCALE 2.0 引入三层引擎,对齐业界前沿项目的核心模式:
|
|
124
|
+
|
|
125
|
+
| 引擎 | 对标项目 | 核心能力 |
|
|
126
|
+
|------|---------|---------|
|
|
127
|
+
| **Scale Shield** | agent-hooks-in-depth | 退出码阻断 (exit 0/2)、stdin/stdout JSON 协议、40+ 危险命令拦截、`.scale/` 完整性保护 |
|
|
128
|
+
| **Scale Orchestrator** | Symphony WORKFLOW.md | 声明式策略驱动、git worktree 隔离、协调循环、多轮 Worker |
|
|
129
|
+
| **Scale Cortex** | ECC Instincts | 观察→模式→本能提取 (置信度 0.3-0.9)、SessionStart 注入、跨 harness (Claude/Codex/Cursor/Gemini) |
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Shield: 编译策略并安装 hook
|
|
133
|
+
scale shield compile
|
|
134
|
+
scale shield status
|
|
135
|
+
|
|
136
|
+
# Orchestrator: 启动声明式编排守护进程
|
|
137
|
+
scale orch start
|
|
138
|
+
scale orch status
|
|
139
|
+
|
|
140
|
+
# Cortex: 从失败中学习
|
|
141
|
+
scale cortex evolve
|
|
142
|
+
scale cortex metrics --days 30
|
|
143
|
+
scale cortex inject --minimal
|
|
144
|
+
```
|
|
117
145
|
|
|
118
146
|
## AI OS Runtime
|
|
119
147
|
|
package/dist/api/cli.js
CHANGED
|
@@ -17,7 +17,7 @@ import { ProjectAnatomy } from '../context/ProjectAnatomy.js';
|
|
|
17
17
|
import { buildContextPack, doctorContextBudget, scanContextBudget, writeContextBudgetReport, } from '../context/ContextBudget.js';
|
|
18
18
|
import { resolvePromptCachePolicy } from '../routing/PromptCachePolicy.js';
|
|
19
19
|
import { CerebrumManager } from '../knowledge/CerebrumManager.js';
|
|
20
|
-
import { buildCodeGraphContext, createCodeGraphRoiReport, impactCodeGraph, inspectCodeIntelligence, queryCodeGraph, writeCodeIntelligenceConfig, } from '../codegraph/CodeIntelligence.js';
|
|
20
|
+
import { buildCodeGraphContext, createCodeGraphRoiReport, dumpCodeGraphData, impactCodeGraph, inspectCodeIntelligence, queryCodeGraph, writeCodeIntelligenceConfig, } from '../codegraph/CodeIntelligence.js';
|
|
21
21
|
import { WorkflowEvalStore, compareWorkflowEvalRuns, renderWorkflowEvalReport, runWorkflowEvalSuite, } from '../eval/WorkflowEval.js';
|
|
22
22
|
import { FSMAgentBridge } from '../fsm/FSMAgentBridge.js';
|
|
23
23
|
import { CapabilityRegistry } from '../capabilities/CapabilityRegistry.js';
|
|
@@ -50,6 +50,15 @@ import { preflightGateStages } from '../workflow/GateCatalog.js';
|
|
|
50
50
|
import { gatesCommand } from '../cli/gateStatusCommands.js';
|
|
51
51
|
import { scoreCommand } from '../cli/scoreCommands.js';
|
|
52
52
|
import { promptCommand } from '../cli/promptCommands.js';
|
|
53
|
+
import { quickstartCommand } from '../cli/quickstartCommands.js';
|
|
54
|
+
import { tuiCommand } from '../cli/tuiCommands.js';
|
|
55
|
+
import { qaCommand } from '../cli/qaCommands.js';
|
|
56
|
+
import { autofixCommand } from '../cli/autofixCommands.js';
|
|
57
|
+
import { costReportCommand, costOptimizeCommand } from '../cli/costCommands.js';
|
|
58
|
+
import { reviewCommand as crossReviewCommand } from '../review/reviewCommands.js';
|
|
59
|
+
import { shieldCommand } from '../cli/shieldCommands.js';
|
|
60
|
+
import { orchCommand } from '../cli/orchCommands.js';
|
|
61
|
+
import { cortexCommand } from '../cli/cortexCommands.js';
|
|
53
62
|
import { writeGovernanceTemplates } from '../workflow/GovernanceTemplates.js';
|
|
54
63
|
import { getBootstrapPlanForProfile, getProfile as getConfigProfile, generateConfigForProfile, listProfiles as listConfigProfiles, } from '../config/profiles.js';
|
|
55
64
|
import { computeGovernanceDrift } from '../workflow/GovernanceLock.js';
|
|
@@ -1371,9 +1380,31 @@ function printCodeGraphReport(report) {
|
|
|
1371
1380
|
for (const warning of report.warnings)
|
|
1372
1381
|
console.log(` warning: ${warning}`);
|
|
1373
1382
|
}
|
|
1383
|
+
const codegraphDump = defineCommand({
|
|
1384
|
+
meta: { name: 'dump', description: 'Dump full topology graph (nodes + edges) for visualization' },
|
|
1385
|
+
args: {
|
|
1386
|
+
dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
|
|
1387
|
+
out: { type: 'string', description: 'Output file path (default: stdout as JSON)' },
|
|
1388
|
+
},
|
|
1389
|
+
run({ args }) {
|
|
1390
|
+
const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
|
|
1391
|
+
const scaleDir = resolveScaleDirForProject(projectDir);
|
|
1392
|
+
const graph = dumpCodeGraphData({ projectDir, scaleDir });
|
|
1393
|
+
const json = JSON.stringify(graph, null, 2);
|
|
1394
|
+
const outPath = args.out ? resolve(String(args.out)) : undefined;
|
|
1395
|
+
if (outPath) {
|
|
1396
|
+
mkdirSync(dirname(outPath), { recursive: true });
|
|
1397
|
+
writeFileSync(outPath, json, 'utf-8');
|
|
1398
|
+
console.log(`Topology written to ${outPath} (${graph.nodes.length} nodes, ${graph.edges.length} edges)`);
|
|
1399
|
+
}
|
|
1400
|
+
else {
|
|
1401
|
+
console.log(json);
|
|
1402
|
+
}
|
|
1403
|
+
},
|
|
1404
|
+
});
|
|
1374
1405
|
const codegraph = defineCommand({
|
|
1375
1406
|
meta: { name: 'codegraph', description: 'Adapter-first code intelligence and exploration ROI' },
|
|
1376
|
-
subCommands: { status: codegraphStatus, init: codegraphInit, query: codegraphQuery, impact: codegraphImpact, context: codegraphContext, roi: codegraphRoi },
|
|
1407
|
+
subCommands: { status: codegraphStatus, init: codegraphInit, query: codegraphQuery, impact: codegraphImpact, context: codegraphContext, roi: codegraphRoi, dump: codegraphDump },
|
|
1377
1408
|
});
|
|
1378
1409
|
// ============================================================================
|
|
1379
1410
|
// eval command - Workflow eval baseline and failure replay
|
|
@@ -6548,6 +6579,16 @@ const main = defineCommand({
|
|
|
6548
6579
|
'create-prd': createPRD,
|
|
6549
6580
|
'out-of-scope': outOfScope,
|
|
6550
6581
|
config,
|
|
6582
|
+
quickstart: quickstartCommand,
|
|
6583
|
+
tui: tuiCommand,
|
|
6584
|
+
qa: qaCommand,
|
|
6585
|
+
'auto-fix': autofixCommand,
|
|
6586
|
+
'cost-report': costReportCommand,
|
|
6587
|
+
'cost-optimize': costOptimizeCommand,
|
|
6588
|
+
'cross-review': crossReviewCommand,
|
|
6589
|
+
shield: shieldCommand,
|
|
6590
|
+
orch: orchCommand,
|
|
6591
|
+
cortex: cortexCommand,
|
|
6551
6592
|
},
|
|
6552
6593
|
});
|
|
6553
6594
|
normalizeUpgradeRootOptionValues(process.argv);
|