memoryblock 0.1.1-beta → 0.1.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.
- package/LICENSE +2 -2
- package/README.md +5 -4
- package/dist/engine/cost-tracker.d.ts +1 -1
- package/dist/engine/cost-tracker.d.ts.map +1 -1
- package/dist/engine/gatekeeper.d.ts +1 -1
- package/dist/engine/gatekeeper.d.ts.map +1 -1
- package/dist/engine/gatekeeper.js +1 -1
- package/dist/engine/gatekeeper.js.map +1 -1
- package/dist/engine/memory.d.ts +1 -1
- package/dist/engine/memory.d.ts.map +1 -1
- package/dist/engine/memory.js +1 -1
- package/dist/engine/memory.js.map +1 -1
- package/dist/engine/monitor.d.ts +1 -1
- package/dist/engine/monitor.d.ts.map +1 -1
- package/dist/engine/monitor.js +1 -1
- package/dist/engine/monitor.js.map +1 -1
- package/dist/index.d.ts +3 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/utils/config.d.ts +1 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +5 -23
- package/bin/mblk.js +0 -6
- package/dist/bin/mblk.d.ts +0 -3
- package/dist/bin/mblk.d.ts.map +0 -1
- package/dist/bin/mblk.js +0 -339
- package/dist/bin/mblk.js.map +0 -1
- package/dist/cli/commands/create.d.ts +0 -2
- package/dist/cli/commands/create.d.ts.map +0 -1
- package/dist/cli/commands/create.js +0 -48
- package/dist/cli/commands/create.js.map +0 -1
- package/dist/cli/commands/delete.d.ts +0 -5
- package/dist/cli/commands/delete.d.ts.map +0 -1
- package/dist/cli/commands/delete.js +0 -147
- package/dist/cli/commands/delete.js.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -9
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/init.js +0 -209
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/permissions.d.ts +0 -13
- package/dist/cli/commands/permissions.d.ts.map +0 -1
- package/dist/cli/commands/permissions.js +0 -60
- package/dist/cli/commands/permissions.js.map +0 -1
- package/dist/cli/commands/plugin-settings.d.ts +0 -6
- package/dist/cli/commands/plugin-settings.d.ts.map +0 -1
- package/dist/cli/commands/plugin-settings.js +0 -118
- package/dist/cli/commands/plugin-settings.js.map +0 -1
- package/dist/cli/commands/plugins.d.ts +0 -3
- package/dist/cli/commands/plugins.d.ts.map +0 -1
- package/dist/cli/commands/plugins.js +0 -83
- package/dist/cli/commands/plugins.js.map +0 -1
- package/dist/cli/commands/reset.d.ts +0 -8
- package/dist/cli/commands/reset.d.ts.map +0 -1
- package/dist/cli/commands/reset.js +0 -96
- package/dist/cli/commands/reset.js.map +0 -1
- package/dist/cli/commands/server.d.ts +0 -25
- package/dist/cli/commands/server.d.ts.map +0 -1
- package/dist/cli/commands/server.js +0 -295
- package/dist/cli/commands/server.js.map +0 -1
- package/dist/cli/commands/service.d.ts +0 -18
- package/dist/cli/commands/service.d.ts.map +0 -1
- package/dist/cli/commands/service.js +0 -309
- package/dist/cli/commands/service.js.map +0 -1
- package/dist/cli/commands/start.d.ts +0 -11
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/commands/start.js +0 -801
- package/dist/cli/commands/start.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -2
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -78
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/stop.d.ts +0 -9
- package/dist/cli/commands/stop.d.ts.map +0 -1
- package/dist/cli/commands/stop.js +0 -83
- package/dist/cli/commands/stop.js.map +0 -1
- package/dist/cli/commands/web.d.ts +0 -5
- package/dist/cli/commands/web.d.ts.map +0 -1
- package/dist/cli/commands/web.js +0 -63
- package/dist/cli/commands/web.js.map +0 -1
- package/dist/cli/constants.d.ts +0 -38
- package/dist/cli/constants.d.ts.map +0 -1
- package/dist/cli/constants.js +0 -80
- package/dist/cli/constants.js.map +0 -1
- package/dist/cli/logger.d.ts.map +0 -1
- package/dist/cli/logger.js.map +0 -1
- package/dist/schemas.d.ts +0 -544
- package/dist/schemas.d.ts.map +0 -1
- package/dist/schemas.js +0 -111
- package/dist/schemas.js.map +0 -1
- package/dist/types.d.ts +0 -188
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- /package/dist/{cli → utils}/logger.d.ts +0 -0
- /package/dist/{cli → utils}/logger.js +0 -0
package/dist/bin/mblk.js
DELETED
|
@@ -1,339 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
import { Command } from 'commander';
|
|
3
|
-
import { log } from '../cli/logger.js';
|
|
4
|
-
import { initCommand } from '../cli/commands/init.js';
|
|
5
|
-
import { createCommand } from '../cli/commands/create.js';
|
|
6
|
-
import { startCommand } from '../cli/commands/start.js';
|
|
7
|
-
import { stopCommand } from '../cli/commands/stop.js';
|
|
8
|
-
import { statusCommand } from '../cli/commands/status.js';
|
|
9
|
-
import { resetCommand } from '../cli/commands/reset.js';
|
|
10
|
-
import { serverStartCommand, serverStopCommand, serverStatusCommand, serverTokenCommand, shutdownCommand, restartCommand } from '../cli/commands/server.js';
|
|
11
|
-
import { addCommand, removeCommand } from '../cli/commands/plugins.js';
|
|
12
|
-
import { deleteCommand, restoreCommand } from '../cli/commands/delete.js';
|
|
13
|
-
import { permissionsCommand } from '../cli/commands/permissions.js';
|
|
14
|
-
import { pluginSettingsCommand } from '../cli/commands/plugin-settings.js';
|
|
15
|
-
import { serviceInstallCommand, serviceUninstallCommand, serviceStatusCommand } from '../cli/commands/service.js';
|
|
16
|
-
import { getVersion, DEFAULT_PORT } from '../cli/constants.js';
|
|
17
|
-
(async () => {
|
|
18
|
-
const version = await getVersion();
|
|
19
|
-
const program = new Command();
|
|
20
|
-
program
|
|
21
|
-
.name('mblk')
|
|
22
|
-
.description('Deploy isolated, multi-agent AI assistants with extreme resource efficiency.')
|
|
23
|
-
.version(version)
|
|
24
|
-
.exitOverride(() => process.exit(0)) // Don't throw ELIFECYCLE when showing help
|
|
25
|
-
.configureOutput({
|
|
26
|
-
writeOut: (str) => process.stdout.write(str),
|
|
27
|
-
writeErr: (str) => process.stdout.write(str), // Prevent stderr noise from Commander
|
|
28
|
-
});
|
|
29
|
-
program
|
|
30
|
-
.command('init')
|
|
31
|
-
.description('Interactive setup — configure credentials, verify connections, create your first block.')
|
|
32
|
-
.option('-y, --yes', 'Non-interactive mode: create defaults without prompts')
|
|
33
|
-
.action(async (opts) => {
|
|
34
|
-
try {
|
|
35
|
-
await initCommand({ nonInteractive: opts.yes });
|
|
36
|
-
}
|
|
37
|
-
catch (err) {
|
|
38
|
-
log.error(err.message);
|
|
39
|
-
process.exit(0);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
program
|
|
43
|
-
.command('create <name>')
|
|
44
|
-
.description('Create a new block (isolated AI workspace).')
|
|
45
|
-
.action(async (name) => {
|
|
46
|
-
try {
|
|
47
|
-
await createCommand(name);
|
|
48
|
-
}
|
|
49
|
-
catch (err) {
|
|
50
|
-
log.error(err.message);
|
|
51
|
-
process.exit(0);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
program
|
|
55
|
-
.command('start [block]')
|
|
56
|
-
.description('Start the monitor loop for a block (or all blocks).')
|
|
57
|
-
.option('-d, --daemon', 'Run the monitor in the background')
|
|
58
|
-
.option('-c, --channel <channel>', 'Specify override channel (e.g. web, cli)')
|
|
59
|
-
.action(async (block, opts) => {
|
|
60
|
-
try {
|
|
61
|
-
await startCommand(block, opts);
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
const msg = err.message;
|
|
65
|
-
// If not initialized, auto-route to init and then retry
|
|
66
|
-
if (msg.includes('not initialized') || msg.includes('mblk init')) {
|
|
67
|
-
log.warn('Workspace not initialized. Running setup first...\n');
|
|
68
|
-
try {
|
|
69
|
-
await initCommand();
|
|
70
|
-
// Retry start after init completes
|
|
71
|
-
await startCommand(block, opts);
|
|
72
|
-
}
|
|
73
|
-
catch (initErr) {
|
|
74
|
-
log.error(initErr.message);
|
|
75
|
-
process.exit(0);
|
|
76
|
-
}
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
log.error(msg);
|
|
80
|
-
process.exit(0);
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
program
|
|
84
|
-
.command('stop [block]')
|
|
85
|
-
.description('Stop a running block monitor (or all blocks).')
|
|
86
|
-
.action(async (block) => {
|
|
87
|
-
try {
|
|
88
|
-
await stopCommand(block);
|
|
89
|
-
}
|
|
90
|
-
catch (err) {
|
|
91
|
-
log.error(err.message);
|
|
92
|
-
process.exit(0);
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
program
|
|
96
|
-
.command('status')
|
|
97
|
-
.description('Show the status of all blocks.')
|
|
98
|
-
.action(async () => {
|
|
99
|
-
try {
|
|
100
|
-
await statusCommand();
|
|
101
|
-
}
|
|
102
|
-
catch (err) {
|
|
103
|
-
log.error(err.message);
|
|
104
|
-
process.exit(0);
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
program
|
|
108
|
-
.command('reset <block>')
|
|
109
|
-
.description('Reset a block state (memory, pulse, costs). Use --hard to wipe logs.')
|
|
110
|
-
.option('--hard', 'Wipe logs directory as well')
|
|
111
|
-
.action(async (block, opts) => {
|
|
112
|
-
try {
|
|
113
|
-
await resetCommand(block, opts);
|
|
114
|
-
}
|
|
115
|
-
catch (err) {
|
|
116
|
-
log.error(err.message);
|
|
117
|
-
process.exit(0);
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
program
|
|
121
|
-
.command('delete <block>')
|
|
122
|
-
.description('Archive a block to prevent data loss. Use --hard to permanently delete.')
|
|
123
|
-
.option('--hard', 'Permanently wipe the block from disk')
|
|
124
|
-
.action(async (block, opts) => {
|
|
125
|
-
try {
|
|
126
|
-
await deleteCommand(block, opts);
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
log.error(err.message);
|
|
130
|
-
process.exit(0);
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
program
|
|
134
|
-
.command('restore <name>')
|
|
135
|
-
.description('Restore an archived block by name.')
|
|
136
|
-
.action(async (archive) => {
|
|
137
|
-
try {
|
|
138
|
-
await restoreCommand(archive);
|
|
139
|
-
}
|
|
140
|
-
catch (err) {
|
|
141
|
-
log.error(err.message);
|
|
142
|
-
process.exit(0);
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
program
|
|
146
|
-
.command('permissions <block>')
|
|
147
|
-
.description('View or update block permissions (CLI-only).')
|
|
148
|
-
.option('-s, --scope <level>', 'Set scope: block, workspace, or system')
|
|
149
|
-
.option('--allow-shell', 'Allow shell command execution')
|
|
150
|
-
.option('--deny-shell', 'Deny shell command execution')
|
|
151
|
-
.option('--allow-network', 'Allow network/fetch access')
|
|
152
|
-
.option('--deny-network', 'Deny network/fetch access')
|
|
153
|
-
.option('--max-timeout <seconds>', 'Max command timeout in seconds')
|
|
154
|
-
.action(async (block, opts) => {
|
|
155
|
-
try {
|
|
156
|
-
await permissionsCommand(block, opts);
|
|
157
|
-
}
|
|
158
|
-
catch (err) {
|
|
159
|
-
log.error(err.message);
|
|
160
|
-
process.exit(0);
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
program
|
|
164
|
-
.command('settings [plugin]')
|
|
165
|
-
.description('View or edit plugin settings.')
|
|
166
|
-
.action(async (pluginId) => {
|
|
167
|
-
try {
|
|
168
|
-
await pluginSettingsCommand(pluginId);
|
|
169
|
-
}
|
|
170
|
-
catch (err) {
|
|
171
|
-
log.error(err.message);
|
|
172
|
-
process.exit(0);
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
// ===== Server Subcommand Group =====
|
|
176
|
-
const server = program
|
|
177
|
-
.command('server')
|
|
178
|
-
.description('Manage the web/API server.');
|
|
179
|
-
server
|
|
180
|
-
.command('start')
|
|
181
|
-
.description('Start the web UI and API server.')
|
|
182
|
-
.option('-p, --port <port>', 'Port to listen on', DEFAULT_PORT)
|
|
183
|
-
.option('--new-token', 'Generate a new auth token')
|
|
184
|
-
.option('-d, --daemon', 'Run the server in the background')
|
|
185
|
-
.action(async (opts) => {
|
|
186
|
-
try {
|
|
187
|
-
await serverStartCommand(opts);
|
|
188
|
-
}
|
|
189
|
-
catch (err) {
|
|
190
|
-
log.error(err.message);
|
|
191
|
-
process.exit(0);
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
server
|
|
195
|
-
.command('stop')
|
|
196
|
-
.description('Stop the running server.')
|
|
197
|
-
.action(async () => {
|
|
198
|
-
try {
|
|
199
|
-
await serverStopCommand();
|
|
200
|
-
}
|
|
201
|
-
catch (err) {
|
|
202
|
-
log.error(err.message);
|
|
203
|
-
process.exit(0);
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
server
|
|
207
|
-
.command('status')
|
|
208
|
-
.description('Show server status (PID, port, running state).')
|
|
209
|
-
.action(async () => {
|
|
210
|
-
try {
|
|
211
|
-
await serverStatusCommand();
|
|
212
|
-
}
|
|
213
|
-
catch (err) {
|
|
214
|
-
log.error(err.message);
|
|
215
|
-
process.exit(0);
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
server
|
|
219
|
-
.command('token')
|
|
220
|
-
.description('View the current API token, or generate a new one.')
|
|
221
|
-
.option('--new-token', 'Generate and set a new API token')
|
|
222
|
-
.action(async (opts) => {
|
|
223
|
-
try {
|
|
224
|
-
await serverTokenCommand(opts);
|
|
225
|
-
}
|
|
226
|
-
catch (err) {
|
|
227
|
-
log.error(err.message);
|
|
228
|
-
process.exit(0);
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
// ===== Service Subcommand Group =====
|
|
232
|
-
const service = program
|
|
233
|
-
.command('service')
|
|
234
|
-
.description('Manage OS-level auto-start (launchd/systemd).');
|
|
235
|
-
service
|
|
236
|
-
.command('install')
|
|
237
|
-
.description('Register memoryblock to start on boot/login.')
|
|
238
|
-
.action(async () => {
|
|
239
|
-
try {
|
|
240
|
-
await serviceInstallCommand();
|
|
241
|
-
}
|
|
242
|
-
catch (err) {
|
|
243
|
-
log.error(err.message);
|
|
244
|
-
process.exit(0);
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
service
|
|
248
|
-
.command('uninstall')
|
|
249
|
-
.description('Remove memoryblock from system auto-start.')
|
|
250
|
-
.action(async () => {
|
|
251
|
-
try {
|
|
252
|
-
await serviceUninstallCommand();
|
|
253
|
-
}
|
|
254
|
-
catch (err) {
|
|
255
|
-
log.error(err.message);
|
|
256
|
-
process.exit(0);
|
|
257
|
-
}
|
|
258
|
-
});
|
|
259
|
-
service
|
|
260
|
-
.command('status')
|
|
261
|
-
.description('Check if the auto-start service is installed.')
|
|
262
|
-
.action(async () => {
|
|
263
|
-
try {
|
|
264
|
-
await serviceStatusCommand();
|
|
265
|
-
}
|
|
266
|
-
catch (err) {
|
|
267
|
-
log.error(err.message);
|
|
268
|
-
process.exit(0);
|
|
269
|
-
}
|
|
270
|
-
});
|
|
271
|
-
// ===== Lifecycle Commands =====
|
|
272
|
-
program
|
|
273
|
-
.command('shutdown')
|
|
274
|
-
.description('Stop all blocks and the server.')
|
|
275
|
-
.action(async () => {
|
|
276
|
-
try {
|
|
277
|
-
await shutdownCommand();
|
|
278
|
-
}
|
|
279
|
-
catch (err) {
|
|
280
|
-
log.error(err.message);
|
|
281
|
-
process.exit(0);
|
|
282
|
-
}
|
|
283
|
-
});
|
|
284
|
-
program
|
|
285
|
-
.command('restart')
|
|
286
|
-
.description('Restart: stop everything, then start server as daemon.')
|
|
287
|
-
.option('-p, --port <port>', 'Port to listen on', DEFAULT_PORT)
|
|
288
|
-
.action(async (opts) => {
|
|
289
|
-
try {
|
|
290
|
-
await restartCommand(opts);
|
|
291
|
-
}
|
|
292
|
-
catch (err) {
|
|
293
|
-
log.error(err.message);
|
|
294
|
-
process.exit(0);
|
|
295
|
-
}
|
|
296
|
-
});
|
|
297
|
-
// Backward-compatible alias: `mblk web` = `mblk server start`
|
|
298
|
-
program
|
|
299
|
-
.command('web')
|
|
300
|
-
.description('Alias for `mblk server start`.')
|
|
301
|
-
.option('-p, --port <port>', 'Port to listen on', DEFAULT_PORT)
|
|
302
|
-
.option('--new-token', 'Generate a new auth token')
|
|
303
|
-
.option('-d, --daemon', 'Run the server in the background')
|
|
304
|
-
.action(async (opts) => {
|
|
305
|
-
try {
|
|
306
|
-
await serverStartCommand(opts);
|
|
307
|
-
}
|
|
308
|
-
catch (err) {
|
|
309
|
-
log.error(err.message);
|
|
310
|
-
process.exit(0);
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
program
|
|
314
|
-
.command('add [plugin]')
|
|
315
|
-
.description('Install a plugin (run without args to list available plugins).')
|
|
316
|
-
.action(async (plugin) => {
|
|
317
|
-
try {
|
|
318
|
-
await addCommand(plugin);
|
|
319
|
-
}
|
|
320
|
-
catch (err) {
|
|
321
|
-
log.error(err.message);
|
|
322
|
-
process.exit(0);
|
|
323
|
-
}
|
|
324
|
-
});
|
|
325
|
-
program
|
|
326
|
-
.command('remove <plugin>')
|
|
327
|
-
.description('Remove an installed plugin.')
|
|
328
|
-
.action(async (plugin) => {
|
|
329
|
-
try {
|
|
330
|
-
await removeCommand(plugin);
|
|
331
|
-
}
|
|
332
|
-
catch (err) {
|
|
333
|
-
log.error(err.message);
|
|
334
|
-
process.exit(0);
|
|
335
|
-
}
|
|
336
|
-
});
|
|
337
|
-
program.parse();
|
|
338
|
-
})();
|
|
339
|
-
//# sourceMappingURL=mblk.js.map
|
package/dist/bin/mblk.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mblk.js","sourceRoot":"","sources":["../../src/bin/mblk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"AAYA,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDpE"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { join } from 'node:path';
|
|
2
|
-
import { ensureDir, writeJson, atomicWrite, pathExists } from '../../utils/fs.js';
|
|
3
|
-
import { loadGlobalConfig, resolveBlockPath, isInitialized, } from '../../utils/config.js';
|
|
4
|
-
import { BlockConfigSchema, PulseStateSchema } from '../../schemas.js';
|
|
5
|
-
import { log } from '../logger.js';
|
|
6
|
-
import { FILE_TEMPLATES } from '../../engine/prompts.js';
|
|
7
|
-
// Templates moved to prompts.ts
|
|
8
|
-
export async function createCommand(blockName) {
|
|
9
|
-
if (!(await isInitialized())) {
|
|
10
|
-
throw new Error('Not initialized. Run `mblk init` first.');
|
|
11
|
-
}
|
|
12
|
-
if (!/^[a-z0-9][a-z0-9-]{0,31}$/.test(blockName)) {
|
|
13
|
-
throw new Error('Block name must start with a letter/number and contain only lowercase letters, numbers, and hyphens (max 32 chars).');
|
|
14
|
-
}
|
|
15
|
-
const globalConfig = await loadGlobalConfig();
|
|
16
|
-
const blockPath = resolveBlockPath(globalConfig, blockName);
|
|
17
|
-
if (await pathExists(blockPath)) {
|
|
18
|
-
throw new Error(`Block "${blockName}" already exists at ${blockPath}`);
|
|
19
|
-
}
|
|
20
|
-
log.brand(`Creating block: ${blockName}\n`);
|
|
21
|
-
// Directory structure
|
|
22
|
-
await ensureDir(blockPath);
|
|
23
|
-
await ensureDir(join(blockPath, 'agents'));
|
|
24
|
-
await ensureDir(join(blockPath, 'logs'));
|
|
25
|
-
// Block config (inherits global defaults)
|
|
26
|
-
const blockConfig = BlockConfigSchema.parse({
|
|
27
|
-
name: blockName,
|
|
28
|
-
adapter: globalConfig.defaults.adapter,
|
|
29
|
-
memory: globalConfig.defaults.memory,
|
|
30
|
-
pulse: globalConfig.defaults.pulse,
|
|
31
|
-
});
|
|
32
|
-
await writeJson(join(blockPath, 'config.json'), blockConfig);
|
|
33
|
-
log.success('Created config.json');
|
|
34
|
-
// Initial pulse state
|
|
35
|
-
const pulse = PulseStateSchema.parse({});
|
|
36
|
-
await writeJson(join(blockPath, 'pulse.json'), pulse);
|
|
37
|
-
log.success('Created pulse.json');
|
|
38
|
-
// Core identity files
|
|
39
|
-
await atomicWrite(join(blockPath, 'memory.md'), FILE_TEMPLATES.MEMORY_MD);
|
|
40
|
-
log.success('Created memory.md');
|
|
41
|
-
await atomicWrite(join(blockPath, 'monitor.md'), FILE_TEMPLATES.MONITOR_MD(blockName));
|
|
42
|
-
log.success('Created monitor.md');
|
|
43
|
-
console.log('');
|
|
44
|
-
log.brand(`Block "${blockName}" is ready.`);
|
|
45
|
-
log.dim(` Path: ${blockPath}`);
|
|
46
|
-
log.dim(` Start: mblk start ${blockName}`);
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"AA6DA,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmElG;AAED,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCvE"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { join } from 'node:path';
|
|
2
|
-
import { promises as fsp } from 'node:fs';
|
|
3
|
-
import * as p from '@clack/prompts';
|
|
4
|
-
import chalk from 'chalk';
|
|
5
|
-
import { loadGlobalConfig, resolveBlocksDir, isInitialized } from '../../utils/config.js';
|
|
6
|
-
import { ensureDir, pathExists } from '../../utils/fs.js';
|
|
7
|
-
import { log } from '../logger.js';
|
|
8
|
-
import { t } from '@memoryblock/locale';
|
|
9
|
-
/**
|
|
10
|
-
* Find archived folders matching a block name.
|
|
11
|
-
* Supports both:
|
|
12
|
-
* - Exact archive name: "dev-pal_2026-03-21T10-33-24-242Z"
|
|
13
|
-
* - Block name prefix: "dev-pal" (matches all archives of that block)
|
|
14
|
-
*/
|
|
15
|
-
async function findArchives(archiveDir, query) {
|
|
16
|
-
// Strip _archive/ prefix if user pastes it
|
|
17
|
-
const name = query.replace(/^_archive\//, '');
|
|
18
|
-
try {
|
|
19
|
-
const entries = await fsp.readdir(archiveDir);
|
|
20
|
-
// 1. Exact match
|
|
21
|
-
if (entries.includes(name))
|
|
22
|
-
return [name];
|
|
23
|
-
// 2. Prefix match: "dev-pal" matches "dev-pal_2026-03-21T10-33-24-242Z"
|
|
24
|
-
const matches = entries
|
|
25
|
-
.filter(e => e.startsWith(`${name}_`))
|
|
26
|
-
.sort()
|
|
27
|
-
.reverse(); // newest first
|
|
28
|
-
return matches;
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return [];
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Resolve a single archive — if multiple exist, let user pick.
|
|
36
|
-
*/
|
|
37
|
-
async function resolveArchive(archiveDir, query) {
|
|
38
|
-
const matches = await findArchives(archiveDir, query);
|
|
39
|
-
if (matches.length === 0)
|
|
40
|
-
return null;
|
|
41
|
-
if (matches.length === 1)
|
|
42
|
-
return matches[0];
|
|
43
|
-
// Multiple archives — let the user pick
|
|
44
|
-
const selection = await p.select({
|
|
45
|
-
message: `Multiple archives found for "${query}". Which one?`,
|
|
46
|
-
options: matches.map(m => {
|
|
47
|
-
// Extract the timestamp for a cleaner label
|
|
48
|
-
const tsMatch = m.match(/_(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2})/);
|
|
49
|
-
const hint = tsMatch ? tsMatch[1].replace(/-/g, ':').replace('T', ' ').slice(0, 16) : '';
|
|
50
|
-
return { value: m, label: m, hint };
|
|
51
|
-
}),
|
|
52
|
-
});
|
|
53
|
-
if (p.isCancel(selection))
|
|
54
|
-
return null;
|
|
55
|
-
return selection;
|
|
56
|
-
}
|
|
57
|
-
export async function deleteCommand(blockName, options) {
|
|
58
|
-
if (!(await isInitialized())) {
|
|
59
|
-
throw new Error(t.general.notInitialized);
|
|
60
|
-
}
|
|
61
|
-
const globalConfig = await loadGlobalConfig();
|
|
62
|
-
const blocksDir = resolveBlocksDir(globalConfig);
|
|
63
|
-
const blockPath = join(blocksDir, blockName);
|
|
64
|
-
// Check if it's a direct block path first
|
|
65
|
-
if (await pathExists(blockPath)) {
|
|
66
|
-
if (blockName.startsWith('_archive/')) {
|
|
67
|
-
if (!options?.hard) {
|
|
68
|
-
throw new Error(t.archive.mustUseHard);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
if (options?.hard) {
|
|
72
|
-
try {
|
|
73
|
-
await fsp.rm(blockPath, { recursive: true, force: true });
|
|
74
|
-
log.success(t.archive.hardDeleteSuccess(blockName));
|
|
75
|
-
}
|
|
76
|
-
catch (err) {
|
|
77
|
-
throw new Error(`Failed to delete: ${err.message}`);
|
|
78
|
-
}
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
// Soft delete — move to _archive directory
|
|
82
|
-
const archiveDir = join(blocksDir, '_archive');
|
|
83
|
-
await ensureDir(archiveDir);
|
|
84
|
-
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
85
|
-
const archiveName = `${blockName}_${timestamp}`;
|
|
86
|
-
const archivePath = join(archiveDir, archiveName);
|
|
87
|
-
try {
|
|
88
|
-
await fsp.rename(blockPath, archivePath);
|
|
89
|
-
log.success(t.archive.success(blockName));
|
|
90
|
-
log.dim(` ${t.archive.location(`_archive/${archiveName}`)}`);
|
|
91
|
-
log.dim(` ${t.archive.restoreCmd(blockName)}`);
|
|
92
|
-
log.dim(` ${t.archive.deleteCmd(blockName)}`);
|
|
93
|
-
}
|
|
94
|
-
catch (err) {
|
|
95
|
-
throw new Error(`Failed to archive block: ${err.message}`);
|
|
96
|
-
}
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
// Not a live block — maybe user wants to hard-delete an archive by name?
|
|
100
|
-
if (options?.hard) {
|
|
101
|
-
const archiveDir = join(blocksDir, '_archive');
|
|
102
|
-
const resolved = await resolveArchive(archiveDir, blockName);
|
|
103
|
-
if (!resolved) {
|
|
104
|
-
throw new Error(`Block or archive "${blockName}" not found.`);
|
|
105
|
-
}
|
|
106
|
-
const archivePath = join(archiveDir, resolved);
|
|
107
|
-
try {
|
|
108
|
-
await fsp.rm(archivePath, { recursive: true, force: true });
|
|
109
|
-
log.success(`"${resolved}" permanently deleted from archive.`);
|
|
110
|
-
}
|
|
111
|
-
catch (err) {
|
|
112
|
-
throw new Error(`Failed to delete: ${err.message}`);
|
|
113
|
-
}
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
throw new Error(`Block "${blockName}" not found. Run \`mblk status\` to see available blocks.`);
|
|
117
|
-
}
|
|
118
|
-
export async function restoreCommand(archiveName) {
|
|
119
|
-
if (!(await isInitialized())) {
|
|
120
|
-
throw new Error(t.general.notInitialized);
|
|
121
|
-
}
|
|
122
|
-
const globalConfig = await loadGlobalConfig();
|
|
123
|
-
const blocksDir = resolveBlocksDir(globalConfig);
|
|
124
|
-
const archiveDir = join(blocksDir, '_archive');
|
|
125
|
-
// Resolve the archive — supports block name, full name, or prefix
|
|
126
|
-
const resolved = await resolveArchive(archiveDir, archiveName);
|
|
127
|
-
if (!resolved) {
|
|
128
|
-
throw new Error(`No archive found for "${archiveName}". Run \`mblk status\` to check archives.`);
|
|
129
|
-
}
|
|
130
|
-
const archivePath = join(archiveDir, resolved);
|
|
131
|
-
// Extract original block name (strip timestamp suffix)
|
|
132
|
-
const match = resolved.match(/^(.*?)_\d{4}-\d{2}-\d{2}T.*/);
|
|
133
|
-
const targetName = match ? match[1] : resolved;
|
|
134
|
-
const targetPath = join(blocksDir, targetName);
|
|
135
|
-
if (await pathExists(targetPath)) {
|
|
136
|
-
throw new Error(`Cannot restore: A block named "${targetName}" already exists. Delete or rename it first.`);
|
|
137
|
-
}
|
|
138
|
-
try {
|
|
139
|
-
await fsp.rename(archivePath, targetPath);
|
|
140
|
-
log.success(`Block "${targetName}" restored successfully.`);
|
|
141
|
-
log.dim(` Start with: ${chalk.bold(`mblk start ${targetName}`)}`);
|
|
142
|
-
}
|
|
143
|
-
catch (err) {
|
|
144
|
-
throw new Error(`Failed to restore block: ${err.message}`);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/cli/commands/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Interactive onboarding wizard.
|
|
3
|
-
* Multi-step setup: providers → channels → plugins → API keys → first block.
|
|
4
|
-
* Uses @clack/prompts for styled terminal UI.
|
|
5
|
-
*/
|
|
6
|
-
export declare function initCommand(options?: {
|
|
7
|
-
nonInteractive?: boolean;
|
|
8
|
-
}): Promise<void>;
|
|
9
|
-
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4NvF"}
|