@wirecat/cli-memo 0.5.1 → 0.6.1
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 +24 -19
- package/dist/context/context.js +1 -1
- package/dist/context/context.js.map +1 -1
- package/dist/knowledge/command.d.ts.map +1 -1
- package/dist/knowledge/command.js +52 -21
- package/dist/knowledge/command.js.map +1 -1
- package/dist/notes/about.d.ts +2 -0
- package/dist/notes/about.d.ts.map +1 -1
- package/dist/notes/about.js +16 -15
- package/dist/notes/about.js.map +1 -1
- package/dist/notes/bound.d.ts +1 -6
- package/dist/notes/bound.d.ts.map +1 -1
- package/dist/notes/bound.js +3 -23
- package/dist/notes/bound.js.map +1 -1
- package/dist/notes/command.d.ts.map +1 -1
- package/dist/notes/command.js +11 -11
- package/dist/notes/command.js.map +1 -1
- package/dist/notes/dialects/common.d.ts.map +1 -1
- package/dist/notes/dialects/common.js +2 -2
- package/dist/notes/dialects/common.js.map +1 -1
- package/dist/notes/folders-command.d.ts.map +1 -1
- package/dist/notes/folders-command.js +0 -2
- package/dist/notes/folders-command.js.map +1 -1
- package/dist/notes/internal.js +2 -2
- package/dist/notes/internal.js.map +1 -1
- package/dist/notes/links.js +1 -1
- package/dist/notes/links.js.map +1 -1
- package/dist/options.d.ts +1 -0
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +5 -0
- package/dist/options.js.map +1 -1
- package/dist/people/command.js +3 -3
- package/dist/people/command.js.map +1 -1
- package/dist/people/notes-map.d.ts.map +1 -1
- package/dist/people/notes-map.js +3 -2
- package/dist/people/notes-map.js.map +1 -1
- package/dist/people/subject.js +1 -1
- package/dist/people/subject.js.map +1 -1
- package/dist/search/command.js +1 -1
- package/dist/search/command.js.map +1 -1
- package/dist/store/scope.d.ts +2 -1
- package/dist/store/scope.d.ts.map +1 -1
- package/dist/store/scope.js +2 -2
- package/dist/store/scope.js.map +1 -1
- package/dist/tags/command.d.ts.map +1 -1
- package/dist/tags/command.js +20 -14
- package/dist/tags/command.js.map +1 -1
- package/dist/tasks/command.d.ts.map +1 -1
- package/dist/tasks/command.js +3 -2
- package/dist/tasks/command.js.map +1 -1
- package/dist/tasks/context.d.ts.map +1 -1
- package/dist/tasks/context.js +10 -4
- package/dist/tasks/context.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +16 -7
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ manual relationships, evidence bundles and local reminders work.
|
|
|
17
17
|
|
|
18
18
|
```sh
|
|
19
19
|
memo notes add 'Prefers mornings' --about telegram:'Rin Example'
|
|
20
|
-
memo notes add --file review.md --about 'msg:telegram/1/77/42' --about
|
|
20
|
+
memo notes add --file review.md --about 'msg:telegram/1/77/42' --about project:PROJECT_ID --export
|
|
21
21
|
memo notes list --about telegram:'Rin Example' --json
|
|
22
22
|
memo notes edit NOTE_ID --revision 1 --text 'Prefers early mornings'
|
|
23
23
|
memo notes remove NOTE_ID
|
|
@@ -26,7 +26,8 @@ memo notes export --to /path/to/vault/memo --format obsidian
|
|
|
26
26
|
|
|
27
27
|
A note written here is the store's, not a file's, and is about whatever `--about` names: a person by
|
|
28
28
|
`<messenger>:<name or id>`, or any stored record by its reference — `msg:`, `chat:`, `contact:`,
|
|
29
|
-
`person:`, `
|
|
29
|
+
`person:`, `organization:`, `project:`, `task:`, `note:`, `document:`. Several `--about` give it several
|
|
30
|
+
subjects. An edit names the
|
|
30
31
|
revision it changes, so an edit made meanwhile is never lost. tg and max `contacts notes` are the same
|
|
31
32
|
notes.
|
|
32
33
|
|
|
@@ -90,20 +91,22 @@ never happened.
|
|
|
90
91
|
assertions, conclusions and inferences. Suggestions create no task until you explicitly run
|
|
91
92
|
`memo tasks add <source> --type <kind>`. Answers are not saved as independent facts.
|
|
92
93
|
|
|
93
|
-
## Organizations
|
|
94
|
+
## Organizations and projects
|
|
94
95
|
|
|
95
96
|
```sh
|
|
96
|
-
memo
|
|
97
|
-
memo
|
|
98
|
-
memo
|
|
99
|
-
memo
|
|
97
|
+
memo organizations add 'Synthetic Studio' --kind company
|
|
98
|
+
memo projects add 'Synthetic Harbour' --organization organization:ORGANIZATION_ID
|
|
99
|
+
memo relationships add person:PERSON_UID project:PROJECT_ID --role author
|
|
100
|
+
memo projects context PROJECT_ID --json
|
|
101
|
+
memo tags add client --organization ORGANIZATION_ID
|
|
100
102
|
memo tags add follow-up --task TASK_ID
|
|
101
103
|
```
|
|
102
104
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
Organizations (a company, team, family or community) and projects (with a short key, a type and the
|
|
106
|
+
organization they belong to) are yours, not one account's. Relationships use `member-of` or `related-to`;
|
|
107
|
+
`list`, `remove` and `confirm` manage them. They are manual statements and never merge identities because
|
|
108
|
+
names or domains match. `organizations context` and `projects context` list the relationships, the notes
|
|
109
|
+
about or linking it, and its tags. Tags on a task need no account; its
|
|
107
110
|
reminders name the account it waits on.
|
|
108
111
|
|
|
109
112
|
`memo relationships suggest --provider email --account owner@example.test` stores bounded weak
|
|
@@ -164,7 +167,8 @@ Import then embeds the notes for search by meaning with the local e5-small model
|
|
|
164
167
|
max: `tg models text download e5-small`), only what changed, at most 600 chunks a run — the next run
|
|
165
168
|
continues. `--no-embed`, or `notes.embed: false` in the config, skips it.
|
|
166
169
|
|
|
167
|
-
`about` takes `<messenger>:<name or id>` or a reference (`person:`, `
|
|
170
|
+
`about` takes `<messenger>:<name or id>` or a reference (`person:`, `organization:`, `project:`, `note:`,
|
|
171
|
+
`document:`) and lists the
|
|
168
172
|
notes about it, the notes that link it, the notes that link a note about it, and links written with the
|
|
169
173
|
person's name that two people share. Hidden folders such as `.obsidian` are skipped, and nothing is ever
|
|
170
174
|
written to a notes folder.
|
|
@@ -181,7 +185,7 @@ configured folders and `--ignore` adds rules for one run. An ignore rule is a pa
|
|
|
181
185
|
or a glob (`**/Private*`, `*.txt`):
|
|
182
186
|
|
|
183
187
|
```json
|
|
184
|
-
{ "notes": { "folders": [{ "id": "
|
|
188
|
+
{ "notes": { "folders": [{ "id": "3", "path": "/path/to/vault" }], "ignore": ["Journal/Private.md", "Archive"] } }
|
|
185
189
|
```
|
|
186
190
|
|
|
187
191
|
### Folders and their format
|
|
@@ -189,7 +193,7 @@ or a glob (`**/Private*`, `*.txt`):
|
|
|
189
193
|
```sh
|
|
190
194
|
memo folders add /path/to/vault # gives the folder an id and prints it
|
|
191
195
|
memo folders add /path/to/notes --format markdown # a plain Markdown folder
|
|
192
|
-
memo folders attach
|
|
196
|
+
memo folders attach FOLDER_ID /other/path/to/vault # the same folder on another computer
|
|
193
197
|
memo folders list
|
|
194
198
|
```
|
|
195
199
|
|
|
@@ -197,8 +201,8 @@ A folder's id is the store's and is what notes and links use; its path is only w
|
|
|
197
201
|
computer, so the config differs between computers and the id does not. `folders list` also shows the
|
|
198
202
|
folders the store has from another computer, to attach. A path can belong to one id only. A bare path in
|
|
199
203
|
`notes.folders`, or a folder with no id, is refused by import with both commands named — memo never
|
|
200
|
-
invents an id, which would give every note a new identity. A folder
|
|
201
|
-
|
|
204
|
+
invents an id, which would give every note a new identity. A folder id from a store older than
|
|
205
|
+
`wirecat.db` is not in the store: `memo folders add <path>` gives the folder a new one.
|
|
202
206
|
|
|
203
207
|
`format` says how the folder's notes are written. `obsidian` (the default) reads `[[Note|label]]` links
|
|
204
208
|
with `#heading` and `#^block` anchors, `aliases`, `tags:` and inline `#tags`. `markdown` reads
|
|
@@ -291,9 +295,10 @@ memo tags list --tag follow-up --json
|
|
|
291
295
|
tg search mail 'tag:follow-up'
|
|
292
296
|
```
|
|
293
297
|
|
|
294
|
-
A note is labelled by its reference
|
|
295
|
-
|
|
296
|
-
|
|
298
|
+
A note is labelled by its reference (`--note note:<id>`, or `document:<id>` for a file in a notes
|
|
299
|
+
folder), an email or messenger message by its full `msg:` locator, a mail thread or chat by its exact id
|
|
300
|
+
and account. A person, organization, project or task is labelled by `--person`, `--organization`,
|
|
301
|
+
`--project` or `--task`, with no account; a contact names its account. `--folder` with an id from
|
|
297
302
|
`memo folders list`, and `--path` for one subfolder, labels every note under it at any depth. Tags use 1–32 letters a–z, digits or hyphens; case is ignored.
|
|
298
303
|
Adding an existing tag or removing an absent one leaves it unchanged.
|
|
299
304
|
|
package/dist/context/context.js
CHANGED
|
@@ -20,7 +20,7 @@ export const memoContext = async (store, reference, { limit = 20, account } = {}
|
|
|
20
20
|
const linked = await notesAbout(store, { ref: person, person: messages.person }, limit);
|
|
21
21
|
const yourNotes = [];
|
|
22
22
|
for (const ref of linked.about.filter((note) => note.source === "internal")) {
|
|
23
|
-
const note = await store.notes.note(ref.ref
|
|
23
|
+
const note = await store.notes.note(ref.ref);
|
|
24
24
|
yourNotes.push({ id: note.id, text: note.text, revision: note.revision, updatedAt: note.updatedAt });
|
|
25
25
|
}
|
|
26
26
|
const notRead = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAsB,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAEnF,OAAO,EAAmB,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAejD,iDAAiD;AACjD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,KAAmB,EACnB,SAAiB,EACjB,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,GAAyC,EAAE,EAC5C,EAAE;IACxB,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAA;IACjF,IAAI,QAAQ,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;QAC7C,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,IAAI,SAAS,6DAA6D,CAAC,CAAA;IACpH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAErG,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,UAAU,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IAC9C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAA;IACvF,MAAM,SAAS,GAAG,EAAE,CAAA;IACpB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/knowledge/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/knowledge/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAW1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,eAAO,MAAM,iBAAiB,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,SA+P3F,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CliError, createRenderer } from "@wirecat/cli-core";
|
|
2
|
-
import { openStore, } from "@wirecat/cli-messaging/store";
|
|
2
|
+
import { ORGANIZATION_KINDS, openStore, PROJECT_TYPES, SCOPES, } from "@wirecat/cli-messaging/store";
|
|
3
3
|
import { notesAbout } from "../notes/about.js";
|
|
4
|
-
import { accountOptions, positive } from "../options.js";
|
|
4
|
+
import { accountOptions, oneOf, positive } from "../options.js";
|
|
5
5
|
import { selectAccount } from "../store/scope.js";
|
|
6
6
|
export const knowledgeCommands = (program, streams, env) => {
|
|
7
7
|
const execute = async (options, work) => {
|
|
@@ -31,35 +31,66 @@ export const knowledgeCommands = (program, streams, env) => {
|
|
|
31
31
|
await store.close();
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
/** What the store knows around an organization or a project: its relations, the notes about it, its tags. */
|
|
35
|
+
const contextOf = async (store, thing, type, id) => ({
|
|
36
|
+
[type]: thing ?? null,
|
|
37
|
+
relationships: (await store.notes.links({ to: `${type}:${id}` }))
|
|
38
|
+
.concat(await store.notes.links({ from: `${type}:${id}` }))
|
|
39
|
+
.filter((link) => link.kind !== "about" && link.kind !== "links-to"),
|
|
40
|
+
notes: await notesAbout(store, { ref: `${type}:${id}` }),
|
|
41
|
+
tags: await store.knowledge.tags(null, { type, id }),
|
|
42
|
+
});
|
|
43
|
+
const organizations = program
|
|
44
|
+
.command("organizations")
|
|
45
|
+
.description("Companies, teams, families and communities of yours");
|
|
46
|
+
organizations
|
|
36
47
|
.command("add")
|
|
37
48
|
.argument("<name>")
|
|
38
|
-
.requiredOption("--kind <kind>", "
|
|
49
|
+
.requiredOption("--kind <kind>", ORGANIZATION_KINDS.join(", "), oneOf(ORGANIZATION_KINDS))
|
|
50
|
+
.option("--scope <scope>", SCOPES.join(", "), oneOf(SCOPES))
|
|
39
51
|
.option("--json", "print JSON")
|
|
40
|
-
.action((name, options) => owned(options, (store) => store.
|
|
41
|
-
|
|
52
|
+
.action((name, options) => owned(options, (store) => store.knowledge.addOrganization({
|
|
53
|
+
kind: options.kind,
|
|
54
|
+
name,
|
|
55
|
+
...(options.scope === undefined ? {} : { scope: options.scope }),
|
|
56
|
+
})));
|
|
57
|
+
organizations
|
|
42
58
|
.command("list")
|
|
43
59
|
.option("--json", "print JSON")
|
|
44
|
-
.action((options) => owned(options, (store) => store.
|
|
45
|
-
|
|
60
|
+
.action((options) => owned(options, (store) => store.knowledge.organizations()));
|
|
61
|
+
organizations
|
|
46
62
|
.command("context")
|
|
47
63
|
.argument("<id>")
|
|
48
64
|
.option("--json", "print JSON")
|
|
49
|
-
.action((id, options) => owned(options, async (store) =>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
.action((id, options) => owned(options, async (store) => contextOf(store, (await store.knowledge.organizations()).find((organization) => organization.id === id), "organization", id)));
|
|
66
|
+
const projects = program.command("projects").description("Projects of yours, each with a short key");
|
|
67
|
+
projects
|
|
68
|
+
.command("add")
|
|
69
|
+
.argument("<name>")
|
|
70
|
+
.option("--key <key>", "1–10 letters and digits; made from the name when left out")
|
|
71
|
+
.option("--type <type>", PROJECT_TYPES.join(", "), oneOf(PROJECT_TYPES))
|
|
72
|
+
.option("--organization <reference>", "organization:<id> it belongs to")
|
|
73
|
+
.option("--scope <scope>", SCOPES.join(", "), oneOf(SCOPES))
|
|
74
|
+
.option("--json", "print JSON")
|
|
75
|
+
.action((name, options) => owned(options, (store) => store.knowledge.addProject({
|
|
76
|
+
name,
|
|
77
|
+
...(options.key === undefined ? {} : { key: options.key }),
|
|
78
|
+
...(options.type === undefined ? {} : { type: options.type }),
|
|
79
|
+
...(options.organization === undefined ? {} : { organization: options.organization }),
|
|
80
|
+
...(options.scope === undefined ? {} : { scope: options.scope }),
|
|
81
|
+
})));
|
|
82
|
+
projects
|
|
83
|
+
.command("list")
|
|
84
|
+
.option("--json", "print JSON")
|
|
85
|
+
.action((options) => owned(options, (store) => store.knowledge.projects()));
|
|
86
|
+
projects
|
|
87
|
+
.command("context")
|
|
88
|
+
.argument("<id>")
|
|
89
|
+
.option("--json", "print JSON")
|
|
90
|
+
.action((id, options) => owned(options, async (store) => contextOf(store, (await store.knowledge.projects()).find((project) => project.id === id), "project", id)));
|
|
60
91
|
const relations = program
|
|
61
92
|
.command("relationships")
|
|
62
|
-
.description("Explicit relations between
|
|
93
|
+
.description("Explicit relations between people, organizations and projects; this never links identities");
|
|
63
94
|
relations
|
|
64
95
|
.command("add")
|
|
65
96
|
.argument("<from>")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/knowledge/command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/knowledge/command.ts"],"names":[],"mappings":"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"}
|
package/dist/notes/about.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { MessageStore, Note } from "@wirecat/cli-messaging/store";
|
|
2
2
|
import type { Subject } from "../people/subject.js";
|
|
3
|
+
/** A file in a notes folder is a `document:`, a written note a `note:`. */
|
|
4
|
+
export declare const isNoteReference: (reference: string) => boolean;
|
|
3
5
|
export interface NoteRef {
|
|
4
6
|
ref: string;
|
|
5
7
|
source: Note["source"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"about.d.ts","sourceRoot":"","sources":["../../src/notes/about.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,YAAY,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,iDAAiD;IACjD,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,4CAA4C;IAC5C,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,0DAA0D;IAC1D,YAAY,EAAE,OAAO,EAAE,CAAA;IACvB,0GAA0G;IAC1G,OAAO,EAAE,CAAC,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;IACvC,OAAO,EAAE,OAAO,CAAA;CACjB;
|
|
1
|
+
{"version":3,"file":"about.d.ts","sourceRoot":"","sources":["../../src/notes/about.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,YAAY,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,2EAA2E;AAC3E,eAAO,MAAM,eAAe,cAAe,MAAM,KAAG,OAA8C,CAAA;AAElG,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,iDAAiD;IACjD,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,4CAA4C;IAC5C,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,0DAA0D;IAC1D,YAAY,EAAE,OAAO,EAAE,CAAA;IACvB,0GAA0G;IAC1G,OAAO,EAAE,CAAC,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;IACvC,OAAO,EAAE,OAAO,CAAA;CACjB;AAgBD,4GAA4G;AAC5G,eAAO,MAAM,UAAU,UAAiB,YAAY,WAAW,OAAO,qBAAe,OAAO,CAAC,UAAU,CAoDtG,CAAA;AAED,eAAO,MAAM,SAAS,WAAY,UAAU,KAAG,MAa9C,CAAA"}
|
package/dist/notes/about.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { formatReference } from "@wirecat/cli-messaging";
|
|
2
|
+
/** A file in a notes folder is a `document:`, a written note a `note:`. */
|
|
3
|
+
export const isNoteReference = (reference) => /^(note|document):/.test(reference);
|
|
2
4
|
const fold = (value) => value.normalize("NFC").toLocaleLowerCase("en").trim().replace(/^@/, "");
|
|
3
5
|
const refOf = (note, anchor = null) => ({
|
|
4
|
-
ref:
|
|
6
|
+
ref: note.ref,
|
|
5
7
|
source: note.source,
|
|
6
8
|
folderId: note.folderId,
|
|
7
9
|
path: note.path,
|
|
@@ -18,18 +20,19 @@ export const notesAbout = async (store, subject, limit = 20) => {
|
|
|
18
20
|
const live = async (links) => {
|
|
19
21
|
const found = [];
|
|
20
22
|
for (const link of links) {
|
|
21
|
-
if (!link.from
|
|
23
|
+
if (!isNoteReference(link.from))
|
|
22
24
|
continue;
|
|
23
|
-
const note = await store.notes.
|
|
25
|
+
const note = await store.notes.resolveNote(link.from);
|
|
24
26
|
if (note && note.deletedAt === null)
|
|
25
|
-
found.push({ note, link });
|
|
27
|
+
found.push({ note, anchor: link.anchor, text: link.targetText });
|
|
26
28
|
}
|
|
27
29
|
return found;
|
|
28
30
|
};
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
31
|
+
// A written note's first subject is the note's own, not a link, so only `notes({ about })` sees all of them.
|
|
32
|
+
const pages = await Promise.all(refs.map((ref) => store.notes.notes({ about: ref, limit: 500 })));
|
|
33
|
+
const about = pages.flatMap(({ items }) => items.map((note) => ({ note, anchor: null, text: null })));
|
|
34
|
+
const linking = await live((await Promise.all(refs.map((to) => store.notes.links({ to })))).flat().filter((link) => link.kind === "links-to"));
|
|
35
|
+
const through = await live((await Promise.all(about.map(({ note }) => store.notes.links({ to: note.ref }))))
|
|
33
36
|
.flat()
|
|
34
37
|
.filter((link) => link.kind === "links-to"));
|
|
35
38
|
const names = new Set([subject.person?.name, ...(subject.person?.identities.map(({ name }) => name) ?? [])]
|
|
@@ -38,18 +41,16 @@ export const notesAbout = async (store, subject, limit = 20) => {
|
|
|
38
41
|
const waiting = names.size === 0
|
|
39
42
|
? []
|
|
40
43
|
: await live((await store.notes.links({ unresolved: true })).filter((link) => names.has(fold(link.targetText ?? ""))));
|
|
41
|
-
const unique = (items) => [...new Map(items.map((item) => [`${item.note.
|
|
44
|
+
const unique = (items) => [...new Map(items.map((item) => [`${item.note.ref}#${item.anchor ?? ""}`, item])).values()].sort((a, b) => b.note.updatedAt.localeCompare(a.note.updatedAt));
|
|
42
45
|
const lists = [about, linking, through, waiting].map(unique);
|
|
43
46
|
return {
|
|
44
47
|
subject: subject.ref,
|
|
45
48
|
name: subject.person?.name ?? null,
|
|
46
49
|
about: (lists[0] ?? []).slice(0, limit).map(({ note }) => refOf(note)),
|
|
47
|
-
linking: (lists[1] ?? []).slice(0, limit).map(({ note,
|
|
48
|
-
throughNotes: (lists[2] ?? []).slice(0, limit).map(({ note,
|
|
49
|
-
waiting: (lists[3] ?? [])
|
|
50
|
-
|
|
51
|
-
.map(({ note, link }) => ({ ...refOf(note), text: link.targetText ?? "" })),
|
|
52
|
-
hasMore: lists.some((list) => list.length > limit),
|
|
50
|
+
linking: (lists[1] ?? []).slice(0, limit).map(({ note, anchor }) => refOf(note, anchor)),
|
|
51
|
+
throughNotes: (lists[2] ?? []).slice(0, limit).map(({ note, anchor }) => refOf(note, anchor)),
|
|
52
|
+
waiting: (lists[3] ?? []).slice(0, limit).map(({ note, text }) => ({ ...refOf(note), text: text ?? "" })),
|
|
53
|
+
hasMore: pages.some((page) => page.hasMore) || lists.some((list) => list.length > limit),
|
|
53
54
|
};
|
|
54
55
|
};
|
|
55
56
|
export const aboutText = (answer) => {
|
package/dist/notes/about.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"about.js","sourceRoot":"","sources":["../../src/notes/about.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"about.js","sourceRoot":"","sources":["../../src/notes/about.ts"],"names":[],"mappings":"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"}
|
package/dist/notes/bound.d.ts
CHANGED
|
@@ -4,12 +4,7 @@ export type BoundFolder = NoteFolder & {
|
|
|
4
4
|
id: string;
|
|
5
5
|
};
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
* it over once. It goes straight into this computer's config, so it is never lost between claim and save.
|
|
9
|
-
*/
|
|
10
|
-
export declare const claimPendingFolders: (store: MessageStore, env: NodeJS.ProcessEnv) => Promise<void>;
|
|
11
|
-
/**
|
|
12
|
-
* The configured folders the store knows, after claiming pending paths; `only` narrows them by path or id.
|
|
7
|
+
* The configured folders the store knows; `only` narrows them by path or id.
|
|
13
8
|
* `strict` refuses a folder with no id — an import must not invent one — while a read just leaves it out.
|
|
14
9
|
*/
|
|
15
10
|
export declare const boundFolders: (store: MessageStore, env: NodeJS.ProcessEnv, { only, strict }?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bound.d.ts","sourceRoot":"","sources":["../../src/notes/bound.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEhE,OAAO,
|
|
1
|
+
{"version":3,"file":"bound.d.ts","sourceRoot":"","sources":["../../src/notes/bound.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEhE,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,cAAc,CAAA;AAE3D,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAQrD;;;GAGG;AACH,eAAO,MAAM,YAAY,UAChB,YAAY,OACd,MAAM,CAAC,UAAU,qBACG;IAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,KAC7D,OAAO,CAAC,WAAW,EAAE,CAgBvB,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,YAAY,YAAa,WAAW,EAAE,QAAQ,MAAM,KAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAKtG,CAAA"}
|
package/dist/notes/bound.js
CHANGED
|
@@ -1,33 +1,13 @@
|
|
|
1
1
|
import { resolve } from "node:path";
|
|
2
2
|
import { CliError } from "@wirecat/cli-core";
|
|
3
|
-
import { loadConfig
|
|
4
|
-
import {
|
|
5
|
-
/**
|
|
6
|
-
* A folder imported before store version 25 has an id but its path still waits in the store, which hands
|
|
7
|
-
* it over once. It goes straight into this computer's config, so it is never lost between claim and save.
|
|
8
|
-
*/
|
|
9
|
-
export const claimPendingFolders = async (store, env) => {
|
|
10
|
-
for (const folder of await store.notes.folders()) {
|
|
11
|
-
if (folder.pendingPath === null)
|
|
12
|
-
continue;
|
|
13
|
-
const { path } = await store.notes.claimFolderPath(folder.id);
|
|
14
|
-
if (path === null)
|
|
15
|
-
continue;
|
|
16
|
-
updateConfig((config) => {
|
|
17
|
-
const here = noteFolders(config.notes).find((entry) => entry.path === resolve(path));
|
|
18
|
-
if (here?.id && here.id !== folder.id)
|
|
19
|
-
return config;
|
|
20
|
-
return bindFolder(config, { id: folder.id, path, format: here?.format ?? folder.format });
|
|
21
|
-
}, env);
|
|
22
|
-
}
|
|
23
|
-
};
|
|
3
|
+
import { loadConfig } from "../config.js";
|
|
4
|
+
import { noteFolders } from "./folders.js";
|
|
24
5
|
const unbound = (path) => new CliError("configuration_error", `${path} has no folder id — memo folders add ${path}, or memo folders attach <id> ${path} if another computer made one`);
|
|
25
6
|
/**
|
|
26
|
-
* The configured folders the store knows
|
|
7
|
+
* The configured folders the store knows; `only` narrows them by path or id.
|
|
27
8
|
* `strict` refuses a folder with no id — an import must not invent one — while a read just leaves it out.
|
|
28
9
|
*/
|
|
29
10
|
export const boundFolders = async (store, env, { only, strict = true } = {}) => {
|
|
30
|
-
await claimPendingFolders(store, env);
|
|
31
11
|
const known = new Set((await store.notes.folders()).map(({ id }) => id));
|
|
32
12
|
const configured = noteFolders(loadConfig(env).notes);
|
|
33
13
|
const wanted = only === undefined
|
package/dist/notes/bound.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bound.js","sourceRoot":"","sources":["../../src/notes/bound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"bound.js","sourceRoot":"","sources":["../../src/notes/bound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAmB,WAAW,EAAE,MAAM,cAAc,CAAA;AAI3D,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAC/B,IAAI,QAAQ,CACV,qBAAqB,EACrB,GAAG,IAAI,wCAAwC,IAAI,iCAAiC,IAAI,+BAA+B,CACxH,CAAA;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,KAAmB,EACnB,GAAsB,EACtB,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,GAA0C,EAAE,EAC3C,EAAE;IAC1B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;IACrD,MAAM,MAAM,GACV,IAAI,KAAK,SAAS;QAChB,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YAC9F,IAAI,CAAC,KAAK;gBAAE,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YACxC,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACR,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,MAAqB,CAAC,CAAA;QAC9E,IAAI,MAAM;YAAE,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACtC,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAsB,EAAE,IAAY,EAAyC,EAAE;IAC1G,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;IAC/E,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,sCAAsC,CAAC,CAAA;IACzF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAA;AAC3D,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/notes/command.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1E,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AAiD9D,eAAO,MAAM,YAAY,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/notes/command.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE1E,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAA;AAiD9D,eAAO,MAAM,YAAY,YAAa,OAAO,WAAW,OAAO,OAAO,MAAM,CAAC,UAAU,KAAG,IAuOzF,CAAA"}
|
package/dist/notes/command.js
CHANGED
|
@@ -6,7 +6,7 @@ import { loadConfig } from "../config.js";
|
|
|
6
6
|
import { positive } from "../options.js";
|
|
7
7
|
import { importNotesMap } from "../people/notes-map.js";
|
|
8
8
|
import { subjectOf } from "../people/subject.js";
|
|
9
|
-
import { aboutText, notesAbout } from "./about.js";
|
|
9
|
+
import { aboutText, isNoteReference, notesAbout } from "./about.js";
|
|
10
10
|
import { boundFolders, folderOfFile } from "./bound.js";
|
|
11
11
|
import { DIALECTS } from "./dialects/index.js";
|
|
12
12
|
import { embedNoteChunks } from "./embed.js";
|
|
@@ -35,10 +35,10 @@ const textOf = (options, given) => {
|
|
|
35
35
|
return readFileSync(options.file === "-" ? 0 : options.file, "utf8");
|
|
36
36
|
return sources[0];
|
|
37
37
|
};
|
|
38
|
-
/** `note:<id>`, or a file inside a configured folder. */
|
|
38
|
+
/** `note:<id>`, `document:<id>`, or a file inside a configured folder. */
|
|
39
39
|
const noteOf = async (store, env, reference) => {
|
|
40
|
-
if (reference
|
|
41
|
-
return store.notes.note(reference
|
|
40
|
+
if (isNoteReference(reference))
|
|
41
|
+
return store.notes.note(reference);
|
|
42
42
|
const { folder, path } = folderOfFile(await boundFolders(store, env, { strict: false }), reference);
|
|
43
43
|
const found = (await folderNotes(store, folder.id)).find((note) => note.path === path);
|
|
44
44
|
if (!found)
|
|
@@ -95,7 +95,7 @@ export const notesCommand = (program, streams, env) => {
|
|
|
95
95
|
notes
|
|
96
96
|
.command("about")
|
|
97
97
|
.description("Notes about a person, project or note, and the notes that link them — through links, never a name in plain text")
|
|
98
|
-
.argument("<subject>", "<messenger>:<name or id>, person:<uid>,
|
|
98
|
+
.argument("<subject>", "<messenger>:<name or id>, person:<uid>, organization:<id>, project:<id>, note:<id> or document:<id>")
|
|
99
99
|
.option("--limit <n>", "most notes of each kind", positive, 20)
|
|
100
100
|
.option("--json", "print JSON")
|
|
101
101
|
.action(async (subject, options) => {
|
|
@@ -105,13 +105,13 @@ export const notesCommand = (program, streams, env) => {
|
|
|
105
105
|
notes
|
|
106
106
|
.command("show")
|
|
107
107
|
.description("One note: its text, tags, what it links and what links it")
|
|
108
|
-
.argument("<note>", "note:<id>, or a file in a configured folder")
|
|
108
|
+
.argument("<note>", "note:<id>, document:<id>, or a file in a configured folder")
|
|
109
109
|
.option("--json", "print JSON")
|
|
110
110
|
.action(async (reference, options) => {
|
|
111
111
|
const answer = await withStore(async (store) => {
|
|
112
112
|
const note = await noteOf(store, env, reference);
|
|
113
|
-
const ref =
|
|
114
|
-
const labels = await store.notes.noteTags(
|
|
113
|
+
const ref = note.ref;
|
|
114
|
+
const labels = await store.notes.noteTags(ref);
|
|
115
115
|
return {
|
|
116
116
|
...note,
|
|
117
117
|
ref,
|
|
@@ -154,7 +154,7 @@ export const notesCommand = (program, streams, env) => {
|
|
|
154
154
|
.option("--text <text>", "the note")
|
|
155
155
|
.option("--file <path>", "read the note from a file; - reads stdin")
|
|
156
156
|
.option("--title <title>", "a title")
|
|
157
|
-
.option("--about <subject...>", "what it is about: <messenger>:<name or id>, msg:, chat:, person:,
|
|
157
|
+
.option("--about <subject...>", "what it is about: <messenger>:<name or id>, msg:, chat:, person:, organization:, project:, task:, note:, document:")
|
|
158
158
|
.option("--export [dir]", "also write it as a file — to this folder, or notes.export.dir")
|
|
159
159
|
.option("--format <format>", `the file's format: ${DIALECTS.join(", ")}`, formatOf)
|
|
160
160
|
.option("--json", "print JSON")
|
|
@@ -177,7 +177,7 @@ export const notesCommand = (program, streams, env) => {
|
|
|
177
177
|
notes
|
|
178
178
|
.command("edit")
|
|
179
179
|
.description("Change a note you wrote here; a file's note is edited in its file")
|
|
180
|
-
.argument("<id>", "
|
|
180
|
+
.argument("<id>", "note:<id> or its id")
|
|
181
181
|
.requiredOption("--revision <n>", "its current revision, so an edit made meanwhile is not lost", positive)
|
|
182
182
|
.option("--text <text>", "the new text")
|
|
183
183
|
.option("--file <path>", "read the new text from a file; - reads stdin")
|
|
@@ -198,7 +198,7 @@ export const notesCommand = (program, streams, env) => {
|
|
|
198
198
|
notes
|
|
199
199
|
.command("remove")
|
|
200
200
|
.description("Delete a note you wrote here; a file it was exported to stays")
|
|
201
|
-
.argument("<id>", "
|
|
201
|
+
.argument("<id>", "note:<id> or its id")
|
|
202
202
|
.option("--json", "print JSON")
|
|
203
203
|
.action(async (id, options) => {
|
|
204
204
|
const answer = await withStore((store) => store.notes.removeNote(id.replace(/^note:/, "")));
|