@docyrus/docyrus 0.0.33 → 0.0.35

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 (67) hide show
  1. package/README.md +25 -0
  2. package/agent-loader.js +3 -2
  3. package/agent-loader.js.map +2 -2
  4. package/main.js +82252 -46058
  5. package/main.js.map +4 -4
  6. package/package.json +12 -3
  7. package/resources/chrome-tools/browser-content.js +46 -46
  8. package/resources/chrome-tools/browser-cookies.js +16 -16
  9. package/resources/chrome-tools/browser-eval.js +27 -27
  10. package/resources/chrome-tools/browser-hn-scraper.js +1 -1
  11. package/resources/chrome-tools/browser-nav.js +23 -23
  12. package/resources/chrome-tools/browser-pick.js +127 -127
  13. package/resources/chrome-tools/browser-screenshot.js +10 -10
  14. package/resources/chrome-tools/browser-start.js +38 -38
  15. package/resources/pi-agent/extensions/answer.ts +392 -384
  16. package/resources/pi-agent/extensions/context.ts +415 -415
  17. package/resources/pi-agent/extensions/control.ts +1287 -1287
  18. package/resources/pi-agent/extensions/diff.ts +171 -171
  19. package/resources/pi-agent/extensions/files.ts +155 -155
  20. package/resources/pi-agent/extensions/knowledge.ts +664 -0
  21. package/resources/pi-agent/extensions/loop.ts +375 -375
  22. package/resources/pi-agent/extensions/pi-bash-live-view/index.ts +1 -1
  23. package/resources/pi-agent/extensions/pi-bash-live-view/package.json +22 -22
  24. package/resources/pi-agent/extensions/pi-bash-live-view/pty-execute.ts +2 -2
  25. package/resources/pi-agent/extensions/pi-bash-live-view/pty-session.ts +2 -2
  26. package/resources/pi-agent/extensions/pi-bash-live-view/spawn-helper.ts +2 -2
  27. package/resources/pi-agent/extensions/pi-bash-live-view/terminal-emulator.ts +18 -18
  28. package/resources/pi-agent/extensions/pi-bash-live-view/truncate.ts +1 -1
  29. package/resources/pi-agent/extensions/pi-bash-live-view/widget.ts +4 -4
  30. package/resources/pi-agent/extensions/pi-custom-compaction/package.json +4 -4
  31. package/resources/pi-agent/extensions/pi-mcp-adapter/app-bridge.bundle.js +14 -14
  32. package/resources/pi-agent/extensions/pi-mcp-adapter/commands.ts +6 -6
  33. package/resources/pi-agent/extensions/pi-mcp-adapter/config.ts +9 -9
  34. package/resources/pi-agent/extensions/pi-mcp-adapter/consent-manager.ts +4 -4
  35. package/resources/pi-agent/extensions/pi-mcp-adapter/direct-tools.ts +13 -13
  36. package/resources/pi-agent/extensions/pi-mcp-adapter/glimpse-ui.ts +5 -5
  37. package/resources/pi-agent/extensions/pi-mcp-adapter/host-html-template.ts +13 -13
  38. package/resources/pi-agent/extensions/pi-mcp-adapter/index.ts +14 -14
  39. package/resources/pi-agent/extensions/pi-mcp-adapter/init.ts +17 -17
  40. package/resources/pi-agent/extensions/pi-mcp-adapter/lifecycle.ts +2 -2
  41. package/resources/pi-agent/extensions/pi-mcp-adapter/logger.ts +2 -2
  42. package/resources/pi-agent/extensions/pi-mcp-adapter/mcp-panel.ts +17 -17
  43. package/resources/pi-agent/extensions/pi-mcp-adapter/metadata-cache.ts +9 -9
  44. package/resources/pi-agent/extensions/pi-mcp-adapter/npx-resolver.ts +35 -35
  45. package/resources/pi-agent/extensions/pi-mcp-adapter/oauth-handler.ts +1 -1
  46. package/resources/pi-agent/extensions/pi-mcp-adapter/proxy-modes.ts +12 -12
  47. package/resources/pi-agent/extensions/pi-mcp-adapter/server-manager.ts +6 -6
  48. package/resources/pi-agent/extensions/pi-mcp-adapter/tool-metadata.ts +4 -4
  49. package/resources/pi-agent/extensions/pi-mcp-adapter/types.ts +2 -2
  50. package/resources/pi-agent/extensions/pi-mcp-adapter/ui-resource-handler.ts +6 -6
  51. package/resources/pi-agent/extensions/pi-mcp-adapter/ui-server.ts +17 -17
  52. package/resources/pi-agent/extensions/pi-mcp-adapter/ui-session.ts +22 -22
  53. package/resources/pi-agent/extensions/pi-mcp-adapter/utils.ts +2 -2
  54. package/resources/pi-agent/extensions/prompt-editor.ts +900 -900
  55. package/resources/pi-agent/extensions/prompt-url-widget.ts +122 -122
  56. package/resources/pi-agent/extensions/redraws.ts +14 -14
  57. package/resources/pi-agent/extensions/review.ts +1533 -1533
  58. package/resources/pi-agent/extensions/todos.ts +1735 -1735
  59. package/resources/pi-agent/extensions/tps.ts +40 -40
  60. package/resources/pi-agent/extensions/whimsical.ts +3 -3
  61. package/resources/pi-agent/prompts/agent-system.md +2 -0
  62. package/resources/pi-agent/prompts/coder-system.md +2 -0
  63. package/resources/pi-agent/skills/officecli/SKILL.md +113 -0
  64. package/server-loader.js +82 -1
  65. package/server-loader.js.map +3 -3
  66. package/tui.mjs +2 -0
  67. package/tui.mjs.map +1 -1
@@ -60,10 +60,10 @@ function withStreamEnvelope(
60
60
  const envelope = rawEnvelope && typeof rawEnvelope === "object" && !Array.isArray(rawEnvelope)
61
61
  ? { ...rawEnvelope as Record<string, unknown> }
62
62
  : {
63
- frameType: "final",
64
- phase: "settled",
65
- status: result.isError ? "error" : "ok",
66
- };
63
+ frameType: "final",
64
+ phase: "settled",
65
+ status: result.isError ? "error" : "ok",
66
+ };
67
67
 
68
68
  structuredContent[UI_STREAM_STRUCTURED_CONTENT_KEY] = {
69
69
  ...envelope,
@@ -120,8 +120,8 @@ export async function maybeStartUiSession(
120
120
 
121
121
  if (streamToken) {
122
122
  state.manager.registerUiStreamListener(streamToken, (serverName, notification) => {
123
- if (!active || state.uiServer !== existingHandle) return;
124
- if (serverName !== request.serverName) return;
123
+ if (!active || state.uiServer !== existingHandle) {return;}
124
+ if (serverName !== request.serverName) {return;}
125
125
  nextStreamSequence += 1;
126
126
  existingHandle.sendResultPatch(
127
127
  withStreamEnvelope(notification.result as CallToolResult, streamId, nextStreamSequence),
@@ -140,17 +140,17 @@ export async function maybeStartUiSession(
140
140
  url: existingHandle.url,
141
141
  isActive: () => active && state.uiServer === existingHandle,
142
142
  sendToolResult: (result: CallToolResult) => {
143
- if (!active || state.uiServer !== existingHandle) return;
143
+ if (!active || state.uiServer !== existingHandle) {return;}
144
144
  nextStreamSequence += 1;
145
145
  existingHandle.sendToolResult(withStreamEnvelope(result, streamId, nextStreamSequence));
146
146
  },
147
147
  sendResultPatch: (result: CallToolResult) => {
148
- if (!active || state.uiServer !== existingHandle) return;
148
+ if (!active || state.uiServer !== existingHandle) {return;}
149
149
  nextStreamSequence += 1;
150
150
  existingHandle.sendResultPatch(withStreamEnvelope(result, streamId, nextStreamSequence));
151
151
  },
152
152
  sendToolCancelled: (reason: string) => {
153
- if (!active || state.uiServer !== existingHandle) return;
153
+ if (!active || state.uiServer !== existingHandle) {return;}
154
154
  nextStreamSequence += 1;
155
155
  existingHandle.sendToolResult(
156
156
  withStreamEnvelope(
@@ -186,13 +186,13 @@ export async function maybeStartUiSession(
186
186
  const streamToken = streamMode ? randomUUID() : undefined;
187
187
  const hostContext: UiHostContext | undefined = streamMode && streamId
188
188
  ? {
189
- [UI_STREAM_HOST_CONTEXT_KEY]: {
190
- mode: streamMode,
191
- streamId,
192
- intermediateResultPatches: streamMode === "stream-first",
193
- partialInput: false,
194
- },
195
- }
189
+ [UI_STREAM_HOST_CONTEXT_KEY]: {
190
+ mode: streamMode,
191
+ streamId,
192
+ intermediateResultPatches: streamMode === "stream-first",
193
+ partialInput: false,
194
+ },
195
+ }
196
196
  : undefined;
197
197
 
198
198
  let active = true;
@@ -307,8 +307,8 @@ export async function maybeStartUiSession(
307
307
 
308
308
  if (streamToken) {
309
309
  state.manager.registerUiStreamListener(streamToken, (serverName, notification) => {
310
- if (!active || state.uiServer !== handle) return;
311
- if (serverName !== request.serverName) return;
310
+ if (!active || state.uiServer !== handle) {return;}
311
+ if (serverName !== request.serverName) {return;}
312
312
  nextStreamSequence += 1;
313
313
  handle.sendResultPatch(withStreamEnvelope(notification.result as CallToolResult, streamId, nextStreamSequence));
314
314
  });
@@ -329,7 +329,7 @@ export async function maybeStartUiSession(
329
329
  width: 1000,
330
330
  height: 800,
331
331
  onClosed: () => {
332
- if (active) handle.close("glimpse-closed");
332
+ if (active) {handle.close("glimpse-closed");}
333
333
  },
334
334
  });
335
335
  } catch (error) {
@@ -353,17 +353,17 @@ export async function maybeStartUiSession(
353
353
  url: handle.url,
354
354
  isActive: () => active && state.uiServer === handle,
355
355
  sendToolResult: (result: CallToolResult) => {
356
- if (!active || state.uiServer !== handle) return;
356
+ if (!active || state.uiServer !== handle) {return;}
357
357
  nextStreamSequence += 1;
358
358
  handle.sendToolResult(withStreamEnvelope(result, streamId, nextStreamSequence));
359
359
  },
360
360
  sendResultPatch: (result: CallToolResult) => {
361
- if (!active || state.uiServer !== handle) return;
361
+ if (!active || state.uiServer !== handle) {return;}
362
362
  nextStreamSequence += 1;
363
363
  handle.sendResultPatch(withStreamEnvelope(result, streamId, nextStreamSequence));
364
364
  },
365
365
  sendToolCancelled: (reason: string) => {
366
- if (!active || state.uiServer !== handle) return;
366
+ if (!active || state.uiServer !== handle) {return;}
367
367
  handle.sendToolCancelled(reason);
368
368
  },
369
369
  close: (reason?: string) => {
@@ -49,7 +49,7 @@ export function getConfigPathFromArgv(): string | undefined {
49
49
  }
50
50
 
51
51
  export function truncateAtWord(text: string, target: number): string {
52
- if (!text || text.length <= target) return text;
52
+ if (!text || text.length <= target) {return text;}
53
53
 
54
54
  const truncated = text.slice(0, target);
55
55
  const lastSpace = truncated.lastIndexOf(" ");
@@ -66,7 +66,7 @@ export function truncateAtWord(text: string, target: number): string {
66
66
  */
67
67
  export function extractToolUiStreamMode(toolMeta: Record<string, unknown> | undefined): "eager" | "stream-first" | undefined {
68
68
  const uiMeta = toolMeta?.ui;
69
- if (!uiMeta || typeof uiMeta !== "object") return undefined;
69
+ if (!uiMeta || typeof uiMeta !== "object") {return undefined;}
70
70
  const streamMode = (uiMeta as Record<string, unknown>)["pi-mcp-adapter.streamMode"];
71
71
  if (streamMode === "eager" || streamMode === "stream-first") {
72
72
  return streamMode;