noteconnection 1.7.0 → 1.8.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/LICENSE +674 -21
- package/README.md +242 -62
- package/dist/src/agent_workspace.contract.parity.test.js +475 -0
- package/dist/src/agent_workspace.frontend.test.js +9989 -0
- package/dist/src/agent_workspace.locale.contract.test.js +95 -0
- package/dist/src/agent_workspace.runtime.behavior.test.js +5072 -0
- package/dist/src/copy.assets.contract.test.js +130 -0
- package/dist/src/core/PathBridge.js +28 -3
- package/dist/src/export/WorkspaceExportBundle.js +1130 -0
- package/dist/src/export/WorkspaceExportBundle.test.js +1480 -0
- package/dist/src/export/index.js +18 -0
- package/dist/src/export/types.js +2 -0
- package/dist/src/fixrisk.issue.verifier.contract.test.js +3 -1
- package/dist/src/foundation.ann.runtime.contract.test.js +81 -0
- package/dist/src/foundation.release.evidence.contract.test.js +406 -0
- package/dist/src/foundation.sqlite.runtime.contract.test.js +82 -0
- package/dist/src/frontend/README.md +242 -62
- package/dist/src/frontend/agent_workspace.js +5353 -0
- package/dist/src/frontend/agent_workspace_runtime.js +4434 -0
- package/dist/src/frontend/analysis.js +31 -4
- package/dist/src/frontend/app.js +2178 -62
- package/dist/src/frontend/focus_mode_interactions.js +33 -0
- package/dist/src/frontend/godot_future_path_renderer.js +540 -0
- package/dist/src/frontend/godot_tree_interactions.js +178 -0
- package/dist/src/frontend/graph_state.mjs +105 -0
- package/dist/src/frontend/hosted_future_path_runtime.js +157 -0
- package/dist/src/frontend/i18n.mjs +186 -0
- package/dist/src/frontend/index.html +641 -266
- package/dist/src/frontend/layout_gpu.js +12 -4
- package/dist/src/frontend/locales/en.json +721 -5
- package/dist/src/frontend/locales/zh.json +721 -5
- package/dist/src/frontend/main.mjs +60 -0
- package/dist/src/frontend/markdown_runtime.js +827 -0
- package/dist/src/frontend/notemd.css +49 -0
- package/dist/src/frontend/notemd.html +7 -1
- package/dist/src/frontend/notemd.js +64 -0
- package/dist/src/frontend/path.html +107 -0
- package/dist/src/frontend/path_app.js +2108 -130
- package/dist/src/frontend/path_layout.mjs +143 -0
- package/dist/src/frontend/path_mermaid_utils.mjs +108 -0
- package/dist/src/frontend/path_modules_bridge.js +486 -0
- package/dist/src/frontend/path_state.mjs +118 -0
- package/dist/src/frontend/path_styles.css +146 -0
- package/dist/src/frontend/path_worker_bridge.mjs +85 -0
- package/dist/src/frontend/reader.js +393 -33
- package/dist/src/frontend/runtime_bridge.js +67 -54
- package/dist/src/frontend/runtime_bridge.mjs +279 -0
- package/dist/src/frontend/settings.js +130 -12
- package/dist/src/frontend/source_manager.js +190 -21
- package/dist/src/frontend/styles.css +2720 -72
- package/dist/src/frontend/workbench_state.mjs +101 -0
- package/dist/src/frontend/workspace_panes.js +10168 -0
- package/dist/src/frontend.locale.contract.test.js +62 -0
- package/dist/src/godot.sidecar.bootstrap.contract.test.js +244 -0
- package/dist/src/indexing/IndexLifecycle.js +195 -0
- package/dist/src/indexing/IndexLifecycle.test.js +49 -0
- package/dist/src/indexing/SegmentBuilder.js +64 -0
- package/dist/src/indexing/UnitBuilder.js +48 -0
- package/dist/src/indexing/types.js +2 -0
- package/dist/src/knowledge.api.contract.test.js +170 -0
- package/dist/src/learning/KnowledgeLearningPlatform.js +10386 -0
- package/dist/src/learning/KnowledgeLearningPlatform.persistence.test.js +327 -0
- package/dist/src/learning/KnowledgeLearningPlatform.program-f.test.js +99 -0
- package/dist/src/learning/KnowledgeLearningPlatform.test.js +2971 -0
- package/dist/src/learning/KnowledgeWorkspaceConversationRegression.js +2974 -0
- package/dist/src/learning/KnowledgeWorkspaceConversationRegression.test.js +3928 -0
- package/dist/src/learning/answerReleaseReview.js +4319 -0
- package/dist/src/learning/answerReleaseReview.test.js +2888 -0
- package/dist/src/learning/api.js +2 -0
- package/dist/src/learning/conversationComposer.js +1480 -0
- package/dist/src/learning/conversationComposer.test.js +1817 -0
- package/dist/src/learning/domains/ConversationManager.js +53 -0
- package/dist/src/learning/domains/KnowledgeIngestor.js +238 -0
- package/dist/src/learning/domains/KnowledgeQuerier.js +187 -0
- package/dist/src/learning/domains/MasteryEngine.js +387 -0
- package/dist/src/learning/domains/MemoryPolicyManager.js +408 -0
- package/dist/src/learning/domains/QualityEvaluator.js +307 -0
- package/dist/src/learning/domains/TutorRouter.js +313 -0
- package/dist/src/learning/domains/index.js +33 -0
- package/dist/src/learning/domains/types.js +7 -0
- package/dist/src/learning/errors.js +29 -0
- package/dist/src/learning/evidenceContextAssembler.js +1176 -0
- package/dist/src/learning/evidenceContextAssembler.test.js +6332 -0
- package/dist/src/learning/graphContextAssembler.js +870 -0
- package/dist/src/learning/graphContextAssembler.test.js +1033 -0
- package/dist/src/learning/index.js +28 -0
- package/dist/src/learning/queryBackend.js +1898 -0
- package/dist/src/learning/queryBackend.test.js +955 -0
- package/dist/src/learning/ragContextPack.js +257 -0
- package/dist/src/learning/ragContextPack.test.js +160 -0
- package/dist/src/learning/ragPublicText.js +38 -0
- package/dist/src/learning/ragSufficiencyJudge.js +161 -0
- package/dist/src/learning/ragSufficiencyJudge.test.js +177 -0
- package/dist/src/learning/ragSufficiencyProviderJudge.js +227 -0
- package/dist/src/learning/ragSufficiencyProviderJudge.test.js +156 -0
- package/dist/src/learning/requestNormalization.js +198 -0
- package/dist/src/learning/runtimeCapability.js +4677 -0
- package/dist/src/learning/runtimeCapability.test.js +3635 -0
- package/dist/src/learning/store.js +1240 -0
- package/dist/src/learning/store.test.js +1126 -0
- package/dist/src/learning/tutorAdapter.js +2 -0
- package/dist/src/learning/types.js +2 -0
- package/dist/src/learning/vectorAccelerationAdapter.js +942 -0
- package/dist/src/learning/vectorAccelerationAdapter.test.js +382 -0
- package/dist/src/lfs.asset.policy.contract.test.js +153 -0
- package/dist/src/license.policy.contract.test.js +66 -0
- package/dist/src/memory/MemoryGovernance.js +74 -0
- package/dist/src/memory/MemoryGovernance.test.js +46 -0
- package/dist/src/memory/types.js +2 -0
- package/dist/src/mermaid.frontend.guard.contract.test.js +77 -0
- package/dist/src/middleware/auth.js +17 -0
- package/dist/src/middleware/body-parser.js +45 -0
- package/dist/src/middleware/cors.js +44 -0
- package/dist/src/middleware/index.js +21 -0
- package/dist/src/middleware/request-trace.js +96 -0
- package/dist/src/notemd/AppConfigToml.js +6 -4
- package/dist/src/notemd/MermaidProcessor.js +400 -50
- package/dist/src/notemd/NotemdService.js +498 -13
- package/dist/src/notemd/PromptManager.js +15 -0
- package/dist/src/notemd/cli/commands.js +357 -0
- package/dist/src/notemd/cli/dispatcher.js +225 -0
- package/dist/src/notemd/cli/index.js +169 -0
- package/dist/src/notemd/cli/parser.js +68 -0
- package/dist/src/notemd/cli/types.js +2 -0
- package/dist/src/notemd/constants.js +43 -0
- package/dist/src/notemd/diagram/diagramGenerationService.js +78 -0
- package/dist/src/notemd/diagram/diagramSpec.js +79 -0
- package/dist/src/notemd/diagram/diagramSpecResponseParser.js +131 -0
- package/dist/src/notemd/diagram/intent.js +95 -0
- package/dist/src/notemd/diagram/planner.js +71 -0
- package/dist/src/notemd/diagram/prompts/diagramSpecPrompt.js +42 -0
- package/dist/src/notemd/diagram/types.js +18 -0
- package/dist/src/notemd/index.js +26 -0
- package/dist/src/notemd/operations/capabilityManifest.js +23 -0
- package/dist/src/notemd/operations/cliContracts.js +17 -0
- package/dist/src/notemd/operations/configProfileCommands.js +85 -0
- package/dist/src/notemd/operations/registry.contract.test.js +95 -0
- package/dist/src/notemd/operations/registry.js +991 -0
- package/dist/src/notemd/operations/types.js +2 -0
- package/dist/src/notemd/providerDiagnostics.js +220 -0
- package/dist/src/notemd/providerProfiles.js +42 -0
- package/dist/src/notemd/providerTemplates.js +231 -0
- package/dist/src/notemd/search/DuckDuckGoProvider.js +39 -0
- package/dist/src/notemd/search/SearchManager.js +13 -0
- package/dist/src/notemd/search/SearchProvider.js +2 -0
- package/dist/src/notemd/search/TavilyProvider.js +44 -0
- package/dist/src/notemd.agent.manifest.test.js +85 -0
- package/dist/src/notemd.api.contract.test.js +14 -1
- package/dist/src/notemd.app_config_toml.test.js +2 -1
- package/dist/src/notemd.batch.workflow.test.js +117 -0
- package/dist/src/notemd.cli.e2e.test.js +136 -0
- package/dist/src/notemd.core.test.js +51 -0
- package/dist/src/notemd.diagram.pipeline.test.js +233 -0
- package/dist/src/notemd.providerTemplates.test.js +34 -0
- package/dist/src/notemd.server.integration.test.js +143 -35
- package/dist/src/notemd.workflow.pipeline.test.js +162 -0
- package/dist/src/pathbridge.handshake.contract.test.js +16 -2
- package/dist/src/pathmode.background.contract.test.js +69 -0
- package/dist/src/pathmode.settings.api.contract.test.js +9 -0
- package/dist/src/pkg.sidecar.contract.test.js +9 -3
- package/dist/src/platform/ExportProfile.js +58 -0
- package/dist/src/platform/PlatformCapabilities.js +45 -0
- package/dist/src/platform/PlatformCapabilities.test.js +30 -0
- package/dist/src/platform/RenderMaterializer.js +33 -0
- package/dist/src/platform/RenderMaterializer.test.js +32 -0
- package/dist/src/query_backend.external_http.integration.test.js +410 -0
- package/dist/src/reader_renderer.js +404 -3
- package/dist/src/reader_renderer.test.js +87 -0
- package/dist/src/release.godot.mirror.contract.test.js +73 -0
- package/dist/src/resources/ResourceRegistry.js +223 -0
- package/dist/src/resources/ResourceRegistry.test.js +61 -0
- package/dist/src/resources/types.js +2 -0
- package/dist/src/routes/agentWorkspaceDiagnostics.js +173 -0
- package/dist/src/routes/data.js +267 -0
- package/dist/src/routes/diagnostics.js +51 -0
- package/dist/src/routes/index.js +23 -0
- package/dist/src/routes/knowledge.js +968 -0
- package/dist/src/routes/markdown.js +287 -0
- package/dist/src/routes/notemd.js +565 -0
- package/dist/src/routes/registry.contract.test.js +130 -0
- package/dist/src/routes/render.js +285 -0
- package/dist/src/routes/runtimeRunbookRouteOps.js +149 -0
- package/dist/src/routes/runtimeRunbookRouteOps.test.js +194 -0
- package/dist/src/routes/settings.js +6 -0
- package/dist/src/routes/staticFiles.js +94 -0
- package/dist/src/routes/types.js +2 -0
- package/dist/src/runtime.transport.adapter.contract.test.js +81 -0
- package/dist/src/server.js +11090 -1549
- package/dist/src/server.migration.test.js +193 -21
- package/dist/src/server.port.fallback.contract.test.js +63 -0
- package/dist/src/session/SessionStateStore.js +81 -0
- package/dist/src/session/SessionStateStore.test.js +58 -0
- package/dist/src/session/types.js +2 -0
- package/dist/src/settings.runtime.contract.test.js +50 -0
- package/dist/src/shared/types.contract.test.js +107 -0
- package/dist/src/shared/types.js +22 -0
- package/dist/src/sidecar.replacement.boundary.contract.test.js +128 -0
- package/dist/src/sidecar.supply.readiness.contract.test.js +144 -0
- package/dist/src/source_manager.loadflow.test.js +46 -0
- package/dist/src/startup.layout.snapshot.contract.test.js +57 -0
- package/dist/src/tauri.frontend.build.contract.test.js +60 -0
- package/dist/src/tauri.sidecar.cleanup.contract.test.js +21 -0
- package/dist/src/utils/RuntimePaths.js +4 -13
- package/dist/src/utils/platform.js +153 -0
- package/dist/src/workflows/WorkflowArtifactStore.js +96 -0
- package/dist/src/workflows/WorkflowArtifactStore.test.js +80 -0
- package/dist/src/workflows/types.js +2 -0
- package/dist/src/workspace/WorkspaceRegistry.js +122 -0
- package/dist/src/workspace/WorkspaceRegistry.test.js +29 -0
- package/dist/src/workspace/types.js +2 -0
- package/package.json +53 -10
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listCommands = listCommands;
|
|
4
|
+
exports.findCommand = findCommand;
|
|
5
|
+
exports.getOperationForCommand = getOperationForCommand;
|
|
6
|
+
const registry_1 = require("../operations/registry");
|
|
7
|
+
const CLI_COMMANDS = [
|
|
8
|
+
{
|
|
9
|
+
name: 'process-file',
|
|
10
|
+
aliases: ['process'],
|
|
11
|
+
description: 'Process a markdown file to add wiki-links and extract concepts',
|
|
12
|
+
operationId: 'file.process-add-links',
|
|
13
|
+
automationLevel: 'requires-active-file',
|
|
14
|
+
requiredContext: 'active-file',
|
|
15
|
+
sideEffectClass: 'write-file',
|
|
16
|
+
params: [
|
|
17
|
+
{ name: 'path', aliases: ['p', 'file'], description: 'Path to the markdown file', required: true },
|
|
18
|
+
{ name: 'output', aliases: ['o'], description: 'Custom output path', required: false }
|
|
19
|
+
],
|
|
20
|
+
flags: [
|
|
21
|
+
{ name: 'dry-run', aliases: ['n'], description: 'Preview changes without writing' },
|
|
22
|
+
{ name: 'no-concepts', aliases: ['nc'], description: 'Skip concept note creation' }
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'process-folder',
|
|
27
|
+
aliases: ['pf'],
|
|
28
|
+
description: 'Process all markdown files in a folder',
|
|
29
|
+
operationId: 'file.process-folder-add-links',
|
|
30
|
+
automationLevel: 'interactive-ui',
|
|
31
|
+
requiredContext: 'folder-selection',
|
|
32
|
+
sideEffectClass: 'batch-write',
|
|
33
|
+
params: [
|
|
34
|
+
{ name: 'path', aliases: ['p', 'folder'], description: 'Path to the folder', required: true },
|
|
35
|
+
{ name: 'output', aliases: ['o'], description: 'Custom output folder', required: false }
|
|
36
|
+
],
|
|
37
|
+
flags: [
|
|
38
|
+
{ name: 'dry-run', aliases: ['n'], description: 'Preview changes without writing' }
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'generate-content',
|
|
43
|
+
aliases: ['gen', 'generate'],
|
|
44
|
+
description: 'Generate content from a note title',
|
|
45
|
+
operationId: 'content.generate-from-title',
|
|
46
|
+
automationLevel: 'requires-active-file',
|
|
47
|
+
requiredContext: 'active-file',
|
|
48
|
+
sideEffectClass: 'write-file',
|
|
49
|
+
params: [
|
|
50
|
+
{ name: 'path', aliases: ['p', 'file'], description: 'Path to the title file', required: true },
|
|
51
|
+
{ name: 'output', aliases: ['o'], description: 'Custom output path', required: false }
|
|
52
|
+
],
|
|
53
|
+
flags: [
|
|
54
|
+
{ name: 'research', aliases: ['r'], description: 'Enable web research for context' }
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'batch-generate',
|
|
59
|
+
aliases: ['bg'],
|
|
60
|
+
description: 'Batch generate content from all titles in a folder',
|
|
61
|
+
operationId: 'content.batch-generate-from-titles',
|
|
62
|
+
automationLevel: 'interactive-ui',
|
|
63
|
+
requiredContext: 'folder-selection',
|
|
64
|
+
sideEffectClass: 'batch-write',
|
|
65
|
+
params: [
|
|
66
|
+
{ name: 'path', aliases: ['p', 'folder'], description: 'Path to the folder', required: true }
|
|
67
|
+
],
|
|
68
|
+
flags: []
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'translate',
|
|
72
|
+
aliases: ['tr'],
|
|
73
|
+
description: 'Translate a markdown file',
|
|
74
|
+
operationId: 'translate.file',
|
|
75
|
+
automationLevel: 'requires-active-file',
|
|
76
|
+
requiredContext: 'active-file',
|
|
77
|
+
sideEffectClass: 'write-file',
|
|
78
|
+
params: [
|
|
79
|
+
{ name: 'path', aliases: ['p', 'file'], description: 'Path to the markdown file', required: true },
|
|
80
|
+
{ name: 'language', aliases: ['l', 'lang'], description: 'Target language code', required: true },
|
|
81
|
+
{ name: 'output', aliases: ['o'], description: 'Custom output path', required: false }
|
|
82
|
+
],
|
|
83
|
+
flags: []
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: 'translate-folder',
|
|
87
|
+
aliases: ['tf'],
|
|
88
|
+
description: 'Translate all markdown files in a folder',
|
|
89
|
+
operationId: 'translate.folder-batch',
|
|
90
|
+
automationLevel: 'interactive-ui',
|
|
91
|
+
requiredContext: 'folder-selection',
|
|
92
|
+
sideEffectClass: 'batch-write',
|
|
93
|
+
params: [
|
|
94
|
+
{ name: 'path', aliases: ['p', 'folder'], description: 'Path to the folder', required: true },
|
|
95
|
+
{ name: 'language', aliases: ['l', 'lang'], description: 'Target language code', required: true }
|
|
96
|
+
],
|
|
97
|
+
flags: []
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: 'search',
|
|
101
|
+
aliases: ['s'],
|
|
102
|
+
description: 'Search the web for a topic',
|
|
103
|
+
operationId: 'research.summarize-topic',
|
|
104
|
+
automationLevel: 'requires-selection',
|
|
105
|
+
requiredContext: 'editor-selection',
|
|
106
|
+
sideEffectClass: 'write-file',
|
|
107
|
+
params: [
|
|
108
|
+
{ name: 'query', aliases: ['q'], description: 'Search query', required: true },
|
|
109
|
+
{ name: 'provider', aliases: ['prov'], description: 'Search provider (tavily or duckduckgo)', required: false, defaultValue: 'duckduckgo' }
|
|
110
|
+
],
|
|
111
|
+
flags: []
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: 'generate-diagram',
|
|
115
|
+
aliases: ['diagram', 'gd'],
|
|
116
|
+
description: 'Generate a diagram from markdown content',
|
|
117
|
+
operationId: 'diagram.generate',
|
|
118
|
+
automationLevel: 'safe',
|
|
119
|
+
requiredContext: 'none',
|
|
120
|
+
sideEffectClass: 'read-only',
|
|
121
|
+
params: [
|
|
122
|
+
{ name: 'path', aliases: ['p', 'file'], description: 'Path to the markdown file', required: true },
|
|
123
|
+
{ name: 'intent', aliases: ['i'], description: 'Diagram intent (mermaid, vega-lite, canvas)', required: false, defaultValue: 'mermaid' },
|
|
124
|
+
{ name: 'output', aliases: ['o'], description: 'Custom output path', required: false },
|
|
125
|
+
{ name: 'mode', aliases: ['m'], description: 'Compatibility mode (best-fit, legacy-mermaid)', required: false, defaultValue: 'best-fit' }
|
|
126
|
+
],
|
|
127
|
+
flags: [
|
|
128
|
+
{ name: 'preview', aliases: ['pv'], description: 'Preview instead of saving' }
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
name: 'fix-mermaid',
|
|
133
|
+
aliases: ['fm'],
|
|
134
|
+
description: 'Fix Mermaid syntax errors in a markdown file',
|
|
135
|
+
operationId: 'mermaid.batch-fix',
|
|
136
|
+
automationLevel: 'interactive-ui',
|
|
137
|
+
requiredContext: 'folder-selection',
|
|
138
|
+
sideEffectClass: 'batch-write',
|
|
139
|
+
params: [
|
|
140
|
+
{ name: 'path', aliases: ['p', 'file'], description: 'Path to the markdown file or folder', required: true }
|
|
141
|
+
],
|
|
142
|
+
flags: [
|
|
143
|
+
{ name: 'in-place', aliases: ['i'], description: 'Modify file in place (default: true)' }
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: 'fix-formulas',
|
|
148
|
+
aliases: ['ff'],
|
|
149
|
+
description: 'Fix LaTeX formula formatting in markdown',
|
|
150
|
+
operationId: 'formula.fix-file',
|
|
151
|
+
automationLevel: 'requires-active-file',
|
|
152
|
+
requiredContext: 'active-file',
|
|
153
|
+
sideEffectClass: 'write-file',
|
|
154
|
+
params: [
|
|
155
|
+
{ name: 'path', aliases: ['p', 'file'], description: 'Path to the markdown file', required: true }
|
|
156
|
+
],
|
|
157
|
+
flags: [
|
|
158
|
+
{ name: 'in-place', aliases: ['i'], description: 'Modify file in place (default: true)' }
|
|
159
|
+
]
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
name: 'check-duplicates',
|
|
163
|
+
aliases: ['cd', 'dup'],
|
|
164
|
+
description: 'Check for duplicate wiki-links and terms',
|
|
165
|
+
operationId: 'duplicate.check-file',
|
|
166
|
+
automationLevel: 'requires-active-file',
|
|
167
|
+
requiredContext: 'active-file',
|
|
168
|
+
sideEffectClass: 'read-only',
|
|
169
|
+
params: [
|
|
170
|
+
{ name: 'path', aliases: ['p', 'file'], description: 'Path to the markdown file', required: true }
|
|
171
|
+
],
|
|
172
|
+
flags: []
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
name: 'extract-concepts',
|
|
176
|
+
aliases: ['ec'],
|
|
177
|
+
description: 'Extract concepts from a markdown file',
|
|
178
|
+
operationId: 'concept.extract-file',
|
|
179
|
+
automationLevel: 'requires-active-file',
|
|
180
|
+
requiredContext: 'active-file',
|
|
181
|
+
sideEffectClass: 'write-file',
|
|
182
|
+
params: [
|
|
183
|
+
{ name: 'path', aliases: ['p', 'file'], description: 'Path to the markdown file', required: true }
|
|
184
|
+
],
|
|
185
|
+
flags: []
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: 'extract-original',
|
|
189
|
+
aliases: ['eo'],
|
|
190
|
+
description: 'Extract original text from a processed file',
|
|
191
|
+
operationId: 'content.extract-original-text',
|
|
192
|
+
automationLevel: 'requires-active-file',
|
|
193
|
+
requiredContext: 'active-file',
|
|
194
|
+
sideEffectClass: 'write-file',
|
|
195
|
+
params: [
|
|
196
|
+
{ name: 'path', aliases: ['p', 'file'], description: 'Path to the markdown file', required: true },
|
|
197
|
+
{ name: 'output', aliases: ['o'], description: 'Custom output path', required: false }
|
|
198
|
+
],
|
|
199
|
+
flags: [
|
|
200
|
+
{ name: 'merged', aliases: ['m'], description: 'Use merged extraction mode' }
|
|
201
|
+
]
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
name: 'diagnose',
|
|
205
|
+
aliases: ['diag'],
|
|
206
|
+
description: 'Diagnose LLM provider connectivity',
|
|
207
|
+
operationId: 'provider.diagnostic.run',
|
|
208
|
+
automationLevel: 'safe',
|
|
209
|
+
requiredContext: 'none',
|
|
210
|
+
sideEffectClass: 'read-only',
|
|
211
|
+
params: [
|
|
212
|
+
{ name: 'provider', aliases: ['p', 'prov'], description: 'Provider name to diagnose', required: false }
|
|
213
|
+
],
|
|
214
|
+
flags: []
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
name: 'test-connection',
|
|
218
|
+
aliases: ['test'],
|
|
219
|
+
description: 'Test LLM provider connection',
|
|
220
|
+
operationId: 'provider.connection.test',
|
|
221
|
+
automationLevel: 'safe',
|
|
222
|
+
requiredContext: 'none',
|
|
223
|
+
sideEffectClass: 'read-only',
|
|
224
|
+
params: [
|
|
225
|
+
{ name: 'provider', aliases: ['p', 'prov'], description: 'Provider name to test', required: false }
|
|
226
|
+
],
|
|
227
|
+
flags: []
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
name: 'capability-manifest',
|
|
231
|
+
aliases: ['manifest'],
|
|
232
|
+
description: 'Export the CLI capability manifest',
|
|
233
|
+
operationId: 'cli.capability-manifest.export',
|
|
234
|
+
automationLevel: 'safe',
|
|
235
|
+
requiredContext: 'none',
|
|
236
|
+
sideEffectClass: 'write-file',
|
|
237
|
+
params: [
|
|
238
|
+
{ name: 'output', aliases: ['o'], description: 'Output path for the manifest JSON', required: false }
|
|
239
|
+
],
|
|
240
|
+
flags: []
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
name: 'invocation-contract',
|
|
244
|
+
aliases: ['contract'],
|
|
245
|
+
description: 'Export the CLI invocation contract',
|
|
246
|
+
operationId: 'cli.invocation-contract.export',
|
|
247
|
+
automationLevel: 'safe',
|
|
248
|
+
requiredContext: 'none',
|
|
249
|
+
sideEffectClass: 'write-file',
|
|
250
|
+
params: [
|
|
251
|
+
{ name: 'output', aliases: ['o'], description: 'Output path for the contract JSON', required: false }
|
|
252
|
+
],
|
|
253
|
+
flags: []
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
name: 'export-providers',
|
|
257
|
+
aliases: ['export'],
|
|
258
|
+
description: 'Export provider configurations',
|
|
259
|
+
operationId: 'provider.profile.export',
|
|
260
|
+
automationLevel: 'safe',
|
|
261
|
+
requiredContext: 'none',
|
|
262
|
+
sideEffectClass: 'write-file',
|
|
263
|
+
params: [
|
|
264
|
+
{ name: 'output', aliases: ['o'], description: 'Output path for the profile JSON', required: false }
|
|
265
|
+
],
|
|
266
|
+
flags: []
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
name: 'import-providers',
|
|
270
|
+
aliases: ['import'],
|
|
271
|
+
description: 'Import provider configurations',
|
|
272
|
+
operationId: 'provider.profile.import',
|
|
273
|
+
automationLevel: 'safe',
|
|
274
|
+
requiredContext: 'none',
|
|
275
|
+
sideEffectClass: 'write-file',
|
|
276
|
+
params: [
|
|
277
|
+
{ name: 'path', aliases: ['p', 'file'], description: 'Path to the provider profile JSON', required: true }
|
|
278
|
+
],
|
|
279
|
+
flags: []
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
name: 'concept-dedupe',
|
|
283
|
+
aliases: ['dedupe'],
|
|
284
|
+
description: 'Check and remove duplicate concept notes',
|
|
285
|
+
operationId: 'concept.dedupe',
|
|
286
|
+
automationLevel: 'interactive-ui',
|
|
287
|
+
requiredContext: 'folder-selection',
|
|
288
|
+
sideEffectClass: 'destructive',
|
|
289
|
+
params: [
|
|
290
|
+
{ name: 'path', aliases: ['p', 'folder'], description: 'Path to the concept folder', required: true }
|
|
291
|
+
],
|
|
292
|
+
flags: [
|
|
293
|
+
{ name: 'force', aliases: ['f'], description: 'Delete without confirmation' }
|
|
294
|
+
]
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
name: 'workflow',
|
|
298
|
+
aliases: ['wf', 'run'],
|
|
299
|
+
description: 'Run pipeline: extract concepts → (add wikilinks) → generate titles → fix mermaid',
|
|
300
|
+
operationId: 'workflow.extract-and-generate',
|
|
301
|
+
automationLevel: 'requires-active-file',
|
|
302
|
+
requiredContext: 'active-file',
|
|
303
|
+
sideEffectClass: 'batch-write',
|
|
304
|
+
params: [
|
|
305
|
+
{ name: 'path', aliases: ['p', 'file'], description: 'Path to the markdown/text file', required: true },
|
|
306
|
+
{ name: 'output', aliases: ['o'], description: 'Custom output folder path', required: false },
|
|
307
|
+
{ name: 'language', aliases: ['l', 'lang'], description: 'Output language code', required: false }
|
|
308
|
+
],
|
|
309
|
+
flags: [
|
|
310
|
+
{ name: 'with-wikilinks', aliases: ['ww', 'links'], description: 'Add [[wiki-links]] for extracted concepts in source' },
|
|
311
|
+
{ name: 'wikilinks-in-place', aliases: ['wi'], description: 'Modify source in place (default: write _wikified copy)' },
|
|
312
|
+
{ name: 'no-generate', aliases: ['ng'], description: 'Skip content generation stage' },
|
|
313
|
+
{ name: 'no-mermaid', aliases: ['nm'], description: 'Skip Mermaid fix stage' }
|
|
314
|
+
]
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
name: 'batch-workflow',
|
|
318
|
+
aliases: ['bwf', 'batch'],
|
|
319
|
+
description: 'Run pipeline on all matching files in a folder with regex filtering',
|
|
320
|
+
operationId: 'workflow.batch',
|
|
321
|
+
automationLevel: 'interactive-ui',
|
|
322
|
+
requiredContext: 'folder-selection',
|
|
323
|
+
sideEffectClass: 'batch-write',
|
|
324
|
+
params: [
|
|
325
|
+
{ name: 'path', aliases: ['p', 'folder'], description: 'Path to the folder', required: true },
|
|
326
|
+
{ name: 'output', aliases: ['o'], description: 'Output base folder path', required: false },
|
|
327
|
+
{ name: 'pattern', aliases: ['filter', 'regex'], description: 'Regex pattern for filename matching', required: false },
|
|
328
|
+
{ name: 'extensions', aliases: ['ext'], description: 'Comma-separated extensions (e.g. ".md,.txt")', required: false },
|
|
329
|
+
{ name: 'max', aliases: ['max-files'], description: 'Maximum files to process', required: false }
|
|
330
|
+
],
|
|
331
|
+
flags: [
|
|
332
|
+
{ name: 'with-wikilinks', aliases: ['ww', 'links'], description: 'Add [[wiki-links]] for extracted concepts in each source' },
|
|
333
|
+
{ name: 'wikilinks-in-place', aliases: ['wi'], description: 'Modify source in place (default: write _wikified copy)' },
|
|
334
|
+
{ name: 'no-generate', aliases: ['ng'], description: 'Skip content generation stage' },
|
|
335
|
+
{ name: 'no-mermaid', aliases: ['nm'], description: 'Skip Mermaid fix stage' }
|
|
336
|
+
]
|
|
337
|
+
}
|
|
338
|
+
];
|
|
339
|
+
const COMMAND_MAP = new Map();
|
|
340
|
+
for (const cmd of CLI_COMMANDS) {
|
|
341
|
+
COMMAND_MAP.set(cmd.name, cmd);
|
|
342
|
+
for (const alias of cmd.aliases) {
|
|
343
|
+
COMMAND_MAP.set(alias, cmd);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
function listCommands() {
|
|
347
|
+
return [...CLI_COMMANDS];
|
|
348
|
+
}
|
|
349
|
+
function findCommand(name) {
|
|
350
|
+
return COMMAND_MAP.get(name);
|
|
351
|
+
}
|
|
352
|
+
function getOperationForCommand(commandName) {
|
|
353
|
+
const cmd = findCommand(commandName);
|
|
354
|
+
if (!cmd)
|
|
355
|
+
return undefined;
|
|
356
|
+
return (0, registry_1.getOperationDefinition)(cmd.operationId);
|
|
357
|
+
}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.dispatchCommand = dispatchCommand;
|
|
37
|
+
const parser_1 = require("./parser");
|
|
38
|
+
const commands_1 = require("./commands");
|
|
39
|
+
const capabilityManifest_1 = require("../operations/capabilityManifest");
|
|
40
|
+
const cliContracts_1 = require("../operations/cliContracts");
|
|
41
|
+
async function dispatchCommand(args, ctx, service, settings) {
|
|
42
|
+
const parsed = (0, parser_1.parseCliArgs)(args);
|
|
43
|
+
const cmd = (0, commands_1.findCommand)(parsed.command);
|
|
44
|
+
if (!cmd) {
|
|
45
|
+
return {
|
|
46
|
+
success: false,
|
|
47
|
+
error: `Unknown command: ${parsed.command}. Available commands:\n${(0, commands_1.listCommands)().map(c => ` ${c.name} - ${c.description}`).join('\n')}`
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
const result = await executeCommand(cmd, parsed, ctx, service, settings);
|
|
52
|
+
return { success: true, data: result, operationId: cmd.operationId };
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
return {
|
|
56
|
+
success: false,
|
|
57
|
+
error: error instanceof Error ? error.message : String(error),
|
|
58
|
+
operationId: cmd.operationId
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async function executeCommand(cmd, args, ctx, service, settings) {
|
|
63
|
+
const { params, flags } = args;
|
|
64
|
+
switch (cmd.operationId) {
|
|
65
|
+
case 'file.process-add-links': {
|
|
66
|
+
const filePath = (0, parser_1.resolveParam)(params, ['path', 'p', 'file']);
|
|
67
|
+
if (!filePath)
|
|
68
|
+
throw new Error('Missing required param: --path');
|
|
69
|
+
return service.processFile({ filePath, createConceptNotes: !flags.has('no-concepts') }, settings);
|
|
70
|
+
}
|
|
71
|
+
case 'file.process-folder-add-links': {
|
|
72
|
+
const folderPath = (0, parser_1.resolveParam)(params, ['path', 'p', 'folder']);
|
|
73
|
+
if (!folderPath)
|
|
74
|
+
throw new Error('Missing required param: --path');
|
|
75
|
+
return service.processFolder({ folderPath }, settings);
|
|
76
|
+
}
|
|
77
|
+
case 'content.generate-from-title': {
|
|
78
|
+
const filePath = (0, parser_1.resolveParam)(params, ['path', 'p', 'file']);
|
|
79
|
+
if (!filePath)
|
|
80
|
+
throw new Error('Missing required param: --path');
|
|
81
|
+
const source = await ctx.readFile(filePath);
|
|
82
|
+
const title = source.split('\n')[0]?.replace(/^#\s*/, '').trim() || 'Untitled';
|
|
83
|
+
return service.generateContent(title, flags.has('research') ? source : undefined, settings);
|
|
84
|
+
}
|
|
85
|
+
case 'content.batch-generate-from-titles': {
|
|
86
|
+
const folderPath = (0, parser_1.resolveParam)(params, ['path', 'p', 'folder']);
|
|
87
|
+
if (!folderPath)
|
|
88
|
+
throw new Error('Missing required param: --path');
|
|
89
|
+
return service.generateFolderContent(folderPath, settings);
|
|
90
|
+
}
|
|
91
|
+
case 'translate.file': {
|
|
92
|
+
const filePath = (0, parser_1.resolveParam)(params, ['path', 'p', 'file']);
|
|
93
|
+
const language = (0, parser_1.resolveParam)(params, ['language', 'l', 'lang']);
|
|
94
|
+
if (!filePath)
|
|
95
|
+
throw new Error('Missing required param: --path');
|
|
96
|
+
if (!language)
|
|
97
|
+
throw new Error('Missing required param: --language');
|
|
98
|
+
return service.translateFile({ filePath, targetLanguage: language }, settings);
|
|
99
|
+
}
|
|
100
|
+
case 'research.summarize-topic': {
|
|
101
|
+
const query = (0, parser_1.resolveParam)(params, ['query', 'q']);
|
|
102
|
+
if (!query)
|
|
103
|
+
throw new Error('Missing required param: --query');
|
|
104
|
+
const provider = (0, parser_1.resolveParam)(params, ['provider', 'prov']);
|
|
105
|
+
return service.search({ query, provider }, settings);
|
|
106
|
+
}
|
|
107
|
+
case 'diagram.generate': {
|
|
108
|
+
const filePath = (0, parser_1.resolveParam)(params, ['path', 'p', 'file']);
|
|
109
|
+
if (!filePath)
|
|
110
|
+
throw new Error('Missing required param: --path');
|
|
111
|
+
const content = await ctx.readFile(filePath);
|
|
112
|
+
const intent = (0, parser_1.resolveParam)(params, ['intent', 'i']);
|
|
113
|
+
const mode = ((0, parser_1.resolveParam)(params, ['mode', 'm']) || 'best-fit');
|
|
114
|
+
return service.generateDiagram({
|
|
115
|
+
content,
|
|
116
|
+
intent,
|
|
117
|
+
compatibilityMode: mode,
|
|
118
|
+
title: filePath
|
|
119
|
+
}, settings);
|
|
120
|
+
}
|
|
121
|
+
case 'mermaid.batch-fix': {
|
|
122
|
+
const filePath = (0, parser_1.resolveParam)(params, ['path', 'p', 'file']);
|
|
123
|
+
if (!filePath)
|
|
124
|
+
throw new Error('Missing required param: --path');
|
|
125
|
+
const inPlace = (0, parser_1.resolveBool)(params, flags, ['in-place', 'i']);
|
|
126
|
+
return service.batchFixMermaid(filePath, inPlace);
|
|
127
|
+
}
|
|
128
|
+
case 'formula.fix-file': {
|
|
129
|
+
const filePath = (0, parser_1.resolveParam)(params, ['path', 'p', 'file']);
|
|
130
|
+
if (!filePath)
|
|
131
|
+
throw new Error('Missing required param: --path');
|
|
132
|
+
const inPlace = (0, parser_1.resolveBool)(params, flags, ['in-place', 'i']);
|
|
133
|
+
return service.fixFormulas(filePath, inPlace);
|
|
134
|
+
}
|
|
135
|
+
case 'duplicate.check-file': {
|
|
136
|
+
const filePath = (0, parser_1.resolveParam)(params, ['path', 'p', 'file']);
|
|
137
|
+
if (!filePath)
|
|
138
|
+
throw new Error('Missing required param: --path');
|
|
139
|
+
return service.checkDuplicates(filePath);
|
|
140
|
+
}
|
|
141
|
+
case 'concept.extract-file': {
|
|
142
|
+
const filePath = (0, parser_1.resolveParam)(params, ['path', 'p', 'file']);
|
|
143
|
+
if (!filePath)
|
|
144
|
+
throw new Error('Missing required param: --path');
|
|
145
|
+
return service.extractConcepts(filePath, settings);
|
|
146
|
+
}
|
|
147
|
+
case 'workflow.extract-and-generate': {
|
|
148
|
+
const filePath = (0, parser_1.resolveParam)(params, ['path', 'p', 'file']);
|
|
149
|
+
if (!filePath)
|
|
150
|
+
throw new Error('Missing required param: --path');
|
|
151
|
+
const output = (0, parser_1.resolveParam)(params, ['output', 'o']);
|
|
152
|
+
const language = (0, parser_1.resolveParam)(params, ['language', 'l', 'lang']);
|
|
153
|
+
return service.runWorkflow({
|
|
154
|
+
filePath,
|
|
155
|
+
outputFolderPath: output,
|
|
156
|
+
language,
|
|
157
|
+
addWikiLinks: flags.has('with-wikilinks') || flags.has('ww') || flags.has('links'),
|
|
158
|
+
wikiLinksInPlace: flags.has('wikilinks-in-place') || flags.has('wi'),
|
|
159
|
+
skipGenerate: flags.has('no-generate'),
|
|
160
|
+
skipMermaidFix: flags.has('no-mermaid')
|
|
161
|
+
}, settings);
|
|
162
|
+
}
|
|
163
|
+
case 'content.extract-original-text': {
|
|
164
|
+
const filePath = (0, parser_1.resolveParam)(params, ['path', 'p', 'file']);
|
|
165
|
+
if (!filePath)
|
|
166
|
+
throw new Error('Missing required param: --path');
|
|
167
|
+
return service.extractOriginalText({
|
|
168
|
+
filePath,
|
|
169
|
+
mergedMode: flags.has('merged')
|
|
170
|
+
}, settings);
|
|
171
|
+
}
|
|
172
|
+
case 'cli.capability-manifest.export':
|
|
173
|
+
return (0, capabilityManifest_1.buildCliCapabilityManifest)('notemd');
|
|
174
|
+
case 'cli.invocation-contract.export':
|
|
175
|
+
return (0, cliContracts_1.buildCliInvocationContract)();
|
|
176
|
+
case 'provider.diagnostic.run': {
|
|
177
|
+
const provider = (0, parser_1.resolveParam)(params, ['provider', 'p', 'prov']);
|
|
178
|
+
return service.diagnoseLlmProvider({ provider }, settings);
|
|
179
|
+
}
|
|
180
|
+
case 'provider.connection.test': {
|
|
181
|
+
const provider = (0, parser_1.resolveParam)(params, ['provider', 'p', 'prov']);
|
|
182
|
+
return { provider: provider || settings.activeProvider, status: 'not-implemented' };
|
|
183
|
+
}
|
|
184
|
+
case 'concept.dedupe': {
|
|
185
|
+
const folderPath = (0, parser_1.resolveParam)(params, ['path', 'p', 'folder']);
|
|
186
|
+
if (!folderPath)
|
|
187
|
+
throw new Error('Missing required param: --path');
|
|
188
|
+
return { folderPath, dedupeStatus: 'not-implemented' };
|
|
189
|
+
}
|
|
190
|
+
case 'workflow.batch': {
|
|
191
|
+
const folderPath = (0, parser_1.resolveParam)(params, ['path', 'p', 'folder']);
|
|
192
|
+
if (!folderPath)
|
|
193
|
+
throw new Error('Missing required param: --path');
|
|
194
|
+
const output = (0, parser_1.resolveParam)(params, ['output', 'o']);
|
|
195
|
+
const pattern = (0, parser_1.resolveParam)(params, ['pattern', 'filter', 'regex']);
|
|
196
|
+
const extensions = (0, parser_1.resolveParam)(params, ['ext', 'extensions']);
|
|
197
|
+
const maxFiles = (0, parser_1.resolveParam)(params, ['max', 'max-files']);
|
|
198
|
+
return service.runBatchWorkflow({
|
|
199
|
+
folderPath,
|
|
200
|
+
outputBasePath: output,
|
|
201
|
+
filePattern: pattern,
|
|
202
|
+
fileExtensions: extensions?.split(',').map(e => e.trim()),
|
|
203
|
+
addWikiLinks: flags.has('with-wikilinks') || flags.has('ww') || flags.has('links'),
|
|
204
|
+
wikiLinksInPlace: flags.has('wikilinks-in-place') || flags.has('wi'),
|
|
205
|
+
skipGenerate: flags.has('no-generate'),
|
|
206
|
+
skipMermaidFix: flags.has('no-mermaid'),
|
|
207
|
+
maxFiles: maxFiles ? parseInt(maxFiles, 10) : undefined
|
|
208
|
+
}, settings);
|
|
209
|
+
}
|
|
210
|
+
case 'provider.profile.export': {
|
|
211
|
+
const { buildProviderProfileExport } = await Promise.resolve().then(() => __importStar(require('../providerProfiles')));
|
|
212
|
+
return buildProviderProfileExport(settings.providers);
|
|
213
|
+
}
|
|
214
|
+
case 'provider.profile.import': {
|
|
215
|
+
const filePath = (0, parser_1.resolveParam)(params, ['path', 'p', 'file']);
|
|
216
|
+
if (!filePath)
|
|
217
|
+
throw new Error('Missing required param: --path');
|
|
218
|
+
const jsonData = await ctx.readFile(filePath);
|
|
219
|
+
const { parseProviderProfileImport } = await Promise.resolve().then(() => __importStar(require('../providerProfiles')));
|
|
220
|
+
return parseProviderProfileImport(jsonData, settings.providers);
|
|
221
|
+
}
|
|
222
|
+
default:
|
|
223
|
+
throw new Error(`Operation ${cmd.operationId} not yet implemented in CLI dispatcher.`);
|
|
224
|
+
}
|
|
225
|
+
}
|