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.
@@ -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.61.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.61.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/core": "0.61.0",
16
- "@marifold/tui": "0.61.0",
17
- "@marifold/service": "0.61.0"
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",