@arshdelight/practi 0.9.4 → 0.10.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.
Files changed (64) hide show
  1. package/README.md +73 -14
  2. package/dist/client.js +49 -6
  3. package/dist/client.js.map +1 -1
  4. package/dist/cmd/blob.js +10 -1
  5. package/dist/cmd/blob.js.map +1 -1
  6. package/dist/cmd/clone.js +15 -10
  7. package/dist/cmd/clone.js.map +1 -1
  8. package/dist/cmd/comment.js +50 -15
  9. package/dist/cmd/comment.js.map +1 -1
  10. package/dist/cmd/config.js +1 -1
  11. package/dist/cmd/config.js.map +1 -1
  12. package/dist/cmd/edit.js +82 -11
  13. package/dist/cmd/edit.js.map +1 -1
  14. package/dist/cmd/gc.js +77 -0
  15. package/dist/cmd/gc.js.map +1 -0
  16. package/dist/cmd/lifecycle.js +63 -13
  17. package/dist/cmd/lifecycle.js.map +1 -1
  18. package/dist/cmd/login.js +13 -4
  19. package/dist/cmd/login.js.map +1 -1
  20. package/dist/cmd/ls.js +41 -2
  21. package/dist/cmd/ls.js.map +1 -1
  22. package/dist/cmd/migrate.js +3 -0
  23. package/dist/cmd/migrate.js.map +1 -1
  24. package/dist/cmd/new.js +52 -6
  25. package/dist/cmd/new.js.map +1 -1
  26. package/dist/cmd/note.js +160 -0
  27. package/dist/cmd/note.js.map +1 -0
  28. package/dist/cmd/pull.js +2 -3
  29. package/dist/cmd/pull.js.map +1 -1
  30. package/dist/cmd/push.js +6 -1
  31. package/dist/cmd/push.js.map +1 -1
  32. package/dist/cmd/remote.js +15 -8
  33. package/dist/cmd/remote.js.map +1 -1
  34. package/dist/cmd/remove.js +42 -0
  35. package/dist/cmd/remove.js.map +1 -0
  36. package/dist/cmd/repair.js +34 -0
  37. package/dist/cmd/repair.js.map +1 -0
  38. package/dist/cmd/search.js +154 -57
  39. package/dist/cmd/search.js.map +1 -1
  40. package/dist/cmd/show.js +96 -9
  41. package/dist/cmd/show.js.map +1 -1
  42. package/dist/cmd/skill.js +2 -3
  43. package/dist/cmd/skill.js.map +1 -1
  44. package/dist/index.js +145 -36
  45. package/dist/index.js.map +1 -1
  46. package/dist/notes.js +121 -0
  47. package/dist/notes.js.map +1 -0
  48. package/dist/oauth.js +3 -0
  49. package/dist/oauth.js.map +1 -1
  50. package/dist/state.js +32 -1
  51. package/dist/state.js.map +1 -1
  52. package/dist/web.js +420 -139
  53. package/dist/web.js.map +1 -1
  54. package/dist/workspace.js +10 -0
  55. package/dist/workspace.js.map +1 -1
  56. package/package.json +3 -2
  57. package/skills/use-practi/SKILL.md +49 -14
  58. package/web-default/app.js +106 -0
  59. package/web-default/detail.html +36 -0
  60. package/web-default/detail.js +871 -0
  61. package/web-default/index.html +28 -0
  62. package/web-default/lang.js +181 -0
  63. package/web-default/marked.min.js +69 -0
  64. package/web-default/style.css +234 -0
package/dist/index.js CHANGED
@@ -4,10 +4,12 @@ import { PracticeError } from '@arshdelight/pop-sdk';
4
4
  import { runInit } from './cmd/init.js';
5
5
  import { runConfig } from './cmd/config.js';
6
6
  import { runRemote } from './cmd/remote.js';
7
+ import { runRepair } from './cmd/repair.js';
7
8
  import { runMigrate } from './cmd/migrate.js';
8
9
  import { runLs } from './cmd/ls.js';
9
10
  import { runNew } from './cmd/new.js';
10
11
  import { runEdit } from './cmd/edit.js';
12
+ import { runGc } from './cmd/gc.js';
11
13
  import { runShow } from './cmd/show.js';
12
14
  import { runLogin, runLogout, runMe } from './cmd/login.js';
13
15
  import { runWeb } from './web.js';
@@ -17,7 +19,9 @@ import { runPull } from './cmd/pull.js';
17
19
  import { runClone } from './cmd/clone.js';
18
20
  import { runSearch } from './cmd/search.js';
19
21
  import { runComment } from './cmd/comment.js';
20
- import { runSubmit, runUnpublish, runDelete } from './cmd/lifecycle.js';
22
+ import { runNote } from './cmd/note.js';
23
+ import { runRemove } from './cmd/remove.js';
24
+ import { runPublish, runUnpublish } from './cmd/lifecycle.js';
21
25
  import { runUpdate } from './cmd/update.js';
22
26
  import { runSpec } from './cmd/spec.js';
23
27
  import { runSkill } from './cmd/skill.js';
@@ -30,37 +34,59 @@ function printVersion() {
30
34
  const USAGE = `practi — local registry for POP (Protocol of Practice), syncing to PractiHub
31
35
 
32
36
  usage:
33
- practi blob add <file-or-url> stage an attachment; emits the attachment entry
37
+ practi blob add <file-or-url> [--name <name>]
34
38
  (hashes the bytes, stores local blobs in the workspace)
35
39
  practi clone <hash> fetch a public POP and claim it (fork: local direct + remote claim)
36
40
  practi comment list|tally|add|edit|delete|report
37
41
  node comments on the remote (hub extension; source-scoped list,
38
42
  --node for a shared node's full view; --json for agents)
39
43
  practi config show data dir, remote, registry summary
40
- practi delete <hash> remove your direct claim on the remote (hash required)
41
44
  practi edit <hash> <file.json> replace a direct POP (new hash; auto-revision + GC)
42
45
  | practi edit <hash> --json '<text>' | practi edit <hash> < file.json
43
46
  [--message <text>] [--no-revision] [--keep]
47
+ practi edit <hash> <file.json> --remote
48
+ replace on the hub ONLY — your claim on <hash> (prefix OK, checked
49
+ against your remote claims) swaps to the new document; revision
50
+ from = old root; nothing written locally
51
+ practi gc [--apply] free orphan blobs — attachment bytes on disk that no
52
+ stored node references (dry-run by default; --apply removes)
44
53
  practi init [path] initialize a data directory (default: ~/.practi)
45
- practi login [--no-open] OAuth login in the browser (--no-open prints the URL only)
54
+ practi login [--no-open] [--reauth] OAuth login in the browser; --no-open prints the URL only;
55
+ --reauth = logout + fresh login in one step (fine when not logged in)
46
56
  practi logout clear stored credentials (revokes on the server)
47
57
  practi ls [-a] [--json] list direct pops (-a also lists indirect nodes)
58
+ practi ls --remote [--json] list YOUR claims on the hub (direct only; -a is local-only)
48
59
  practi me show the authenticated practihub user
49
60
  practi migrate [path] [--keep] move the workspace to a new data directory
50
61
  (cut: the old directory is removed after per-file
51
62
  verification; --keep retains it as <dir>.bak-<timestamp>;
52
63
  no arg = ~/.practi; a path is recorded in
53
64
  ~/.practi-home and becomes the default)
54
- practi new <file.json> create a POP from a JSON document
65
+ practi note add|list|edit|delete local learning notes pinned to node hashes (sidecar
66
+ notes.json, never uploaded — learning/reproduction
67
+ focus; remote authenticity lives in practi comment)
68
+ practi new <file.json> create a POP from a JSON document (local)
55
69
  | practi new --json '<text>'
56
70
  | practi new < file.json
71
+ practi new <file.json> --remote [--publish]
72
+ create on the hub ONLY — the authoring JSON goes to POST /api/v1/pop
73
+ (the hub parses + hashes; nothing written locally; it comes back on
74
+ the next practi pull). --publish also submits it for review
57
75
  practi pull [hash] sync YOUR claims from the remote (default: all of mine)
58
76
  practi push [hash] push new local claims to the remote (git-style: only new ones)
59
77
  practi remote set <url> set the remote provider (e.g. https://practihub.com)
60
- practi remote show | remove inspect / clear the remote
61
- practi search [query...] search pops (remote by default; --local the workspace)
62
- [--local] [--scope public|me|all] [--limit N] [--json]
63
- practi show <hash> [--json] [--doc] inspect one node (hash prefix OK)
78
+ practi remote remove clear the remote falls back to the official hub
79
+ practi remove <hash> take a direct pop out of the local directory (registry op;
80
+ GCs nodes unreachable from the rest — shared indirect nodes survive)
81
+ | practi remove <hash> --remote withdraw the claim on the remote instead
82
+ practi repair backfill missing claim timestamps from node file times
83
+ (idempotent; stamped claims are never touched)
84
+ practi search [query...] search pops — no flag = mixed (local workspace first, then
85
+ [--local | --remote] the hub); --local only the workspace; --remote only the hub
86
+ [--scope public|me|all] [--limit N] [--json] (scope applies to the hub half)
87
+ practi show <hash> [--json] [--doc] inspect one node (hash prefix OK); local first, full-hash
88
+ fallback to the hub — content is re-hashed before display, a
89
+ found-but-mismatched hash is an error, never shown
64
90
  practi skill install install the bundled use-practi skill (default: ~/.agents/skills)
65
91
  practi skill update refresh the installed use-practi skill (--dir to override)
66
92
  practi skill uninstall remove the installed use-practi skill
@@ -68,7 +94,8 @@ usage:
68
94
  foreign skills enter POP by authoring, not import)
69
95
  practi skill export <ref> [--dir] project a POP as an installable skill directory (SKILL.md + sidecar)
70
96
  practi spec print pop-spec.md (bundled with the SDK; no network)
71
- practi submit [hash] submit pops for public review (default: all direct)
97
+ practi publish [hash] try to publish PRIVATE → review, machine-passed → public (default: all
98
+ direct pops; hash prefix OK)
72
99
  practi unpublish [hash] withdraw a submission / take one back out of public
73
100
  practi update self-update via npm (checks the registry's latest)
74
101
  practi version | --version show CLI + pop-spec versions
@@ -95,6 +122,18 @@ async function main(argv) {
95
122
  return printVersion();
96
123
  }
97
124
  switch (cmd) {
125
+ case 'gc': {
126
+ const { values } = parseArgs({
127
+ args: rest,
128
+ options: { ...COMMON, apply: { type: 'boolean' } },
129
+ allowPositionals: true,
130
+ });
131
+ if (values.help) {
132
+ console.log('usage: practi gc [--apply] (free orphan blobs; dry-run by default)');
133
+ return 0;
134
+ }
135
+ return runGc({ dataDir: str(values['data-dir']), apply: values.apply === true });
136
+ }
98
137
  case 'init': {
99
138
  const { values, positionals } = parseArgs({ args: rest, options: COMMON, allowPositionals: true });
100
139
  if (values.help) {
@@ -114,11 +153,19 @@ async function main(argv) {
114
153
  case 'remote': {
115
154
  const { values, positionals } = parseArgs({ args: rest, options: COMMON, allowPositionals: true });
116
155
  if (values.help) {
117
- console.log('usage: practi remote set <url> | show | remove');
156
+ console.log('usage: practi remote set <url> | remove (see the current remote with `practi config`)');
118
157
  return 0;
119
158
  }
120
159
  return runRemote({ dataDir: str(values['data-dir']), positional: positionals });
121
160
  }
161
+ case 'repair': {
162
+ const { values } = parseArgs({ args: rest, options: COMMON, allowPositionals: true });
163
+ if (values.help) {
164
+ console.log('usage: practi repair (backfill missing claim timestamps; idempotent)');
165
+ return 0;
166
+ }
167
+ return runRepair({ dataDir: str(values['data-dir']) });
168
+ }
122
169
  case 'migrate': {
123
170
  const { values, positionals } = parseArgs({
124
171
  args: rest,
@@ -132,28 +179,56 @@ async function main(argv) {
132
179
  return runMigrate({ dataDir: str(values['data-dir']), positional: positionals, keep: values.keep === true });
133
180
  }
134
181
  case 'ls': {
135
- const { values } = parseArgs({
182
+ const { values, positionals } = parseArgs({
136
183
  args: rest,
137
- options: { ...COMMON, all: { type: 'boolean', short: 'a' }, json: { type: 'boolean' } },
184
+ options: { ...COMMON, all: { type: 'boolean', short: 'a' }, json: { type: 'boolean' }, remote: { type: 'boolean' } },
138
185
  allowPositionals: true,
139
186
  });
140
187
  if (values.help) {
141
- console.log('usage: practi ls [-a] [--json]');
188
+ console.log('usage: practi ls [-a] [--json] (local); practi ls --remote [--json] (your claims on the hub)');
142
189
  return 0;
143
190
  }
144
- return runLs({ dataDir: str(values['data-dir']), all: values.all === true, json: values.json === true });
191
+ return runLs({ dataDir: str(values['data-dir']), all: values.all === true, json: values.json === true, remote: values.remote === true });
192
+ }
193
+ case 'note': {
194
+ const { values, positionals } = parseArgs({
195
+ args: rest,
196
+ options: {
197
+ ...COMMON,
198
+ message: { type: 'string', short: 'm' },
199
+ json: { type: 'boolean' },
200
+ },
201
+ allowPositionals: true,
202
+ });
203
+ if (values.help) {
204
+ console.log('usage: practi note add|list|edit|delete (see `practi note` help)');
205
+ return 0;
206
+ }
207
+ return runNote({
208
+ dataDir: str(values['data-dir']),
209
+ positional: positionals,
210
+ message: values.message,
211
+ json: values.json === true,
212
+ });
145
213
  }
146
214
  case 'new': {
147
215
  const { values, positionals } = parseArgs({
148
216
  args: rest,
149
- options: { ...COMMON, json: { type: 'string' }, file: { type: 'string' } },
217
+ options: {
218
+ ...COMMON,
219
+ json: { type: 'string' },
220
+ file: { type: 'string' },
221
+ remote: { type: 'boolean' },
222
+ publish: { type: 'boolean' },
223
+ },
150
224
  allowPositionals: true,
151
225
  });
152
226
  if (values.help) {
153
227
  console.log('usage: practi new <file.json> | practi new --json \'<text>\' | practi new < file.json');
228
+ console.log(' [--remote (create on the hub only; nothing local)] [--publish (submit for review; requires --remote)]');
154
229
  return 0;
155
230
  }
156
- return runNew({ dataDir: str(values['data-dir']), json: values.json, file: values.file, positional: positionals });
231
+ return runNew({ dataDir: str(values['data-dir']), json: values.json, file: values.file, remote: values.remote === true, publish: values.publish === true, positional: positionals });
157
232
  }
158
233
  case 'edit': {
159
234
  const { values, positionals } = parseArgs({
@@ -165,11 +240,13 @@ async function main(argv) {
165
240
  message: { type: 'string' },
166
241
  'no-revision': { type: 'boolean' },
167
242
  keep: { type: 'boolean' },
243
+ remote: { type: 'boolean' },
168
244
  },
169
245
  allowPositionals: true,
170
246
  });
171
247
  if (values.help) {
172
- console.log('usage: practi edit <hash> <file.json> [--message <text>] [--no-revision] [--keep]');
248
+ console.log('usage: practi edit <hash> <file.json> | --json \'<text>\' | < file.json [--message] [--no-revision] [--keep]');
249
+ console.log(' practi edit <hash> <file.json> --remote (replace YOUR claim on the hub only — new doc POSTed, old claim withdrawn)');
173
250
  return 0;
174
251
  }
175
252
  return runEdit({
@@ -179,6 +256,7 @@ async function main(argv) {
179
256
  message: values.message,
180
257
  noRevision: values['no-revision'] === true,
181
258
  keep: values.keep === true,
259
+ remote: values.remote === true,
182
260
  positional: positionals,
183
261
  });
184
262
  }
@@ -188,10 +266,14 @@ async function main(argv) {
188
266
  options: { ...COMMON, json: { type: 'boolean' }, doc: { type: 'boolean' } },
189
267
  allowPositionals: true,
190
268
  });
191
- if (values.help || positionals.length === 0) {
192
- console.log('usage: practi show <hash> [--json] [--doc]');
269
+ if (values.help) {
270
+ console.log('usage: practi show <hash> [--json] [--doc] (local first; full hash falls back to the hub, hash verified)');
193
271
  return 0;
194
272
  }
273
+ if (positionals.length === 0) {
274
+ console.error('usage: practi show <hash> [--json] [--doc]');
275
+ return 1;
276
+ }
195
277
  return runShow({ dataDir: str(values['data-dir']), hash: positionals[0], json: values.json === true, doc: values.doc === true });
196
278
  }
197
279
  case 'web': {
@@ -215,14 +297,14 @@ async function main(argv) {
215
297
  case 'login': {
216
298
  const { values } = parseArgs({
217
299
  args: rest,
218
- options: { ...COMMON, 'no-open': { type: 'boolean' } },
300
+ options: { ...COMMON, 'no-open': { type: 'boolean' }, reauth: { type: 'boolean' } },
219
301
  allowPositionals: true,
220
302
  });
221
303
  if (values.help) {
222
- console.log('usage: practi login [--no-open]');
304
+ console.log('usage: practi login [--no-open] [--reauth] (--reauth: logout + fresh login in one step; fine when not logged in)');
223
305
  return 0;
224
306
  }
225
- return runLogin({ dataDir: str(values['data-dir']), noOpen: values['no-open'] === true });
307
+ return runLogin({ dataDir: str(values['data-dir']), noOpen: values['no-open'] === true, reauth: values.reauth === true });
226
308
  }
227
309
  case 'logout': {
228
310
  const { values } = parseArgs({ args: rest, options: COMMON, allowPositionals: true });
@@ -258,10 +340,14 @@ async function main(argv) {
258
340
  }
259
341
  case 'clone': {
260
342
  const { values, positionals } = parseArgs({ args: rest, options: COMMON, allowPositionals: true });
261
- if (values.help || positionals.length === 0) {
343
+ if (values.help) {
262
344
  console.log('usage: practi clone <hash>');
263
345
  return 0;
264
346
  }
347
+ if (positionals.length === 0) {
348
+ console.error('usage: practi clone <hash>');
349
+ return 1;
350
+ }
265
351
  return runClone({ dataDir: str(values['data-dir']), positional: positionals });
266
352
  }
267
353
  case 'comment': {
@@ -297,12 +383,41 @@ async function main(argv) {
297
383
  json: values.json === true,
298
384
  });
299
385
  }
386
+ case 'remove': {
387
+ const { values, positionals } = parseArgs({
388
+ args: rest,
389
+ options: {
390
+ ...COMMON,
391
+ remote: { type: 'boolean' },
392
+ },
393
+ allowPositionals: true,
394
+ });
395
+ if (values.help) {
396
+ console.log('usage: practi remove <hash> (local directory; --remote withdraws the hub claim instead)');
397
+ return 0;
398
+ }
399
+ if (positionals.length === 0) {
400
+ if (values.remote === true) {
401
+ console.error('usage: practi remove <hash> --remote (explicit hash required — no default)');
402
+ }
403
+ else {
404
+ console.error('usage: practi remove <hash> (local directory; --remote withdraws the hub claim instead)');
405
+ }
406
+ return 1;
407
+ }
408
+ return runRemove({
409
+ dataDir: str(values['data-dir']),
410
+ remote: values.remote === true,
411
+ positional: positionals,
412
+ });
413
+ }
300
414
  case 'search': {
301
415
  const { values, positionals } = parseArgs({
302
416
  args: rest,
303
417
  options: {
304
418
  ...COMMON,
305
419
  local: { type: 'boolean' },
420
+ remote: { type: 'boolean' },
306
421
  scope: { type: 'string', default: 'public' },
307
422
  limit: { type: 'string' },
308
423
  json: { type: 'boolean' },
@@ -310,7 +425,8 @@ async function main(argv) {
310
425
  allowPositionals: true,
311
426
  });
312
427
  if (values.help) {
313
- console.log('usage: practi search [query...] [--local] [--scope public|me|all] [--limit N] [--json]');
428
+ console.log('usage: practi search [query...] [--local | --remote] [--scope public|me|all] [--limit N] [--json]');
429
+ console.log(' (no flag = mixed: local workspace first, then the hub; --local/--remote are mutually exclusive)');
314
430
  return 0;
315
431
  }
316
432
  const limit = values.limit ? Number(values.limit) : 20;
@@ -321,15 +437,16 @@ async function main(argv) {
321
437
  limit: Number.isInteger(limit) && limit > 0 ? Math.min(limit, 50) : 20,
322
438
  json: values.json === true,
323
439
  local: values.local === true,
440
+ remote: values.remote === true,
324
441
  });
325
442
  }
326
- case 'submit': {
443
+ case 'publish': {
327
444
  const { values, positionals } = parseArgs({ args: rest, options: COMMON, allowPositionals: true });
328
445
  if (values.help) {
329
- console.log('usage: practi submit [hash] (default: all direct pops)');
446
+ console.log('usage: practi publish [hash] (try to publish: PRIVATE → review; default: all direct pops; hash prefix OK)');
330
447
  return 0;
331
448
  }
332
- return runSubmit({ dataDir: str(values['data-dir']), positional: positionals });
449
+ return runPublish({ dataDir: str(values['data-dir']), positional: positionals });
333
450
  }
334
451
  case 'unpublish': {
335
452
  const { values, positionals } = parseArgs({ args: rest, options: COMMON, allowPositionals: true });
@@ -339,14 +456,6 @@ async function main(argv) {
339
456
  }
340
457
  return runUnpublish({ dataDir: str(values['data-dir']), positional: positionals });
341
458
  }
342
- case 'delete': {
343
- const { values, positionals } = parseArgs({ args: rest, options: COMMON, allowPositionals: true });
344
- if (values.help || positionals.length === 0) {
345
- console.log('usage: practi delete <hash> (explicit hash required)');
346
- return 0;
347
- }
348
- return runDelete({ dataDir: str(values['data-dir']), positional: positionals });
349
- }
350
459
  case 'blob': {
351
460
  const sub = rest[0];
352
461
  const { values, positionals } = parseArgs({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/notes.js ADDED
@@ -0,0 +1,121 @@
1
+ import fs from 'node:fs';
2
+ import crypto from 'node:crypto';
3
+ import path from 'node:path';
4
+ /**
5
+ * 学习笔记(本地 sidecar,不进协议、不上 hub):notes.json,扁平数组,每条钉在一个
6
+ * 节点哈希上。设计站位与 state.claims 相同——时间与个人痕迹不属于内容寻址的节点本体,
7
+ * 属于「人对这一版内容的经验」,侧挂存储。内容寻址白送的语义:笔记永远指向这一版
8
+ * 内容,不会有「笔记跟着编辑漂移」的问题(edit 换根后旧笔记成为孤儿,保留不删)。
9
+ * 与远端 comment 的分工:note=个人学习/复现经验(本地),comment=内容真实性(公共)。
10
+ */
11
+ export const NOTES_FILE = 'notes.json';
12
+ export function notesPath(dataDir) {
13
+ return path.join(dataDir, NOTES_FILE);
14
+ }
15
+ export function newNoteId() {
16
+ return crypto.randomBytes(4).toString('hex');
17
+ }
18
+ /** 接受 sha256:<64hex> 或裸 64hex,归一成全形;其余(含短前缀)返回 null——
19
+ * 存储层只认全形,前缀解析是命令层的职责(那里有工作区可查) */
20
+ export function normalizeHash(ref) {
21
+ const hex = ref.replace(/^sha256:/i, '').toLowerCase();
22
+ return /^[0-9a-f]{64}$/.test(hex) ? `sha256:${hex}` : null;
23
+ }
24
+ function asRecord(v) {
25
+ return typeof v === 'object' && v !== null && !Array.isArray(v) ? v : null;
26
+ }
27
+ /** 读取并消毒:文件缺失/损坏/条目坏一律降级(与 loadState 同一口径),逐条过滤不致命 */
28
+ export function loadNotes(dataDir) {
29
+ const empty = { schema: 1, notes: [] };
30
+ let raw;
31
+ try {
32
+ raw = fs.readFileSync(notesPath(dataDir), 'utf8');
33
+ }
34
+ catch {
35
+ return empty;
36
+ }
37
+ try {
38
+ const rec = asRecord(JSON.parse(raw));
39
+ if (rec === null || !Array.isArray(rec.notes))
40
+ return empty;
41
+ const notes = [];
42
+ for (const item of rec.notes) {
43
+ const r = asRecord(item);
44
+ if (!r)
45
+ continue;
46
+ const id = r.id;
47
+ const hash = r.hash;
48
+ const content = r.content;
49
+ const createdAt = r.createdAt;
50
+ const updatedAt = r.updatedAt;
51
+ if (typeof id !== 'string' || !/^[0-9a-f]{4,32}$/.test(id) ||
52
+ typeof hash !== 'string' || !/^sha256:[0-9a-f]{64}$/.test(hash) ||
53
+ typeof content !== 'string' ||
54
+ typeof createdAt !== 'string' || typeof updatedAt !== 'string')
55
+ continue;
56
+ notes.push({ id, hash, content, createdAt, updatedAt });
57
+ }
58
+ return { schema: 1, notes };
59
+ }
60
+ catch {
61
+ return empty;
62
+ }
63
+ }
64
+ export function saveNotes(dataDir, file) {
65
+ fs.writeFileSync(notesPath(dataDir), JSON.stringify(file, null, 2) + '\n', 'utf8');
66
+ }
67
+ /** 新增:hash 必须是调用方解析过的全形 sha256:<64hex> */
68
+ export function insertNote(dataDir, hash, content) {
69
+ const file = loadNotes(dataDir);
70
+ const now = new Date().toISOString();
71
+ const note = { id: newNoteId(), hash, content, createdAt: now, updatedAt: now };
72
+ file.notes.push(note);
73
+ saveNotes(dataDir, file);
74
+ return note;
75
+ }
76
+ function matchNote(notes, id) {
77
+ const key = id.toLowerCase();
78
+ const hits = notes.filter(n => n.id.startsWith(key));
79
+ if (hits.length === 1)
80
+ return { ok: true, note: hits[0] };
81
+ if (hits.length > 1)
82
+ return { ok: false, reason: 'ambiguous', matches: hits.length };
83
+ return { ok: false, reason: 'not_found', matches: 0 };
84
+ }
85
+ export function updateNote(dataDir, id, content) {
86
+ const file = loadNotes(dataDir);
87
+ const m = matchNote(file.notes, id);
88
+ if (!m.ok)
89
+ return m;
90
+ m.note.content = content;
91
+ m.note.updatedAt = new Date().toISOString();
92
+ saveNotes(dataDir, file);
93
+ return { ok: true, note: m.note };
94
+ }
95
+ export function removeNote(dataDir, id) {
96
+ const file = loadNotes(dataDir);
97
+ const m = matchNote(file.notes, id);
98
+ if (!m.ok)
99
+ return m;
100
+ file.notes.splice(file.notes.indexOf(m.note), 1);
101
+ saveNotes(dataDir, file);
102
+ return { ok: true, note: m.note };
103
+ }
104
+ /** 子树哈希集(含根自身):note list 按文档/子树过滤用。直接走 nodes 图的 children pin,
105
+ * 不经 exportSubtree 的 JSON 化。防环靠集合本身(内容寻址树天然无环,守一下不亏) */
106
+ export function subtreeHashes(ws, root) {
107
+ const set = new Set();
108
+ const visit = (h) => {
109
+ if (set.has(h))
110
+ return;
111
+ set.add(h);
112
+ const n = ws.nodes.get(h);
113
+ if (n?.type !== 'practice')
114
+ return;
115
+ for (const c of n.children)
116
+ visit(c.hash);
117
+ };
118
+ visit(root);
119
+ return set;
120
+ }
121
+ //# sourceMappingURL=notes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notes.js","sourceRoot":"","sources":["../src/notes.ts"],"names":[],"mappings":"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"}
package/dist/oauth.js CHANGED
@@ -89,6 +89,9 @@ export function createLoopbackSession() {
89
89
  resolveCode = res;
90
90
  rejectCode = rej;
91
91
  });
92
+ // noop handler 在创建时挂上:waitForCode 之前流程失败(registerClient 抛错/port 绑定失败)时
93
+ // close() 会 reject 本 promise——零消费者的拒绝会以未处理拒绝炸出第二份堆栈
94
+ codePromise.catch(() => { });
92
95
  let port = 0;
93
96
  const server = http.createServer((req, res) => {
94
97
  const url = new URL(req.url ?? '/', 'http://127.0.0.1');
package/dist/oauth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}