coding-friend-cli 1.17.1 → 1.17.2
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/index.js
CHANGED
|
@@ -92,39 +92,39 @@ Memory subcommands:
|
|
|
92
92
|
memory mcp Show MCP server setup instructions`
|
|
93
93
|
);
|
|
94
94
|
memory.command("status").description("Show memory system status").action(async () => {
|
|
95
|
-
const { memoryStatusCommand } = await import("./memory-
|
|
95
|
+
const { memoryStatusCommand } = await import("./memory-3M2IY6MR.js");
|
|
96
96
|
await memoryStatusCommand();
|
|
97
97
|
});
|
|
98
98
|
memory.command("search").description("Search memories by query").argument("<query>", "search query").action(async (query) => {
|
|
99
|
-
const { memorySearchCommand } = await import("./memory-
|
|
99
|
+
const { memorySearchCommand } = await import("./memory-3M2IY6MR.js");
|
|
100
100
|
await memorySearchCommand(query);
|
|
101
101
|
});
|
|
102
102
|
memory.command("list").description(
|
|
103
103
|
"List memories in current project, or all projects with --projects"
|
|
104
104
|
).option("--projects", "List all project databases with size and metadata").action(async (opts) => {
|
|
105
|
-
const { memoryListCommand } = await import("./memory-
|
|
105
|
+
const { memoryListCommand } = await import("./memory-3M2IY6MR.js");
|
|
106
106
|
await memoryListCommand(opts);
|
|
107
107
|
});
|
|
108
108
|
memory.command("init").description(
|
|
109
109
|
"Initialize Tier 1 \u2014 install SQLite deps and import existing memories"
|
|
110
110
|
).action(async () => {
|
|
111
|
-
const { memoryInitCommand } = await import("./memory-
|
|
111
|
+
const { memoryInitCommand } = await import("./memory-3M2IY6MR.js");
|
|
112
112
|
await memoryInitCommand();
|
|
113
113
|
});
|
|
114
114
|
memory.command("start").description("Start the memory daemon (Tier 2 \u2014 MiniSearch)").action(async () => {
|
|
115
|
-
const { memoryStartCommand } = await import("./memory-
|
|
115
|
+
const { memoryStartCommand } = await import("./memory-3M2IY6MR.js");
|
|
116
116
|
await memoryStartCommand();
|
|
117
117
|
});
|
|
118
118
|
memory.command("stop").description("Stop the memory daemon").action(async () => {
|
|
119
|
-
const { memoryStopCommand } = await import("./memory-
|
|
119
|
+
const { memoryStopCommand } = await import("./memory-3M2IY6MR.js");
|
|
120
120
|
await memoryStopCommand();
|
|
121
121
|
});
|
|
122
122
|
memory.command("rebuild").description("Rebuild the daemon search index").action(async () => {
|
|
123
|
-
const { memoryRebuildCommand } = await import("./memory-
|
|
123
|
+
const { memoryRebuildCommand } = await import("./memory-3M2IY6MR.js");
|
|
124
124
|
await memoryRebuildCommand();
|
|
125
125
|
});
|
|
126
126
|
memory.command("mcp").description("Show MCP server setup instructions").action(async () => {
|
|
127
|
-
const { memoryMcpCommand } = await import("./memory-
|
|
127
|
+
const { memoryMcpCommand } = await import("./memory-3M2IY6MR.js");
|
|
128
128
|
await memoryMcpCommand();
|
|
129
129
|
});
|
|
130
130
|
memory.command("rm").description("Remove a project database").option("--project-id <id>", "Project ID to remove").option("--all", "Remove all project databases").option(
|
|
@@ -132,7 +132,7 @@ memory.command("rm").description("Remove a project database").option("--project-
|
|
|
132
132
|
"Remove orphaned projects (source dir missing or 0 memories)"
|
|
133
133
|
).action(
|
|
134
134
|
async (opts) => {
|
|
135
|
-
const { memoryRmCommand } = await import("./memory-
|
|
135
|
+
const { memoryRmCommand } = await import("./memory-3M2IY6MR.js");
|
|
136
136
|
await memoryRmCommand(opts);
|
|
137
137
|
}
|
|
138
138
|
);
|
|
@@ -362,6 +362,8 @@ function formatSize(bytes) {
|
|
|
362
362
|
return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;
|
|
363
363
|
}
|
|
364
364
|
function formatDate(raw) {
|
|
365
|
+
if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/.test(raw)) return raw;
|
|
366
|
+
if (/^\d{4}-\d{2}-\d{2}$/.test(raw)) return raw;
|
|
365
367
|
const d = new Date(raw);
|
|
366
368
|
if (isNaN(d.getTime())) return raw;
|
|
367
369
|
return d.toISOString().slice(0, 16).replace("T", " ");
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# CF Memory Changelog
|
|
2
2
|
|
|
3
|
+
## v0.1.1 (2026-03-17)
|
|
4
|
+
|
|
5
|
+
- Fix `today()` to capture full timestamp (`YYYY-MM-DD HH:MM`) instead of date-only for memory created/updated fields [#31e0824](https://github.com/dinhanhthi/coding-friend/commit/31e0824)
|
|
6
|
+
|
|
3
7
|
## v0.1.0 (2026-03-17)
|
|
4
8
|
|
|
5
9
|
- Auto-start daemon from MCP server for file watching — daemon spawns automatically when Tier 1 or 2 is detected, no manual `cf memory start` needed [#2211b84](https://github.com/dinhanhthi/coding-friend/commit/2211b84)
|
|
@@ -57,7 +57,9 @@ function parseFrontmatter(
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
function today(): string {
|
|
60
|
-
|
|
60
|
+
const d = new Date();
|
|
61
|
+
const pad = (n: number) => String(n).padStart(2, "0");
|
|
62
|
+
return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}`;
|
|
61
63
|
}
|
|
62
64
|
|
|
63
65
|
export class MarkdownBackend implements MemoryBackend {
|