@docyrus/docyrus 0.0.20 → 0.0.21

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 (65) hide show
  1. package/agent-loader.js +32 -1
  2. package/agent-loader.js.map +2 -2
  3. package/main.js +321 -70
  4. package/main.js.map +4 -4
  5. package/package.json +12 -2
  6. package/resources/chrome-tools/browser-content.js +103 -0
  7. package/resources/chrome-tools/browser-cookies.js +35 -0
  8. package/resources/chrome-tools/browser-eval.js +53 -0
  9. package/resources/chrome-tools/browser-hn-scraper.js +108 -0
  10. package/resources/chrome-tools/browser-nav.js +44 -0
  11. package/resources/chrome-tools/browser-pick.js +162 -0
  12. package/resources/chrome-tools/browser-screenshot.js +34 -0
  13. package/resources/chrome-tools/browser-start.js +86 -0
  14. package/resources/pi-agent/extensions/answer.ts +532 -0
  15. package/resources/pi-agent/extensions/context.ts +578 -0
  16. package/resources/pi-agent/extensions/control.ts +1779 -0
  17. package/resources/pi-agent/extensions/diff.ts +218 -0
  18. package/resources/pi-agent/extensions/files.ts +199 -0
  19. package/resources/pi-agent/extensions/loop.ts +446 -0
  20. package/resources/pi-agent/extensions/multi-edit.ts +835 -0
  21. package/resources/pi-agent/extensions/notify.ts +88 -0
  22. package/resources/pi-agent/extensions/pi-mcp-adapter/CHANGELOG.md +192 -0
  23. package/resources/pi-agent/extensions/pi-mcp-adapter/LICENSE +21 -0
  24. package/resources/pi-agent/extensions/pi-mcp-adapter/README.md +296 -0
  25. package/resources/pi-agent/extensions/pi-mcp-adapter/app-bridge.bundle.js +67 -0
  26. package/resources/pi-agent/extensions/pi-mcp-adapter/cli.js +108 -0
  27. package/resources/pi-agent/extensions/pi-mcp-adapter/commands.ts +211 -0
  28. package/resources/pi-agent/extensions/pi-mcp-adapter/config.ts +227 -0
  29. package/resources/pi-agent/extensions/pi-mcp-adapter/consent-manager.ts +64 -0
  30. package/resources/pi-agent/extensions/pi-mcp-adapter/direct-tools.ts +301 -0
  31. package/resources/pi-agent/extensions/pi-mcp-adapter/errors.ts +219 -0
  32. package/resources/pi-agent/extensions/pi-mcp-adapter/glimpse-ui.ts +80 -0
  33. package/resources/pi-agent/extensions/pi-mcp-adapter/host-html-template.ts +427 -0
  34. package/resources/pi-agent/extensions/pi-mcp-adapter/index.ts +232 -0
  35. package/resources/pi-agent/extensions/pi-mcp-adapter/init.ts +319 -0
  36. package/resources/pi-agent/extensions/pi-mcp-adapter/lifecycle.ts +93 -0
  37. package/resources/pi-agent/extensions/pi-mcp-adapter/logger.ts +169 -0
  38. package/resources/pi-agent/extensions/pi-mcp-adapter/mcp-panel.ts +713 -0
  39. package/resources/pi-agent/extensions/pi-mcp-adapter/metadata-cache.ts +191 -0
  40. package/resources/pi-agent/extensions/pi-mcp-adapter/npx-resolver.ts +419 -0
  41. package/resources/pi-agent/extensions/pi-mcp-adapter/oauth-handler.ts +56 -0
  42. package/resources/pi-agent/extensions/pi-mcp-adapter/package.json +85 -0
  43. package/resources/pi-agent/extensions/pi-mcp-adapter/paths.ts +29 -0
  44. package/resources/pi-agent/extensions/pi-mcp-adapter/proxy-modes.ts +635 -0
  45. package/resources/pi-agent/extensions/pi-mcp-adapter/resource-tools.ts +17 -0
  46. package/resources/pi-agent/extensions/pi-mcp-adapter/server-manager.ts +330 -0
  47. package/resources/pi-agent/extensions/pi-mcp-adapter/state.ts +41 -0
  48. package/resources/pi-agent/extensions/pi-mcp-adapter/tool-metadata.ts +144 -0
  49. package/resources/pi-agent/extensions/pi-mcp-adapter/tool-registrar.ts +46 -0
  50. package/resources/pi-agent/extensions/pi-mcp-adapter/types.ts +367 -0
  51. package/resources/pi-agent/extensions/pi-mcp-adapter/ui-resource-handler.ts +145 -0
  52. package/resources/pi-agent/extensions/pi-mcp-adapter/ui-server.ts +623 -0
  53. package/resources/pi-agent/extensions/pi-mcp-adapter/ui-session.ts +384 -0
  54. package/resources/pi-agent/extensions/pi-mcp-adapter/ui-stream-types.ts +89 -0
  55. package/resources/pi-agent/extensions/pi-mcp-adapter/utils.ts +75 -0
  56. package/resources/pi-agent/extensions/prompt-editor.ts +1315 -0
  57. package/resources/pi-agent/extensions/prompt-url-widget.ts +158 -0
  58. package/resources/pi-agent/extensions/redraws.ts +24 -0
  59. package/resources/pi-agent/extensions/review.ts +2160 -0
  60. package/resources/pi-agent/extensions/todos.ts +2076 -0
  61. package/resources/pi-agent/extensions/tps.ts +47 -0
  62. package/resources/pi-agent/extensions/whimsical.ts +474 -0
  63. package/resources/pi-agent/skills/changelog-generator/SKILL.md +425 -0
  64. package/resources/pi-agent/skills/docyrus-chrome-devtools-cli/SKILL.md +80 -0
  65. package/resources/pi-agent/skills/docyrus-platform/references/docyrus-cli-usage.md +51 -0
package/agent-loader.js CHANGED
@@ -2378,6 +2378,27 @@ function resolvePackagedPiResourceRoot() {
2378
2378
  }
2379
2379
  return resolved;
2380
2380
  }
2381
+ function resolvePackagedExtensionPaths(resourceRoot) {
2382
+ const extensionsRoot = (0, import_node_path3.join)(resourceRoot, "extensions");
2383
+ if (!(0, import_node_fs.existsSync)(extensionsRoot)) {
2384
+ return [];
2385
+ }
2386
+ return (0, import_node_fs.readdirSync)(extensionsRoot, {
2387
+ withFileTypes: true
2388
+ }).filter((entry) => entry.isDirectory() || entry.isFile() && (entry.name.endsWith(".ts") || entry.name.endsWith(".js"))).map((entry) => (0, import_node_path3.join)(extensionsRoot, entry.name)).sort((left, right) => left.localeCompare(right));
2389
+ }
2390
+ function setProcessArgValue(flag, value) {
2391
+ const existingIndex = process.argv.indexOf(flag);
2392
+ if (existingIndex >= 0) {
2393
+ if (existingIndex + 1 < process.argv.length) {
2394
+ process.argv[existingIndex + 1] = value;
2395
+ return;
2396
+ }
2397
+ process.argv.push(value);
2398
+ return;
2399
+ }
2400
+ process.argv.push(flag, value);
2401
+ }
2381
2402
  async function readPipedStdin() {
2382
2403
  if (process.stdin.isTTY) {
2383
2404
  return void 0;
@@ -2502,8 +2523,14 @@ async function main() {
2502
2523
  const agentDir = readRequiredEnv("PI_CODING_AGENT_DIR");
2503
2524
  const version = process.env.DOCYRUS_PI_VERSION || "dev";
2504
2525
  const resourceRoot = resolvePackagedPiResourceRoot();
2526
+ const packagedExtensionPaths = resolvePackagedExtensionPaths(resourceRoot);
2527
+ const mcpConfigPath = (0, import_node_path3.join)(agentDir, "mcp.json");
2528
+ const hasPackagedMcpAdapter = packagedExtensionPaths.some((extensionPath) => extensionPath.includes("pi-mcp-adapter"));
2505
2529
  const envStore = new AgentEnvStore((0, import_node_path3.join)(agentDir, "env.json"));
2506
2530
  await envStore.hydrateProcessEnv(process.env);
2531
+ if (hasPackagedMcpAdapter) {
2532
+ setProcessArgValue("--mcp-config", mcpConfigPath);
2533
+ }
2507
2534
  const authStorage = pi.AuthStorage.create((0, import_node_path3.join)(agentDir, "auth.json"));
2508
2535
  const settingsManager = pi.SettingsManager.create(cwd, agentDir);
2509
2536
  const modelsJsonPath = (0, import_node_path3.join)(agentDir, "models.json");
@@ -2566,6 +2593,7 @@ async function main() {
2566
2593
  cwd,
2567
2594
  agentDir,
2568
2595
  settingsManager,
2596
+ additionalExtensionPaths: packagedExtensionPaths,
2569
2597
  systemPrompt: (0, import_node_path3.join)(
2570
2598
  resourceRoot,
2571
2599
  "prompts",
@@ -2573,7 +2601,7 @@ async function main() {
2573
2601
  )
2574
2602
  });
2575
2603
  await resourceLoader.reload();
2576
- const { session, modelFallbackMessage } = await pi.createAgentSession({
2604
+ const { session, modelFallbackMessage, extensionsResult } = await pi.createAgentSession({
2577
2605
  cwd,
2578
2606
  agentDir,
2579
2607
  authStorage,
@@ -2585,6 +2613,9 @@ async function main() {
2585
2613
  model: requestedModel,
2586
2614
  thinkingLevel: request.thinking
2587
2615
  });
2616
+ if (hasPackagedMcpAdapter) {
2617
+ extensionsResult.runtime.flagValues.set("mcp-config", mcpConfigPath);
2618
+ }
2588
2619
  if (usedClack) {
2589
2620
  cleanupOnboardingStdinState();
2590
2621
  }