Skip to content

[Fix] Resolves bug 635 for inter tool invocation issue - #641

Open
Power-Maverick wants to merge 3 commits into
devfrom
fix/bug-635-inter-tool-invocation-issue
Open

[Fix] Resolves bug 635 for inter tool invocation issue#641
Power-Maverick wants to merge 3 commits into
devfrom
fix/bug-635-inter-tool-invocation-issue

Conversation

@Power-Maverick

@Power-Maverick Power-Maverick commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

This pull request introduces enhanced support for inter-tool invocation within the Power Platform Toolbox, focusing on robust tool resolution by package name, improved error handling, and richer logging for traceability. The changes add a new IPC channel for resolving invocation targets, improve manifest normalization to reliably extract package names, and strengthen the inter-tool invocation workflow with validation and error reporting.

Closes #635

Type of change

  • New feature
  • Bug fix
  • Refactor (no functional change)
  • Documentation
  • Chore / maintenance (dependency update, build, config)
  • Test addition / improvement

Changes

Inter-tool Invocation and Error Handling Improvements:

  • Added a new IPC channel RESOLVE_INVOCATION_TARGET to TOOL_CHANNELS and implemented its handler in ToolBoxApp to resolve tools by package name or ID, with detailed logging, user notifications, and Sentry error reporting for failures (src/common/ipc/channels.ts [1] src/main/index.ts [2] [3] [4].
  • Implemented the resolveInvocationTarget method in ToolManager to resolve tools by ID or canonical npm package name, handling ambiguities and errors when multiple matches are found (src/main/managers/toolsManager.ts src/main/managers/toolsManager.tsR239-R263).

Manifest and Registry Enhancements:

  • Extended the ToolManifest type and manifest normalization logic to include a packageName field, ensuring reliable package name extraction from both new and legacy manifests, and fallback to reading package.json from the install path when needed (src/common/types/tool.ts [1] src/main/managers/toolRegistryManager.ts [2] [3] [4].
  • Ensured the canonical npm package name is consistently stored in both the manifest and tool instance for accurate invocation lookup (src/main/managers/toolsManager.ts src/main/managers/toolsManager.tsL730-R755).

Logging, Validation, and Error Reporting:

  • Improved logging and Sentry error reporting throughout the inter-tool invocation flow in ToolWindowManager, including validation of caller identity, connection selection failures, and target tool launch errors. Enhanced log context for traceability and user notifications for error scenarios (src/main/managers/toolWindowManager.ts [1] [2] [3] [4] [5] [6] [7] [8].

Other:

  • Bumped the package version to 1.2.6 in package.json.

Architecture checklist

Packages (types & validation)

  • Not applicable — no changes to packages/

If you did change a package:

  • @pptb/types (types): type definitions updated and version bumped in packages/types/package.json
  • @pptb/validate (validation): validation rules updated and version bumped in packages/validation/package.json

Code quality

  • pnpm run typecheck passes with 0 errors (warnings are acceptable)
  • pnpm run lint passes with 0 errors (warnings are acceptable)
  • pnpm run build completes successfully

Testing

  • pnpm run test:unit passes (for changes to src/main/, src/common/, or src/renderer/ utilities)
  • pnpm run test:e2e passes (for UI / navigation / end-to-end flows)
  • Manually tested in the running app (pnpm run dev)

Scenario tested:

Screenshots / recordings

Breaking changes

  • No breaking changes
  • Yes — describe impact and migration path below:

Reviewer notes

  • I have added appropriate unit and/or e2e tests for this change
  • I have resolved all GitHub Copilot review comments
  • I have followed the guidelines in CONTRIBUTING.md

@github-actions

github-actions Bot commented Aug 24, 2026

Copy link
Copy Markdown

❌ PR Checklist — Action Required

The following items must be completed before this PR can be merged:

  • Testing — all checkboxes must be ticked before merging

@github-actions

Copy link
Copy Markdown

Bundle Size Report 📦

Bundle Size
Main Process 2.02 MB
Renderer JS 1.09 MB
Renderer CSS 106.01 KB
Total 3.21 MB

Bundle Analysis Reports

The detailed bundle analysis reports are available in the workflow artifacts:

  • 📊 Main Process: stats-main.html
  • 📊 Renderer Process: stats-renderer.html

Download the artifacts from the workflow run to view interactive visualizations.


Bundle size tracking is now active! This helps prevent bundle bloat.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants