@oh-my-pi/pi-coding-agent 16.0.7 → 16.0.9

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 (96) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/cli.js +4817 -12449
  3. package/dist/types/cli/args.d.ts +1 -0
  4. package/dist/types/cli/update-cli.d.ts +11 -0
  5. package/dist/types/commands/launch.d.ts +3 -0
  6. package/dist/types/debug/remote-debugger.d.ts +45 -0
  7. package/dist/types/goals/runtime.d.ts +4 -1
  8. package/dist/types/internal-urls/docs-index.d.ts +19 -0
  9. package/dist/types/markit/converters/docx.d.ts +6 -0
  10. package/dist/types/markit/converters/epub.d.ts +15 -0
  11. package/dist/types/markit/converters/pdf/columns.d.ts +35 -0
  12. package/dist/types/markit/converters/pdf/extract.d.ts +10 -0
  13. package/dist/types/markit/converters/pdf/grid.d.ts +25 -0
  14. package/dist/types/markit/converters/pdf/headers.d.ts +24 -0
  15. package/dist/types/markit/converters/pdf/index.d.ts +6 -0
  16. package/dist/types/markit/converters/pdf/render.d.ts +24 -0
  17. package/dist/types/markit/converters/pdf/types.d.ts +75 -0
  18. package/dist/types/markit/converters/pptx.d.ts +57 -0
  19. package/dist/types/markit/converters/xlsx.d.ts +25 -0
  20. package/dist/types/markit/index.d.ts +2 -0
  21. package/dist/types/markit/registry.d.ts +16 -0
  22. package/dist/types/markit/types.d.ts +30 -0
  23. package/dist/types/modes/print-mode.d.ts +2 -0
  24. package/dist/types/session/agent-session.d.ts +7 -8
  25. package/dist/types/session/auth-storage.d.ts +3 -2
  26. package/dist/types/session/yield-queue.d.ts +3 -1
  27. package/dist/types/tools/browser/attach.d.ts +1 -1
  28. package/dist/types/utils/markit.d.ts +0 -8
  29. package/dist/types/utils/mupdf-wasm-embed.d.ts +1 -0
  30. package/dist/types/utils/turndown.d.ts +15 -0
  31. package/dist/types/utils/zip.d.ts +119 -0
  32. package/package.json +20 -18
  33. package/scripts/build-binary.ts +7 -3
  34. package/scripts/bundle-dist.ts +28 -12
  35. package/scripts/embed-mupdf-wasm.ts +67 -0
  36. package/scripts/generate-docs-index.ts +48 -32
  37. package/scripts/omp +1 -1
  38. package/src/advisor/__tests__/advisor.test.ts +83 -0
  39. package/src/advisor/runtime.ts +16 -1
  40. package/src/cli/args.ts +3 -0
  41. package/src/cli/auth-broker-cli.ts +1 -3
  42. package/src/cli/auth-gateway-cli.ts +2 -5
  43. package/src/cli/flag-tables.ts +1 -0
  44. package/src/cli/update-cli.ts +63 -3
  45. package/src/commands/launch.ts +3 -0
  46. package/src/config/model-discovery.ts +20 -8
  47. package/src/config/models-config-schema.ts +8 -1
  48. package/src/debug/index.ts +44 -0
  49. package/src/debug/remote-debugger.ts +151 -0
  50. package/src/debug/report-bundle.ts +2 -1
  51. package/src/goals/runtime.ts +19 -7
  52. package/src/internal-urls/docs-index.generated.txt +2 -0
  53. package/src/internal-urls/docs-index.ts +102 -0
  54. package/src/internal-urls/omp-protocol.ts +10 -9
  55. package/src/main.ts +8 -0
  56. package/src/markit/NOTICE +32 -0
  57. package/src/markit/converters/docx.ts +56 -0
  58. package/src/markit/converters/epub.ts +136 -0
  59. package/src/markit/converters/mammoth.d.ts +24 -0
  60. package/src/markit/converters/pdf/columns.ts +103 -0
  61. package/src/markit/converters/pdf/extract.ts +574 -0
  62. package/src/markit/converters/pdf/grid.ts +780 -0
  63. package/src/markit/converters/pdf/headers.ts +106 -0
  64. package/src/markit/converters/pdf/index.ts +146 -0
  65. package/src/markit/converters/pdf/render.ts +501 -0
  66. package/src/markit/converters/pdf/types.ts +84 -0
  67. package/src/markit/converters/pptx.ts +325 -0
  68. package/src/markit/converters/xlsx.ts +173 -0
  69. package/src/markit/index.ts +2 -0
  70. package/src/markit/registry.ts +59 -0
  71. package/src/markit/types.ts +35 -0
  72. package/src/modes/components/snapcompact-shape-preview-doc.md +14 -7
  73. package/src/modes/components/snapcompact-shape-preview.ts +2 -2
  74. package/src/modes/controllers/input-controller.ts +29 -8
  75. package/src/modes/interactive-mode.ts +33 -12
  76. package/src/modes/print-mode.ts +5 -1
  77. package/src/prompts/advisor/advise-tool.md +3 -1
  78. package/src/prompts/advisor/system.md +55 -11
  79. package/src/sdk.ts +5 -9
  80. package/src/session/agent-session.ts +72 -42
  81. package/src/session/auth-storage.ts +2 -11
  82. package/src/session/yield-queue.ts +7 -1
  83. package/src/tools/browser/attach.ts +2 -2
  84. package/src/tools/fetch.ts +25 -60
  85. package/src/tools/read.ts +1 -1
  86. package/src/tools/search.ts +1 -6
  87. package/src/tools/write.ts +25 -65
  88. package/src/utils/markit.ts +25 -9
  89. package/src/utils/mupdf-wasm-embed.ts +12 -0
  90. package/src/utils/tools-manager.ts +2 -11
  91. package/src/utils/turndown.ts +83 -0
  92. package/src/{tools/archive-reader.ts → utils/zip.ts} +453 -83
  93. package/src/web/scrapers/types.ts +3 -46
  94. package/dist/types/internal-urls/docs-index.generated.d.ts +0 -2
  95. package/dist/types/tools/archive-reader.d.ts +0 -49
  96. package/src/internal-urls/docs-index.generated.ts +0 -120
@@ -243,58 +243,15 @@ export async function loadPage(url: string, options: LoadPageOptions = {}): Prom
243
243
  /** Module-level Turndown instance — built lazily on first use. */
244
244
  let turndownPromise: Promise<TurndownService> | undefined;
245
245
 
246
- type TurndownListParent = {
247
- nodeName: string;
248
- getAttribute(name: string): string | null;
249
- children: ArrayLike<unknown>;
250
- };
251
-
252
246
  function getTurndown(): Promise<TurndownService> {
253
247
  turndownPromise ||= initTurndown();
254
248
  return turndownPromise;
255
249
  }
256
250
 
257
251
  async function initTurndown(): Promise<TurndownService> {
258
- const [{ default: TurndownService }, { gfm }] = await Promise.all([
259
- import("turndown"),
260
- import("turndown-plugin-gfm"),
261
- ]);
262
- const turndown = new TurndownService({
263
- headingStyle: "atx",
264
- codeBlockStyle: "fenced",
265
- bulletListMarker: "-",
266
- });
267
- turndown.use(gfm);
268
- turndown.addRule("strikethrough", {
269
- filter: ["del", "s", "strike"],
270
- replacement(content) {
271
- return `~~${content}~~`;
272
- },
273
- });
274
- turndown.addRule("heading", {
275
- filter: ["h1", "h2", "h3", "h4", "h5", "h6"],
276
- replacement(content, node) {
277
- const level = Number(node.nodeName.charAt(1));
278
- const prefix = "#".repeat(level);
279
- const cleaned = content.replace(/\\([.])/g, "$1").trim();
280
- return `\n\n${prefix} ${cleaned}\n\n`;
281
- },
282
- });
283
- turndown.addRule("listItem", {
284
- filter: "li",
285
- replacement(content, node, options) {
286
- content = content.replace(/^\n+/, "").replace(/\n+$/, "\n").replace(/\n/gm, "\n ");
287
- const parent = node.parentNode as unknown as TurndownListParent | null;
288
- let prefix = `${options.bulletListMarker} `;
289
- if (parent?.nodeName === "OL") {
290
- const start = parent.getAttribute("start");
291
- const index = Array.prototype.indexOf.call(parent.children, node);
292
- prefix = `${(start ? Number(start) : 1) + index}. `;
293
- }
294
- return prefix + content + (node.nextSibling ? "\n" : "");
295
- },
296
- });
297
- return turndown;
252
+ // Lazy import keeps turndown/turndown-plugin-gfm off the startup graph.
253
+ const { createTurndown } = await import("../../utils/turndown");
254
+ return createTurndown();
298
255
  }
299
256
 
300
257
  /**
@@ -1,2 +0,0 @@
1
- export declare const EMBEDDED_DOC_FILENAMES: readonly string[];
2
- export declare const EMBEDDED_DOCS: Readonly<Record<string, string>>;
@@ -1,49 +0,0 @@
1
- export type ArchiveFormat = "zip" | "tar" | "tar.gz";
2
- export interface ArchivePathCandidate {
3
- archivePath: string;
4
- subPath: string;
5
- }
6
- export interface ArchiveNode {
7
- path: string;
8
- isDirectory: boolean;
9
- size: number;
10
- mtimeMs?: number;
11
- }
12
- export interface ArchiveDirectoryEntry extends ArchiveNode {
13
- name: string;
14
- }
15
- export interface ExtractedArchiveFile extends ArchiveNode {
16
- bytes: Uint8Array;
17
- }
18
- interface TarStorage {
19
- type: "tar";
20
- file: File;
21
- }
22
- interface ZipStorage {
23
- type: "zip";
24
- archivePath: string;
25
- compressedSize: number;
26
- compression: number;
27
- flags: number;
28
- localHeaderOffset: number;
29
- }
30
- type EntryStorage = TarStorage | ZipStorage;
31
- interface ArchiveIndexEntry extends ArchiveNode {
32
- storage?: EntryStorage;
33
- }
34
- export declare function formatArchiveEntryLines(entries: readonly ArchiveDirectoryEntry[]): string[];
35
- export declare function sniffArchiveFormat(bytes: Uint8Array): ArchiveFormat | undefined;
36
- export declare function parseArchivePathCandidates(filePath: string): ArchivePathCandidate[];
37
- export declare class ArchiveReader {
38
- #private;
39
- readonly format: ArchiveFormat;
40
- constructor(format: ArchiveFormat, entries: ArchiveIndexEntry[]);
41
- getNode(subPath?: string): ArchiveNode | undefined;
42
- listDirectory(subPath?: string): ArchiveDirectoryEntry[];
43
- readFile(subPath: string): Promise<ExtractedArchiveFile>;
44
- }
45
- export declare function openArchive(filePath: string): Promise<ArchiveReader>;
46
- export declare function listArchiveRoot(bytes: Uint8Array, format: ArchiveFormat, opts?: {
47
- limit?: number;
48
- }): Promise<string>;
49
- export {};