marifold 0.61.0 → 0.64.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/dist/commands/agent.js +10 -0
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/update.d.ts +16 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +51 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/update/MarifoldUpdater.d.ts +23 -0
- package/dist/update/MarifoldUpdater.d.ts.map +1 -0
- package/dist/update/MarifoldUpdater.js +82 -0
- package/dist/update/MarifoldUpdater.js.map +1 -0
- package/package.json +4 -4
package/dist/commands/agent.js
CHANGED
|
@@ -104,6 +104,9 @@ function renderAgentEvent(event, style) {
|
|
|
104
104
|
case 'tool_result':
|
|
105
105
|
process.stdout.write(`${event.isError ? style.red(`tool! ${event.summary}`) : style.dim(`tool< ${event.summary}`)}\n`);
|
|
106
106
|
break;
|
|
107
|
+
case 'artifact':
|
|
108
|
+
process.stdout.write(`${style.bold('file:')} ${event.artifact.name} (${formatBytes(event.artifact.size)})\n`);
|
|
109
|
+
break;
|
|
107
110
|
case 'verification':
|
|
108
111
|
process.stdout.write(`${event.passed ? style.dim(`verified: ${event.notes}`) : style.yellow(`not verified: ${event.notes}`)}\n`);
|
|
109
112
|
break;
|
|
@@ -115,6 +118,13 @@ function renderAgentEvent(event, style) {
|
|
|
115
118
|
break;
|
|
116
119
|
}
|
|
117
120
|
}
|
|
121
|
+
function formatBytes(bytes) {
|
|
122
|
+
if (bytes < 1024)
|
|
123
|
+
return `${bytes} B`;
|
|
124
|
+
if (bytes < 1024 * 1024)
|
|
125
|
+
return `${(bytes / 1024).toFixed(1)} KiB`;
|
|
126
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MiB`;
|
|
127
|
+
}
|
|
118
128
|
function parsePositiveInteger(value) {
|
|
119
129
|
const parsed = Number.parseInt(value, 10);
|
|
120
130
|
if (!Number.isInteger(parsed) || parsed < 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { ConsolePrinter } from '../output/ConsolePrinter';
|
|
3
|
+
export declare const NPM_UPDATE_ARGS: readonly ['install', '--global', 'marifold@latest'];
|
|
4
|
+
export interface UpdateCommandResult {
|
|
5
|
+
exitCode: number;
|
|
6
|
+
signal?: NodeJS.Signals;
|
|
7
|
+
}
|
|
8
|
+
export type UpdateCommandRunner = (command: string, args: readonly string[]) => Promise<UpdateCommandResult>;
|
|
9
|
+
export interface UpdateCommandDependencies {
|
|
10
|
+
runCommand?: UpdateCommandRunner;
|
|
11
|
+
write?: (text: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function registerUpdateCommand(program: Command, printer: ConsolePrinter, dependencies?: UpdateCommandDependencies): void;
|
|
14
|
+
export declare function npmExecutable(platform?: NodeJS.Platform): string;
|
|
15
|
+
export declare function runInheritedCommand(command: string, args: readonly string[]): Promise<UpdateCommandResult>;
|
|
16
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,eAAO,MAAM,eAAe,YAAI,SAAS,EAAE,UAAU,EAAE,iBAAiB,CAAU,CAAC;AAEnF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,KACpB,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAElC,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,cAAc,EACvB,YAAY,GAAE,yBAA8B,GAC3C,IAAI,CAuBN;AAED,wBAAgB,aAAa,CAAC,QAAQ,kBAAmB,GAAG,MAAM,CAEjE;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAa9B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NPM_UPDATE_ARGS = void 0;
|
|
4
|
+
exports.registerUpdateCommand = registerUpdateCommand;
|
|
5
|
+
exports.npmExecutable = npmExecutable;
|
|
6
|
+
exports.runInheritedCommand = runInheritedCommand;
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
exports.NPM_UPDATE_ARGS = ['install', '--global', 'marifold@latest'];
|
|
9
|
+
function registerUpdateCommand(program, printer, dependencies = {}) {
|
|
10
|
+
program
|
|
11
|
+
.command('update')
|
|
12
|
+
.description('Update marifold to the latest version published on npm.')
|
|
13
|
+
.action(async () => {
|
|
14
|
+
try {
|
|
15
|
+
const write = dependencies.write ?? (text => process.stdout.write(text));
|
|
16
|
+
const runCommand = dependencies.runCommand ?? runInheritedCommand;
|
|
17
|
+
write('Running `npm install --global marifold@latest`...\n');
|
|
18
|
+
const result = await runCommand(npmExecutable(), exports.NPM_UPDATE_ARGS);
|
|
19
|
+
if (result.exitCode !== 0) {
|
|
20
|
+
const termination = result.signal
|
|
21
|
+
? `signal ${result.signal}`
|
|
22
|
+
: `exit code ${result.exitCode}`;
|
|
23
|
+
throw new Error(`npm install --global marifold@latest failed (${termination}).`);
|
|
24
|
+
}
|
|
25
|
+
write('Updated marifold to npm latest.\n');
|
|
26
|
+
write('Restart a running service with `marifold service restart`.\n');
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
printer.printError(error);
|
|
30
|
+
process.exitCode = 1;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function npmExecutable(platform = process.platform) {
|
|
35
|
+
return platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
36
|
+
}
|
|
37
|
+
function runInheritedCommand(command, args) {
|
|
38
|
+
return new Promise((resolve, reject) => {
|
|
39
|
+
const child = (0, child_process_1.spawn)(command, [...args], { stdio: 'inherit' });
|
|
40
|
+
child.once('error', error => {
|
|
41
|
+
reject(new Error(`Could not start npm: ${error.message}`));
|
|
42
|
+
});
|
|
43
|
+
child.once('close', (code, signal) => {
|
|
44
|
+
resolve({
|
|
45
|
+
exitCode: code ?? 1,
|
|
46
|
+
...(signal ? { signal } : {}),
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAsC;AAIzB,QAAA,eAAe,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,iBAAiB,CAAU,CAAC;AAiBnF,+BACE,OAAgB,EAChB,OAAuB,EACvB,YAAY,GAA8B,EAAE;IAE5C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,mBAAmB,CAAC;YAClE,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,EAAE,QAAA,eAAe,CAAC,CAAC;YAClE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM;oBAC/B,CAAC,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE;oBAC3B,CAAC,CAAC,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,gDAAgD,WAAW,IAAI,CAAC,CAAC;YACnF,CAAC;YACD,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAC3C,KAAK,CAAC,8DAA8D,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,uBAA8B,QAAQ,GAAG,OAAO,CAAC,QAAQ;IACvD,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAClD,CAAC;AAED,6BACE,OAAe,EACf,IAAuB;IAEvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACnC,OAAO,CAAC;gBACN,QAAQ,EAAE,IAAI,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,13 +16,14 @@ const schedule_1 = require("./commands/schedule");
|
|
|
16
16
|
const service_1 = require("./commands/service");
|
|
17
17
|
const session_1 = require("./commands/session");
|
|
18
18
|
const status_1 = require("./commands/status");
|
|
19
|
+
const update_1 = require("./commands/update");
|
|
19
20
|
const ConsolePrinter_1 = require("./output/ConsolePrinter");
|
|
20
21
|
const RuntimeFactory_1 = require("./commands/RuntimeFactory");
|
|
21
22
|
const printer = new ConsolePrinter_1.ConsolePrinter();
|
|
22
23
|
const program = new commander_1.Command()
|
|
23
24
|
.name('marifold')
|
|
24
25
|
.description('Marifold local-first AI workspace CLI.')
|
|
25
|
-
.version('0.
|
|
26
|
+
.version('0.64.0')
|
|
26
27
|
// Allow a root --profile (for the bare-`marifold` TUI launch) to coexist with
|
|
27
28
|
// subcommand options of the same name: root options must precede the
|
|
28
29
|
// subcommand, and options after the subcommand bind to it.
|
|
@@ -44,6 +45,7 @@ const program = new commander_1.Command()
|
|
|
44
45
|
(0, service_1.registerServiceCommand)(program, printer);
|
|
45
46
|
(0, session_1.registerSessionCommand)(program, printer);
|
|
46
47
|
(0, status_1.registerStatusCommand)(program, printer);
|
|
48
|
+
(0, update_1.registerUpdateCommand)(program, printer);
|
|
47
49
|
// Bare `marifold` (or `marifold --profile x`) launches the Ink TUI. The TUI is
|
|
48
50
|
// an ESM-only package (Ink v7); the CLI is CommonJS, so import it through a
|
|
49
51
|
// real dynamic import the TypeScript CommonJS emit will not downlevel into a
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type NpmOutputMode = 'capture' | 'inherit';
|
|
2
|
+
export interface NpmRunResult {
|
|
3
|
+
exitCode: number;
|
|
4
|
+
stdout: string;
|
|
5
|
+
stderr: string;
|
|
6
|
+
signal?: NodeJS.Signals;
|
|
7
|
+
}
|
|
8
|
+
export type NpmRunner = (args: string[], output: NpmOutputMode) => Promise<NpmRunResult>;
|
|
9
|
+
export interface MarifoldUpdateOptions {
|
|
10
|
+
currentVersion: string;
|
|
11
|
+
runNpm?: NpmRunner;
|
|
12
|
+
write?: (text: string) => void;
|
|
13
|
+
}
|
|
14
|
+
export interface MarifoldUpdateResult {
|
|
15
|
+
previousVersion: string;
|
|
16
|
+
installedVersion?: string;
|
|
17
|
+
}
|
|
18
|
+
/** Install the npm `latest` dist-tag globally. The version lookup is only for
|
|
19
|
+
* user-facing progress: a failed lookup never prevents the actual update. */
|
|
20
|
+
export declare function updateMarifold(options: MarifoldUpdateOptions): Promise<MarifoldUpdateResult>;
|
|
21
|
+
export declare function npmExecutable(platform?: NodeJS.Platform): string;
|
|
22
|
+
export declare function runNpmCommand(args: string[], output: NpmOutputMode): Promise<NpmRunResult>;
|
|
23
|
+
//# sourceMappingURL=MarifoldUpdater.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarifoldUpdater.d.ts","sourceRoot":"","sources":["../../src/update/MarifoldUpdater.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAEzF,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;6EAC6E;AAC7E,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgClG;AAED,wBAAgB,aAAa,CAAC,QAAQ,kBAAmB,GAAG,MAAM,CAEjE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA0B1F"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateMarifold = updateMarifold;
|
|
4
|
+
exports.npmExecutable = npmExecutable;
|
|
5
|
+
exports.runNpmCommand = runNpmCommand;
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
7
|
+
/** Install the npm `latest` dist-tag globally. The version lookup is only for
|
|
8
|
+
* user-facing progress: a failed lookup never prevents the actual update. */
|
|
9
|
+
async function updateMarifold(options) {
|
|
10
|
+
const runNpm = options.runNpm ?? runNpmCommand;
|
|
11
|
+
const write = options.write ?? (text => process.stdout.write(text));
|
|
12
|
+
const versionResult = await runNpm(['view', 'marifold@latest', 'version', '--json'], 'capture');
|
|
13
|
+
const latestVersion = versionResult.exitCode === 0
|
|
14
|
+
? parseNpmVersion(versionResult.stdout)
|
|
15
|
+
: undefined;
|
|
16
|
+
if (!latestVersion) {
|
|
17
|
+
write('Could not read the latest version number from npm; continuing with the update.\n');
|
|
18
|
+
}
|
|
19
|
+
write(latestVersion
|
|
20
|
+
? `Updating marifold ${options.currentVersion} → ${latestVersion}...\n`
|
|
21
|
+
: `Updating marifold ${options.currentVersion} → npm latest...\n`);
|
|
22
|
+
const installResult = await runNpm(['install', '--global', 'marifold@latest'], 'inherit');
|
|
23
|
+
if (installResult.exitCode !== 0) {
|
|
24
|
+
const termination = installResult.signal
|
|
25
|
+
? `signal ${installResult.signal}`
|
|
26
|
+
: `exit code ${installResult.exitCode}`;
|
|
27
|
+
throw new Error(`npm install --global marifold@latest failed (${termination}).`);
|
|
28
|
+
}
|
|
29
|
+
write(latestVersion
|
|
30
|
+
? `Updated marifold ${options.currentVersion} → ${latestVersion}.\n`
|
|
31
|
+
: 'Updated marifold to npm latest.\n');
|
|
32
|
+
write('Restart a running service with `marifold service restart`.\n');
|
|
33
|
+
return {
|
|
34
|
+
previousVersion: options.currentVersion,
|
|
35
|
+
...(latestVersion ? { installedVersion: latestVersion } : {}),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function npmExecutable(platform = process.platform) {
|
|
39
|
+
return platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
40
|
+
}
|
|
41
|
+
function runNpmCommand(args, output) {
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
|
+
const captured = output === 'capture';
|
|
44
|
+
const child = (0, child_process_1.spawn)(npmExecutable(), args, {
|
|
45
|
+
stdio: captured ? ['ignore', 'pipe', 'pipe'] : 'inherit',
|
|
46
|
+
});
|
|
47
|
+
let stdout = '';
|
|
48
|
+
let stderr = '';
|
|
49
|
+
if (captured) {
|
|
50
|
+
child.stdout?.setEncoding('utf8');
|
|
51
|
+
child.stderr?.setEncoding('utf8');
|
|
52
|
+
child.stdout?.on('data', chunk => { stdout += String(chunk); });
|
|
53
|
+
child.stderr?.on('data', chunk => { stderr += String(chunk); });
|
|
54
|
+
}
|
|
55
|
+
child.once('error', error => {
|
|
56
|
+
reject(new Error(`Could not start npm: ${error.message}`));
|
|
57
|
+
});
|
|
58
|
+
child.once('close', (code, signal) => {
|
|
59
|
+
resolve({
|
|
60
|
+
exitCode: code ?? 1,
|
|
61
|
+
stdout,
|
|
62
|
+
stderr,
|
|
63
|
+
...(signal ? { signal } : {}),
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function parseNpmVersion(output) {
|
|
69
|
+
let candidate;
|
|
70
|
+
try {
|
|
71
|
+
candidate = JSON.parse(output.trim());
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
candidate = output.trim();
|
|
75
|
+
}
|
|
76
|
+
if (typeof candidate !== 'string')
|
|
77
|
+
return undefined;
|
|
78
|
+
return /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/.test(candidate)
|
|
79
|
+
? candidate
|
|
80
|
+
: undefined;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=MarifoldUpdater.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarifoldUpdater.js","sourceRoot":"","sources":["../../src/update/MarifoldUpdater.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "marifold",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.64.0",
|
|
4
4
|
"description": "Marifold CLI",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
],
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"commander": "^15.0.0",
|
|
15
|
-
"@marifold/
|
|
16
|
-
"@marifold/
|
|
17
|
-
"@marifold/
|
|
15
|
+
"@marifold/tui": "0.64.0",
|
|
16
|
+
"@marifold/service": "0.64.0",
|
|
17
|
+
"@marifold/core": "0.64.0"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@types/node": "^24.13.3",
|