@kingcrab/pi-imessage 0.0.42 → 1.0.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/README.md +101 -108
- package/dist/agent/behavior.js +79 -0
- package/dist/agent/chats.js +67 -0
- package/dist/agent/commands.js +163 -0
- package/dist/agent/compaction.js +51 -0
- package/dist/agent/deliver.js +139 -0
- package/dist/agent/direct-send.js +68 -0
- package/dist/agent/harness.js +79 -0
- package/dist/agent/health.js +32 -0
- package/dist/agent/models.js +69 -0
- package/dist/agent/progress-format.js +87 -0
- package/dist/agent/progress.js +135 -0
- package/dist/agent/prompt.js +79 -0
- package/dist/agent/replies.js +9 -0
- package/dist/agent/run.js +159 -0
- package/dist/agent/scheduling.js +290 -0
- package/dist/agent/time.js +18 -0
- package/dist/cli.js +88 -191
- package/dist/config/settings.js +60 -0
- package/dist/extensions/browser.js +326 -0
- package/dist/extensions/final-text.js +23 -0
- package/dist/extensions/memory.js +109 -0
- package/dist/extensions/message.js +33 -0
- package/dist/extensions/read-image.js +72 -0
- package/dist/extensions/schedules.js +41 -0
- package/dist/extensions/subagent.js +54 -0
- package/dist/extensions/web.js +99 -0
- package/dist/extensions/workspace.js +98 -0
- package/dist/main.js +571 -74
- package/dist/transport/attachments.js +37 -0
- package/dist/transport/http.js +110 -0
- package/dist/{rich-text.js → transport/rich-text.js} +25 -13
- package/dist/{send.js → transport/send.js} +13 -13
- package/dist/transport/watch.js +124 -0
- package/dist/web/app.js +748 -0
- package/dist/web/history.js +87 -0
- package/dist/web/memory.js +81 -0
- package/dist/web/page.js +28 -0
- package/dist/web/schedules.js +74 -0
- package/dist/web/server.js +348 -0
- package/dist/web/style.css +543 -0
- package/dist/web/tasks.js +63 -0
- package/docs/adr/0001-durable-owns-state.md +11 -0
- package/docs/adr/0002-module-layering.md +11 -0
- package/docs/adr/0003-replies-at-most-once.md +11 -0
- package/docs/adr/0004-native-extensions.md +11 -0
- package/docs/adr/0005-history-migration.md +11 -0
- package/docs/adr/0006-jsonl-storage.md +11 -0
- package/docs/adr/0007-images-by-path.md +11 -0
- package/docs/adr/0008-compaction-and-run.md +11 -0
- package/docs/adr/0009-one-shot-cutover.md +11 -0
- package/docs/adr/0010-test-budget.md +11 -0
- package/docs/adr/0011-reconcile-unsent-answers.md +24 -0
- package/docs/adr/0012-run-in-owned-conversation.md +22 -0
- package/docs/adr/0013-thin-adapters-around-durable.md +18 -0
- package/docs/adr/0014-ephemeral-private-storage.md +13 -0
- package/docs/adr/0015-ordinary-stop-keeps-native-inbox.md +21 -0
- package/docs/adr/0016-process-http-transport.md +21 -0
- package/docs/adr/0017-browser-cli-owned-scope.md +22 -0
- package/docs/adr/0018-tasks-without-prompt-api.md +19 -0
- package/docs/adr/0019-remove-scheduled-services.md +41 -0
- package/docs/adr/0020-chat-task-progress.md +41 -0
- package/docs/adr/0021-readable-progress-without-link-previews.md +33 -0
- package/docs/adr/0022-progress-admission-and-settlement.md +35 -0
- package/docs/adr/0023-retain-progress-type-prefixes.md +18 -0
- package/docs/adr/0024-status-marker-before-type-prefix.md +13 -0
- package/docs/adr/0025-reusable-progress-and-command-preview.md +49 -0
- package/docs/adr/0026-inline-command-only-requests.md +16 -0
- package/docs/adr/0027-command-preview-width.md +10 -0
- package/docs/adr/0028-command-preview-120.md +8 -0
- package/docs/adr/0030-shared-web-read-cache.md +33 -0
- package/docs/adr/0031-quiet-compaction-progress.md +32 -0
- package/docs/adr/0032-native-background-schedules.md +58 -0
- package/docs/adr/0033-operator-scheduled-run.md +23 -0
- package/docs/adr/0034-machine-local-schedule-time.md +36 -0
- package/docs/adr/0035-external-business-task-extensions.md +56 -0
- package/docs/adr/0036-workspace-policy-and-neutral-service-id.md +37 -0
- package/docs/adr/0037-restart-during-in-flight-work.md +30 -0
- package/docs/adr/0038-restart-any-time.md +25 -0
- package/docs/adr/0039-rerun-interrupted-tools.md +24 -0
- package/docs/adr/0040-chat-progress-notices.md +44 -0
- package/docs/adr/0041-restart-and-recovery.md +28 -0
- package/docs/adr/0042-background-schedules-and-workspace-extensions.md +44 -0
- package/docs/adr/0043-remove-legacy-migration.md +23 -0
- package/docs/adr/0044-message-channels.md +32 -0
- package/docs/adr/0045-chat-scheduling-tools.md +51 -0
- package/docs/adr/0046-selective-command-redaction.md +31 -0
- package/docs/adr/0047-one-scheduling-path.md +158 -0
- package/docs/adr/README.md +50 -0
- package/docs/api.md +92 -0
- package/docs/architecture.md +164 -0
- package/docs/browser.md +93 -0
- package/docs/memory.md +27 -0
- package/docs/screenshot.png +0 -0
- package/docs/workspace-extensions.md +133 -0
- package/examples/workspace-extensions/system-context/index.ts +69 -0
- package/examples/workspace-extensions/system-context/package.json +3 -0
- package/ops/README.md +267 -0
- package/ops/preflight.mjs +28 -0
- package/package.json +33 -45
- package/dist/agent.d.ts +0 -60
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -715
- package/dist/agent.js.map +0 -1
- package/dist/cli.d.ts +0 -15
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/imessage.d.ts +0 -33
- package/dist/imessage.d.ts.map +0 -1
- package/dist/imessage.js +0 -76
- package/dist/imessage.js.map +0 -1
- package/dist/logger.d.ts +0 -33
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -104
- package/dist/logger.js.map +0 -1
- package/dist/main.d.ts +0 -5
- package/dist/main.d.ts.map +0 -1
- package/dist/main.js.map +0 -1
- package/dist/memory.d.ts +0 -53
- package/dist/memory.d.ts.map +0 -1
- package/dist/memory.js +0 -196
- package/dist/memory.js.map +0 -1
- package/dist/model-health.d.ts +0 -11
- package/dist/model-health.d.ts.map +0 -1
- package/dist/model-health.js +0 -67
- package/dist/model-health.js.map +0 -1
- package/dist/pipeline.d.ts +0 -27
- package/dist/pipeline.d.ts.map +0 -1
- package/dist/pipeline.js +0 -59
- package/dist/pipeline.js.map +0 -1
- package/dist/queue.d.ts +0 -23
- package/dist/queue.d.ts.map +0 -1
- package/dist/queue.js +0 -89
- package/dist/queue.js.map +0 -1
- package/dist/rich-text.d.ts +0 -26
- package/dist/rich-text.d.ts.map +0 -1
- package/dist/rich-text.js.map +0 -1
- package/dist/self-echo.d.ts +0 -19
- package/dist/self-echo.d.ts.map +0 -1
- package/dist/self-echo.js +0 -54
- package/dist/self-echo.js.map +0 -1
- package/dist/send.d.ts +0 -24
- package/dist/send.d.ts.map +0 -1
- package/dist/send.js.map +0 -1
- package/dist/settings.d.ts +0 -44
- package/dist/settings.d.ts.map +0 -1
- package/dist/settings.js +0 -80
- package/dist/settings.js.map +0 -1
- package/dist/store.d.ts +0 -57
- package/dist/store.d.ts.map +0 -1
- package/dist/store.js +0 -124
- package/dist/store.js.map +0 -1
- package/dist/tasks.d.ts +0 -95
- package/dist/tasks.d.ts.map +0 -1
- package/dist/tasks.js +0 -384
- package/dist/tasks.js.map +0 -1
- package/dist/types.d.ts +0 -93
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -38
- package/dist/types.js.map +0 -1
- package/dist/watch.d.ts +0 -21
- package/dist/watch.d.ts.map +0 -1
- package/dist/watch.js +0 -219
- package/dist/watch.js.map +0 -1
- package/dist/web/data.d.ts +0 -11
- package/dist/web/data.d.ts.map +0 -1
- package/dist/web/data.js +0 -56
- package/dist/web/data.js.map +0 -1
- package/dist/web/html.d.ts +0 -5
- package/dist/web/html.d.ts.map +0 -1
- package/dist/web/html.js +0 -16
- package/dist/web/html.js.map +0 -1
- package/dist/web/index.d.ts +0 -23
- package/dist/web/index.d.ts.map +0 -1
- package/dist/web/index.js +0 -279
- package/dist/web/index.js.map +0 -1
- package/dist/web/render.d.ts +0 -11
- package/dist/web/render.d.ts.map +0 -1
- package/dist/web/render.js +0 -56
- package/dist/web/render.js.map +0 -1
- package/dist/web/templates/logs.eta +0 -75
- package/dist/web/templates/memory.eta +0 -91
- package/dist/web/templates/page.eta +0 -98
package/dist/agent.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* CLI entry point — handles launchd service management and foreground run.
|
|
4
|
-
*
|
|
5
|
-
* Usage:
|
|
6
|
-
* pi-imessage Run in foreground
|
|
7
|
-
* pi-imessage install Install + start launchd service (auto-starts on boot)
|
|
8
|
-
* pi-imessage uninstall Stop + remove launchd service
|
|
9
|
-
* pi-imessage start Start the service
|
|
10
|
-
* pi-imessage stop Stop the service
|
|
11
|
-
* pi-imessage restart Restart the service
|
|
12
|
-
* pi-imessage logs Tail service logs
|
|
13
|
-
*/
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG"}
|
package/dist/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/imessage.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* iMessage bot — pulls IncomingMessage objects from a queue (fed by the
|
|
3
|
-
* watcher) and runs them through the pipeline (before → start → end).
|
|
4
|
-
*
|
|
5
|
-
* watcher → queue → pipeline.process()
|
|
6
|
-
*
|
|
7
|
-
* Message ordering: every pulled message is immediately dispatched to the
|
|
8
|
-
* pipeline (fire-and-forget). Different chats run concurrently. Same-chat
|
|
9
|
-
* messages are serialized via per-chat promise chains so the agent never
|
|
10
|
-
* receives concurrent prompts for the same session.
|
|
11
|
-
*/
|
|
12
|
-
import type { AgentManager } from "./agent.js";
|
|
13
|
-
import type { DigestLogger } from "./logger.js";
|
|
14
|
-
import { type AsyncQueue } from "./queue.js";
|
|
15
|
-
import type { SelfEchoFilter } from "./self-echo.js";
|
|
16
|
-
import type { MessageSender } from "./send.js";
|
|
17
|
-
import type { Settings } from "./settings.js";
|
|
18
|
-
import type { ChatStore } from "./store.js";
|
|
19
|
-
import type { IncomingMessage } from "./types.js";
|
|
20
|
-
export interface IMessageBotConfig {
|
|
21
|
-
queue: AsyncQueue<IncomingMessage>;
|
|
22
|
-
agent: AgentManager;
|
|
23
|
-
sender: MessageSender;
|
|
24
|
-
echoFilter: SelfEchoFilter;
|
|
25
|
-
store: ChatStore;
|
|
26
|
-
getSettings: () => Settings;
|
|
27
|
-
digestLogger: DigestLogger;
|
|
28
|
-
}
|
|
29
|
-
export declare function createIMessageBot(config: IMessageBotConfig): {
|
|
30
|
-
start(): void;
|
|
31
|
-
stop(): void;
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=imessage.d.ts.map
|
package/dist/imessage.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"imessage.d.ts","sourceRoot":"","sources":["../src/imessage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,KAAK,UAAU,EAAsC,MAAM,YAAY,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAe5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE,MAAM,QAAQ,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;;;EAmE1D"}
|
package/dist/imessage.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* iMessage bot — pulls IncomingMessage objects from a queue (fed by the
|
|
3
|
-
* watcher) and runs them through the pipeline (before → start → end).
|
|
4
|
-
*
|
|
5
|
-
* watcher → queue → pipeline.process()
|
|
6
|
-
*
|
|
7
|
-
* Message ordering: every pulled message is immediately dispatched to the
|
|
8
|
-
* pipeline (fire-and-forget). Different chats run concurrently. Same-chat
|
|
9
|
-
* messages are serialized via per-chat promise chains so the agent never
|
|
10
|
-
* receives concurrent prompts for the same session.
|
|
11
|
-
*/
|
|
12
|
-
import { createMessagePipeline } from "./pipeline.js";
|
|
13
|
-
import { QueueClosedError, createKeyedQueue } from "./queue.js";
|
|
14
|
-
import { createArchiveImagesTask, createCallAgentTask, createCheckReplyEnabledTask, createCommandHandlerTask, createDownloadImagesTask, createDropSelfEchoTask, createLogIncomingTask, createLogOutgoingTask, createResizeImagesTask, createSendReplyTask, createStoreIncomingTask, createStoreOutgoingTask, } from "./tasks.js";
|
|
15
|
-
export function createIMessageBot(config) {
|
|
16
|
-
const { queue, agent, sender, echoFilter, store, getSettings, digestLogger } = config;
|
|
17
|
-
const pipeline = createMessagePipeline();
|
|
18
|
-
// ── Pipeline tasks ─────────────────────────────────────────────────────────
|
|
19
|
-
//
|
|
20
|
-
// before -> start ──┬── yield reply -> end
|
|
21
|
-
// ├── yield reply -> end
|
|
22
|
-
// └── ...done
|
|
23
|
-
// before
|
|
24
|
-
pipeline.before(createLogIncomingTask(digestLogger));
|
|
25
|
-
pipeline.before(createDropSelfEchoTask(echoFilter));
|
|
26
|
-
pipeline.before(createArchiveImagesTask(store));
|
|
27
|
-
pipeline.before(createStoreIncomingTask(store));
|
|
28
|
-
pipeline.before(createCheckReplyEnabledTask(getSettings));
|
|
29
|
-
pipeline.before(createDownloadImagesTask());
|
|
30
|
-
pipeline.before(createResizeImagesTask());
|
|
31
|
-
// start
|
|
32
|
-
pipeline.start(createCommandHandlerTask(agent));
|
|
33
|
-
pipeline.start(createCallAgentTask(agent));
|
|
34
|
-
// end
|
|
35
|
-
pipeline.end(createSendReplyTask(echoFilter, sender, getSettings));
|
|
36
|
-
pipeline.end(createLogOutgoingTask(digestLogger));
|
|
37
|
-
pipeline.end(createStoreOutgoingTask(store));
|
|
38
|
-
return {
|
|
39
|
-
start() {
|
|
40
|
-
const enqueue = createKeyedQueue();
|
|
41
|
-
async function loop() {
|
|
42
|
-
while (true) {
|
|
43
|
-
const msg = await queue.pull();
|
|
44
|
-
// /stop bypasses the per-chat queue so it can abort a running prompt
|
|
45
|
-
if (msg.text?.trim() === "/stop") {
|
|
46
|
-
await agent.stop(msg.chatGuid);
|
|
47
|
-
const replyText = "✓ Stopped";
|
|
48
|
-
console.log(`[sid] /stop command: ${msg.chatGuid} → ${replyText}`);
|
|
49
|
-
await sender.sendMessage(msg.chatGuid, replyText);
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
enqueue(msg.chatGuid, async () => {
|
|
53
|
-
try {
|
|
54
|
-
await pipeline.process(msg);
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
console.error(`[sid] failed to process message from ${msg.sender}:`, error);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
loop().catch((error) => {
|
|
63
|
-
if (error instanceof QueueClosedError) {
|
|
64
|
-
console.log("[sid] Queue closed, consumer stopped");
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
console.error("[sid] Consumer crashed:", error);
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
},
|
|
71
|
-
stop() {
|
|
72
|
-
queue.close();
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=imessage.js.map
|
package/dist/imessage.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"imessage.js","sourceRoot":"","sources":["../src/imessage.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* File-based logger with size-based rotation.
|
|
3
|
-
*
|
|
4
|
-
* Two log destinations:
|
|
5
|
-
* app.log — receives ALL console output (log / warn / error / info)
|
|
6
|
-
* digest.log — receives only incoming/outgoing digest lines
|
|
7
|
-
*
|
|
8
|
-
* Rotation strategy:
|
|
9
|
-
* - Rotate when the active file reaches MAX_BYTES (default 10 MB)
|
|
10
|
-
* - Keep up to MAX_FILES rotated copies (default 5)
|
|
11
|
-
* - On rotation: .5 is deleted, .4→.5, …, .1→.2, active→.1, new active created
|
|
12
|
-
*/
|
|
13
|
-
export interface AppLogger {
|
|
14
|
-
/** Restore original console methods and close the file stream. */
|
|
15
|
-
close(): void;
|
|
16
|
-
}
|
|
17
|
-
export declare function createAppLogger(workingDir: string, options?: {
|
|
18
|
-
maxBytes?: number;
|
|
19
|
-
maxFiles?: number;
|
|
20
|
-
}): AppLogger;
|
|
21
|
-
export interface DigestLogger {
|
|
22
|
-
/**
|
|
23
|
-
* Write a digest line to digest.log and forward to console.log
|
|
24
|
-
* (which in turn lands in app.log via the app logger patch).
|
|
25
|
-
*/
|
|
26
|
-
log(msg: string): void;
|
|
27
|
-
close(): void;
|
|
28
|
-
}
|
|
29
|
-
export declare function createDigestLogger(workingDir: string, options?: {
|
|
30
|
-
maxBytes?: number;
|
|
31
|
-
maxFiles?: number;
|
|
32
|
-
}): DigestLogger;
|
|
33
|
-
//# sourceMappingURL=logger.d.ts.map
|
package/dist/logger.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmEH,MAAM,WAAW,SAAS;IACzB,kEAAkE;IAClE,KAAK,IAAI,IAAI,CAAC;CACd;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,SAAS,CAgCrH;AAID,MAAM,WAAW,YAAY;IAC5B;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,IAAI,IAAI,CAAC;CACd;AAED,wBAAgB,kBAAkB,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,YAAY,CAkBd"}
|
package/dist/logger.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* File-based logger with size-based rotation.
|
|
3
|
-
*
|
|
4
|
-
* Two log destinations:
|
|
5
|
-
* app.log — receives ALL console output (log / warn / error / info)
|
|
6
|
-
* digest.log — receives only incoming/outgoing digest lines
|
|
7
|
-
*
|
|
8
|
-
* Rotation strategy:
|
|
9
|
-
* - Rotate when the active file reaches MAX_BYTES (default 10 MB)
|
|
10
|
-
* - Keep up to MAX_FILES rotated copies (default 5)
|
|
11
|
-
* - On rotation: .5 is deleted, .4→.5, …, .1→.2, active→.1, new active created
|
|
12
|
-
*/
|
|
13
|
-
import { createWriteStream, existsSync, renameSync, statSync } from "node:fs";
|
|
14
|
-
import { join } from "node:path";
|
|
15
|
-
const DEFAULT_MAX_BYTES = 10 * 1024 * 1024; // 10 MB
|
|
16
|
-
const DEFAULT_MAX_FILES = 5;
|
|
17
|
-
// ── Rotating file writer ──────────────────────────────────────────────────────
|
|
18
|
-
class RotatingFileWriter {
|
|
19
|
-
filePath;
|
|
20
|
-
maxBytes;
|
|
21
|
-
maxFiles;
|
|
22
|
-
stream;
|
|
23
|
-
currentSize;
|
|
24
|
-
constructor(filePath, maxBytes, maxFiles) {
|
|
25
|
-
this.filePath = filePath;
|
|
26
|
-
this.maxBytes = maxBytes;
|
|
27
|
-
this.maxFiles = maxFiles;
|
|
28
|
-
this.currentSize = existsSync(filePath) ? statSync(filePath).size : 0;
|
|
29
|
-
this.stream = createWriteStream(filePath, { flags: "a" });
|
|
30
|
-
}
|
|
31
|
-
write(line) {
|
|
32
|
-
const byteLength = Buffer.byteLength(line, "utf8");
|
|
33
|
-
if (this.currentSize + byteLength > this.maxBytes) {
|
|
34
|
-
this.rotate();
|
|
35
|
-
}
|
|
36
|
-
this.stream.write(line);
|
|
37
|
-
this.currentSize += byteLength;
|
|
38
|
-
}
|
|
39
|
-
rotate() {
|
|
40
|
-
this.stream.end();
|
|
41
|
-
// Shift rotated files: .maxFiles deleted, …, .1 → .2, active → .1
|
|
42
|
-
for (let index = this.maxFiles - 1; index >= 1; index--) {
|
|
43
|
-
const from = `${this.filePath}.${index}`;
|
|
44
|
-
const to = `${this.filePath}.${index + 1}`;
|
|
45
|
-
if (existsSync(from))
|
|
46
|
-
renameSync(from, to);
|
|
47
|
-
}
|
|
48
|
-
if (existsSync(this.filePath)) {
|
|
49
|
-
renameSync(this.filePath, `${this.filePath}.1`);
|
|
50
|
-
}
|
|
51
|
-
this.stream = createWriteStream(this.filePath, { flags: "a" });
|
|
52
|
-
this.currentSize = 0;
|
|
53
|
-
}
|
|
54
|
-
close() {
|
|
55
|
-
this.stream.end();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
// ── Timestamp helper ──────────────────────────────────────────────────────────
|
|
59
|
-
function timestamp() {
|
|
60
|
-
return new Date().toISOString();
|
|
61
|
-
}
|
|
62
|
-
function formatLine(args) {
|
|
63
|
-
return `[${timestamp()}] ${args.map(String).join(" ")}\n`;
|
|
64
|
-
}
|
|
65
|
-
export function createAppLogger(workingDir, options = {}) {
|
|
66
|
-
const writer = new RotatingFileWriter(join(workingDir, "app.log"), options.maxBytes ?? DEFAULT_MAX_BYTES, options.maxFiles ?? DEFAULT_MAX_FILES);
|
|
67
|
-
const originalLog = console.log.bind(console);
|
|
68
|
-
const originalWarn = console.warn.bind(console);
|
|
69
|
-
const originalError = console.error.bind(console);
|
|
70
|
-
const originalInfo = console.info.bind(console);
|
|
71
|
-
function writeAndForward(original, args) {
|
|
72
|
-
const line = formatLine(args);
|
|
73
|
-
writer.write(line);
|
|
74
|
-
original(line.trimEnd());
|
|
75
|
-
}
|
|
76
|
-
console.log = (...args) => writeAndForward(originalLog, args);
|
|
77
|
-
console.warn = (...args) => writeAndForward(originalWarn, args);
|
|
78
|
-
console.error = (...args) => writeAndForward(originalError, args);
|
|
79
|
-
console.info = (...args) => writeAndForward(originalInfo, args);
|
|
80
|
-
return {
|
|
81
|
-
close() {
|
|
82
|
-
console.log = originalLog;
|
|
83
|
-
console.warn = originalWarn;
|
|
84
|
-
console.error = originalError;
|
|
85
|
-
console.info = originalInfo;
|
|
86
|
-
writer.close();
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
export function createDigestLogger(workingDir, options = {}) {
|
|
91
|
-
const writer = new RotatingFileWriter(join(workingDir, "digest.log"), options.maxBytes ?? DEFAULT_MAX_BYTES, options.maxFiles ?? DEFAULT_MAX_FILES);
|
|
92
|
-
return {
|
|
93
|
-
log(msg) {
|
|
94
|
-
writer.write(formatLine([msg]));
|
|
95
|
-
// Forward to console.log so the line also appears in app.log
|
|
96
|
-
// (and on stdout for live monitoring).
|
|
97
|
-
console.log(msg);
|
|
98
|
-
},
|
|
99
|
-
close() {
|
|
100
|
-
writer.close();
|
|
101
|
-
},
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/main.d.ts
DELETED
package/dist/main.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,eAAe,CAAC"}
|
package/dist/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/memory.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
export declare const MEMORY_KINDS: readonly ["fact", "event", "preference", "procedure"];
|
|
2
|
-
export type MemoryKind = (typeof MEMORY_KINDS)[number];
|
|
3
|
-
export interface MemorySource {
|
|
4
|
-
type: string;
|
|
5
|
-
label: string;
|
|
6
|
-
path?: string;
|
|
7
|
-
line_start?: number;
|
|
8
|
-
line_end?: number;
|
|
9
|
-
block_hash?: string;
|
|
10
|
-
}
|
|
11
|
-
export interface StructuredMemoryItem {
|
|
12
|
-
id: string;
|
|
13
|
-
text: string;
|
|
14
|
-
namespace: string;
|
|
15
|
-
kind: MemoryKind;
|
|
16
|
-
subjects: string[];
|
|
17
|
-
event_time: string | null;
|
|
18
|
-
sources: MemorySource[];
|
|
19
|
-
importance: number;
|
|
20
|
-
confidence: number;
|
|
21
|
-
status: "active" | "superseded";
|
|
22
|
-
created_at: string;
|
|
23
|
-
supersedes_id?: string;
|
|
24
|
-
}
|
|
25
|
-
export interface SaveMemoryInput {
|
|
26
|
-
text: string;
|
|
27
|
-
namespace: string;
|
|
28
|
-
kind: MemoryKind;
|
|
29
|
-
subjects: string[];
|
|
30
|
-
event_time: string | null;
|
|
31
|
-
source: string;
|
|
32
|
-
importance: number;
|
|
33
|
-
confidence: number;
|
|
34
|
-
supersedes_id?: string;
|
|
35
|
-
}
|
|
36
|
-
export declare function readCoreMemory(workingDir: string): string;
|
|
37
|
-
export declare function listMemoryNamespaces(workingDir: string): Array<{
|
|
38
|
-
namespace: string;
|
|
39
|
-
total: number;
|
|
40
|
-
active: number;
|
|
41
|
-
}>;
|
|
42
|
-
export declare function loadAllMemoryItems(workingDir: string): StructuredMemoryItem[];
|
|
43
|
-
export declare function activeMemoryItems(items: StructuredMemoryItem[]): StructuredMemoryItem[];
|
|
44
|
-
export declare function loadMemoryNamespaces(workingDir: string, namespaces: string[]): StructuredMemoryItem[];
|
|
45
|
-
export declare function searchMemory(workingDir: string, query: string, options?: {
|
|
46
|
-
namespaces?: string[];
|
|
47
|
-
limit?: number;
|
|
48
|
-
}): StructuredMemoryItem[];
|
|
49
|
-
export declare function saveMemory(workingDir: string, input: SaveMemoryInput): Promise<{
|
|
50
|
-
added: boolean;
|
|
51
|
-
item: StructuredMemoryItem;
|
|
52
|
-
}>;
|
|
53
|
-
//# sourceMappingURL=memory.d.ts.map
|
package/dist/memory.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,uDAAwD,CAAC;AAClF,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAgDD,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CASzD;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CASpH;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAE7E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,EAAE,CAKvF;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAIrG;AAED,wBAAgB,YAAY,CAC3B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACrD,oBAAoB,EAAE,CAqBxB;AA8CD,wBAAsB,UAAU,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,eAAe,GACpB,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC,CA2CzD"}
|
package/dist/memory.js
DELETED
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
|
-
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
3
|
-
import { appendFile, mkdir, rmdir } from "node:fs/promises";
|
|
4
|
-
import { dirname, join, relative, sep } from "node:path";
|
|
5
|
-
export const MEMORY_KINDS = ["fact", "event", "preference", "procedure"];
|
|
6
|
-
const NAMESPACE_PATTERN = /^[a-z0-9][a-z0-9-]*(?:\/[a-z0-9][a-z0-9-]*)+$/;
|
|
7
|
-
function memoryRoot(workingDir) {
|
|
8
|
-
return join(workingDir, "skills", "file-memory");
|
|
9
|
-
}
|
|
10
|
-
function namespaceRoot(workingDir) {
|
|
11
|
-
return join(memoryRoot(workingDir), "namespaces");
|
|
12
|
-
}
|
|
13
|
-
function namespacePath(workingDir, namespace) {
|
|
14
|
-
if (!NAMESPACE_PATTERN.test(namespace))
|
|
15
|
-
throw new Error(`Invalid memory namespace: ${namespace}`);
|
|
16
|
-
return `${join(namespaceRoot(workingDir), ...namespace.split("/"))}.jsonl`;
|
|
17
|
-
}
|
|
18
|
-
function findJsonlFiles(root) {
|
|
19
|
-
if (!existsSync(root))
|
|
20
|
-
return [];
|
|
21
|
-
const result = [];
|
|
22
|
-
for (const entry of readdirSync(root, { withFileTypes: true })) {
|
|
23
|
-
const path = join(root, entry.name);
|
|
24
|
-
if (entry.isDirectory())
|
|
25
|
-
result.push(...findJsonlFiles(path));
|
|
26
|
-
else if (entry.isFile() && entry.name.endsWith(".jsonl"))
|
|
27
|
-
result.push(path);
|
|
28
|
-
}
|
|
29
|
-
return result.sort();
|
|
30
|
-
}
|
|
31
|
-
function namespaceFromPath(workingDir, path) {
|
|
32
|
-
return relative(namespaceRoot(workingDir), path)
|
|
33
|
-
.replaceAll(sep, "/")
|
|
34
|
-
.replace(/\.jsonl$/, "");
|
|
35
|
-
}
|
|
36
|
-
function parseJsonl(path) {
|
|
37
|
-
if (!existsSync(path))
|
|
38
|
-
return [];
|
|
39
|
-
const items = [];
|
|
40
|
-
for (const [index, raw] of readFileSync(path, "utf8").split("\n").entries()) {
|
|
41
|
-
if (!raw.trim())
|
|
42
|
-
continue;
|
|
43
|
-
try {
|
|
44
|
-
items.push(JSON.parse(raw));
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
throw new Error(`Invalid memory JSONL ${path}:${index + 1}: ${error}`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return items;
|
|
51
|
-
}
|
|
52
|
-
export function readCoreMemory(workingDir) {
|
|
53
|
-
const path = join(memoryRoot(workingDir), "core.md");
|
|
54
|
-
if (!existsSync(path))
|
|
55
|
-
return "(no core memory yet)";
|
|
56
|
-
try {
|
|
57
|
-
return readFileSync(path, "utf8").trim() || "(no core memory yet)";
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
console.warn(`[memory] failed to read core memory: ${error}`);
|
|
61
|
-
return "(core memory unavailable)";
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
export function listMemoryNamespaces(workingDir) {
|
|
65
|
-
return findJsonlFiles(namespaceRoot(workingDir)).map((path) => {
|
|
66
|
-
const items = parseJsonl(path);
|
|
67
|
-
return {
|
|
68
|
-
namespace: namespaceFromPath(workingDir, path),
|
|
69
|
-
total: items.length,
|
|
70
|
-
active: activeMemoryItems(items).length,
|
|
71
|
-
};
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
export function loadAllMemoryItems(workingDir) {
|
|
75
|
-
return findJsonlFiles(namespaceRoot(workingDir)).flatMap(parseJsonl);
|
|
76
|
-
}
|
|
77
|
-
export function activeMemoryItems(items) {
|
|
78
|
-
const supersededIds = new Set(items.filter((item) => item.status === "active" && item.supersedes_id).map((item) => item.supersedes_id));
|
|
79
|
-
return items.filter((item) => item.status === "active" && !supersededIds.has(item.id));
|
|
80
|
-
}
|
|
81
|
-
export function loadMemoryNamespaces(workingDir, namespaces) {
|
|
82
|
-
const selected = new Set(namespaces);
|
|
83
|
-
for (const namespace of selected)
|
|
84
|
-
namespacePath(workingDir, namespace);
|
|
85
|
-
return activeMemoryItems(loadAllMemoryItems(workingDir)).filter((item) => selected.has(item.namespace));
|
|
86
|
-
}
|
|
87
|
-
export function searchMemory(workingDir, query, options = {}) {
|
|
88
|
-
const terms = query
|
|
89
|
-
.toLowerCase()
|
|
90
|
-
.split(/[\s,,、]+/)
|
|
91
|
-
.filter(Boolean);
|
|
92
|
-
const selected = options.namespaces ? new Set(options.namespaces) : undefined;
|
|
93
|
-
const matches = activeMemoryItems(loadAllMemoryItems(workingDir))
|
|
94
|
-
.filter((item) => !selected || selected.has(item.namespace))
|
|
95
|
-
.map((item) => {
|
|
96
|
-
const haystack = [item.text, item.namespace, item.kind, ...item.subjects].join(" ").toLowerCase();
|
|
97
|
-
const lexical = terms.filter((term) => haystack.includes(term)).length;
|
|
98
|
-
return { item, lexical };
|
|
99
|
-
})
|
|
100
|
-
.filter(({ lexical }) => terms.length === 0 || lexical > 0)
|
|
101
|
-
.sort((a, b) => b.lexical - a.lexical ||
|
|
102
|
-
b.item.importance - a.item.importance ||
|
|
103
|
-
(b.item.event_time ?? "").localeCompare(a.item.event_time ?? ""));
|
|
104
|
-
return matches.slice(0, options.limit ?? 10).map(({ item }) => item);
|
|
105
|
-
}
|
|
106
|
-
function validateSaveInput(input) {
|
|
107
|
-
if (!input.text.trim())
|
|
108
|
-
throw new Error("Memory text must not be empty");
|
|
109
|
-
if (!NAMESPACE_PATTERN.test(input.namespace))
|
|
110
|
-
throw new Error(`Invalid memory namespace: ${input.namespace}`);
|
|
111
|
-
if (!MEMORY_KINDS.includes(input.kind))
|
|
112
|
-
throw new Error(`Invalid memory kind: ${input.kind}`);
|
|
113
|
-
if (input.event_time !== null && !/^\d{4}-\d{2}-\d{2}$/.test(input.event_time)) {
|
|
114
|
-
throw new Error("event_time must be YYYY-MM-DD or null");
|
|
115
|
-
}
|
|
116
|
-
if (!input.source.trim())
|
|
117
|
-
throw new Error("Memory source must not be empty");
|
|
118
|
-
if (input.importance < 0 || input.importance > 1 || input.confidence < 0 || input.confidence > 1) {
|
|
119
|
-
throw new Error("importance and confidence must be between 0 and 1");
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
function stableKey(input) {
|
|
123
|
-
return JSON.stringify({
|
|
124
|
-
text: input.text.trim().replace(/\s+/g, " "),
|
|
125
|
-
namespace: input.namespace,
|
|
126
|
-
kind: input.kind,
|
|
127
|
-
subjects: [...new Set(input.subjects.map((subject) => subject.trim()).filter(Boolean))].sort(),
|
|
128
|
-
event_time: input.event_time,
|
|
129
|
-
supersedes_id: input.supersedes_id,
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
async function withWriteLock(workingDir, operation) {
|
|
133
|
-
const lockPath = join(memoryRoot(workingDir), ".write-lock");
|
|
134
|
-
const deadline = Date.now() + 5_000;
|
|
135
|
-
while (true) {
|
|
136
|
-
try {
|
|
137
|
-
await mkdir(lockPath);
|
|
138
|
-
break;
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
if (error.code !== "EEXIST")
|
|
142
|
-
throw error;
|
|
143
|
-
if (Date.now() >= deadline)
|
|
144
|
-
throw new Error("Timed out waiting for memory write lock");
|
|
145
|
-
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
try {
|
|
149
|
-
return await operation();
|
|
150
|
-
}
|
|
151
|
-
finally {
|
|
152
|
-
await rmdir(lockPath).catch(() => { });
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
export async function saveMemory(workingDir, input) {
|
|
156
|
-
validateSaveInput(input);
|
|
157
|
-
return withWriteLock(workingDir, async () => {
|
|
158
|
-
const existing = loadAllMemoryItems(workingDir);
|
|
159
|
-
const ids = new Set(existing.map((item) => item.id));
|
|
160
|
-
if (input.supersedes_id && !ids.has(input.supersedes_id)) {
|
|
161
|
-
throw new Error(`Unknown supersedes_id: ${input.supersedes_id}`);
|
|
162
|
-
}
|
|
163
|
-
const normalized = stableKey(input);
|
|
164
|
-
const id = `mem_${createHash("sha256").update(normalized).digest("hex").slice(0, 16)}`;
|
|
165
|
-
const duplicate = existing.find((item) => item.id === id ||
|
|
166
|
-
stableKey({
|
|
167
|
-
text: item.text,
|
|
168
|
-
namespace: item.namespace,
|
|
169
|
-
kind: item.kind,
|
|
170
|
-
subjects: item.subjects,
|
|
171
|
-
event_time: item.event_time,
|
|
172
|
-
supersedes_id: item.supersedes_id,
|
|
173
|
-
}) === normalized);
|
|
174
|
-
if (duplicate)
|
|
175
|
-
return { added: false, item: duplicate };
|
|
176
|
-
const item = {
|
|
177
|
-
id,
|
|
178
|
-
text: input.text.trim(),
|
|
179
|
-
namespace: input.namespace,
|
|
180
|
-
kind: input.kind,
|
|
181
|
-
subjects: [...new Set(input.subjects.map((subject) => subject.trim()).filter(Boolean))].sort(),
|
|
182
|
-
event_time: input.event_time,
|
|
183
|
-
sources: [{ type: "chat", label: input.source.trim() }],
|
|
184
|
-
importance: input.importance,
|
|
185
|
-
confidence: input.confidence,
|
|
186
|
-
status: "active",
|
|
187
|
-
created_at: new Date().toISOString(),
|
|
188
|
-
...(input.supersedes_id ? { supersedes_id: input.supersedes_id } : {}),
|
|
189
|
-
};
|
|
190
|
-
const path = namespacePath(workingDir, input.namespace);
|
|
191
|
-
await mkdir(dirname(path), { recursive: true });
|
|
192
|
-
await appendFile(path, `${JSON.stringify(item)}\n`, "utf8");
|
|
193
|
-
return { added: true, item };
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
//# sourceMappingURL=memory.js.map
|