moorline 0.0.3

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.
@@ -0,0 +1,259 @@
1
+ import { apiDownload, apiGet, apiPost, apiUpload, parseConnectionOptions, parseEnableSurface, parseOutOption, parseRuntimeSurface, parseSelectionSurface, parseSurface, requireValue } from './cliCommandParseUtils.js';
2
+ export function parseConfigureCommand(rest, configPath) {
3
+ const command = rest[0];
4
+ if (command !== 'configure') {
5
+ return null;
6
+ }
7
+ if (rest[1] === 'state') {
8
+ const parsed = parseConnectionOptions(rest.slice(2));
9
+ if (parsed.rest.length > 0) {
10
+ throw new Error('Usage: moorline configure state [--url <url>] [--token <token>] [--json] [--config <path>]');
11
+ }
12
+ return apiGet('/api/state/configure', configPath, parsed.options, parsed.json);
13
+ }
14
+ if (rest[1] === 'apply') {
15
+ const parsed = parseConnectionOptions(rest.slice(2));
16
+ if (parsed.rest.length > 0) {
17
+ throw new Error('Usage: moorline configure apply [--url <url>] [--token <token>] [--json] [--config <path>]');
18
+ }
19
+ return apiPost('/api/packages/apply', {}, configPath, parsed.options, parsed.json);
20
+ }
21
+ if (rest[1] === 'packages' && rest[2] === 'installed') {
22
+ const parsed = parseConnectionOptions(rest.slice(3));
23
+ if (parsed.rest.length > 0) {
24
+ throw new Error('Usage: moorline configure packages installed [--url <url>] [--token <token>] [--json] [--config <path>]');
25
+ }
26
+ return apiGet('/api/packages/installed', configPath, parsed.options, parsed.json);
27
+ }
28
+ if (rest[1] === 'package' && rest[2] === 'install') {
29
+ const usage = 'Usage: moorline configure package install --kind <api-adapter|transport|provider|plugin|skill|bundle> [--package <id>|--source <pathOrUrl>] [--url <url>] [--token <token>] [--json] [--config <path>]';
30
+ const parsed = parseConnectionOptions(rest.slice(3));
31
+ let kind;
32
+ let packageId;
33
+ let source;
34
+ for (let index = 0; index < parsed.rest.length; index += 1) {
35
+ const token = parsed.rest[index];
36
+ if (token === '--kind' || token === '--surface') {
37
+ kind = parseSurface(requireValue(parsed.rest[index + 1], usage), usage);
38
+ index += 1;
39
+ continue;
40
+ }
41
+ if (token === '--package') {
42
+ packageId = requireValue(parsed.rest[index + 1], usage);
43
+ index += 1;
44
+ continue;
45
+ }
46
+ if (token === '--source') {
47
+ source = requireValue(parsed.rest[index + 1], usage);
48
+ index += 1;
49
+ continue;
50
+ }
51
+ throw new Error(usage);
52
+ }
53
+ if (!kind || (!packageId && !source) || (packageId && source)) {
54
+ throw new Error(usage);
55
+ }
56
+ return apiPost('/api/packages/install', {
57
+ kind,
58
+ ...(packageId ? { packageId } : {}),
59
+ ...(source ? { source } : {})
60
+ }, configPath, parsed.options, parsed.json);
61
+ }
62
+ if (rest[1] === 'package' && rest[2] === 'remove') {
63
+ const usage = 'Usage: moorline configure package remove --kind <api-adapter|transport|provider|plugin|skill|bundle> --package <id> [--cascade] [--url <url>] [--token <token>] [--json] [--config <path>]';
64
+ const parsed = parseConnectionOptions(rest.slice(3));
65
+ let kind;
66
+ let packageId;
67
+ let cascade = false;
68
+ for (let index = 0; index < parsed.rest.length; index += 1) {
69
+ const token = parsed.rest[index];
70
+ if (token === '--kind' || token === '--surface') {
71
+ kind = parseSurface(requireValue(parsed.rest[index + 1], usage), usage);
72
+ index += 1;
73
+ continue;
74
+ }
75
+ if (token === '--package') {
76
+ packageId = requireValue(parsed.rest[index + 1], usage);
77
+ index += 1;
78
+ continue;
79
+ }
80
+ if (token === '--cascade') {
81
+ cascade = true;
82
+ continue;
83
+ }
84
+ throw new Error(usage);
85
+ }
86
+ if (!kind || !packageId) {
87
+ throw new Error(usage);
88
+ }
89
+ return apiPost('/api/packages/remove', { kind, packageId, ...(cascade ? { cascade: true } : {}) }, configPath, parsed.options, parsed.json);
90
+ }
91
+ if (rest[1] === 'package' && (rest[2] === 'enable' || rest[2] === 'disable')) {
92
+ const action = rest[2];
93
+ const usage = `Usage: moorline configure package ${action} --surface <plugin|skill> --package <id> [--url <url>] [--token <token>] [--json] [--config <path>]`;
94
+ const parsed = parseConnectionOptions(rest.slice(3));
95
+ let surface;
96
+ let packageId;
97
+ for (let index = 0; index < parsed.rest.length; index += 1) {
98
+ const token = parsed.rest[index];
99
+ if (token === '--surface') {
100
+ surface = parseEnableSurface(requireValue(parsed.rest[index + 1], usage), usage);
101
+ index += 1;
102
+ continue;
103
+ }
104
+ if (token === '--package') {
105
+ packageId = requireValue(parsed.rest[index + 1], usage);
106
+ index += 1;
107
+ continue;
108
+ }
109
+ throw new Error(usage);
110
+ }
111
+ if (!surface || !packageId) {
112
+ throw new Error(usage);
113
+ }
114
+ return apiPost(`/api/packages/${action}`, { surface, packageId }, configPath, parsed.options, parsed.json);
115
+ }
116
+ if (rest[1] === 'package' && (rest[2] === 'activate' || rest[2] === 'deactivate')) {
117
+ const action = rest[2];
118
+ const usage = `Usage: moorline configure package ${action} --surface <api-adapter|transport|provider|plugin|skill> --package <id> [--url <url>] [--token <token>] [--json] [--config <path>]`;
119
+ const parsed = parseConnectionOptions(rest.slice(3));
120
+ let surface;
121
+ let packageId;
122
+ for (let index = 0; index < parsed.rest.length; index += 1) {
123
+ const token = parsed.rest[index];
124
+ if (token === '--surface') {
125
+ surface = parseRuntimeSurface(requireValue(parsed.rest[index + 1], usage), usage);
126
+ index += 1;
127
+ continue;
128
+ }
129
+ if (token === '--package') {
130
+ packageId = requireValue(parsed.rest[index + 1], usage);
131
+ index += 1;
132
+ continue;
133
+ }
134
+ throw new Error(usage);
135
+ }
136
+ if (!surface || !packageId) {
137
+ throw new Error(usage);
138
+ }
139
+ return apiPost(`/api/packages/${action}`, { surface, packageId }, configPath, parsed.options, parsed.json);
140
+ }
141
+ if (rest[1] === 'package' && rest[2] === 'select') {
142
+ const usage = 'Usage: moorline configure package select --surface <api-adapter|transport|provider> (--package <id>|--none) [--url <url>] [--token <token>] [--json] [--config <path>]';
143
+ const parsed = parseConnectionOptions(rest.slice(3));
144
+ let surface;
145
+ let packageId;
146
+ for (let index = 0; index < parsed.rest.length; index += 1) {
147
+ const token = parsed.rest[index];
148
+ if (token === '--surface') {
149
+ surface = parseSelectionSurface(requireValue(parsed.rest[index + 1], usage), usage);
150
+ index += 1;
151
+ continue;
152
+ }
153
+ if (token === '--package') {
154
+ packageId = requireValue(parsed.rest[index + 1], usage);
155
+ index += 1;
156
+ continue;
157
+ }
158
+ if (token === '--none') {
159
+ packageId = null;
160
+ continue;
161
+ }
162
+ throw new Error(usage);
163
+ }
164
+ if (!surface || packageId === undefined) {
165
+ throw new Error(usage);
166
+ }
167
+ return apiPost('/api/packages/select', { surface, packageId }, configPath, parsed.options, parsed.json);
168
+ }
169
+ if (rest[1] === 'package' && rest[2] === 'config') {
170
+ const usage = 'Usage: moorline configure package config --surface <api-adapter|transport|provider|plugin|skill> --package <id> --key <configKey> --value <stringValue> [--url <url>] [--token <token>] [--json] [--config <path>]';
171
+ const parsed = parseConnectionOptions(rest.slice(3));
172
+ let surface;
173
+ let packageId;
174
+ let key;
175
+ let value;
176
+ for (let index = 0; index < parsed.rest.length; index += 1) {
177
+ const token = parsed.rest[index];
178
+ if (token === '--surface') {
179
+ surface = parseRuntimeSurface(requireValue(parsed.rest[index + 1], usage), usage);
180
+ index += 1;
181
+ continue;
182
+ }
183
+ if (token === '--package') {
184
+ packageId = requireValue(parsed.rest[index + 1], usage);
185
+ index += 1;
186
+ continue;
187
+ }
188
+ if (token === '--key') {
189
+ key = requireValue(parsed.rest[index + 1], usage);
190
+ index += 1;
191
+ continue;
192
+ }
193
+ if (token === '--value') {
194
+ value = requireValue(parsed.rest[index + 1], usage);
195
+ index += 1;
196
+ continue;
197
+ }
198
+ throw new Error(usage);
199
+ }
200
+ if (!surface || !packageId || !key || value === undefined) {
201
+ throw new Error(usage);
202
+ }
203
+ return apiPost('/api/packages/config', { surface, packageId, values: { [key]: value } }, configPath, parsed.options, parsed.json);
204
+ }
205
+ if (rest[1] === 'model') {
206
+ const parsed = parseConnectionOptions(rest.slice(2));
207
+ if (parsed.rest.length !== 1) {
208
+ throw new Error('Usage: moorline configure model <model-id> [--url <url>] [--token <token>] [--json] [--config <path>]');
209
+ }
210
+ return apiPost('/api/management/default-model', { model: parsed.rest[0] }, configPath, parsed.options, parsed.json);
211
+ }
212
+ if (rest[1] === 'setup-export') {
213
+ const parsed = parseConnectionOptions(rest.slice(2));
214
+ const output = parseOutOption(parsed.rest, 'Usage: moorline configure setup-export [--out <file>] [--url <url>] [--token <token>] [--json] [--config <path>]');
215
+ return apiDownload('/api/management/setup-export', configPath, parsed.options, parsed.json, output.outPath);
216
+ }
217
+ if (rest[1] === 'backup') {
218
+ const usage = 'Usage: moorline configure backup [--include-workspaces] [--out <file>] [--url <url>] [--token <token>] [--json] [--config <path>]';
219
+ const parsed = parseConnectionOptions(rest.slice(2));
220
+ let includeWorkspaces = false;
221
+ const restFlags = [];
222
+ for (let index = 0; index < parsed.rest.length; index += 1) {
223
+ const token = parsed.rest[index];
224
+ if (token === '--include-workspaces') {
225
+ includeWorkspaces = true;
226
+ continue;
227
+ }
228
+ restFlags.push(token);
229
+ }
230
+ const output = parseOutOption(restFlags, usage);
231
+ return apiDownload(`/api/management/backup?includeWorkspaces=${includeWorkspaces ? '1' : '0'}`, configPath, parsed.options, parsed.json, output.outPath);
232
+ }
233
+ if (rest[1] === 'import') {
234
+ const usage = 'Usage: moorline configure import <archive-path> [--force] [--url <url>] [--token <token>] [--json] [--config <path>]';
235
+ const parsed = parseConnectionOptions(rest.slice(2));
236
+ let force = false;
237
+ let archivePath;
238
+ for (const token of parsed.rest) {
239
+ if (token === '--force') {
240
+ force = true;
241
+ continue;
242
+ }
243
+ if (token.startsWith('--')) {
244
+ throw new Error(usage);
245
+ }
246
+ if (!archivePath) {
247
+ archivePath = token;
248
+ continue;
249
+ }
250
+ throw new Error(usage);
251
+ }
252
+ if (!archivePath) {
253
+ throw new Error(usage);
254
+ }
255
+ return apiUpload(`/api/management/import?force=${force ? '1' : '0'}`, archivePath, 'application/octet-stream', configPath, parsed.options, parsed.json);
256
+ }
257
+ return null;
258
+ }
259
+ //# sourceMappingURL=cliConfigureCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliConfigureCommands.js","sourceRoot":"","sources":["../../../../../../src/app/cli/cliConfigureCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { CliDeps } from './cli.js';
2
+ import type { CliCommand } from './cliCommands.js';
3
+ export declare function runApiForeground(command: Extract<CliCommand, {
4
+ kind: 'api-run-foreground';
5
+ }>, deps: CliDeps): Promise<number>;
6
+ export declare function runRuntimeWorker(command: Extract<CliCommand, {
7
+ kind: 'worker-run';
8
+ }>, deps: CliDeps): Promise<number>;
@@ -0,0 +1,178 @@
1
+ import { evaluateRuntimeStartability } from '@moorline/core/core/extension/packages/runtimeStartability.js';
2
+ import { MoorlineRuntime } from '@moorline/core/core/runtime/moorlineRuntime.js';
3
+ import { createWorkerControlBridge } from '@moorline/core/core/runtime/supervision/runtimeSupervisor.js';
4
+ import { loadMoorlineConfig, resolveConfigPath } from '@moorline/core/core/system/config/configStore.js';
5
+ import { detectSqliteRuntimeSupport } from '@moorline/core/core/system/state/sqliteSupport.js';
6
+ import { defaultHttpApiAdapterConfig, selectedApiAdapterPackageConfig } from '@moorline/core/types/config.js';
7
+ import { OperatorPackageService } from '@moorline/core/app/bootstrap/operatorPackageService.js';
8
+ import { loadConfiguredApiAdapterPackage } from '@moorline/core/app/bootstrap/apiAdapterPackageLoader.js';
9
+ import { loadConfiguredRuntimePackages } from '@moorline/core/app/bootstrap/runtimeBootstrap.js';
10
+ import { clearControlApiBootstrapRecord, writeControlApiBootstrapRecord } from '@moorline/control-api/bootstrap.js';
11
+ function sqliteRuntimeGuidance(detail) {
12
+ const bunHint = typeof process.versions.bun === 'string'
13
+ ? ' Run Node-backed commands via `bun run moorline <command>` or `node packages/cli/dist/main.js <command>`.'
14
+ : '';
15
+ return `Moorline requires node:sqlite support for runtime workers. ${detail}.${bunHint}`;
16
+ }
17
+ function selectedApiAdapterHostPort(config, packageId) {
18
+ const rawConfig = selectedApiAdapterPackageConfig(config, packageId);
19
+ return {
20
+ host: typeof rawConfig.host === 'string' && rawConfig.host.trim().length > 0 ? rawConfig.host.trim() : defaultHttpApiAdapterConfig().host,
21
+ port: Number.isInteger(rawConfig.port) && typeof rawConfig.port === 'number' ? rawConfig.port : 0
22
+ };
23
+ }
24
+ function sleep(ms) {
25
+ return new Promise((resolve) => {
26
+ globalThis.setTimeout(resolve, ms);
27
+ });
28
+ }
29
+ async function waitForEndpointClosed(url) {
30
+ const endpoint = url.replace(/\/+$/u, '');
31
+ while (true) {
32
+ await sleep(250);
33
+ try {
34
+ const response = await fetch(`${endpoint}/`);
35
+ await response.arrayBuffer().catch(() => undefined);
36
+ }
37
+ catch {
38
+ return;
39
+ }
40
+ }
41
+ }
42
+ async function loadSelectedApiAdapterPackage(input) {
43
+ const selectedPackageId = input.config.surfaces.apiAdapter.activePackageId;
44
+ if (!selectedPackageId) {
45
+ throw new Error('No API adapter package is selected. Run `moorline configure` to select an API adapter.');
46
+ }
47
+ return await loadConfiguredApiAdapterPackage({
48
+ config: input.config,
49
+ context: input.context
50
+ });
51
+ }
52
+ export async function runApiForeground(command, deps) {
53
+ const configPath = resolveConfigPath(command.configPath);
54
+ const config = loadMoorlineConfig(configPath);
55
+ const adapterPackageId = config.surfaces.apiAdapter.activePackageId;
56
+ if (!adapterPackageId) {
57
+ throw new Error('No API adapter package is selected. Run `moorline configure` to select an API adapter.');
58
+ }
59
+ const api = selectedApiAdapterHostPort(config, adapterPackageId);
60
+ const adapterContext = {
61
+ host: api.host,
62
+ port: api.port,
63
+ configPath,
64
+ entrypoint: process.argv[1],
65
+ config: selectedApiAdapterPackageConfig(config, adapterPackageId)
66
+ };
67
+ const adapterPackage = await loadSelectedApiAdapterPackage({
68
+ config,
69
+ context: adapterContext
70
+ });
71
+ const adapter = adapterPackage.createAdapter(adapterContext);
72
+ let adapterStarted = false;
73
+ try {
74
+ const started = await adapter.start();
75
+ adapterStarted = true;
76
+ const httpEndpoint = started.endpoints.find((endpoint) => endpoint.protocol === 'http');
77
+ if (!httpEndpoint) {
78
+ await adapter.stop();
79
+ adapterStarted = false;
80
+ clearControlApiBootstrapRecord(configPath);
81
+ deps.output.write(`Moorline API adapter ${adapterPackage.manifest.id} did not expose an HTTP endpoint.`);
82
+ return 1;
83
+ }
84
+ if (!httpEndpoint.token) {
85
+ await adapter.stop();
86
+ adapterStarted = false;
87
+ clearControlApiBootstrapRecord(configPath);
88
+ throw new Error(`Moorline API adapter ${adapterPackage.manifest.id} exposed HTTP without a bearer token.`);
89
+ }
90
+ writeControlApiBootstrapRecord({
91
+ version: 1,
92
+ protocol: 'http',
93
+ adapterPackageId: adapterPackage.manifest.id,
94
+ pid: process.pid,
95
+ url: httpEndpoint.url,
96
+ token: httpEndpoint.token,
97
+ startedAt: new Date().toISOString(),
98
+ configPath
99
+ });
100
+ deps.output.write(`Moorline Control API: ${httpEndpoint.url}`);
101
+ deps.output.write(`Moorline Control API token: ${httpEndpoint.token}`);
102
+ deps.output.write('Use moorline ops/configure/history/requests/main commands against this API.');
103
+ if (deps.waitForShutdown) {
104
+ await Promise.race([
105
+ deps.waitForShutdown(),
106
+ waitForEndpointClosed(httpEndpoint.url)
107
+ ]);
108
+ await adapter.stop();
109
+ adapterStarted = false;
110
+ }
111
+ }
112
+ catch (error) {
113
+ if (adapterStarted) {
114
+ await adapter.stop();
115
+ adapterStarted = false;
116
+ }
117
+ clearControlApiBootstrapRecord(configPath);
118
+ throw error;
119
+ }
120
+ finally {
121
+ clearControlApiBootstrapRecord(configPath);
122
+ }
123
+ return 0;
124
+ }
125
+ export async function runRuntimeWorker(command, deps) {
126
+ const configPath = resolveConfigPath(command.configPath);
127
+ const config = loadMoorlineConfig(configPath);
128
+ const startability = evaluateRuntimeStartability(config, new OperatorPackageService(config, configPath).getInventory());
129
+ const sqliteSupport = await detectSqliteRuntimeSupport();
130
+ if (!sqliteSupport.ok) {
131
+ throw new Error(sqliteRuntimeGuidance(sqliteSupport.detail));
132
+ }
133
+ if (!startability.startable || !config.transport || !config.provider) {
134
+ throw new Error(`Moorline worker-run requires startable selected packages. ${startability.issues.join(' | ') || 'Run moorline configure package ... and moorline configure apply first.'}`);
135
+ }
136
+ const runtimePackages = await loadConfiguredRuntimePackages({
137
+ config,
138
+ commandRunner: deps.commandRunner
139
+ });
140
+ const controlBridge = createWorkerControlBridge();
141
+ const runtime = new MoorlineRuntime({
142
+ config,
143
+ configPath,
144
+ commandRunner: deps.commandRunner,
145
+ providerFactory: runtimePackages.providerFactory,
146
+ verifyEnvironment: runtimePackages.verifyEnvironment ?? undefined,
147
+ transport: runtimePackages.transport,
148
+ supervised: typeof process.send === 'function',
149
+ requestControl: controlBridge.requestControl
150
+ });
151
+ controlBridge.attachControlHandler(async (input) => await runtime.executeSupervisorControl(input));
152
+ controlBridge.attachShutdownHandler(async ({ mode, timeoutMs }) => {
153
+ await runtime.shutdownForSupervisor(mode, timeoutMs);
154
+ process.exit(0);
155
+ });
156
+ try {
157
+ await runtime.start();
158
+ process.send?.({
159
+ type: 'worker.management.ready',
160
+ url: null,
161
+ accessUrl: null
162
+ });
163
+ process.send?.({ type: 'worker.lifecycle.ready' });
164
+ }
165
+ catch (error) {
166
+ process.send?.({
167
+ type: 'worker.lifecycle.start_failed',
168
+ detail: error instanceof Error ? error.message : String(error)
169
+ });
170
+ throw error;
171
+ }
172
+ if (deps.waitForShutdown) {
173
+ await deps.waitForShutdown();
174
+ await runtime.stop();
175
+ }
176
+ return 0;
177
+ }
178
+ //# sourceMappingURL=cliForegroundCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliForegroundCommands.js","sourceRoot":"","sources":["../../../../../../src/app/cli/cliForegroundCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { CliCommand } from './cliCommandTypes.js';
2
+ export declare function parseHistoryCommand(rest: string[], configPath: string | undefined): CliCommand | null;
@@ -0,0 +1,108 @@
1
+ import { URLSearchParams } from 'node:url';
2
+ import { apiGet, apiPost, parseConnectionOptions, requireValue } from './cliCommandParseUtils.js';
3
+ export function parseHistoryCommand(rest, configPath) {
4
+ const command = rest[0];
5
+ if (command !== 'history') {
6
+ return null;
7
+ }
8
+ if (rest[1] === 'status') {
9
+ const parsed = parseConnectionOptions(rest.slice(2));
10
+ if (parsed.rest.length > 0) {
11
+ throw new Error('Usage: moorline history status [--url <url>] [--token <token>] [--json] [--config <path>]');
12
+ }
13
+ return apiGet('/api/history/status', configPath, parsed.options, parsed.json);
14
+ }
15
+ if (rest[1] === 'list') {
16
+ const parsed = parseConnectionOptions(rest.slice(2));
17
+ if (parsed.rest.length > 0) {
18
+ throw new Error('Usage: moorline history list [--url <url>] [--token <token>] [--json] [--config <path>]');
19
+ }
20
+ return apiGet('/api/history/list', configPath, parsed.options, parsed.json);
21
+ }
22
+ if (rest[1] === 'show') {
23
+ const parsed = parseConnectionOptions(rest.slice(2));
24
+ if (parsed.rest.length !== 1) {
25
+ throw new Error('Usage: moorline history show <commitish> [--url <url>] [--token <token>] [--json] [--config <path>]');
26
+ }
27
+ return apiGet(`/api/history/show?commitish=${encodeURIComponent(parsed.rest[0])}`, configPath, parsed.options, parsed.json);
28
+ }
29
+ if (rest[1] === 'diff') {
30
+ const usage = 'Usage: moorline history diff [<from>] [<to>] [--path <tracked-path>] [--url <url>] [--token <token>] [--json] [--config <path>]';
31
+ const parsed = parseConnectionOptions(rest.slice(2));
32
+ let path;
33
+ const positionals = [];
34
+ for (let index = 0; index < parsed.rest.length; index += 1) {
35
+ const token = parsed.rest[index];
36
+ if (token === '--path') {
37
+ path = requireValue(parsed.rest[index + 1], usage);
38
+ index += 1;
39
+ continue;
40
+ }
41
+ if (token.startsWith('--')) {
42
+ throw new Error(usage);
43
+ }
44
+ positionals.push(token);
45
+ }
46
+ if (positionals.length > 2) {
47
+ throw new Error(usage);
48
+ }
49
+ const query = new URLSearchParams();
50
+ if (positionals[0])
51
+ query.set('from', positionals[0]);
52
+ if (positionals[1])
53
+ query.set('to', positionals[1]);
54
+ if (path)
55
+ query.set('path', path);
56
+ return apiGet(`/api/history/diff?${query.toString()}`, configPath, parsed.options, parsed.json);
57
+ }
58
+ if (rest[1] === 'snapshot') {
59
+ const parsed = parseConnectionOptions(rest.slice(2));
60
+ const label = parsed.rest.join(' ').trim();
61
+ if (!label) {
62
+ throw new Error('Usage: moorline history snapshot <label> [--url <url>] [--token <token>] [--json] [--config <path>]');
63
+ }
64
+ return apiPost('/api/history/snapshot', { label }, configPath, parsed.options, parsed.json);
65
+ }
66
+ if (rest[1] === 'restore') {
67
+ const usage = 'Usage: moorline history restore <commitish> [--path <tracked-path>] [--url <url>] [--token <token>] [--json] [--config <path>]';
68
+ const parsed = parseConnectionOptions(rest.slice(2));
69
+ let path;
70
+ const positionals = [];
71
+ for (let index = 0; index < parsed.rest.length; index += 1) {
72
+ const token = parsed.rest[index];
73
+ if (token === '--path') {
74
+ path = requireValue(parsed.rest[index + 1], usage);
75
+ index += 1;
76
+ continue;
77
+ }
78
+ if (token.startsWith('--')) {
79
+ throw new Error(usage);
80
+ }
81
+ positionals.push(token);
82
+ }
83
+ if (positionals.length !== 1) {
84
+ throw new Error(usage);
85
+ }
86
+ return apiPost('/api/history/restore', {
87
+ commitish: positionals[0],
88
+ ...(path ? { path } : {})
89
+ }, configPath, parsed.options, parsed.json);
90
+ }
91
+ if (rest[1] === 'discard') {
92
+ const usage = 'Usage: moorline history discard [--path <tracked-path>] [--url <url>] [--token <token>] [--json] [--config <path>]';
93
+ const parsed = parseConnectionOptions(rest.slice(2));
94
+ let path;
95
+ for (let index = 0; index < parsed.rest.length; index += 1) {
96
+ const token = parsed.rest[index];
97
+ if (token === '--path') {
98
+ path = requireValue(parsed.rest[index + 1], usage);
99
+ index += 1;
100
+ continue;
101
+ }
102
+ throw new Error(usage);
103
+ }
104
+ return apiPost('/api/history/discard', path ? { path } : {}, configPath, parsed.options, parsed.json);
105
+ }
106
+ return null;
107
+ }
108
+ //# sourceMappingURL=cliHistoryCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliHistoryCommands.js","sourceRoot":"","sources":["../../../../../../src/app/cli/cliHistoryCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { CliCommand } from './cliCommandTypes.js';
2
+ export declare function parseRequestsCommand(rest: string[], configPath: string | undefined): CliCommand | null;