[Fix] Release Failure due to moved file - #607
Conversation
…elective optional domain consent (#431) * Initial plan * Allow toolmakers to explain why they need CSP exceptions Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * Split CSP modal into required/optional sections with selective opt-in checkboxes Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * Store required domains in CSP consent record alongside optional domains Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * Consolidate CSP consent storage and add disabled checkboxes for required domains Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * fix: update CSP documentation link in exception modal * Update src/renderer/modals/cspException/view.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/renderer/modules/toolManagement.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: enhance CSP exception domain display with additional styling --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Co-authored-by: Power-Maverick <danish.naglekar@hotmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: add alwaysOnTop option for modal windows and update notification text * fix: ensure modal windows move to the top when opened * fix: update action button text for update notification modal
…#440) * Initial plan * feat: add category filter and grouping to connection selection modals Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
…#443) * Initial plan * feat: remove Sentry and replace with console logging Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * Replace sentryHelper calls with direct console.* equivalents - logInfo → console.info - logWarn → console.warn - logDebug → console.debug - logCheckpoint → console.log - captureException(err, ctx) → console.error(err) (ctx dropped) - captureMessage(msg, level, ctx) → console.error/warn(msg) (ctx dropped) - addBreadcrumb(...) → removed entirely - wrapAsyncOperation(name, async () => { body }, ctx) → (async () => { body })() - Removed all sentryHelper import lines across 26 files Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: resolve lint errors after sentryHelper removal - Fix unterminated string literals in encryptionManager, terminalManager, toolRegistryManager - Rename unused catch params to _error/_trigger to satisfy no-unused-vars rule - Rename unused function param extra -> _extra in homepageManagement Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * refactor: replace console.* calls with centralized logger functions Replace all direct console.info/warn/error/debug/log calls in src/main/ and src/renderer/modules/ with the corresponding logger functions from the new src/common/logger module: - console.info → logInfo - console.warn → logWarn - console.error → logError - console.debug → logDebug - console.log → logCheckpoint Each file receives a scoped import for only the functions it uses. Files in src/renderer/modals/ are intentionally left unchanged as they contain console calls inside template literal strings for inline browser scripts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * refactor: introduce src/common/logger.ts and route all logging through it Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * refactor: pass caught error as second arg to logError/logWarn in catch blocks In catch blocks across the codebase, replace error message interpolation (e.g. `${(error as Error).message}`) with passing the raw catch variable as the second `data` argument to logError/logWarn. Also strip trailing colon-only patterns where the colon was only there to precede the error. Files changed: - src/main/managers/authManager.ts (5 calls) - src/main/managers/browserManager.ts (4 calls) - src/main/managers/browserviewProtocolManager.ts (2 calls) - src/main/managers/encryptionManager.ts (1 call) - src/main/managers/toolRegistryManager.ts (7 calls) - src/main/managers/toolWindowManager.ts (11 calls) - src/main/managers/toolsManager.ts (1 call) - src/renderer/modules/connectionManagement.ts (14 calls) - src/renderer/modules/marketplaceManagement.ts (1 call) - src/renderer/modules/toolsSidebarManagement.ts (1 call) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: apply all PR review feedback - severity corrections, pass error args, remove unused params, simplify IIFEs Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…k in build workflow
…ease notes and version validation
…ion validation and release notes
…xes, and developer changes
…ages/package.json
…ystem modals. fix for [Bug]: Update is above all windows, not just toolbox Fixes #447
* Remove alwaysOnTop property from loading overlay and update auto-update notification modal to prevent covering system dialogs * Add search clear buttons to sidebar search inputs * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Add clear buttons to search inputs in select connection modals * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Power-Maverick <danish.naglekar@hotmail.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* feat: implement "What's New" feature with auto-update notifications and markdown rendering * feat: enhance "What's New" feature to support insider version detection and update URLs accordingly * Fix: Inject PPTB_UPDATES_ORIGIN into renderer CSP at build time (#454) * Initial plan * fix: make CSP reflect configured PPTB_UPDATES_ORIGIN at build time via Vite transformIndexHtml Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * refactor: replace duplicate escapeHtml in markdown.ts with shared import from toolIconResolver (#457) --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* feat: add native context menu support with IPC integration for tabs * fix: format grantCspConsent function for improved readability * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Bugfix * Bugfix context menu position --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Initial plan * feat: add connection import/export with warning for incomplete credentials Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * fix: update color adjustment method for connection warning in light theme * fix: improve import/export UI layout, fix theme-aware icons, add export by category Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * fix: always show category export button and make it theme-aware Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * fix: address unresolved code review comments (error normalization, UUID, accessibility) Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Co-authored-by: Power-Maverick <danish.naglekar@hotmail.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…eload (#461) * Initial plan * Fix refresh issue: correct BrowserView dimensions and restore session with saved connections Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * Fix closeAllToolViews to also close terminals and revoke filesystem access per instance Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
…enu (#464) * Initial plan * Change settings to open as a tab and add Settings option in View menu Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * Redesign settings tab: VSCode-style UI, fix tab label to show 'Settings' only, scrollable content Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * refactor: reorganize settings management and remove unused navigation elements * Rename loadSidebarSettings/saveSidebarSettings to loadSettings/saveSettings Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Co-authored-by: Power-Maverick <danish.naglekar@hotmail.com>
* Initial plan * feat: import connections from XrmToolBox XML files Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * fix: import crypto from node built-in in connectionsManager to fix ReferenceError in main process Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Initial plan * feat: support US Gov cloud (GCC High/DoD) URLs for Dataverse connections Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * refactor: extract isValidDataverseUrl helper with hostname-only, anchored, case-insensitive validation Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
* wip/feat: implement multi-agent workflow setup with defined roles and human approval gate * feat: implement mesh collaboration and risk-based checkpointing for agent workflows * feat: enhance chat output contracts for agents to improve communication and clarity * feat: add important links sidebar with curated resources and strict URL validation * feat: enhance important links sidebar with display host and improved styling * feat: add favicon fetching functionality and update important links sidebar with descriptions and icons * Update src/main/index.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix: Rename `getFaviconApiUrl` parameter from `host` to `url` (#471) * Initial plan * fix: update getFaviconApiUrl parameter name from host to url Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> * Fix: Links Hub favicon handler security, XSS, and rendering bugs (#472) * Initial plan * fix: address unresolved PR review comments on Links Hub favicon handler and sidebar Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
…rove category and environment colour UX (#476) * Initial plan * fix(ui): fix dual-connection tab colours, swap test/uat env defaults, add category colour reuse in modals Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/36215f3c-c4f5-4b8d-b69c-38a10596f30b * fix(ui): replace category datalist with styled select dropdown; show -- when no category selected Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/e63c4fea-b3f3-4128-a5e4-31201aeca998 * feat(ui): env color defaults, category reset visibility, sidebar category color swatch Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/04495a30-b495-4fa9-8788-86465ede19cb * feat(ui): hide category color section when no category (default) is selected Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/afe2255f-00cc-455e-99a4-9ff8d1b4a95e --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
* Initial plan * Replace blocking About dialog with custom modal BrowserWindow The About dialog previously used dialog.showMessageBoxSync which is not modal relative to the main app window and can be hidden behind it. Now it sends a SHOW_ABOUT IPC event to the renderer which shows a custom BrowserWindow-based modal (same pattern as the update dialog) with version info, environment details, and a copy-to-clipboard button. Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/51cb116a-9705-4972-8e3b-242f5767550e * Show success notification after copying About info to clipboard Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/5b424552-b2fb-4bce-adb3-1893b210285a * Guard showAboutDialog against destroyed/loading webContents; remove unused GET_ABOUT_INFO IPC Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com> Agent-Logs-Url: https://github.com/PowerPlatformToolBox/desktop-app/sessions/a4e390e5-c47b-4e65-b9a4-6e47ed1385d3 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Power-Maverick <36135520+Power-Maverick@users.noreply.github.com>
…tances of the app
…n modals for app registration
…id-configuration [Feature] Configure App in Entra with proper configurations when add/edit connections
…ate error handling
[Fix] Fixed issue with auto-update for windows exe
Both NotificationWindowManager and NotificationHistoryWindowManager now accept a SettingsManager instance and expose a private isDarkTheme() helper that reads the user's theme setting via resolveTheme(). generateHTML() (toast popup) and generateHistoryHTML() (bell panel) now produce light or dark colour schemes based on the resolved theme instead of being hard-coded to the dark palette, fixing the bug where the notification UI always rendered dark even when the app was set to light theme.
…ation-panel-theme [Fix] Notification panel and toast follow selected app theme
…bsolete .last-run.json file
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
✅ PR ChecklistAll required checklist items are complete. This PR is ready for review. |
Bundle Size Report 📦
Bundle Analysis ReportsThe detailed bundle analysis reports are available in the workflow artifacts:
Download the artifacts from the workflow run to view interactive visualizations. Bundle size tracking is now active! This helps prevent bundle bloat. |
| const scriptLines = [ | ||
| "$ErrorActionPreference = 'Stop'", | ||
| `$clientId = '${safeClientId}'`, | ||
| '$requiredRedirectUris = @("msal${clientId}://auth", "http://localhost")', |
| * Report that auto-updates are unavailable for the current installation. | ||
| */ | ||
| private reportAutoUpdateUnavailable(action: string): void { | ||
| let message = "Automatic updates are unavailable for this installation."; |
There was a problem hiding this comment.
Pull request overview
This PR updates the desktop app’s build/release pipeline to reference the moved @pptb/types manifest path, and (in the same change set) introduces a large set of new capabilities across testing, MCP/agent features, Power Platform API support, UI enhancements (split layout, notification history), and a headless CLI/validation package ecosystem.
Changes:
- Fix release/preflight workflows to read
packages/types/package.jsoninstead of the prior location. - Add a full automated test setup (Jest unit tests + Playwright Electron e2e) plus CI workflow to run them.
- Introduce MCP/agent preview feature plumbing, headless/CLI scaffolding, Power Platform API surface, notification history UI, and split-layout UI/state.
Reviewed changes
Copilot reviewed 115 out of 128 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.test.json | Adds TS config for Jest/Playwright tests |
| tsconfig.cli.json | Adds TS config for Node CLI build output |
| tests/unit/renderer/toolSourceIcon.test.ts | Unit tests for renderer icon helpers |
| tests/unit/renderer/modalFeedback.test.ts | Unit tests for modal feedback styling/scripts |
| tests/unit/main/managers/terminalManager.test.ts | Unit tests for terminal command hardening |
| tests/unit/main/managers/installIdManager.test.ts | Unit tests for install ID persistence/migration |
| tests/unit/main/managers/encryptionManager.test.ts | Unit tests for encryption round-trips/fallbacks |
| tests/unit/common/cspUtils.test.ts | Unit tests for CSP exception normalization |
| tests/README.md | Documents test structure and commands |
| tests/e2e/splitLayout.spec.ts | E2E coverage for split layout DOM/ARIA |
| tests/e2e/notificationHistory.spec.ts | E2E coverage for notification history window |
| tests/e2e/navigation.spec.ts | E2E smoke tests for sidebar/navigation flows |
| tests/e2e/fixtures.ts | Playwright Electron launch + main window resolver |
| tests/e2e/app.spec.ts | E2E app-launch smoke tests |
| tests/mocks/electron.ts | Jest manual mock for Electron APIs |
| tests/mocks/electron-store.ts | Jest manual mock for electron-store |
| src/renderer/utils/connectionSorting.ts | Switches connection type alias + formatting tweaks |
| src/renderer/types/index.ts | Adds preview-feature settings/tool flags types |
| src/renderer/styles/homepage.scss | Adds MCP badge styling for tool tiles |
| src/renderer/styles/_variables.scss | Adds muted text color variables |
| src/renderer/modules/whatsNewManagement.ts | Uses local-page tab opener for What’s New |
| src/renderer/modules/settingsManagement.ts | Adds preview feature settings UI + persistence |
| src/renderer/modules/previewFeatureManagement.ts | New preview feature gating/visibility module |
| src/renderer/modules/notifications.ts | Adds notification history bell/badge wiring |
| src/renderer/modules/initialization.ts | Initializes split layout + notification history + preview flags |
| src/renderer/modules/homepageManagement.ts | Shows MCP-headless badge for eligible tools |
| src/renderer/modules/globalSearchManagement.ts | Updates connection type + import ordering |
| src/renderer/modals/toolDetail/controller.ts | Updates tool detail modal README error handling |
| src/renderer/modals/sharedStyles.ts | Adds modal feedback variants + badges/checkbox styles |
| src/renderer/modals/selectMultiConnection/view.ts | Adds PP API warning block + layout tweaks |
| src/renderer/modals/selectMultiConnection/controller.ts | Adds PP API flag support + badge + UI updates |
| src/renderer/modals/selectConnection/view.ts | Adds PP API warning block |
| src/renderer/modals/selectConnection/controller.ts | Adds PP API flag support + badge + info display |
| src/renderer/modals/feedbackScript.ts | Adds shared helpers for feedback payload parsing |
| src/renderer/modals/editConnection/view.ts | Adds PP API enable checkbox + footer actions |
| src/renderer/modals/addConnection/view.ts | Adds PP API enable checkbox + footer actions |
| src/renderer/index.html | Adds MCP button, split layout DOM, notification bell/badge |
| src/renderer/icons/light/mcp.svg | Adds MCP icon (light theme) |
| src/renderer/icons/light/logs.svg | Adds logs icon (light theme) |
| src/renderer/icons/dark/mcp.svg | Adds MCP icon (dark theme) |
| src/renderer/icons/dark/logs.svg | Adds logs icon (dark theme) |
| src/renderer/constants/index.ts | Registers MCP icon for theme switching |
| src/main/toolPreloadBridge.ts | Exposes Power Platform API + richer launch context |
| src/main/preload.ts | Adds renderer IPC APIs for MCP/split layout/logging |
| src/main/notificationPreload.ts | Adds history clear/close APIs for notification window |
| src/main/modalPreload.ts | Adds clipboard/notification utils + app registration config |
| src/main/mcp/schemaConverter.ts | Converts PPTB schemas to JSON Schema-like objects |
| src/main/mcp/agentToolRegistry.ts | Discovers agent-invokable tools + schemas/modes |
| src/main/managers/trayManager.ts | Adds tray actions for MCP server start/stop |
| src/main/managers/toolsManager.ts | Propagates MCP headless flag; avoids deleting local tools |
| src/main/managers/toolRegistryManager.ts | Adds MCP headless flag + safer uninstall deletion |
| src/main/managers/terminalManager.ts | Hardens blocked command matching; exports test utils |
| src/main/managers/settingsManager.ts | Adds preview feature migration + MCP access token |
| src/main/managers/protocolHandlerManager.ts | Adjusts protocol init behavior/logging |
| src/main/managers/headlessToolInvocationManager.ts | Adds job tracking for headless tool execution |
| src/main/managers/encryptionManager.ts | Avoids decrypting non-base64 plaintext |
| src/main/managers/dataverseManager.ts | Updates connection type alias + formatting tweaks |
| src/main/managers/browserManager.ts | Updates connection type alias + import ordering |
| src/main/managers/autoUpdateManager.ts | Adds updater-metadata presence checks + better errors |
| src/main/constants.ts | Expands blocked terminal command set |
| src/common/types/tool.ts | Adds PP API flag + MCP headless flag to tool types |
| src/common/types/settings.ts | Adds preview flags + MCP token + split ratio settings |
| src/common/types/connection.ts | Renames DataverseConnection → Connection; adds PP API fields |
| src/common/ipc/channels.ts | Adds channels for MCP, split layout, PP API, logging |
| src/cli/index.ts | Adds CLI scaffold for headless operation (WIP) |
| src/cli/constants.ts | Defines CLI commands/defaults/exit codes |
| RELEASE_NOTES.md | Updates release notes to 1.2.4 content |
| README.md | Links MCP/inter-tool docs for tool authors |
| playwright.config.ts | Adds Playwright config for Electron e2e |
| packages/validation/tsconfig.json | Adds TS config for @pptb/validate package |
| packages/validation/src/npm.ts | Adds npm registry/tarball structure validation helpers |
| packages/validation/src/index.ts | Exports validate public API surface |
| packages/validation/src/cli.ts | Adds pptb-validate CLI entrypoint |
| packages/validation/package.json | Defines @pptb/validate package metadata/exports |
| packages/types/toolboxAPI.d.ts | Extends tool API typings (invocation context, connection fields) |
| packages/types/pptbConfig.d.ts | Adds agents contract typing for MCP tool authors |
| packages/types/package.json | Bumps types version + adds validate dependency |
| packages/types/index.d.ts | Wires in new powerplatform API definitions |
| packages/types/dataverseAPI.d.ts | Adds GlobalThis typing for headless tools |
| packages/types/bin/pptb-validate.js | Delegates validate CLI to @pptb/validate |
| packages/lib/validate.js | Updates validation JS to match new schema/features |
| package.json | Bumps app version + adds test scripts + CLI build |
| jest.config.ts | Adds Jest config for TS unit tests + mocks |
| docs/MCP_TOOL_AUTHOR_MIGRATION.md | Adds MCP author migration guide |
| docs/MCP_HEADLESS_UNATTENDED_IMPLEMENTATION.md | Documents headless MCP execution design/staging |
| docs/LOGGING_BEST_PRACTICES.md | Adds invocation log redaction guidance |
| docs/INTER_TOOL_INVOCATION.md | Adds MCP invocation section + restructures examples |
| buildScripts/electron-builder-win.json | Removes MSI target from Windows build config |
| .gitignore | Ignores Playwright test-results artifacts |
| .github/workflows/test.yml | Adds CI workflow for unit + e2e tests |
| .github/workflows/prod-release.yml | Fixes types manifest path + updater metadata check |
| .github/workflows/nightly-release.yml | Adds updater metadata check for Windows nightly |
| .github/workflows/bundle-size.yml | Makes PR commenting safe for forks + sticky comment |
| .github/workflows/build.yml | Fixes types path + sticky preflight PR comment |
| .github/pull_request_template.md | Replaces template with structured checklist |
| .github/plans/plan-mcp-headless-unattended-execution.md | Adds implementation plan doc for headless MCP |
Comments suppressed due to low confidence (2)
packages/types/package.json:28
@pptb/typesdepends on@pptb/validateas^0.0.2, but this PR defines the workspace packagepackages/validationas version1.0.0. With pnpm workspaces, this version mismatch will cause pnpm to resolve the published@pptb/validate@0.0.2(see pnpm-lock.yaml) instead of the in-repo package, which can breakrequire("@pptb/validate/cli")and prevent local changes from being exercised.
src/renderer/modals/selectMultiConnection/controller.ts:487- Avoid
console.errorin production modal scripts. This failure path already restores the UI; if you need logging, emit it through the app's logging pipeline instead of console.
| } | ||
| } catch (error) { | ||
| captureException("Failed to load README", error); | ||
| console.error("Failed to load README", error); |
| // The connectReady message handler will update the UI based on success/failure | ||
| } catch (error) { | ||
| captureException('Error connecting:', error); | ||
| console.error('Error connecting:', error); |
| - name: Validate @pptb/types version matches ToolBox version | ||
| shell: bash | ||
| run: | | ||
| TOOLBOX_VERSION=$(node -p "require('./package.json').version") | ||
| TYPES_VERSION=$(node -p "require('./packages/package.json').version") | ||
| TYPES_VERSION=$(node -p "require('./packages/types/package.json').version") | ||
|
|
Summary
package.json for types was moved and stable release was looking for older location
Type of change
Changes
Architecture checklist
Packages (
types&validation)packages/If you did change a package:
@pptb/types(types): type definitions updated and version bumped inpackages/types/package.json@pptb/validate(validation): validation rules updated and version bumped inpackages/validation/package.jsonCode quality
pnpm run typecheckpasses with 0 errors (warnings are acceptable)pnpm run lintpasses with 0 errors (warnings are acceptable)pnpm run buildcompletes successfullyTesting
pnpm run test:unitpasses (for changes tosrc/main/,src/common/, orsrc/renderer/utilities)pnpm run test:e2epasses (for UI / navigation / end-to-end flows)pnpm run dev)Scenario tested:
Screenshots / recordings
Breaking changes
Reviewer notes