@diegopetrucci/pi-extensions 0.1.72 → 0.1.74

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 (53) hide show
  1. package/README.md +2 -2
  2. package/extensions/agent-workflow-audit/index.ts +41 -8
  3. package/extensions/agent-workflow-audit/package.json +1 -1
  4. package/extensions/annotate-git-diff/README.md +7 -3
  5. package/extensions/annotate-git-diff/git.ts +3 -2
  6. package/extensions/annotate-git-diff/index.ts +366 -81
  7. package/extensions/annotate-git-diff/package.json +2 -2
  8. package/extensions/annotate-git-diff/quiet-glimpse.ts +4 -2
  9. package/extensions/annotate-git-diff/types.ts +6 -0
  10. package/extensions/annotate-git-diff/web/app.js +54 -4
  11. package/extensions/annotate-git-diff/web/index.html +2 -2
  12. package/extensions/annotate-last-message/README.md +9 -1
  13. package/extensions/annotate-last-message/index.ts +53 -13
  14. package/extensions/annotate-last-message/package.json +2 -1
  15. package/extensions/annotate-last-message/quiet-glimpse.ts +4 -2
  16. package/extensions/annotate-last-message/theme.ts +247 -0
  17. package/extensions/annotate-last-message/ui.ts +28 -2
  18. package/extensions/annotate-last-message/web/app.js +351 -162
  19. package/extensions/annotate-last-message/web/index.html +153 -24
  20. package/extensions/annotate-last-message/web/md-renderer.js +458 -0
  21. package/extensions/code-reviewer/index.ts +12 -1
  22. package/extensions/code-reviewer/package.json +2 -1
  23. package/extensions/context-cap/README.md +33 -4
  24. package/extensions/context-cap/index.ts +271 -68
  25. package/extensions/context-cap/package.json +1 -1
  26. package/extensions/context-inspector/README.md +2 -0
  27. package/extensions/context-inspector/index.ts +90 -9
  28. package/extensions/context-inspector/package.json +1 -1
  29. package/extensions/contrarian/index.ts +21 -15
  30. package/extensions/contrarian/package.json +1 -1
  31. package/extensions/dynamic-context-pruning/README.md +17 -5
  32. package/extensions/dynamic-context-pruning/index.ts +17 -4
  33. package/extensions/dynamic-context-pruning/package.json +1 -1
  34. package/extensions/fast/README.md +36 -3
  35. package/extensions/fast/index.ts +6 -2
  36. package/extensions/fast/package.json +1 -1
  37. package/extensions/git-footer/README.md +1 -0
  38. package/extensions/git-footer/package.json +1 -1
  39. package/extensions/librarian/index.ts +7 -0
  40. package/extensions/librarian/package.json +2 -1
  41. package/extensions/minimal-footer/README.md +16 -4
  42. package/extensions/minimal-footer/index.ts +263 -14
  43. package/extensions/minimal-footer/openai-usage.ts +62 -8
  44. package/extensions/minimal-footer/package.json +1 -1
  45. package/extensions/oracle/index.ts +19 -18
  46. package/extensions/oracle/package.json +1 -1
  47. package/extensions/permission-gate/README.md +6 -0
  48. package/extensions/permission-gate/index.ts +37 -16
  49. package/extensions/permission-gate/package.json +1 -1
  50. package/extensions/quiet-tools/README.md +1 -1
  51. package/extensions/quiet-tools/package.json +1 -1
  52. package/extensions/triage-comments/package.json +2 -1
  53. package/package.json +4 -4
@@ -5,19 +5,45 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>annotate last message</title>
7
7
  <style>
8
+ /*
9
+ * Dark-neutral defaults. The injected theme block (see tlh-theme-vars below)
10
+ * overrides semantic and Markdown colours from ctx.ui.theme. When Pi's theme
11
+ * cannot provide a token, the matching dark/light fallback remains readable.
12
+ *
13
+ * The --md* fallback values below are kept in sync with the FALLBACK
14
+ * object in theme.ts so this template renders correctly when the injected
15
+ * theme block is absent (e.g. opened standalone in a browser for debugging).
16
+ */
8
17
  :root {
9
- color-scheme: dark;
18
+ color-scheme: var(--color-scheme, dark);
19
+ --color-scheme: dark;
10
20
  --bg: #0d1117;
11
21
  --panel: #151b23;
12
22
  --panel-hover: #1f242c;
23
+ --inset: #0b1118;
13
24
  --border: #30363d;
25
+ --border-muted: #21262d;
14
26
  --text: #f0f6fc;
15
- --muted: #9198a1;
16
- --accent: #4493f8;
17
- --accent-strong: #1f6feb;
18
- --success: #238636;
19
- --success-strong: #2ea043;
20
- --danger: #da3633;
27
+ --muted: #8a8a8a;
28
+ --dim: #585858;
29
+ --accent: #f4c95d;
30
+ --success: #7ee787;
31
+ --error: #ffb3b3;
32
+ --warning: #f4c95d;
33
+
34
+ /* Markdown token colours — kept in sync with FALLBACK in theme.ts */
35
+ --mdHeading: #f4c95d;
36
+ --mdLink: #7dd3fc;
37
+ --mdLinkUrl: #8a8a8a;
38
+ --mdCode: #9b7bff;
39
+ --mdCodeBlock: inherit;
40
+ --mdCodeBlockBorder: #6f42c1;
41
+ --mdQuote: #8a8a8a;
42
+ --mdQuoteBorder: #6f42c1;
43
+ --mdHr: #585858;
44
+ --mdListBullet: #f4c95d;
45
+ --mdBold: inherit;
46
+ --mdItalic: inherit;
21
47
  }
22
48
 
23
49
  * { box-sizing: border-box; }
@@ -64,12 +90,12 @@
64
90
  border: 1px solid var(--border);
65
91
  border-radius: 8px;
66
92
  resize: vertical;
67
- background: #0b1118;
93
+ background: var(--inset);
68
94
  color: var(--text);
69
95
  }
70
96
 
71
97
  textarea:focus {
72
- outline: 2px solid rgba(68, 147, 248, 0.35);
98
+ outline: 2px solid color-mix(in srgb, var(--accent) 35%, transparent);
73
99
  border-color: var(--accent);
74
100
  }
75
101
 
@@ -77,7 +103,7 @@
77
103
  .page-footer {
78
104
  padding: 16px 20px;
79
105
  border-bottom: 1px solid var(--border);
80
- background: rgba(13, 17, 23, 0.96);
106
+ background: var(--bg);
81
107
  }
82
108
 
83
109
  .page-footer {
@@ -171,9 +197,9 @@
171
197
  }
172
198
 
173
199
  .inline-toggle[data-active="true"] {
174
- border-color: rgba(68, 147, 248, 0.45);
175
- background: rgba(68, 147, 248, 0.12);
176
- color: #c2ddff;
200
+ border-color: color-mix(in srgb, var(--accent) 45%, transparent);
201
+ background: color-mix(in srgb, var(--accent) 12%, transparent);
202
+ color: var(--text);
177
203
  }
178
204
 
179
205
  .inline-editor {
@@ -181,7 +207,7 @@
181
207
  padding: 12px;
182
208
  border: 1px solid var(--border);
183
209
  border-radius: 10px;
184
- background: rgba(1, 4, 9, 0.28);
210
+ background: var(--inset);
185
211
  }
186
212
 
187
213
  .inline-editor[hidden] {
@@ -212,7 +238,7 @@
212
238
  padding: 12px;
213
239
  border: 1px solid var(--border);
214
240
  border-radius: 10px;
215
- background: rgba(1, 4, 9, 0.18);
241
+ background: var(--inset);
216
242
  }
217
243
 
218
244
  .section-card + .section-card {
@@ -223,7 +249,7 @@
223
249
  margin: 8px 0 10px;
224
250
  padding: 10px 12px;
225
251
  border-radius: 8px;
226
- background: #0b1118;
252
+ background: var(--inset);
227
253
  font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;
228
254
  white-space: pre-wrap;
229
255
  word-break: break-word;
@@ -243,24 +269,122 @@
243
269
  }
244
270
 
245
271
  .submit-button {
246
- border-color: rgba(46, 160, 67, 0.5);
247
- background: var(--success);
272
+ border-color: color-mix(in srgb, var(--accent) 50%, transparent);
273
+ background: color-mix(in srgb, var(--accent) 20%, var(--panel));
248
274
  }
249
275
 
250
276
  .submit-button:hover:not(:disabled) {
251
- background: var(--success-strong);
277
+ background: color-mix(in srgb, var(--accent) 32%, var(--panel));
252
278
  }
253
279
 
254
280
  .cancel-button:hover:not(:disabled) {
255
- border-color: rgba(218, 54, 51, 0.45);
281
+ border-color: color-mix(in srgb, var(--muted) 45%, transparent);
256
282
  }
257
283
 
258
284
  .status[data-state="error"] {
259
- color: #ffb3b3;
285
+ color: var(--error);
260
286
  }
261
287
 
262
288
  .status[data-state="ready"] {
263
- color: #7ee787;
289
+ color: var(--success);
290
+ }
291
+
292
+ /* -------------------------------------------------------------------------
293
+ * Markdown token classes — consumed by the safe browser renderer.
294
+ * Mirrors upstream Pi's .markdown-content rules from
295
+ * dist/core/export-html/template.css, adapted for the 13px/1.6 monospace
296
+ * annotate-window context.
297
+ * --mdBold / --mdItalic are colour vars (typically "inherit"); actual bold /
298
+ * italic rendering uses font-weight / font-style.
299
+ * ------------------------------------------------------------------------- */
300
+
301
+ .markdown-content {
302
+ white-space: pre-wrap;
303
+ word-break: break-word;
304
+ }
305
+
306
+ .markdown-content h1,
307
+ .markdown-content h2,
308
+ .markdown-content h3,
309
+ .markdown-content h4,
310
+ .markdown-content h5,
311
+ .markdown-content h6 {
312
+ color: var(--mdHeading);
313
+ font-weight: bold;
314
+ margin: 0;
315
+ }
316
+
317
+ .markdown-content p { margin: 0; }
318
+ .markdown-content p + p { margin-top: 4px; }
319
+
320
+ .markdown-content a {
321
+ color: var(--mdLink);
322
+ text-decoration: underline;
323
+ }
324
+
325
+ /* Link URL shown beside or below the link text */
326
+ .markdown-content .md-link-url {
327
+ color: var(--mdLinkUrl);
328
+ font-size: 0.9em;
329
+ text-decoration: none;
330
+ }
331
+
332
+ .markdown-content code {
333
+ background: color-mix(in srgb, var(--text) 12%, var(--panel));
334
+ color: var(--mdCode);
335
+ padding: 0 3px;
336
+ border-radius: 3px;
337
+ font-family: inherit;
338
+ }
339
+
340
+ .markdown-content pre {
341
+ background: transparent;
342
+ margin: 4px 0;
343
+ overflow-x: auto;
344
+ border-left: 3px solid var(--mdCodeBlockBorder);
345
+ padding-left: 8px;
346
+ }
347
+
348
+ .markdown-content pre code {
349
+ display: block;
350
+ background: none;
351
+ color: var(--mdCodeBlock, var(--text));
352
+ padding: 0;
353
+ }
354
+
355
+ .markdown-content blockquote {
356
+ border-left: 3px solid var(--mdQuoteBorder);
357
+ padding-left: 8px;
358
+ margin: 4px 0;
359
+ color: var(--mdQuote);
360
+ font-style: italic;
361
+ }
362
+
363
+ .markdown-content ul,
364
+ .markdown-content ol {
365
+ margin: 4px 0;
366
+ padding-left: 1.5em;
367
+ }
368
+
369
+ .markdown-content li { margin: 0; }
370
+ .markdown-content li::marker { color: var(--mdListBullet); }
371
+
372
+ .markdown-content hr {
373
+ border: none;
374
+ border-top: 1px solid var(--mdHr);
375
+ margin: 6px 0;
376
+ }
377
+
378
+ /* Bold / italic: font-weight/font-style carry the visual emphasis;
379
+ * --mdBold / --mdItalic are colour vars (inherit for Pi's ANSI theme). */
380
+ .markdown-content strong {
381
+ font-weight: bold;
382
+ color: var(--mdBold);
383
+ }
384
+
385
+ .markdown-content em {
386
+ font-style: italic;
387
+ color: var(--mdItalic);
264
388
  }
265
389
 
266
390
  @media (max-width: 1100px) {
@@ -275,11 +399,13 @@
275
399
  }
276
400
  }
277
401
  </style>
402
+ <!-- Live Pi theme vars — injected by ui.ts, overrides the static :root defaults above -->
403
+ <style id="tlh-theme-vars">__INLINE_THEME__</style>
278
404
  </head>
279
405
  <body>
280
406
  <header class="page-header">
281
407
  <h1>Annotate last assistant message</h1>
282
- <p>Review the latest assistant text, add inline or section notes, and submit a structured prompt back to the editor.</p>
408
+ <p>Review the latest assistant message, add notes, and submit feedback to the agent.</p>
283
409
  </header>
284
410
 
285
411
  <div class="layout">
@@ -307,7 +433,7 @@
307
433
  </div>
308
434
 
309
435
  <footer class="page-footer">
310
- <p id="status" class="status">Add any feedback you want to send back to the editor.</p>
436
+ <p id="status" class="status">Add any feedback you want to send to the agent.</p>
311
437
  <div class="footer-actions">
312
438
  <button id="cancel-button" class="cancel-button" type="button">Cancel</button>
313
439
  <button id="submit-button" class="submit-button" type="button">Submit feedback</button>
@@ -316,6 +442,9 @@
316
442
 
317
443
  <script id="annotate-last-message-data" type="application/json">"__INLINE_DATA__"</script>
318
444
  <script>
445
+ __INLINE_MD_RENDERER_JS__
446
+ </script>
447
+ <script>
319
448
  __INLINE_JS__
320
449
  </script>
321
450
  </body>