@oh-my-pi/pi-coding-agent 14.8.1 → 14.9.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.
Files changed (56) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/package.json +16 -7
  3. package/src/config/model-resolver.ts +92 -35
  4. package/src/config/prompt-templates.ts +1 -1
  5. package/src/debug/index.ts +21 -0
  6. package/src/debug/raw-sse-buffer.ts +229 -0
  7. package/src/debug/raw-sse.ts +213 -0
  8. package/src/edit/index.ts +9 -10
  9. package/src/edit/streaming.ts +6 -5
  10. package/src/eval/js/context-manager.ts +91 -47
  11. package/src/extensibility/extensions/loader.ts +9 -3
  12. package/src/extensibility/plugins/legacy-pi-compat.ts +99 -20
  13. package/src/hashline/anchors.ts +113 -0
  14. package/src/hashline/apply.ts +732 -0
  15. package/src/hashline/bigrams.json +649 -0
  16. package/src/hashline/constants.ts +8 -0
  17. package/src/hashline/diff-preview.ts +43 -0
  18. package/src/hashline/diff.ts +56 -0
  19. package/src/hashline/execute.ts +268 -0
  20. package/src/{edit/modes/hashline.lark → hashline/grammar.lark} +1 -1
  21. package/src/{edit/line-hash.ts → hashline/hash.ts} +5 -651
  22. package/src/hashline/index.ts +14 -0
  23. package/src/hashline/input.ts +110 -0
  24. package/src/hashline/parser.ts +220 -0
  25. package/src/hashline/prefixes.ts +101 -0
  26. package/src/hashline/recovery.ts +72 -0
  27. package/src/hashline/stream.ts +123 -0
  28. package/src/hashline/types.ts +69 -0
  29. package/src/hashline/utils.ts +3 -0
  30. package/src/index.ts +1 -1
  31. package/src/lsp/index.ts +1 -1
  32. package/src/lsp/render.ts +4 -0
  33. package/src/memories/index.ts +13 -4
  34. package/src/modes/components/assistant-message.ts +55 -9
  35. package/src/modes/components/welcome.ts +114 -38
  36. package/src/modes/controllers/event-controller.ts +3 -1
  37. package/src/modes/controllers/input-controller.ts +8 -1
  38. package/src/modes/interactive-mode.ts +9 -9
  39. package/src/modes/rpc/rpc-client.ts +53 -2
  40. package/src/modes/rpc/rpc-mode.ts +67 -1
  41. package/src/modes/rpc/rpc-types.ts +17 -2
  42. package/src/modes/utils/ui-helpers.ts +3 -1
  43. package/src/prompts/agents/reviewer.md +14 -0
  44. package/src/prompts/tools/hashline.md +57 -10
  45. package/src/sdk.ts +4 -3
  46. package/src/session/agent-session.ts +195 -30
  47. package/src/session/compaction/branch-summarization.ts +4 -2
  48. package/src/session/compaction/compaction.ts +22 -3
  49. package/src/task/executor.ts +21 -2
  50. package/src/task/index.ts +4 -1
  51. package/src/tools/ast-edit.ts +1 -1
  52. package/src/tools/match-line-format.ts +1 -1
  53. package/src/tools/read.ts +1 -1
  54. package/src/utils/file-mentions.ts +1 -1
  55. package/src/utils/title-generator.ts +11 -0
  56. package/src/edit/modes/hashline.ts +0 -2039
@@ -1,8 +1,10 @@
1
1
  /**
2
- * Lightweight line-hash utilities extracted from hashline.ts to avoid
3
- * circular dependencies (prompt-templates → hashline → tools → edit).
2
+ * Core hash utilities shared by hashline edit mode, read/search output,
3
+ * and prompt helpers.
4
4
  */
5
5
 
6
+ import bigrams from "./bigrams.json" with { type: "json" };
7
+
6
8
  /**
7
9
  * 647 single-token BPE bigrams for hashline anchors. Every entry tokenizes as
8
10
  * exactly one token in modern BPE vocabularies (cl100k / o200k / Claude family),
@@ -15,655 +17,7 @@
15
17
  * Order is stable forever — changing it would invalidate every saved
16
18
  * `LINE+ID` reference in transcripts and prompts.
17
19
  */
18
- export const HL_BIGRAMS = [
19
- "aa",
20
- "ab",
21
- "ac",
22
- "ad",
23
- "ae",
24
- "af",
25
- "ag",
26
- "ah",
27
- "ai",
28
- "aj",
29
- "ak",
30
- "al",
31
- "am",
32
- "an",
33
- "ao",
34
- "ap",
35
- "aq",
36
- "ar",
37
- "as",
38
- "at",
39
- "au",
40
- "av",
41
- "aw",
42
- "ax",
43
- "ay",
44
- "az",
45
- "ba",
46
- "bb",
47
- "bc",
48
- "bd",
49
- "be",
50
- "bf",
51
- "bg",
52
- "bh",
53
- "bi",
54
- "bj",
55
- "bk",
56
- "bl",
57
- "bm",
58
- "bn",
59
- "bo",
60
- "bp",
61
- "br",
62
- "bs",
63
- "bt",
64
- "bu",
65
- "bv",
66
- "bw",
67
- "bx",
68
- "by",
69
- "bz",
70
- "ca",
71
- "cb",
72
- "cc",
73
- "cd",
74
- "ce",
75
- "cf",
76
- "cg",
77
- "ch",
78
- "ci",
79
- "cj",
80
- "ck",
81
- "cl",
82
- "cm",
83
- "cn",
84
- "co",
85
- "cp",
86
- "cq",
87
- "cr",
88
- "cs",
89
- "ct",
90
- "cu",
91
- "cv",
92
- "cw",
93
- "cx",
94
- "cy",
95
- "cz",
96
- "da",
97
- "db",
98
- "dc",
99
- "dd",
100
- "de",
101
- "df",
102
- "dg",
103
- "dh",
104
- "di",
105
- "dj",
106
- "dk",
107
- "dl",
108
- "dm",
109
- "dn",
110
- "do",
111
- "dp",
112
- "dq",
113
- "dr",
114
- "ds",
115
- "dt",
116
- "du",
117
- "dv",
118
- "dw",
119
- "dx",
120
- "dy",
121
- "dz",
122
- "ea",
123
- "eb",
124
- "ec",
125
- "ed",
126
- "ee",
127
- "ef",
128
- "eg",
129
- "eh",
130
- "ei",
131
- "ej",
132
- "ek",
133
- "el",
134
- "em",
135
- "en",
136
- "eo",
137
- "ep",
138
- "eq",
139
- "er",
140
- "es",
141
- "et",
142
- "eu",
143
- "ev",
144
- "ew",
145
- "ex",
146
- "ey",
147
- "ez",
148
- "fa",
149
- "fb",
150
- "fc",
151
- "fd",
152
- "fe",
153
- "ff",
154
- "fg",
155
- "fh",
156
- "fi",
157
- "fj",
158
- "fk",
159
- "fl",
160
- "fm",
161
- "fn",
162
- "fo",
163
- "fp",
164
- "fq",
165
- "fr",
166
- "fs",
167
- "ft",
168
- "fu",
169
- "fv",
170
- "fw",
171
- "fx",
172
- "fy",
173
- "fz",
174
- "ga",
175
- "gb",
176
- "gc",
177
- "gd",
178
- "ge",
179
- "gf",
180
- "gg",
181
- "gh",
182
- "gi",
183
- "gj",
184
- "gl",
185
- "gm",
186
- "gn",
187
- "go",
188
- "gp",
189
- "gr",
190
- "gs",
191
- "gt",
192
- "gu",
193
- "gv",
194
- "gw",
195
- "gx",
196
- "gy",
197
- "gz",
198
- "ha",
199
- "hb",
200
- "hc",
201
- "hd",
202
- "he",
203
- "hf",
204
- "hg",
205
- "hh",
206
- "hi",
207
- "hj",
208
- "hk",
209
- "hl",
210
- "hm",
211
- "hn",
212
- "ho",
213
- "hp",
214
- "hq",
215
- "hr",
216
- "hs",
217
- "ht",
218
- "hu",
219
- "hv",
220
- "hw",
221
- "hx",
222
- "hy",
223
- "hz",
224
- "ia",
225
- "ib",
226
- "ic",
227
- "id",
228
- "ie",
229
- "if",
230
- "ig",
231
- "ih",
232
- "ii",
233
- "ij",
234
- "ik",
235
- "il",
236
- "im",
237
- "in",
238
- "io",
239
- "ip",
240
- "iq",
241
- "ir",
242
- "is",
243
- "it",
244
- "iu",
245
- "iv",
246
- "iw",
247
- "ix",
248
- "iy",
249
- "iz",
250
- "ja",
251
- "jb",
252
- "jc",
253
- "jd",
254
- "je",
255
- "jf",
256
- "jg",
257
- "jh",
258
- "ji",
259
- "jj",
260
- "jk",
261
- "jl",
262
- "jm",
263
- "jn",
264
- "jo",
265
- "jp",
266
- "jq",
267
- "jr",
268
- "js",
269
- "jt",
270
- "ju",
271
- "jw",
272
- "jx",
273
- "jy",
274
- "ka",
275
- "kb",
276
- "kc",
277
- "kd",
278
- "ke",
279
- "kf",
280
- "kg",
281
- "kh",
282
- "ki",
283
- "kj",
284
- "kk",
285
- "kl",
286
- "km",
287
- "kn",
288
- "ko",
289
- "kp",
290
- "kr",
291
- "ks",
292
- "kt",
293
- "ku",
294
- "kv",
295
- "kw",
296
- "kx",
297
- "ky",
298
- "la",
299
- "lb",
300
- "lc",
301
- "ld",
302
- "le",
303
- "lf",
304
- "lg",
305
- "lh",
306
- "li",
307
- "lj",
308
- "lk",
309
- "ll",
310
- "lm",
311
- "ln",
312
- "lo",
313
- "lp",
314
- "lr",
315
- "ls",
316
- "lt",
317
- "lu",
318
- "lv",
319
- "lw",
320
- "lx",
321
- "ly",
322
- "lz",
323
- "ma",
324
- "mb",
325
- "mc",
326
- "md",
327
- "me",
328
- "mf",
329
- "mg",
330
- "mh",
331
- "mi",
332
- "mj",
333
- "mk",
334
- "ml",
335
- "mm",
336
- "mn",
337
- "mo",
338
- "mp",
339
- "mq",
340
- "mr",
341
- "ms",
342
- "mt",
343
- "mu",
344
- "mv",
345
- "mw",
346
- "mx",
347
- "my",
348
- "mz",
349
- "na",
350
- "nb",
351
- "nc",
352
- "nd",
353
- "ne",
354
- "nf",
355
- "ng",
356
- "nh",
357
- "ni",
358
- "nj",
359
- "nk",
360
- "nl",
361
- "nm",
362
- "nn",
363
- "no",
364
- "np",
365
- "nr",
366
- "ns",
367
- "nt",
368
- "nu",
369
- "nv",
370
- "nw",
371
- "nx",
372
- "ny",
373
- "nz",
374
- "oa",
375
- "ob",
376
- "oc",
377
- "od",
378
- "oe",
379
- "of",
380
- "og",
381
- "oh",
382
- "oi",
383
- "oj",
384
- "ok",
385
- "ol",
386
- "om",
387
- "on",
388
- "oo",
389
- "op",
390
- "oq",
391
- "or",
392
- "os",
393
- "ot",
394
- "ou",
395
- "ov",
396
- "ow",
397
- "ox",
398
- "oy",
399
- "oz",
400
- "pa",
401
- "pb",
402
- "pc",
403
- "pd",
404
- "pe",
405
- "pf",
406
- "pg",
407
- "ph",
408
- "pi",
409
- "pj",
410
- "pk",
411
- "pl",
412
- "pm",
413
- "pn",
414
- "po",
415
- "pp",
416
- "pq",
417
- "pr",
418
- "ps",
419
- "pt",
420
- "pu",
421
- "pv",
422
- "pw",
423
- "px",
424
- "py",
425
- "pz",
426
- "qa",
427
- "qb",
428
- "qc",
429
- "qd",
430
- "qe",
431
- "qh",
432
- "qi",
433
- "ql",
434
- "qm",
435
- "qn",
436
- "qo",
437
- "qp",
438
- "qq",
439
- "qr",
440
- "qs",
441
- "qt",
442
- "qu",
443
- "qw",
444
- "qx",
445
- "qy",
446
- "ra",
447
- "rb",
448
- "rc",
449
- "rd",
450
- "re",
451
- "rf",
452
- "rg",
453
- "rh",
454
- "ri",
455
- "rk",
456
- "rl",
457
- "rm",
458
- "rn",
459
- "ro",
460
- "rp",
461
- "rq",
462
- "rr",
463
- "rs",
464
- "rt",
465
- "ru",
466
- "rv",
467
- "rw",
468
- "rx",
469
- "ry",
470
- "rz",
471
- "sa",
472
- "sb",
473
- "sc",
474
- "sd",
475
- "se",
476
- "sf",
477
- "sg",
478
- "sh",
479
- "si",
480
- "sj",
481
- "sk",
482
- "sl",
483
- "sm",
484
- "sn",
485
- "so",
486
- "sp",
487
- "sq",
488
- "sr",
489
- "ss",
490
- "st",
491
- "su",
492
- "sv",
493
- "sw",
494
- "sx",
495
- "sy",
496
- "sz",
497
- "ta",
498
- "tb",
499
- "tc",
500
- "td",
501
- "te",
502
- "tf",
503
- "tg",
504
- "th",
505
- "ti",
506
- "tj",
507
- "tk",
508
- "tl",
509
- "tm",
510
- "tn",
511
- "to",
512
- "tp",
513
- "tr",
514
- "ts",
515
- "tt",
516
- "tu",
517
- "tv",
518
- "tw",
519
- "tx",
520
- "ty",
521
- "tz",
522
- "ua",
523
- "ub",
524
- "uc",
525
- "ud",
526
- "ue",
527
- "uf",
528
- "ug",
529
- "uh",
530
- "ui",
531
- "uj",
532
- "uk",
533
- "ul",
534
- "um",
535
- "un",
536
- "uo",
537
- "up",
538
- "uq",
539
- "ur",
540
- "us",
541
- "ut",
542
- "uu",
543
- "uv",
544
- "uw",
545
- "ux",
546
- "uy",
547
- "uz",
548
- "va",
549
- "vb",
550
- "vc",
551
- "vd",
552
- "ve",
553
- "vf",
554
- "vg",
555
- "vh",
556
- "vi",
557
- "vj",
558
- "vk",
559
- "vl",
560
- "vm",
561
- "vn",
562
- "vo",
563
- "vp",
564
- "vq",
565
- "vr",
566
- "vs",
567
- "vt",
568
- "vu",
569
- "vv",
570
- "vw",
571
- "vx",
572
- "vy",
573
- "vz",
574
- "wa",
575
- "wb",
576
- "wc",
577
- "wd",
578
- "we",
579
- "wf",
580
- "wg",
581
- "wh",
582
- "wi",
583
- "wj",
584
- "wk",
585
- "wl",
586
- "wm",
587
- "wn",
588
- "wo",
589
- "wp",
590
- "wr",
591
- "ws",
592
- "wt",
593
- "wu",
594
- "wv",
595
- "ww",
596
- "wx",
597
- "wy",
598
- "xa",
599
- "xb",
600
- "xc",
601
- "xd",
602
- "xe",
603
- "xf",
604
- "xh",
605
- "xi",
606
- "xl",
607
- "xm",
608
- "xn",
609
- "xo",
610
- "xp",
611
- "xr",
612
- "xs",
613
- "xt",
614
- "xu",
615
- "xx",
616
- "xy",
617
- "xz",
618
- "ya",
619
- "yb",
620
- "yc",
621
- "yd",
622
- "ye",
623
- "yf",
624
- "yg",
625
- "yh",
626
- "yi",
627
- "yj",
628
- "yk",
629
- "yl",
630
- "ym",
631
- "yn",
632
- "yo",
633
- "yp",
634
- "yr",
635
- "ys",
636
- "yt",
637
- "yu",
638
- "yv",
639
- "yw",
640
- "yx",
641
- "yy",
642
- "yz",
643
- "za",
644
- "zb",
645
- "zc",
646
- "zd",
647
- "ze",
648
- "zf",
649
- "zg",
650
- "zh",
651
- "zi",
652
- "zk",
653
- "zl",
654
- "zm",
655
- "zn",
656
- "zo",
657
- "zp",
658
- "zr",
659
- "zs",
660
- "zt",
661
- "zu",
662
- "zw",
663
- "zx",
664
- "zy",
665
- "zz",
666
- ] as const;
20
+ export const HL_BIGRAMS: readonly string[] = bigrams;
667
21
 
668
22
  export const HL_BIGRAMS_COUNT = HL_BIGRAMS.length;
669
23
 
@@ -0,0 +1,14 @@
1
+ export * from "./anchors";
2
+ export * from "./apply";
3
+ export * from "./constants";
4
+ export * from "./diff";
5
+ export * from "./diff-preview";
6
+ export * from "./execute";
7
+ export * from "./hash";
8
+ export * from "./input";
9
+ export * from "./parser";
10
+ export * from "./prefixes";
11
+ export * from "./recovery";
12
+ export * from "./stream";
13
+ export * from "./types";
14
+ export * from "./utils";