diff --git a/.github/release.config.js b/.github/release.config.js index e9e353bcf2..a2cd654950 100644 --- a/.github/release.config.js +++ b/.github/release.config.js @@ -3,21 +3,20 @@ module.exports = { { name: "main", channel: "latest", - level: "minor", + level: "minor" }, { - name: "maintenance", - channel: "latest", - level: "patch", + name: "release/2.*", + channel: "zowe-v2-lts", + level: "patch" }, { - name: "v1-lts", - channel: "zowe-v1-lts", - level: "patch", + name: "release/3.*", + channel: "latest", + level: "patch" }, { name: "next", - level: "none", prerelease: true, } ], diff --git a/.github/workflows/auto-comment.yml b/.github/workflows/auto-comment.yml index 713524003b..66ed36ede6 100644 --- a/.github/workflows/auto-comment.yml +++ b/.github/workflows/auto-comment.yml @@ -3,6 +3,8 @@ name: Zowe Explorer Auto Responder for New Issues on: issues: types: labeled +permissions: + issues: write jobs: processLabelAction: diff --git a/.github/workflows/merge-by-comments.yml b/.github/workflows/merge-by-comments.yml new file mode 100644 index 0000000000..5f0a412475 --- /dev/null +++ b/.github/workflows/merge-by-comments.yml @@ -0,0 +1,18 @@ +name: Merge-by + +on: + pull_request: + types: [opened, ready_for_review] +jobs: + rfr_add_date: + name: "Post merge-by date as comment" + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: actions/checkout@v3 + - uses: actions/github-script@v7 + with: + script: | + const script = require("./.github/workflows/merge-by/post-date.js"); + await script({ github, context }); \ No newline at end of file diff --git a/.github/workflows/merge-by-table.yml b/.github/workflows/merge-by-table.yml new file mode 100644 index 0000000000..2f7366d9cf --- /dev/null +++ b/.github/workflows/merge-by-table.yml @@ -0,0 +1,41 @@ +name: Merge-by + +on: + pull_request: + types: [opened, ready_for_review] + pull_request_review: + types: [submitted] + push: + branches: + - main + - next + workflow_dispatch: + schedule: + - cron: "0 11 * * *" +jobs: + rfr_add_date: + name: "Build table and notify users" + runs-on: ubuntu-latest + permissions: + discussions: write + pull-requests: write + steps: + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v4 + with: + version: 8 + run_install: false + + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install + + - uses: actions/github-script@v7 + with: + script: | + const script = require("./.github/workflows/merge-by/build-table-and-notify.js"); + await script({ github, context }); \ No newline at end of file diff --git a/.github/workflows/merge-by/build-table-and-notify.js b/.github/workflows/merge-by/build-table-and-notify.js new file mode 100644 index 0000000000..9e0989eb2a --- /dev/null +++ b/.github/workflows/merge-by/build-table-and-notify.js @@ -0,0 +1,206 @@ +/** + * Builds a row for the Markdown table given the GitHub repo owner, repo name and pull request. + * @param {string} owner The owner of the repository (user or organization) + * @param {string} repo The name of the repository on GitHub + * @param {Object} pr The pull request data to use for the table row + * @param {number} pr.number The number for the pull request + * @param {string} pr.author The author of the pull request + * @param {string} pr.title The title of the pull request + * @param {boolean} pr.hasReviews Whether the pull request has 2 or more approvals + * @param {boolean} pr.mergeable Whether the pull request is able to be merged + * @param {Object[]} pr.reviewers The list of requested reviewers for the pull request + * @param {string} pr.mergeBy (optional) The merge-by date for the pull request + * @returns + */ +const buildTableRow = (owner, repo, pr) => + `| [#${pr.number}](https://github.com/${owner}/${repo}/pull/${pr.number}) | [**${pr.title.trim()}**](https://github.com/${owner}/${repo}/pull/${pr.number}) | ${pr.author} | ${pr.mergeBy ?? "N/A"} | ${pr.hasReviews && pr.mergeable !== false ? ":white_check_mark:" : ":white_large_square:"} |`; + +const tableHeader = ` +| # | Title | Author | Merge by | Ready to merge? | +| - | ----- | ------ | ------------- | -------------- |`; + +/** + * Scans PRs and builds a table using Markdown. Updates an issue or creates a new one with the table. + * + * @param {Object} github The OctoKit/rest.js API for making requests to GitHub + * @param {string} owner The owner of the repository (user or organization) + * @param {Object[]} pullRequests The list of pull requests to include in the table + * @param {number} pullRequests[].number The number for the pull request + * @param {string} pullRequests[].author The author of the pull request + * @param {string} pullRequests[].title The title of the pull request + * @param {boolean} pullRequests[].hasReviews Whether the pull request has 2 or more approvals + * @param {boolean} pullRequests[].mergeable Whether the pull request is able to be merged + * @param {Object[]} pullRequests[].reviewers The list of requested reviewers for the pull request + * @param {string} pullRequests[].mergeBy (optional) The merge-by date for the pull request + * @param {string} repo The name of the repository on GitHub + */ +const scanPRsAndUpdateTable = async ({ github, owner, pullRequests, repo }) => { + // Build a table using Markdown to post within the issue + const body = `${tableHeader}\n${pullRequests.map((pr) => buildTableRow(owner, repo, pr)).join("\n")}`; + + const graphqlQuery = `query($owner:String!, $repo:String!) { + repository(owner:$owner, name:$repo) { + id + + discussionCategories(first: 100) { + nodes { + id + name + } + } + + discussions(first: 100) { + nodes { + id + body + title + } + } + } + }`; + + const discussionsQuery = await github.graphql(graphqlQuery, { + owner, + repo, + }); + const discussion = discussionsQuery?.repository?.discussions?.nodes?.find((d) => d.title === "PR Status List"); + + if (discussion != null) { + const mutation = `mutation($input:UpdateDiscussionInput!) { + updateDiscussion(input: $input) { + discussion { + id + } + } + }` + await github.graphql(mutation, { + input: { + discussionId: discussion.id, + body, + } + }); + } else { + const mutation = `mutation($input:CreateDiscussionInput!) { + createDiscussion(input: $input) { + discussion { + id + } + } + }`; + const generalCategory = discussionsQuery.repository?.discussionCategories?.nodes?.find((cat) => cat.name === "General"); + await github.graphql(mutation, { + input: { + categoryId: generalCategory.id, + repositoryId: discussionsQuery?.repository?.id, + body, + title: "PR Status List" + } + }); + } +} + +/** + * Notifies users for PRs that have a merge-by date <24 hours from now. + * + * @param {Object} dayJs Day.js exports for manipulating/querying time differences + * @param {Object} github The OctoKit/rest.js API for making requests to GitHub + * @param {string} owner The owner of the repo (user or organization) + * @param {Object[]} pullRequests The list of pull requests to include in the table + * @param {string} pullRequests[].number The number for the pull request + * @param {string} pullRequests[].author The author of the pull request + * @param {string} pullRequests[].title The title of the pull request + * @param {string} pullRequests[].mergeable Whether the pull request is able to be merged + * @param {string} pullRequests[].reviewers The list of requested reviewers for the pull request + * @param {string} pullRequests[].mergeBy (optional) The merge-by date for the pull request + * @param {string} repo The name of the GitHub repo + * @param {Object} today Today's date represented as a Day.js object + */ +const notifyUsers = async ({ dayJs, github, owner, pullRequests, repo, today }) => { + const prsCloseToMergeDate = pullRequests.filter((pr) => { + if (pr.mergeBy == null) { + return false; + } + + // Filter out any PRs that don't have merge-by dates within a day from now + const mergeByDate = dayJs(pr.mergeBy); + return mergeByDate.diff(today, "day") <= 1; + }); + + for (const pr of prsCloseToMergeDate) { + // Make a comment on the PR and tag reviewers + const body = `**Reminder:** This pull request has a merge-by date coming up within the next 24 hours. Please review this PR as soon as possible.\n\n${pr.reviewers.map((r) => `@${r.login}`).join(" ")}` + await github.rest.issues.createComment({ + owner, + repo, + issue_number: pr.number, + body + }); + } +}; + +/** + * Fetches PRs with a merge-by date < 1 week from now. + * + * @param {Object} dayJs Day.js exports for manipulating/querying time differences + * @param {Object} github The OctoKit/rest.js API for making requests to GitHub + * @param {string} owner The owner of the repository (user or organization) + * @param {string} repo The name of the repository on GitHub + * @param {Object} today Today's date, represented as a day.js object + */ +const fetchPullRequests = async ({ dayJs, github, owner, repo, today }) => { + const nextWeek = today.add(7, "day"); + return (await Promise.all((await github.rest.pulls.list({ + owner, + repo, + state: "open" + }))?.data.filter((pr) => !pr.draft) + .map(async (pr) => { + const comments = (await github.rest.issues.listComments({ owner, repo, issue_number: pr.number })).data; + // Attempt to parse the merge-by date from the bot comment + const existingComment = comments?.find((comment) => + comment.user.login === "github-actions[bot]" && comment.body.includes("**📅 Suggested merge-by date:")); + + const reviews = (await github.rest.pulls.listReviews({ + owner, + repo, + pull_number: pr.number, + })).data; + + const hasTwoReviews = reviews.reduce((all, review) => review.state === "APPROVED" ? all + 1 : all, 0) >= 2; + + // Filter out reviewers if they have already reviewed and approved the pull request + const reviewersNotApproved = pr.requested_reviewers + .filter((reviewer) => + reviews.find((review) => review.state === "APPROVED" && reviewer.login === review.user.login) == null); + + return { + number: pr.number, + title: pr.title, + author: pr.user.login, + hasReviews: hasTwoReviews, + mergeable: pr.mergeable, + reviewers: reviewersNotApproved, + mergeBy: existingComment?.body.substring(existingComment.body.lastIndexOf("*") + 1).trim() + }; + }))).filter((pr) => { + if (pr.mergeBy == null) { + return true; + } + + // Filter out any PRs that have merge-by dates > 1 week from now + const mergeByDate = dayJs(pr.mergeBy); + return nextWeek.diff(mergeByDate, "day") <= 7; + }).reverse(); +} + +module.exports = async ({ github, context }) => { + const dayJs = require("dayjs"); + const today = dayJs(); + const owner = context.repo.owner; + const repo = context.repo.repo; + const pullRequests = await fetchPullRequests({ dayJs, github, owner, repo, today }); + // Look over existing PRs, grab all PRs with a merge-by date <= 1w from now, and update the issue with the new table + await scanPRsAndUpdateTable({ github, owner, pullRequests, repo }); + // Notify users for PRs with merge-by dates coming up within 24hrs from now + await notifyUsers({ dayJs, github, owner, pullRequests, repo, today }); +} \ No newline at end of file diff --git a/.github/workflows/merge-by/post-date.js b/.github/workflows/merge-by/post-date.js new file mode 100644 index 0000000000..cb592fb5fd --- /dev/null +++ b/.github/workflows/merge-by/post-date.js @@ -0,0 +1,48 @@ +module.exports = async ({ github, context }) => { + // Ignore PR "opened" events if the PR was opened as draft + const wasJustOpened = context.action === "opened"; + if (wasJustOpened && context.payload.pull_request.draft) { + return; + } + + const wasJustPushed = context.action === "synchronize"; + + const owner = context.repo.owner; + const repo = context.repo.repo; + const comments = (await github.rest.issues.listComments({ owner, repo, issue_number: context.payload.pull_request.number }))?.data; + const existingComment = comments?.find((comment) => + comment.user.login === "github-actions[bot]" && comment.body.includes("**📅 Suggested merge-by date:")); + + // For existing PRs, only post the date if a bot comment doesn't already exist. + if (context.payload.pull_request.draft || (wasJustPushed && existingComment != null)) { + return; + } + + // Determine new merge-by date based on the last time the PR was marked as ready + const currentTime = new Date(); + const mergeBy = new Date(); + mergeBy.setDate(currentTime.getDate() + 14); + const mergeByDate = mergeBy.toLocaleDateString("en-US"); + + // Check if the bot already made a comment on this PR + const body = `**📅 Suggested merge-by date:** ${mergeByDate}`; + + // Update the existing comment if one exists, or post a new comment with the merge-by date + if (existingComment != null) { + console.log(`Updated existing comment (ID ${existingComment.id}) with new merge-by date: ${mergeByDate}`); + await github.rest.issues.updateComment({ + owner, + repo, + comment_id: existingComment.id, + body + }); + } else { + console.log(`Posted comment with new merge-by date: ${mergeByDate}`); + await github.rest.issues.createComment({ + owner, + repo, + issue_number: context.payload.pull_request.number, + body, + }); + } +} \ No newline at end of file diff --git a/.github/workflows/update-project.yml b/.github/workflows/update-project.yml index 09fa9e290a..94070a0995 100644 --- a/.github/workflows/update-project.yml +++ b/.github/workflows/update-project.yml @@ -12,6 +12,9 @@ env: PR_STATUS_DRAFT: 'In Progress' PR_STATUS_READY: 'Review/QA' +permissions: + pull-requests: write + jobs: update-project: name: Move project item diff --git a/packages/eslint-plugin-zowe-explorer/CHANGELOG.md b/packages/eslint-plugin-zowe-explorer/CHANGELOG.md index fde42258d5..7bbf4fb3b2 100644 --- a/packages/eslint-plugin-zowe-explorer/CHANGELOG.md +++ b/packages/eslint-plugin-zowe-explorer/CHANGELOG.md @@ -6,6 +6,16 @@ All notable changes to the "eslint-plugin-zowe-explorer" package will be documen ### Bug fixes +## `3.0.0-next.202409132122` + +### New features and enhancements + +### Bug fixes + +## `3.0.0-next.202409091409` + +## `3.0.0-next.202408301858` + ## `3.0.0-next.202309121526` ### New features and enhancements @@ -13,6 +23,30 @@ All notable changes to the "eslint-plugin-zowe-explorer" package will be documen - Added placeholder `madge` script to `package.json` for workspace script to succeed. - Migrated to new package manager PNPM from Yarn. +## `2.18.0` + +## `2.17.0` + +## `2.16.3` + +## `2.16.2` + +## `2.16.1` + +## `2.16.0` + +## `2.15.4` + +## `2.15.3` + +## `2.15.2` + +## `2.15.1` + +## `2.15.0` + +## `2.14.1` + ## `2.14.0` ## `2.13.1` diff --git a/packages/zowe-explorer-api/CHANGELOG.md b/packages/zowe-explorer-api/CHANGELOG.md index efee42ecb2..3b06bae601 100644 --- a/packages/zowe-explorer-api/CHANGELOG.md +++ b/packages/zowe-explorer-api/CHANGELOG.md @@ -6,6 +6,28 @@ All notable changes to the "zowe-explorer-api" extension will be documented in t ### New features and enhancements +### Bug fixes + +## `3.0.0-next.202409132122` + +### New features and enhancements + +- Added optional `patternMatches` property to the `IZoweDatasetTreeNode` interface to cache pattern matches from an applied filter search. [#1164](https://github.com/zowe/zowe-explorer-vscode/issues/1164) + +### Bug fixes + +- Fix extender's ability to fetch profile information from ProfilesCache for SSH profile types. + +## `3.0.0-next.202409091409` + +### Bug fixes + +- Update Zowe SDKs to `8.0.0-next.202408301809` for technical currency. + +## `3.0.0-next.202408301858` + +### New features and enhancements + - Deprecated the following properties on Zowe tree interfaces in favor of setters and getters to incentivize encapsulation: [#2026](https://github.com/zowe/zowe-explorer-vscode/issues/2026) - `binary` property on the `IZoweDatasetTreeNode` interface - use the `getEncoding` and `setEncoding` functions instead. - `encodingMap` property on the `IZoweDatasetTreeNode` and `IZoweUSSTreeNode` interfaces - use the `getEncodingInMap` and `updateEncodingInMap` functions instead. @@ -22,6 +44,7 @@ All notable changes to the "zowe-explorer-api" extension will be documented in t - `ZoweVsCodeExtension.showVsCodeMessage` - use `Gui.showMessage` instead. - `ZoweVsCodeExtension.inputBox` - use `Gui.showInputBox` instead. - `ZoweVsCodeExtension.promptCredentials` - use `ZoweVsCodeExtension.updateCredentials` instead. +- **Breaking:** Removed unused property `profileManagerByType` which used the V1-profile class `CLIProfileManager`. [#3057](https://github.com/zowe/zowe-explorer-vscode/issues/3057) - **Breaking:** Added return type of `Promise` to the following `IZoweTree` methods: [#2238](https://github.com/zowe/zowe-explorer-vscode/issues/2238) - addFavorite - removeFavorite @@ -115,7 +138,8 @@ All notable changes to the "zowe-explorer-api" extension will be documented in t - Removed `handlebars` dependency in favor of `mustache` for technical currency purposes. [#2975](https://github.com/zowe/zowe-explorer-vscode/pull/2975) - Fixed an issue where the `ZoweVsCodeExtension.updateCredentials` method could remove credentials from session when input prompt was cancelled. [#3009](https://github.com/zowe/zowe-explorer-vscode/pull/3009) - Fixed an issue where the loaded configuration could be overridden when extenders retrieved the Zowe home directory. [#2994](https://github.com/zowe/zowe-explorer-vscode/pull/2994) -- Update Zowe SDKs to `8.0.0-next.202407232256` for technical currency. [#2994](https://github.com/zowe/zowe-explorer-vscode/pull/2994) +- Fixed an issue where remote lookup functionality caused the local side of a conflict to be overwritten with the remote contents. [#3085](https://github.com/zowe/zowe-explorer-vscode/pull/3085) +- Update Zowe SDKs to `8.0.0-next.202408291544` for technical currency. [#3057](https://github.com/zowe/zowe-explorer-vscode/pull/3057) ## `3.0.0-next.202404242037` @@ -209,6 +233,86 @@ All notable changes to the "zowe-explorer-api" extension will be documented in t - Added `madge` script in `package.json` to track circular dependencies. [#2148](https://github.com/zowe/vscode-extension-for-zowe/issues/2148) - Migrated to new package manager PNPM from Yarn. +## `2.18.0` + +### Bug fixes + +- Fixed an issue where the `ZoweVsCodeExtension.updateCredentials` method could remove credentials from session when input prompt was cancelled. [#3018](https://github.com/zowe/zowe-explorer-vscode/pull/3018) +- Updated the `@zowe/cli` dependency to fix error when using session with auth type "none". [zowe-cli#2219](https://github.com/zowe/zowe-cli/issues/2219) +- Fixed errors being logged silently rather than thrown in `ProfilesCache.refresh` method. [#3066](https://github.com/zowe/zowe-explorer-vscode/issues/3066) + +## `2.17.0` + +### New features and enhancements + +- Updated the `@zowe/cli` dependency to 7.27.0 to support proxy environment variables [#3003](https://github.com/zowe/zowe-explorer-vscode/issues/3003) + +### Bug fixes + +- Removed `handlebars` dependency in favor of `mustache` for technical currency purposes. [#2974](https://github.com/zowe/zowe-explorer-vscode/pull/2974) + +## `2.16.3` + +## `2.16.2` + +### Bug fixes + +- Fixed an issue where the `onProfilesUpdate` event did not fire after secure credentials were updated. [#2822](https://github.com/zowe/zowe-explorer-vscode/issues/2822) +- Update dependencies for technical currency purposes. + +## `2.16.1` + +## `2.16.0` + +### New features and enhancements + +- Added optional `consoleName` argument to `ZosmfCommandApi.issueMvsCommand`. [#1667](https://github.com/zowe/vscode-extension-for-zowe/issues/1667) +- Added "Date Completed" attribute to JobSortOpts enum type. [#1685](https://github.com/zowe/vscode-extension-for-zowe/issues/1685) +- Added PEM certificate support as an authentication method for logging into the API ML. [#2621](https://github.com/zowe/zowe-explorer-vscode/issues/2621) + +### Bug fixes + +- Updated `@zowe/cli` dependency to fix issue where "Log out of authentication service" doesn't show in Manage Profile menu. [#2633](https://github.com/zowe/zowe-explorer-vscode/issues/2633) +- Fixed regression of issue where the `ProfilesCache` class would retain old service profiles, even if they were removed from the team config. [#2910](https://github.com/zowe/zowe-explorer-vscode/issues/2910) + +## `2.15.4` + +## `2.15.3` + +### Bug fixes + +- Fixed an issue where `ProfilesCache` may return missing or incorrect profile values when multiple extensions call it during activation. [#2831](https://github.com/zowe/zowe-explorer-vscode/issues/2831) + +## `2.15.2` + +### New features and enhancements + +- Added optional method `getDsDocumentFilePath` to `IZoweDatasetTreeNode` interface to make it easier for extenders to get the local file path of a data set node. [#2760](https://github.com/zowe/vscode-extension-for-zowe/pull/2760) + +### Bug fixes + +- Fixed an issue where the `ProfilesCache` class would retain old service profiles, even if they were removed from the team config. [#2395](https://github.com/zowe/zowe-explorer-vscode/issues/2395) + +## `2.15.1` + +### Bug fixes + +- Fixed TypeError encountered in the `ProfilesCache.checkMergingConfigAllProfiles` function when merging profiles. [#2771](https://github.com/zowe/vscode-extension-for-zowe/pull/2771) + +## `2.15.0` + +### Bug fixes + +- Fix login and logout operations when APIML dynamic tokens are enabled. [#2692](https://github.com/zowe/vscode-extension-for-zowe/pull/2692) +- Fixed issue where `zosmf` profiles did not respect the `protocol` property. [#2703](https://github.com/zowe/vscode-extension-for-zowe/issues/2703) +- Fix to restore accessibility to all profiles when default profile has APIML token authentication. [#2111](https://github.com/zowe/vscode-extension-for-zowe/issues/2111) + +## `2.14.1` + +### Bug fixes + +- Update transitive dependencies for technical currency. + ## `2.14.0` ### New features and enhancements @@ -221,6 +325,8 @@ All notable changes to the "zowe-explorer-api" extension will be documented in t - Added new functions `loginWithBaseProfile` and `logoutWithBaseProfile` to provide extenders with the ability to automatically login to their respective services. [#2493](https://github.com/zowe/vscode-extension-for-zowe/pull/2493) - Added APIML dynamic token support. [#2665](https://github.com/zowe/vscode-extension-for-zowe/issues/2665) - Added new optional method `getCommonApi` to `ZoweExplorerApi.IApiRegisterClient` for enhanced typings in other Zowe Explorer APIs. [#2493](https://github.com/zowe/vscode-extension-for-zowe/pull/2493) +- Add Created Date to `stats` optional variable for storing dataset stats +- Add Date created to DatasetSortOpts enum [#2707](https://github.com/zowe/vscode-extension-for-zowe/pull/2707) ### Bug fixes @@ -252,11 +358,11 @@ All notable changes to the "zowe-explorer-api" extension will be documented in t ### New features and enhancements - Added optional `getTag` function to `ZoweExplorerAPI.IUss` for getting the tag of a file on USS. -- Added new API {ZE Extender MetaData} to allow extenders to have the metadata of registered extenders to aid in team configuration file creation from a view that isn't Zowe Explorer's. [#2394](https://github.com/zowe/vscode-extension-for-zowe/issues/2394) +- Added new ProfilesCache API `getConfigArray` to allow extenders to get the registered profile type's metadata for team configuration file creation handled outside of Zowe Explorer views. [#2394](https://github.com/zowe/vscode-extension-for-zowe/issues/2394) - Add `sort` and `filter` optional variables for storing sort/filter options alongside tree nodes. [#2420](https://github.com/zowe/vscode-extension-for-zowe/issues/2420) -- Add `stats` optional variable for storing dataset stats (such as user, modified date, etc.) +- Add `stats` optional variable for storing dataset stats (such as user, modified date, etc.). - Add option enums and types for sorting, filtering and sort direction in tree nodes. [#2420](https://github.com/zowe/vscode-extension-for-zowe/issues/2420) -- Added option for retaining context when generating webviews in Webview API +- Added option for retaining context when generating webviews in Webview API. ## `2.11.2` diff --git a/packages/zowe-explorer-api/__tests__/__unit__/fs/BaseProvider.unit.test.ts b/packages/zowe-explorer-api/__tests__/__unit__/fs/BaseProvider.unit.test.ts index ba639be3eb..d5fb25052a 100644 --- a/packages/zowe-explorer-api/__tests__/__unit__/fs/BaseProvider.unit.test.ts +++ b/packages/zowe-explorer-api/__tests__/__unit__/fs/BaseProvider.unit.test.ts @@ -636,3 +636,17 @@ describe("_reopenEditorForRelocatedUri", () => { tabGroupsMock[Symbol.dispose](); }); }); + +describe("onCloseEvent", () => { + it("disposes the event if all visible text editors are not in a conflict", () => { + const fakeProvider = { _lookupAsFile: jest.fn(), onDocClosedEventDisposable: { dispose: jest.fn() } }; + const visibleTextEditorsMock = new MockedProperty(vscode.window, "visibleTextEditors", undefined, [ + { document: { uri: vscode.Uri.from({ scheme: ZoweScheme.DS, path: "/profile/DATA.SET.TWO" }) } }, + ]); + (BaseProvider as any).onCloseEvent.bind(fakeProvider)({ + uri: vscode.Uri.from({ scheme: ZoweScheme.DS, query: "conflict=true", path: "/profile/DATA.SET" }), + }); + expect(fakeProvider.onDocClosedEventDisposable.dispose).toHaveBeenCalled(); + visibleTextEditorsMock[Symbol.dispose](); + }); +}); diff --git a/packages/zowe-explorer-api/__tests__/__unit__/profiles/ProfilesCache.unit.test.ts b/packages/zowe-explorer-api/__tests__/__unit__/profiles/ProfilesCache.unit.test.ts index 5c31c1c8b3..b1f80ce4dd 100644 --- a/packages/zowe-explorer-api/__tests__/__unit__/profiles/ProfilesCache.unit.test.ts +++ b/packages/zowe-explorer-api/__tests__/__unit__/profiles/ProfilesCache.unit.test.ts @@ -258,25 +258,23 @@ describe("ProfilesCache", () => { }); describe("refresh", () => { - const mockLogError = jest.fn(); const profileTypes = ["zosmf", "zftp"]; const fakeApiRegister = { registeredApiTypes: jest.fn().mockReturnValue(profileTypes), }; it("should refresh profile data for multiple profile types", async () => { - const profCache = new ProfilesCache({ ...fakeLogger, error: mockLogError } as unknown as imperative.Logger); + const profCache = new ProfilesCache(fakeLogger as unknown as imperative.Logger); jest.spyOn(profCache, "getProfileInfo").mockResolvedValue(createProfInfoMock([lpar1Profile, zftpProfile])); await profCache.refresh(fakeApiRegister as unknown as Types.IApiRegisterClient); expect(profCache.allProfiles.length).toEqual(2); expect(profCache.allProfiles[0]).toMatchObject(lpar1Profile); expect(profCache.allProfiles[1]).toMatchObject(zftpProfile); - expect(profCache.getAllTypes()).toEqual([...profileTypes, "base"]); - expect(mockLogError).not.toHaveBeenCalled(); + expect(profCache.getAllTypes()).toEqual([...profileTypes, "ssh", "base"]); }); it("should refresh profile data for and merge tokens with base profile", async () => { - const profCache = new ProfilesCache({ ...fakeLogger, error: mockLogError } as unknown as imperative.Logger); + const profCache = new ProfilesCache(fakeLogger as unknown as imperative.Logger); jest.spyOn(profCache, "getProfileInfo").mockResolvedValue( createProfInfoMock([lpar1ProfileWithToken, lpar2ProfileWithToken, baseProfileWithToken]) ); @@ -285,24 +283,22 @@ describe("ProfilesCache", () => { expect(profCache.allProfiles[0]).toMatchObject(lpar1ProfileWithToken); expect(profCache.allProfiles[1]).toMatchObject(lpar2Profile); // without token expect(profCache.allProfiles[2]).toMatchObject(baseProfileWithToken); - expect(profCache.getAllTypes()).toEqual([...profileTypes, "base"]); - expect(mockLogError).not.toHaveBeenCalled(); + expect(profCache.getAllTypes()).toEqual([...profileTypes, "ssh", "base"]); }); it("should handle error when refreshing profile data", async () => { const fakeError = "Profile IO Error"; - const profCache = new ProfilesCache({ ...fakeLogger, error: mockLogError } as unknown as imperative.Logger); + const profCache = new ProfilesCache(fakeLogger as unknown as imperative.Logger); jest.spyOn(profCache, "getProfileInfo").mockImplementation(() => { throw fakeError; }); - await profCache.refresh(fakeApiRegister as unknown as Types.IApiRegisterClient); + await expect(profCache.refresh(fakeApiRegister as unknown as Types.IApiRegisterClient)).rejects.toBe(fakeError); expect(profCache.allProfiles.length).toEqual(0); expect(profCache.getAllTypes().length).toEqual(0); - expect(mockLogError).toHaveBeenCalledWith(fakeError); }); it("should remove old types from profilesByType and defaultProfileByType maps when reloading profiles", async () => { - const profCache = new ProfilesCache({ ...fakeLogger, error: mockLogError } as unknown as imperative.Logger); + const profCache = new ProfilesCache(fakeLogger as unknown as imperative.Logger); jest.spyOn(profCache, "getProfileInfo").mockResolvedValue(createProfInfoMock([])); (profCache as any).profilesByType.set("base", { name: "someProf" as any }); (profCache as any).defaultProfileByType.set("base", { name: "someProf" as any }); @@ -313,8 +309,7 @@ describe("ProfilesCache", () => { expect((profCache as any).profilesByType.size).toBe(0); expect((profCache as any).defaultProfileByType.size).toBe(0); expect((profCache as any).allProfiles.length).toBe(0); - expect((profCache as any).allTypes).toEqual(["base"]); - expect(mockLogError).not.toHaveBeenCalled(); + expect((profCache as any).allTypes).toEqual(["ssh", "base"]); }); }); diff --git a/packages/zowe-explorer-api/package.json b/packages/zowe-explorer-api/package.json index ed86904f71..0feb6a9528 100644 --- a/packages/zowe-explorer-api/package.json +++ b/packages/zowe-explorer-api/package.json @@ -28,15 +28,15 @@ }, "dependencies": { "@types/vscode": "^1.53.2", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202407232256", - "@zowe/imperative": "8.0.0-next.202407232256", - "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202407232256", - "@zowe/zos-console-for-zowe-sdk": "8.0.0-next.202407232256", - "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202407232256", - "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202407232256", - "@zowe/zos-tso-for-zowe-sdk": "8.0.0-next.202407232256", - "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202407232256", - "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202407232256", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202408301809", + "@zowe/imperative": "8.0.0-next.202408301809", + "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202408301809", + "@zowe/zos-console-for-zowe-sdk": "8.0.0-next.202408301809", + "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202408301809", + "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202408301809", + "@zowe/zos-tso-for-zowe-sdk": "8.0.0-next.202408301809", + "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202408301809", + "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202408301809", "deep-object-diff": "^1.1.9", "mustache": "^4.2.0", "semver": "^7.6.0" diff --git a/packages/zowe-explorer-api/src/fs/BaseProvider.ts b/packages/zowe-explorer-api/src/fs/BaseProvider.ts index 4ff2bf7872..3d099f3060 100644 --- a/packages/zowe-explorer-api/src/fs/BaseProvider.ts +++ b/packages/zowe-explorer-api/src/fs/BaseProvider.ts @@ -27,6 +27,7 @@ export class BaseProvider { public onDidChangeFile: vscode.Event = this._onDidChangeFileEmitter.event; protected root: DirEntry; public openedUris: vscode.Uri[] = []; + public onDocClosedEventDisposable: vscode.Disposable = null; protected constructor() {} @@ -296,14 +297,19 @@ export class BaseProvider { // This event removes the "diff view" flag from the local file, // so that API calls can continue after the conflict dialog is closed. - private static onCloseEvent(provider: BaseProvider, e: vscode.TextDocument): void { + private static onCloseEvent(this: BaseProvider, e: vscode.TextDocument): void { if (e.uri.query && e.uri.scheme.startsWith("zowe-")) { const queryParams = new URLSearchParams(e.uri.query); if (queryParams.has("conflict")) { - const fsEntry = provider._lookupAsFile(e.uri, { silent: true }); + const fsEntry = this._lookupAsFile(e.uri, { silent: true }); if (fsEntry) { fsEntry.inDiffView = false; } + + if (vscode.window.visibleTextEditors.every((editor) => !editor.document.uri.query?.includes("conflict=true"))) { + vscode.commands.executeCommand("setContext", "zowe.vscode-extension-for-zowe.inConflict", false); + this.onDocClosedEventDisposable.dispose(); + } } } } @@ -332,13 +338,14 @@ export class BaseProvider { // User selected "Compare", show diff with local contents and LPAR contents if (userSelection === conflictOptions[0]) { - vscode.workspace.onDidCloseTextDocument(BaseProvider.onCloseEvent.bind(this)); + await vscode.commands.executeCommand("setContext", "zowe.vscode-extension-for-zowe.inConflict", true); await vscode.commands.executeCommand( "vscode.diff", uri.with({ query: "conflict=true" }), uri.with({ query: "inDiff=true" }), `${entry.name} (Remote) ↔ ${entry.name}` ); + this.onDocClosedEventDisposable = vscode.workspace.onDidCloseTextDocument(BaseProvider.onCloseEvent.bind(this)); return ConflictViewSelection.Compare; } diff --git a/packages/zowe-explorer-api/src/profiles/ProfilesCache.ts b/packages/zowe-explorer-api/src/profiles/ProfilesCache.ts index 6daefbb4ec..830bb9bcda 100644 --- a/packages/zowe-explorer-api/src/profiles/ProfilesCache.ts +++ b/packages/zowe-explorer-api/src/profiles/ProfilesCache.ts @@ -26,7 +26,6 @@ export class ProfilesCache { protected allExternalTypes = new Set(); protected profilesByType = new Map(); protected defaultProfileByType = new Map(); - protected profileManagerByType = new Map(); public constructor(protected log: imperative.Logger, protected cwd?: string) { this.cwd = cwd != null ? FileManagement.getFullPath(cwd) : undefined; @@ -146,47 +145,44 @@ export class ProfilesCache { public async refresh(apiRegister?: IRegisterClient): Promise { const allProfiles: imperative.IProfileLoaded[] = []; - try { - const mProfileInfo = await this.getProfileInfo(); - if (!mProfileInfo.getTeamConfig().exists) { - return; - } - const allTypes = this.getAllProfileTypes(apiRegister?.registeredApiTypes() ?? []); - allTypes.push("base"); - for (const type of allTypes) { - const tmpAllProfiles: imperative.IProfileLoaded[] = []; - // Step 1: Get all profiles for each registered type - const profilesForType = mProfileInfo.getAllProfiles(type).filter((temp) => temp.profLoc.osLoc.length !== 0); - if (profilesForType && profilesForType.length > 0) { - for (const prof of profilesForType) { - // Step 2: Merge args for each profile - const profAttr = this.getMergedAttrs(mProfileInfo, prof); - // Work-around. TODO: Discuss with imperative team - const profileFix = this.getProfileLoaded(prof.profName, prof.profType, profAttr); - // set default for type - if (prof.isDefaultProfile) { - this.defaultProfileByType.set(type, profileFix); - } - - // Step 3: Update allProfiles list - tmpAllProfiles.push(profileFix); + const mProfileInfo = await this.getProfileInfo(); + if (!mProfileInfo.getTeamConfig().exists) { + return; + } + const allTypes = this.getAllProfileTypes(apiRegister?.registeredApiTypes() ?? []); + allTypes.push("ssh"); + allTypes.push("base"); + for (const type of allTypes) { + const tmpAllProfiles: imperative.IProfileLoaded[] = []; + // Step 1: Get all profiles for each registered type + const profilesForType = mProfileInfo.getAllProfiles(type).filter((temp) => temp.profLoc.osLoc.length !== 0); + if (profilesForType && profilesForType.length > 0) { + for (const prof of profilesForType) { + // Step 2: Merge args for each profile + const profAttr = this.getMergedAttrs(mProfileInfo, prof); + // Work-around. TODO: Discuss with imperative team + const profileFix = this.getProfileLoaded(prof.profName, prof.profType, profAttr); + // set default for type + if (prof.isDefaultProfile) { + this.defaultProfileByType.set(type, profileFix); } - allProfiles.push(...tmpAllProfiles); - this.profilesByType.set(type, tmpAllProfiles); + + // Step 3: Update allProfiles list + tmpAllProfiles.push(profileFix); } + allProfiles.push(...tmpAllProfiles); + this.profilesByType.set(type, tmpAllProfiles); } - this.allProfiles = allProfiles; - this.allTypes = allTypes; - for (const oldType of [...this.profilesByType.keys()].filter((type) => !allProfiles.some((prof) => prof.type === type))) { - this.profilesByType.delete(oldType); - this.defaultProfileByType.delete(oldType); - } - // check for proper merging of apiml tokens - this.checkMergingConfigAllProfiles(); - this.profilesForValidation = []; - } catch (error) { - this.log.error(error as string); } + this.allProfiles = allProfiles; + this.allTypes = allTypes; + for (const oldType of [...this.profilesByType.keys()].filter((type) => !allProfiles.some((prof) => prof.type === type))) { + this.profilesByType.delete(oldType); + this.defaultProfileByType.delete(oldType); + } + // check for proper merging of apiml tokens + this.checkMergingConfigAllProfiles(); + this.profilesForValidation = []; } public validateAndParseUrl(newUrl: string): Validation.IValidationUrl { diff --git a/packages/zowe-explorer-api/src/tree/IZoweTreeNode.ts b/packages/zowe-explorer-api/src/tree/IZoweTreeNode.ts index e304d9e8ab..d65612211e 100644 --- a/packages/zowe-explorer-api/src/tree/IZoweTreeNode.ts +++ b/packages/zowe-explorer-api/src/tree/IZoweTreeNode.ts @@ -34,6 +34,8 @@ export type ZosEncoding = TextEncoding | BinaryEncoding | OtherEncoding; export type EncodingMap = Record; +export type DatasetMatch = { dsn: string; member?: string }; + /** * The base interface for Zowe tree nodes that are implemented by vscode.TreeItem. * @@ -138,6 +140,11 @@ export interface IZoweDatasetTreeNode extends IZoweTreeNode { */ memberPattern?: string; + /** + * Pattern matches used for parsing member wildcards + */ + patternMatches?: DatasetMatch[]; + /** * @deprecated Please use `setStats` and `getStats` instead. * diff --git a/packages/zowe-explorer-api/src/vscode/ui/index.ts b/packages/zowe-explorer-api/src/vscode/ui/index.ts index 5d275adf11..7dd672568d 100644 --- a/packages/zowe-explorer-api/src/vscode/ui/index.ts +++ b/packages/zowe-explorer-api/src/vscode/ui/index.ts @@ -14,3 +14,4 @@ export * from "./utils/TableMediator"; export * from "./TableView"; export * from "./TableViewProvider"; export * from "./WebView"; +export * as HTMLTemplate from "./utils/HTMLTemplate"; diff --git a/packages/zowe-explorer-api/src/vscode/ui/utils/HTMLTemplate.ts b/packages/zowe-explorer-api/src/vscode/ui/utils/HTMLTemplate.ts index 4d5ed762a2..5566cbaf94 100644 --- a/packages/zowe-explorer-api/src/vscode/ui/utils/HTMLTemplate.ts +++ b/packages/zowe-explorer-api/src/vscode/ui/utils/HTMLTemplate.ts @@ -14,16 +14,16 @@ /** * HTML template that is compiled with Mustache to load a WebView instance at runtime. */ -const HTMLTemplate: string = ` +const HTMLTemplate: string = /*html*/ ` {{ title }} - @@ -33,9 +33,11 @@ const HTMLTemplate: string = ` {{#uris.resource.codicons}} {{/uris.resource.codicons}} + {{{ style }}} + {{{ startup }}}
+ + diff --git a/packages/zowe-explorer/src/webviews/src/zos-console/index.tsx b/packages/zowe-explorer/src/webviews/src/zos-console/index.tsx new file mode 100644 index 0000000000..74832990aa --- /dev/null +++ b/packages/zowe-explorer/src/webviews/src/zos-console/index.tsx @@ -0,0 +1,4 @@ +import { render } from "preact"; +import { App } from "./App"; + +render(, document.getElementById("webviewRoot")!); diff --git a/packages/zowe-explorer/src/webviews/vite.config.ts b/packages/zowe-explorer/src/webviews/vite.config.ts index 9f780e9624..26f30a4ef5 100644 --- a/packages/zowe-explorer/src/webviews/vite.config.ts +++ b/packages/zowe-explorer/src/webviews/vite.config.ts @@ -44,11 +44,11 @@ export default defineConfig({ viteStaticCopy({ targets: [ { - src: "../node_modules/@vscode/codicons/dist/codicon.css", + src: "../../../node_modules/@vscode/codicons/dist/codicon.css", dest: "codicons/", }, { - src: "../node_modules/@vscode/codicons/dist/codicon.ttf", + src: "../../../node_modules/@vscode/codicons/dist/codicon.ttf", dest: "codicons/", }, ], diff --git a/packages/zowe-explorer/src/zosconsole/ZosConsolePanel.ts b/packages/zowe-explorer/src/zosconsole/ZosConsolePanel.ts new file mode 100644 index 0000000000..f66d876f0f --- /dev/null +++ b/packages/zowe-explorer/src/zosconsole/ZosConsolePanel.ts @@ -0,0 +1,139 @@ +/** + * This program and the accompanying materials are made available under the terms of the + * Eclipse Public License v2.0 which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v20.html + * + * SPDX-License-Identifier: EPL-2.0 + * + * Copyright Contributors to the Zowe Project. + * + */ + +import * as vscode from "vscode"; +import { imperative, HTMLTemplate } from "@zowe/zowe-explorer-api"; +import { ZoweExplorerApiRegister } from "../extending/ZoweExplorerApiRegister"; +import { ProfileManagement } from "../management/ProfileManagement"; +import { Profiles } from "../configuration/Profiles"; +import { randomUUID } from "crypto"; +import { Definitions } from "../configuration/Definitions"; +import Mustache = require("mustache"); + +/** + * @deprecated + */ +export class ZosConsoleViewProvider implements vscode.WebviewViewProvider { + public static readonly viewType = "zosconsole"; + + private profiles: Map = new Map(); + private defaultProfileName: string | undefined; + + public constructor(private _extensionUri: vscode.Uri) { + this.refreshProfileList(); + } + + private refreshProfileList(): void { + const profileNamesList = ProfileManagement.getRegisteredProfileNameList(Definitions.Trees.MVS); + this.defaultProfileName = profileNamesList[0]; + + const loadedProfiles = Profiles.getInstance().allProfiles; + loadedProfiles.forEach((profile) => { + if (profileNamesList.includes(profile.name)) { + this.profiles.set(profile.name, profile); + } + }); + } + + public resolveWebviewView( + webviewView: vscode.WebviewView, + _context: vscode.WebviewViewResolveContext, + _token: vscode.CancellationToken + ): void | Thenable { + webviewView.webview.options = { + enableScripts: true, + localResourceRoots: [this._extensionUri], + }; + + webviewView.webview.html = this._getHtmlForWebview(webviewView.webview); + + webviewView.webview.onDidReceiveMessage(async (message: any) => { + const command = message.command; + const text = message.text; + const profile = message.profile; + + switch (command) { + case "startup": { + this.refreshProfileList(); + const profileArray = []; + for (const profileName of this.profiles.keys()) { + profileArray.push(profileName); + } + webviewView.webview.postMessage({ + type: "optionsList", + profiles: profileArray, + defaultProfile: this.defaultProfileName, + }); + break; + } + case "opercmd": + webviewView.webview.postMessage({ + type: "commandResult", + cmd: text, + profile: profile, + result: await this.runOperCmd(text, profile), + }); + return; + } + }); + } + + private _getHtmlForWebview(webview: vscode.Webview): string { + const scriptUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, "src", "webviews", "dist", "zos-console", "zos-console.js")); + const codiconsUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, "src", "webviews", "dist", "codicons", "codicon.css")); + const nonce = randomUUID(); + + // Tip: Install the es6-string-html VS Code extension to enable code highlighting below + return Mustache.render(HTMLTemplate.default, { + uris: { resource: { script: scriptUri } }, + nonce, + style: /* html */ ` + + `, + startup: /* html */ ` + `, + }); + } + + private async runOperCmd(command: string, profile: string): Promise { + try { + const theProfile: imperative.IProfileLoaded = this.profiles.get(profile); + const response = await ZoweExplorerApiRegister.getCommandApi(theProfile).issueMvsCommand(command); + return response.commandResponse; + } catch (e) { + return (e as Error).message + "\n"; + } + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d690c6d71a..ce919a7361 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -110,7 +110,7 @@ importers: version: 5.3.10(webpack@5.91.0) ts-jest: specifier: ^29.0.3 - version: 29.1.2(@babel/core@7.24.9)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.2(@babel/core@7.25.2)(jest@29.7.0)(typescript@5.4.5) tsx: specifier: ^4.9.3 version: 4.10.4 @@ -135,21 +135,24 @@ importers: packages/zowe-explorer: dependencies: + '@vscode/codicons': + specifier: ^0.0.35 + version: 0.0.35 '@zowe/core-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/imperative@8.0.0-next.202408301809) '@zowe/secrets-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256 + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809 '@zowe/zos-files-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) '@zowe/zos-jobs-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) '@zowe/zosmf-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) '@zowe/zowe-explorer-api': specifier: 3.0.0-next-SNAPSHOT version: link:../zowe-explorer-api @@ -228,7 +231,7 @@ importers: version: 24.9.0 expect-webdriverio: specifier: ^4.13.0 - version: 4.14.0(typescript@5.5.4) + version: 4.14.0 glob: specifier: ^7.1.6 version: 7.2.3 @@ -263,32 +266,32 @@ importers: specifier: ^1.53.2 version: 1.89.0 '@zowe/core-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/imperative@8.0.0-next.202408301809) '@zowe/imperative': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256 + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809 '@zowe/secrets-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256 + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809 '@zowe/zos-console-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) '@zowe/zos-files-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) '@zowe/zos-jobs-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) '@zowe/zos-tso-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) '@zowe/zos-uss-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/imperative@8.0.0-next.202408301809) '@zowe/zosmf-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) deep-object-diff: specifier: ^1.1.9 version: 1.1.9 @@ -312,14 +315,14 @@ importers: packages/zowe-explorer-ftp-extension: dependencies: '@zowe/zos-files-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) '@zowe/zos-ftp-for-zowe-cli': - specifier: 3.0.0-next.202403191358 - version: 3.0.0-next.202403191358(@zowe/imperative@8.0.0-next.202407232256) + specifier: 3.0.0-next.202407311518 + version: 3.0.0-next.202407311518(@zowe/imperative@8.0.0-next.202408301809) '@zowe/zos-jobs-for-zowe-sdk': - specifier: 8.0.0-next.202407232256 - version: 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + specifier: 8.0.0-next.202408301809 + version: 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) '@zowe/zowe-explorer-api': specifier: 3.0.0-next-SNAPSHOT version: link:../zowe-explorer-api @@ -363,7 +366,7 @@ importers: devDependencies: '@preact/preset-vite': specifier: ^2.5.0 - version: 2.8.2(@babel/core@7.24.9)(preact@10.22.0)(vite@4.5.3) + version: 2.8.2(@babel/core@7.25.2)(preact@10.22.0)(vite@4.5.3) typescript: specifier: ^5.3.3 version: 5.4.5 @@ -552,7 +555,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.7 - picocolors: 1.0.1 + picocolors: 1.1.0 dev: true /@babel/compat-data@7.24.4: @@ -560,8 +563,8 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/compat-data@7.24.9: - resolution: {integrity: sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==} + /@babel/compat-data@7.25.4: + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} engines: {node: '>=6.9.0'} dev: true @@ -580,7 +583,7 @@ packages: '@babel/traverse': 7.24.5 '@babel/types': 7.24.5 convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -588,22 +591,22 @@ packages: - supports-color dev: true - /@babel/core@7.24.9: - resolution: {integrity: sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==} + /@babel/core@7.25.2: + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.10 - '@babel/helper-compilation-targets': 7.24.8 - '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9) - '@babel/helpers': 7.24.8 - '@babel/parser': 7.24.8 - '@babel/template': 7.24.7 - '@babel/traverse': 7.24.8 - '@babel/types': 7.24.9 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 convert-source-map: 2.0.0 - debug: 4.3.5 + debug: 4.3.6 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -611,21 +614,21 @@ packages: - supports-color dev: true - /@babel/generator@7.24.10: - resolution: {integrity: sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==} + /@babel/generator@7.24.5: + resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.9 + '@babel/types': 7.24.5 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 dev: true - /@babel/generator@7.24.5: - resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} + /@babel/generator@7.25.6: + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.25.6 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -649,13 +652,13 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-compilation-targets@7.24.8: - resolution: {integrity: sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==} + /@babel/helper-compilation-targets@7.25.2: + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.24.9 + '@babel/compat-data': 7.25.4 '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.2 + browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 dev: true @@ -665,13 +668,6 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-environment-visitor@7.24.7: - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.9 - dev: true - /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} @@ -680,14 +676,6 @@ packages: '@babel/types': 7.24.5 dev: true - /@babel/helper-function-name@7.24.7: - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.9 - dev: true - /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} @@ -695,13 +683,6 @@ packages: '@babel/types': 7.24.5 dev: true - /@babel/helper-hoist-variables@7.24.7: - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.9 - dev: true - /@babel/helper-module-imports@7.24.3: resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} engines: {node: '>=6.9.0'} @@ -713,8 +694,8 @@ packages: resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.8 - '@babel/types': 7.24.9 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: true @@ -733,18 +714,17 @@ packages: '@babel/helper-validator-identifier': 7.24.5 dev: true - /@babel/helper-module-transforms@7.24.9(@babel/core@7.24.9): - resolution: {integrity: sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==} + /@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2): + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.9 - '@babel/helper-environment-visitor': 7.24.7 + '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color dev: true @@ -765,8 +745,8 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.24.8 - '@babel/types': 7.24.9 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color dev: true @@ -778,13 +758,6 @@ packages: '@babel/types': 7.24.5 dev: true - /@babel/helper-split-export-declaration@7.24.7: - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.9 - dev: true - /@babel/helper-string-parser@7.24.1: resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} @@ -826,12 +799,12 @@ packages: - supports-color dev: true - /@babel/helpers@7.24.8: - resolution: {integrity: sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==} + /@babel/helpers@7.25.6: + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.24.7 - '@babel/types': 7.24.9 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 dev: true /@babel/highlight@7.24.5: @@ -851,7 +824,7 @@ packages: '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.1 + picocolors: 1.1.0 dev: true /@babel/parser@7.24.5: @@ -862,12 +835,12 @@ packages: '@babel/types': 7.24.5 dev: true - /@babel/parser@7.24.8: - resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==} + /@babel/parser@7.25.6: + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.24.9 + '@babel/types': 7.25.6 dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5): @@ -925,13 +898,13 @@ packages: '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.9): + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.25.2): resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.9 + '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.5 dev: true @@ -1009,27 +982,27 @@ packages: '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.9): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.25.2): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.9 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.9) + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.25.2) dev: true - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.9): + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.25.2): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.9 + '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.9) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.25.2) '@babel/types': 7.24.5 dev: true @@ -1049,13 +1022,13 @@ packages: '@babel/types': 7.24.5 dev: true - /@babel/template@7.24.7: - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + /@babel/template@7.25.0: + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.8 - '@babel/types': 7.24.9 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 dev: true /@babel/traverse@7.24.5: @@ -1070,25 +1043,22 @@ packages: '@babel/helper-split-export-declaration': 7.24.5 '@babel/parser': 7.24.5 '@babel/types': 7.24.5 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/traverse@7.24.8: - resolution: {integrity: sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==} + /@babel/traverse@7.25.6: + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.10 - '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-function-name': 7.24.7 - '@babel/helper-hoist-variables': 7.24.7 - '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.8 - '@babel/types': 7.24.9 - debug: 4.3.5 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -1103,8 +1073,8 @@ packages: to-fast-properties: 2.0.0 dev: true - /@babel/types@7.24.9: - resolution: {integrity: sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==} + /@babel/types@7.25.6: + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.24.8 @@ -2252,7 +2222,7 @@ packages: dependencies: agent-base: 7.1.1 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 + https-proxy-agent: 7.0.5 lru-cache: 10.4.3 socks-proxy-agent: 8.0.4 transitivePeerDependencies: @@ -2349,18 +2319,18 @@ packages: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: true - /@preact/preset-vite@2.8.2(@babel/core@7.24.9)(preact@10.22.0)(vite@4.5.3): + /@preact/preset-vite@2.8.2(@babel/core@7.25.2)(preact@10.22.0)(vite@4.5.3): resolution: {integrity: sha512-m3tl+M8IO8jgiHnk+7LSTFl8axdPXloewi7iGVLdmCwf34XOzEUur0bZVewW4DUbUipFjTS2CXu27+5f/oexBA==} peerDependencies: '@babel/core': 7.x vite: 2.x || 3.x || 4.x || 5.x dependencies: - '@babel/core': 7.24.9 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.9) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.9) + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.25.2) '@prefresh/vite': 2.4.5(preact@10.22.0)(vite@4.5.3) '@rollup/pluginutils': 4.2.1 - babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.24.9) + babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.25.2) debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 magic-string: 0.30.5 @@ -2415,11 +2385,11 @@ packages: spacetrim: 0.11.25 dev: true - /@promptbook/utils@0.58.0: - resolution: {integrity: sha512-TglWndmjikWN+OGg9eNOUaMTM7RHr8uFCtgxfWULT1BUjcohywdijf54vS1U4mZ1tBLdHD4/fIrIHtmHzPUIZQ==} + /@promptbook/utils@0.68.0-0: + resolution: {integrity: sha512-jn4DxTP5mkH9DPD59XoZJBKcJtQGiY/WL8GbKrhu48zSDsh4jWqYPMs2uVm5wVE0Hc56LPMxmEVYOrGYTchOOg==} requiresBuild: true dependencies: - spacetrim: 0.11.36 + spacetrim: 0.11.39 dev: true optional: true @@ -2761,19 +2731,19 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.14.12: - resolution: {integrity: sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==} - requiresBuild: true + /@types/node@20.14.2: + resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} dependencies: undici-types: 5.26.5 dev: true - optional: true - /@types/node@20.14.2: - resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + /@types/node@22.5.2: + resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==} + requiresBuild: true dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 dev: true + optional: true /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -2836,6 +2806,7 @@ packages: /@types/which@2.0.2: resolution: {integrity: sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==} + requiresBuild: true dev: true /@types/ws@8.5.10: @@ -2844,6 +2815,14 @@ packages: '@types/node': 18.19.33 dev: true + /@types/ws@8.5.12: + resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} + requiresBuild: true + dependencies: + '@types/node': 18.19.33 + dev: true + optional: true + /@types/yargs-parser@21.0.3: resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -2863,6 +2842,13 @@ packages: resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} dependencies: '@types/yargs-parser': 21.0.3 + dev: true + + /@types/yargs@17.0.33: + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + dependencies: + '@types/yargs-parser': 21.0.3 + dev: false /@types/yauzl@2.10.3: resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} @@ -2998,7 +2984,7 @@ packages: dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -3076,6 +3062,10 @@ packages: pretty-format: 29.7.0 dev: true + /@vscode/codicons@0.0.35: + resolution: {integrity: sha512-7iiKdA5wHVYSbO7/Mm0hiHD3i4h+9hKUe1O4hISAe/nHhagMwb2ZbFC8jU6d7Cw+JNT2dWXN2j+WHbkhT5/l2w==} + dev: false + /@vscode/codicons@0.0.36: resolution: {integrity: sha512-wsNOvNMMJ2BY8rC2N2MNBG7yOowV3ov8KlvUE/AiVUlHKTfWsw3OgAOQduX7h0Un6GssKD3aoTVH+TF3DSQwKQ==} dev: false @@ -3226,14 +3216,14 @@ packages: - supports-color dev: true - /@wdio/config@8.39.0: - resolution: {integrity: sha512-yNuGPMPibY91s936gnJCHWlStvIyDrwLwGfLC/NCdTin4F7HL4Gp5iJnHWkJFty1/DfFi8jjoIUBNLM8HEez+A==} + /@wdio/config@8.40.3: + resolution: {integrity: sha512-HIi+JnHEDAExhzGRQuZOXw1HWIpe/bsVFHwNISJhY6wS4Nijaigmegs2p14Rv16ydOF19hGrxdKsl8k5STIP2A==} engines: {node: ^16.13 || >=18} requiresBuild: true dependencies: '@wdio/logger': 8.38.0 - '@wdio/types': 8.39.0 - '@wdio/utils': 8.39.0 + '@wdio/types': 8.40.3 + '@wdio/utils': 8.40.3 decamelize: 6.0.0 deepmerge-ts: 5.1.0 glob: 10.4.5 @@ -3265,7 +3255,7 @@ packages: resolution: {integrity: sha512-iIrUF1EODfHLh3V/CSNCqbNNxUTe3ND+c86zDjzJcPFjawLX1plvAApsU/eDmtsFShcOS2KHbfSjiydFoqQG1Q==} engines: {node: ^16.13 || >=18} optionalDependencies: - expect-webdriverio: 4.14.0(typescript@5.5.4) + expect-webdriverio: 4.14.0 webdriverio: 8.38.2(typescript@5.5.4) transitivePeerDependencies: - bufferutil @@ -3276,19 +3266,18 @@ packages: - utf-8-validate dev: true - /@wdio/globals@8.39.1(typescript@5.5.4): - resolution: {integrity: sha512-kNb1TlxI8Le/tsOiw7CMQcG0+ZGyxk9ZDO/PQLxkJvjo/q2QmiBcgaNMPuf+j1ABETcQK4bI7QtiT5uZ+f2AGA==} + /@wdio/globals@8.40.5: + resolution: {integrity: sha512-pHWNDhAO25BqfuxXmEwBceUeGzfEjkym9I4EzfUlPpoi39BRasDXbWSpX3us/5snUv5Xk+NWMDv4aTpTxfDQrA==} engines: {node: ^16.13 || >=18} requiresBuild: true optionalDependencies: - expect-webdriverio: 4.14.0(typescript@5.5.4) - webdriverio: 8.39.1(typescript@5.5.4) + expect-webdriverio: 4.14.0 + webdriverio: 8.40.5 transitivePeerDependencies: - bufferutil - devtools - encoding - supports-color - - typescript - utf-8-validate dev: true optional: true @@ -3334,6 +3323,18 @@ packages: strip-ansi: 7.1.0 dev: true + /@wdio/logger@9.0.4: + resolution: {integrity: sha512-b6gcu0PTVb3fgK4kyAH/k5UUWN5FOUdAfhA4PAY/IZvxZTMFYMqnrZb0WRWWWqL6nu9pcrOVtCOdPBvj0cb+Nw==} + engines: {node: '>=18'} + requiresBuild: true + dependencies: + chalk: 5.3.0 + loglevel: 1.9.1 + loglevel-plugin-prefix: 0.8.4 + strip-ansi: 7.1.0 + dev: true + optional: true + /@wdio/mocha-framework@8.38.2: resolution: {integrity: sha512-qJmRL5E6/ypjCUACH4hvCAAmTdU4YUrUlp9o/IKvTIAHMnZPE0/HgUFixCeu8Mop+rdzTPVBrbqxpRDdSnraYA==} engines: {node: ^16.13 || >=18} @@ -3352,6 +3353,12 @@ packages: resolution: {integrity: sha512-7BPi7aXwUtnXZPeWJRmnCNFjyDvGrXlBmN9D4Pi58nILkyjVRQKEY9/qv/pcdyB0cvmIvw++Kl/1Lg+RxG++UA==} dev: true + /@wdio/protocols@8.40.3: + resolution: {integrity: sha512-wK7+eyrB3TAei8RwbdkcyoNk2dPu+mduMBOdPJjp8jf/mavd15nIUXLID1zA+w5m1Qt1DsT1NbvaeO9+aJQ33A==} + requiresBuild: true + dev: true + optional: true + /@wdio/repl@8.24.12: resolution: {integrity: sha512-321F3sWafnlw93uRTSjEBVuvWCxTkWNDs7ektQS15drrroL3TMeFOynu4rDrIz0jXD9Vas0HCD2Tq/P0uxFLdw==} engines: {node: ^16.13 || >=18} @@ -3359,6 +3366,15 @@ packages: '@types/node': 20.14.2 dev: true + /@wdio/repl@8.40.3: + resolution: {integrity: sha512-mWEiBbaC7CgxvSd2/ozpbZWebnRIc8KRu/J81Hlw/txUWio27S7IpXBlZGVvhEsNzq0+cuxB/8gDkkXvMPbesw==} + engines: {node: ^16.13 || >=18} + requiresBuild: true + dependencies: + '@types/node': 22.5.2 + dev: true + optional: true + /@wdio/reporter@8.38.2: resolution: {integrity: sha512-R78UdAtAnkaV22NYlCCcbPPhmYweiDURiw64LYhlVIQrKNuXUQcafR2kRlWKy31rZc9thSLs5LzrZDReENUlFQ==} engines: {node: ^16.13 || >=18} @@ -3381,7 +3397,7 @@ packages: '@wdio/types': 8.38.2 '@wdio/utils': 8.38.2 deepmerge-ts: 5.1.0 - expect-webdriverio: 4.14.0(typescript@5.5.4) + expect-webdriverio: 4.14.0 gaze: 1.1.3 webdriver: 8.38.2 webdriverio: 8.38.2(typescript@5.5.4) @@ -3412,12 +3428,12 @@ packages: '@types/node': 20.14.2 dev: true - /@wdio/types@8.39.0: - resolution: {integrity: sha512-86lcYROTapOJuFd9ouomFDfzDnv3Kn+jE0RmqfvN9frZAeLVJ5IKjX9M6HjplsyTZhjGO1uCaehmzx+HJus33Q==} + /@wdio/types@8.40.3: + resolution: {integrity: sha512-zK17uyON3Ise3m+XwiF5VrrdZcXXmvqB8AWXoKe88DiksFUPMVoCOuVL2SSX1KnA2YLlZBA55qcFZT99GORVKQ==} engines: {node: ^16.13 || >=18} requiresBuild: true dependencies: - '@types/node': 20.14.12 + '@types/node': 22.5.2 dev: true optional: true @@ -3442,21 +3458,21 @@ packages: - supports-color dev: true - /@wdio/utils@8.39.0: - resolution: {integrity: sha512-jY+n6jlGeK+9Tx8T659PKLwMQTGpLW5H78CSEWgZLbjbVSr2LfGR8Lx0CRktNXxAtqEVZPj16Pi74OtAhvhE6Q==} + /@wdio/utils@8.40.3: + resolution: {integrity: sha512-pv/848KGfPN3YXU4QRfTYGkAu4/lejIfoGzGpvGNDcACiVxgZhyRZkJ2xVaSnGaXzF0R7pMozrkU5/DnEhcxMg==} engines: {node: ^16.13 || >=18} requiresBuild: true dependencies: '@puppeteer/browsers': 1.9.1 '@wdio/logger': 8.38.0 - '@wdio/types': 8.39.0 + '@wdio/types': 8.40.3 decamelize: 6.0.0 deepmerge-ts: 5.1.0 - edgedriver: 5.6.0 - geckodriver: 4.4.1 + edgedriver: 5.6.1 + geckodriver: 4.4.3 get-port: 7.1.0 import-meta-resolve: 4.1.0 - locate-app: 2.4.21 + locate-app: 2.4.33 safaridriver: 0.1.2 split2: 4.2.0 wait-port: 1.1.0 @@ -3621,25 +3637,32 @@ packages: engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} dev: true - /@zowe/core-for-zowe-sdk@8.0.0-next.202407232256(@zowe/imperative@8.0.0-next.202407232256): - resolution: {integrity: sha512-qIN8pXzea1Grcxun6jIOUk9CyFWPcZ6yqwalldRX9KCm6G0BDLen/0fN21Q1Won9B7SONbcmZdK89lXaGrz91g==} + /@zip.js/zip.js@2.7.52: + resolution: {integrity: sha512-+5g7FQswvrCHwYKNMd/KFxZSObctLSsQOgqBSi0LzwHo3li9Eh1w5cF5ndjQw9Zbr3ajVnd2+XyiX85gAetx1Q==} + engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} + requiresBuild: true + dev: true + optional: true + + /@zowe/core-for-zowe-sdk@8.0.0-next.202408301809(@zowe/imperative@8.0.0-next.202408301809): + resolution: {integrity: sha512-ACs+qLn96p2CjneAW61clv38TNLdHcqJR4HhZ9Lu0z61c9vyxml7BOKLKDpGDDZ468ipkX1thGCKcDRIPWdkRQ==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/imperative': 8.0.0-next.202407232256 - comment-json: 4.2.4 + '@zowe/imperative': 8.0.0-next.202408301809 + comment-json: 4.2.5 string-width: 4.2.3 dev: false - /@zowe/imperative@8.0.0-next.202407232256: - resolution: {integrity: sha512-yo07LqTQdgMI4OK34y5iqUHzYXtpUpdXvZsDa9U4T94+jGSw02EVlTqJTM8TqmV72Y5ZYfr1pcjHP7l2AlYu5A==} + /@zowe/imperative@8.0.0-next.202408301809: + resolution: {integrity: sha512-jO4wK3LSONGVg+axzBc2tADzoJw8q14AKdsu6q9Kgd/PYrHyROOKr98b2Yy9ketZSZgUFimlgeFHeIgqGdKVMA==} engines: {node: '>=18.12.0'} dependencies: - '@types/yargs': 17.0.32 + '@types/yargs': 17.0.33 chalk: 4.1.2 cli-table3: 0.6.5 - comment-json: 4.2.4 + comment-json: 4.2.5 cross-spawn: 7.0.3 dataobject-parser: 1.2.25 deepmerge: 4.3.1 @@ -3677,87 +3700,87 @@ packages: - supports-color dev: false - /@zowe/secrets-for-zowe-sdk@8.0.0-next.202407232256: - resolution: {integrity: sha512-3KYoOV838qTXjM7PEW+xcjSFooJbc9XYVonwOS67FQOfLmUy1tfOB7qnbDCi6jTQLvL3ydnN7G36eBr/AzEl/w==} + /@zowe/secrets-for-zowe-sdk@8.0.0-next.202408301809: + resolution: {integrity: sha512-LwytQJ57OI+JxJP37+zfrkWGOORW5yrH7QITsgmXfvVPRD2wuUmsBtwlKjgIfoGegsP/97oKg62Sso9JuqK53Q==} engines: {node: '>=14'} requiresBuild: true dev: false - /@zowe/zos-console-for-zowe-sdk@8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256): - resolution: {integrity: sha512-wi2fo7QdRXNt/71lJ2xvEn7Wft2qGH7SNhyl4T3SLsx/QMUWZcoPbZNTwodeKLA9ay7beBhdiwOURRYdj51B4w==} + /@zowe/zos-console-for-zowe-sdk@8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809): + resolution: {integrity: sha512-Zs6kB3mQOqOebV7IIIRf0FEWTeC+x3QAk27rxGbiHSkFZ/0y31nwXl2YopfljmiCUdXGbl+nXwUHkEL1X5logg==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/core-for-zowe-sdk': ^8.0.0-next '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/core-for-zowe-sdk': 8.0.0-next.202407232256(@zowe/imperative@8.0.0-next.202407232256) - '@zowe/imperative': 8.0.0-next.202407232256 + '@zowe/core-for-zowe-sdk': 8.0.0-next.202408301809(@zowe/imperative@8.0.0-next.202408301809) + '@zowe/imperative': 8.0.0-next.202408301809 dev: false - /@zowe/zos-files-for-zowe-sdk@8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256): - resolution: {integrity: sha512-BG6Cea4tS221n1+Ll8DaGskyqr0XlHi5DFBkkh0eQG8T2dMPSr8X6Lv4CP9F/FuI58CwUTgWHYMDtLiv5qy4kQ==} + /@zowe/zos-files-for-zowe-sdk@8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809): + resolution: {integrity: sha512-JX8yJC6Cz8cgorN34hPa4iXo8q0ZpMEFnYKZ/kbgEWcdgUOextTwCIHFTOeVdFBG/ex4OkKryLKSrELmG1wmeQ==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/core-for-zowe-sdk': ^8.0.0-next '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/core-for-zowe-sdk': 8.0.0-next.202407232256(@zowe/imperative@8.0.0-next.202407232256) - '@zowe/imperative': 8.0.0-next.202407232256 + '@zowe/core-for-zowe-sdk': 8.0.0-next.202408301809(@zowe/imperative@8.0.0-next.202408301809) + '@zowe/imperative': 8.0.0-next.202408301809 minimatch: 9.0.5 dev: false - /@zowe/zos-ftp-for-zowe-cli@3.0.0-next.202403191358(@zowe/imperative@8.0.0-next.202407232256): - resolution: {integrity: sha512-jTiGcqFZNKIanUQAWOT+2M+3X6P9FAlPrie999HjDm79DpEltkjNwdNLM8EZLtSXsTjBrifaTo/pMVVmmhfl4A==} + /@zowe/zos-ftp-for-zowe-cli@3.0.0-next.202407311518(@zowe/imperative@8.0.0-next.202408301809): + resolution: {integrity: sha512-yi82lTRmy0DeyL/LglLH91z2G40N00Orvten1awctqHfdkx4bj7sU9J0BItpsVnhQzJs9J87+joLdUhFxWkajg==} peerDependencies: '@zowe/imperative': '>=8.0.0-next.0 <8.0.0' dependencies: - '@zowe/imperative': 8.0.0-next.202407232256 - zos-node-accessor: 2.0.9 + '@zowe/imperative': 8.0.0-next.202408301809 + zos-node-accessor: 2.0.11 dev: false - /@zowe/zos-jobs-for-zowe-sdk@8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256): - resolution: {integrity: sha512-iAOhViTomTU5AEBW5YKNN2Fi4c09FfZgD2rV4IRwrvViayjsDIAp2VOTwc6d67850imIAn+mCNVe7rh0u8dlOA==} + /@zowe/zos-jobs-for-zowe-sdk@8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809): + resolution: {integrity: sha512-ftxLFZCAlcyriowCnTK8Bo9FqZj19Do+vnigx4zunzK1zzgHZu4STZqxvJR3KGiv9ZFxggiBWVjJ0nxywbDLDg==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/core-for-zowe-sdk': ^8.0.0-next '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/core-for-zowe-sdk': 8.0.0-next.202407232256(@zowe/imperative@8.0.0-next.202407232256) - '@zowe/imperative': 8.0.0-next.202407232256 - '@zowe/zos-files-for-zowe-sdk': 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + '@zowe/core-for-zowe-sdk': 8.0.0-next.202408301809(@zowe/imperative@8.0.0-next.202408301809) + '@zowe/imperative': 8.0.0-next.202408301809 + '@zowe/zos-files-for-zowe-sdk': 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) dev: false - /@zowe/zos-tso-for-zowe-sdk@8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256): - resolution: {integrity: sha512-DJNoIkSr7HSVsio1QM2pbAJL0z9XvgbW/XQIj9hKhKqzvd/o2tPUWDf2iwzRnc1gB3aGKB8bXqM86G3+AqtuaA==} + /@zowe/zos-tso-for-zowe-sdk@8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809): + resolution: {integrity: sha512-j2jIBxeTO5UEI3I0wPKor9TqxnGXNiWXbtZM4dH50xcogT+hBB6LEy7JRKZijYW3H5qu45w3WCJ3gavd6yfZ2g==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/core-for-zowe-sdk': ^8.0.0-next '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/core-for-zowe-sdk': 8.0.0-next.202407232256(@zowe/imperative@8.0.0-next.202407232256) - '@zowe/imperative': 8.0.0-next.202407232256 - '@zowe/zosmf-for-zowe-sdk': 8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256) + '@zowe/core-for-zowe-sdk': 8.0.0-next.202408301809(@zowe/imperative@8.0.0-next.202408301809) + '@zowe/imperative': 8.0.0-next.202408301809 + '@zowe/zosmf-for-zowe-sdk': 8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809) dev: false - /@zowe/zos-uss-for-zowe-sdk@8.0.0-next.202407232256(@zowe/imperative@8.0.0-next.202407232256): - resolution: {integrity: sha512-4ffxCN/1WG7UAG/vwBxztOnwUP0byNMgbLLZxO/iU7UFbTdyxijL+bodfCMVeN1TvC3N1G3AjnLb1HJAzHpK/g==} + /@zowe/zos-uss-for-zowe-sdk@8.0.0-next.202408301809(@zowe/imperative@8.0.0-next.202408301809): + resolution: {integrity: sha512-3OD5YRakB6VT8o8bwmK0Lg/Y6bQU4CM4YIHWLec/jjiNr9BviEM0SibgWopza4UrY46zOwhOdrHsbcq9R5xIKw==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/imperative': 8.0.0-next.202407232256 + '@zowe/imperative': 8.0.0-next.202408301809 ssh2: 1.15.0 dev: false - /@zowe/zosmf-for-zowe-sdk@8.0.0-next.202407232256(@zowe/core-for-zowe-sdk@8.0.0-next.202407232256)(@zowe/imperative@8.0.0-next.202407232256): - resolution: {integrity: sha512-iAwewgpX1/hIAQjrj2CZN715uwrC19bY75JexHvDMp8BlsiRliYAfg1NI1JjNPS5SlApk8zfdwFs0llFGwUUTw==} + /@zowe/zosmf-for-zowe-sdk@8.0.0-next.202408301809(@zowe/core-for-zowe-sdk@8.0.0-next.202408301809)(@zowe/imperative@8.0.0-next.202408301809): + resolution: {integrity: sha512-yJGDE4C9n7YIMBEmRbabTnqDWcefHdKIHhoH+DtR15cxEux4KioCOK2cKdl5HahUf4oDJdYUKAZO8Lvfl7FC6A==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/core-for-zowe-sdk': ^8.0.0-next '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/core-for-zowe-sdk': 8.0.0-next.202407232256(@zowe/imperative@8.0.0-next.202407232256) - '@zowe/imperative': 8.0.0-next.202407232256 + '@zowe/core-for-zowe-sdk': 8.0.0-next.202408301809(@zowe/imperative@8.0.0-next.202408301809) + '@zowe/imperative': 8.0.0-next.202408301809 dev: false /abbrev@1.1.1: @@ -3847,7 +3870,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 transitivePeerDependencies: - supports-color dev: true @@ -3856,7 +3879,7 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -4002,7 +4025,7 @@ packages: resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} engines: {node: '>= 14'} dependencies: - glob: 10.3.15 + glob: 10.4.5 graceful-fs: 4.2.11 is-stream: 2.0.1 lazystream: 1.0.1 @@ -4229,12 +4252,12 @@ packages: '@types/babel__traverse': 7.20.5 dev: true - /babel-plugin-transform-hook-names@1.0.2(@babel/core@7.24.9): + /babel-plugin-transform-hook-names@1.0.2(@babel/core@7.25.2): resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==} peerDependencies: '@babel/core': ^7.12.10 dependencies: - '@babel/core': 7.24.9 + '@babel/core': 7.25.2 dev: true /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5): @@ -4277,8 +4300,8 @@ packages: dev: true optional: true - /bare-fs@2.3.1: - resolution: {integrity: sha512-W/Hfxc/6VehXlsgFtbB5B4xFcsCl+pAh30cYhoFyXErf6oGrwjh8SwiPAdHgpmWonKuYpZgGywN0SXt7dgsADA==} + /bare-fs@2.3.3: + resolution: {integrity: sha512-7RYKL+vZVCyAsMLi5SPu7QGauGGT8avnP/HO571ndEuV4MYdGXvLhtW67FuLPeEI8EiIY7zbbRR9x7x7HU0kgw==} requiresBuild: true dependencies: bare-events: 2.4.2 @@ -4448,15 +4471,15 @@ packages: update-browserslist-db: 1.0.16(browserslist@4.23.0) dev: true - /browserslist@4.23.2: - resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} + /browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001643 - electron-to-chromium: 1.5.0 + caniuse-lite: 1.0.30001655 + electron-to-chromium: 1.5.13 node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.2) + update-browserslist-db: 1.1.0(browserslist@4.23.3) dev: true /bs-logger@0.2.6: @@ -4627,8 +4650,8 @@ packages: resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==} dev: true - /caniuse-lite@1.0.30001643: - resolution: {integrity: sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==} + /caniuse-lite@1.0.30001655: + resolution: {integrity: sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==} dev: true /capital-case@1.0.4: @@ -4793,6 +4816,18 @@ packages: mitt: 3.0.0 dev: true + /chromium-bidi@0.5.8(devtools-protocol@0.0.1232444): + resolution: {integrity: sha512-blqh+1cEQbHBKmok3rVJkBlBxt9beKBgOsxbFgs7UJcoVbbeZ+K7+6liAsjgpc8l1Xd55cQUy14fXZdGSb4zIw==} + requiresBuild: true + peerDependencies: + devtools-protocol: '*' + dependencies: + devtools-protocol: 0.0.1232444 + mitt: 3.0.1 + urlpattern-polyfill: 10.0.0 + dev: true + optional: true + /ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true @@ -5004,8 +5039,8 @@ packages: engines: {node: ^12.20.0 || >=14} dev: true - /comment-json@4.2.4: - resolution: {integrity: sha512-E5AjpSW+O+N5T2GsOQMHLLsJvrYw6G/AFt9GvU6NguEAfzKShh7hRiLtVo6S9KbRpFMGqE5ojo0/hE+sdteWvQ==} + /comment-json@4.2.5: + resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} engines: {node: '>= 6'} dependencies: array-timsort: 1.0.3 @@ -5203,6 +5238,7 @@ packages: /data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} + requiresBuild: true dev: true /data-uri-to-buffer@6.0.2: @@ -5289,8 +5325,8 @@ packages: ms: 2.1.2 supports-color: 8.1.1 - /debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + /debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -5602,10 +5638,22 @@ packages: resolution: {integrity: sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==} dev: true + /devtools-protocol@0.0.1232444: + resolution: {integrity: sha512-pM27vqEfxSxRkTMnF+XCmxSEb6duO5R+t8A9DEEJgy4Wz2RVanje2mmj99B6A3zv2r/qGfYlOvYznUhuokizmg==} + requiresBuild: true + dev: true + optional: true + /devtools-protocol@0.0.1302984: resolution: {integrity: sha512-Rgh2Sk5fUSCtEx4QGH9iwTyECdFPySG2nlz5J8guGh2Wlha6uzSOCq/DCEC8faHlLaMPZJMuZ4ovgcX4LvOkKA==} dev: true + /devtools-protocol@0.0.1342118: + resolution: {integrity: sha512-75fMas7PkYNDTmDyb6PRJCH7ILmHLp+BhrZGeMsa4bCh40DTxgCz2NRy5UDzII4C5KuD0oBMZ9vXKhEl6UD/3w==} + requiresBuild: true + dev: true + optional: true + /diff-sequences@24.9.0: resolution: {integrity: sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==} engines: {node: '>= 6'} @@ -5781,6 +5829,21 @@ packages: which: 4.0.0 dev: true + /edgedriver@5.6.1: + resolution: {integrity: sha512-3Ve9cd5ziLByUdigw6zovVeWJjVs8QHVmqOB0sJ0WNeVPcwf4p18GnxMmVvlFmYRloUwf5suNuorea4QzwBIOA==} + hasBin: true + requiresBuild: true + dependencies: + '@wdio/logger': 8.38.0 + '@zip.js/zip.js': 2.7.52 + decamelize: 6.0.0 + edge-paths: 3.0.5 + fast-xml-parser: 4.4.1 + node-fetch: 3.3.2 + which: 4.0.0 + dev: true + optional: true + /ejs@3.1.10: resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} engines: {node: '>=0.10.0'} @@ -5793,8 +5856,8 @@ packages: resolution: {integrity: sha512-87eHF+h3PlCRwbxVEAw9KtK3v7lWfc/sUDr0W76955AdYTG4bV/k0zrl585Qnj/skRMH2qOSiE+kqMeOQ+LOpw==} dev: true - /electron-to-chromium@1.5.0: - resolution: {integrity: sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA==} + /electron-to-chromium@1.5.13: + resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} dev: true /emittery@0.13.1: @@ -5802,8 +5865,8 @@ packages: engines: {node: '>=12'} dev: true - /emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + /emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} dev: true /emoji-regex@8.0.0: @@ -6059,6 +6122,11 @@ packages: /escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + dev: true + + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -6398,7 +6466,7 @@ packages: dev: true optional: true - /expect-webdriverio@4.14.0(typescript@5.5.4): + /expect-webdriverio@4.14.0: resolution: {integrity: sha512-bPZ9zfyJHF41dO8o7iFcEV4Dvcw45yhsv1WjtJyPLZPjQ+ixVBrbSil9+rjRiONoX4f45EZRCqaGvPlzNC523Q==} engines: {node: '>=16 || >=18 || >=20'} dependencies: @@ -6407,15 +6475,14 @@ packages: jest-matcher-utils: 29.7.0 lodash.isequal: 4.5.0 optionalDependencies: - '@wdio/globals': 8.39.1(typescript@5.5.4) + '@wdio/globals': 8.40.5 '@wdio/logger': 8.38.0 - webdriverio: 8.39.1(typescript@5.5.4) + webdriverio: 8.40.5 transitivePeerDependencies: - bufferutil - devtools - encoding - supports-color - - typescript - utf-8-validate dev: true @@ -6508,7 +6575,7 @@ packages: engines: {node: '>= 10.17.0'} hasBin: true dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -6554,7 +6621,7 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -6591,6 +6658,15 @@ packages: resolution: {integrity: sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==} dev: true + /fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + hasBin: true + requiresBuild: true + dependencies: + strnum: 1.0.5 + dev: true + optional: true + /fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} @@ -6640,6 +6716,7 @@ packages: /fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} + requiresBuild: true dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 @@ -6870,6 +6947,7 @@ packages: /formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} + requiresBuild: true dependencies: fetch-blob: 3.2.0 dev: true @@ -7026,6 +7104,25 @@ packages: - supports-color dev: true + /geckodriver@4.4.3: + resolution: {integrity: sha512-79rvaq8pvKVUtuM9XBjQApb04kOVkl3TFRX+zTt1wlmL+wqpt85ocWCdqiENU/3zIzg2Me21eClUcnE7F1kL2w==} + engines: {node: ^16.13 || >=18 || >=20} + hasBin: true + requiresBuild: true + dependencies: + '@wdio/logger': 9.0.4 + '@zip.js/zip.js': 2.7.52 + decamelize: 6.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.5 + node-fetch: 3.3.2 + tar-fs: 3.0.6 + which: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -7144,7 +7241,7 @@ packages: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 fs-extra: 11.2.0 transitivePeerDependencies: - supports-color @@ -7208,7 +7305,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.8 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -7548,7 +7645,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -7575,7 +7672,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -7584,10 +7681,9 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 transitivePeerDependencies: - supports-color - dev: true /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} @@ -8165,7 +8261,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -9073,11 +9169,11 @@ packages: userhome: 1.0.0 dev: true - /locate-app@2.4.21: - resolution: {integrity: sha512-ySSBwlUnVKoLgw39q8YaNtvklhaTMoVqBf2+CuY3hkOFuWubHAJ6NJuTjv+jfTV1FuOgKsigRdsYUIeVgKHvNA==} + /locate-app@2.4.33: + resolution: {integrity: sha512-S6PtV+b4YrCbfgdfzCJhNNl2Oc1tSwvMMygRHfdFq5KWYnSs37rX/hRncyVNpSEQhjwjjTUfviZpM+XQdGNIQA==} requiresBuild: true dependencies: - '@promptbook/utils': 0.58.0 + '@promptbook/utils': 0.68.0-0 type-fest: 2.13.0 userhome: 1.0.0 dev: true @@ -9520,6 +9616,14 @@ packages: dependencies: braces: 3.0.3 picomatch: 2.3.1 + dev: true + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -9691,6 +9795,12 @@ packages: resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} dev: true + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + requiresBuild: true + dev: true + optional: true + /mixin-deep@1.3.2: resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} engines: {node: '>=0.10.0'} @@ -9947,11 +10057,13 @@ packages: /node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} + requiresBuild: true dev: true /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} + requiresBuild: true peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -10408,7 +10520,7 @@ packages: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 get-uri: 6.0.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 @@ -10589,6 +10701,10 @@ packages: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} dev: true + /picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + dev: true + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -10900,7 +11016,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 lru-cache: 7.18.3 @@ -10916,7 +11032,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 lru-cache: 7.18.3 @@ -10981,6 +11097,25 @@ packages: - utf-8-validate dev: true + /puppeteer-core@21.11.0: + resolution: {integrity: sha512-ArbnyA3U5SGHokEvkfWjW+O8hOxV1RSJxOgriX/3A4xZRqixt9ZFHD0yPgZQF05Qj0oAqi8H/7stDorjoHY90Q==} + engines: {node: '>=16.13.2'} + requiresBuild: true + dependencies: + '@puppeteer/browsers': 1.9.1 + chromium-bidi: 0.5.8(devtools-protocol@0.0.1232444) + cross-fetch: 4.0.0 + debug: 4.3.4(supports-color@8.1.1) + devtools-protocol: 0.0.1232444 + ws: 8.16.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: true + optional: true + /pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} dev: true @@ -10988,6 +11123,10 @@ packages: /q@1.4.1: resolution: {integrity: sha512-/CdEdaw49VZVmyIDGUQKDDT53c7qBkO6g5CefWz91Ae+l4+cRtcDYwMTXh6me4O8TMldeGHG3N2Bl84V78Ywbg==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + deprecated: |- + You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) dev: false /qs@6.12.1: @@ -11780,7 +11919,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.6 socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -11791,7 +11930,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.5 + debug: 4.3.6 socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -11889,8 +12028,8 @@ packages: resolution: {integrity: sha512-SWxXDROciuJs9YEYXUBjot5k/cqNGPPbT3QmkInFne4AGc1y+76It+jqU8rfsXKt57RRiunzZn1m9+KfuuNklw==} dev: true - /spacetrim@0.11.36: - resolution: {integrity: sha512-jqv5aAfMLkBnFK+38QUtEGgU7x1KrfpDnCdjX4+W1IEVgA8Kf3tk8K9je8j2nkCSXdIngjda53fuXERr4/61kw==} + /spacetrim@0.11.39: + resolution: {integrity: sha512-S/baW29azJ7py5ausQRE2S6uEDQnlxgMHOEEq4V770ooBDD1/9kZnxRcco/tjZYuDuqYXblCk/r3N13ZmvHZ2g==} requiresBuild: true dev: true optional: true @@ -12077,7 +12216,7 @@ packages: engines: {node: '>=16'} dependencies: eastasianwidth: 0.2.0 - emoji-regex: 10.3.0 + emoji-regex: 10.4.0 strip-ansi: 7.1.0 dev: true @@ -12187,6 +12326,12 @@ packages: escape-string-regexp: 1.0.5 dev: true + /strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + requiresBuild: true + dev: true + optional: true + /stylus-lookup@5.0.1: resolution: {integrity: sha512-tLtJEd5AGvnVy4f9UHQMw4bkJJtaAcmo54N+ovQBjDY3DuWyK9Eltxzr5+KG0q4ew6v2EHyuWWNnHeiw/Eo7rQ==} engines: {node: '>=14'} @@ -12278,7 +12423,7 @@ packages: pump: 3.0.0 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 2.3.1 + bare-fs: 2.3.3 bare-path: 2.1.3 dev: true @@ -12502,6 +12647,7 @@ packages: /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + requiresBuild: true dev: true /traverse@0.3.9: @@ -12534,7 +12680,7 @@ packages: engines: {node: '>=14.16'} dev: true - /ts-jest@29.1.2(@babel/core@7.24.9)(jest@29.7.0)(typescript@5.4.5): + /ts-jest@29.1.2(@babel/core@7.25.2)(jest@29.7.0)(typescript@5.4.5): resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -12555,7 +12701,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.24.9 + '@babel/core': 7.25.2 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@18.19.33) @@ -12640,7 +12786,7 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@tufjs/models': 2.0.1 - debug: 4.3.5 + debug: 4.3.6 make-fetch-happen: 13.0.1 transitivePeerDependencies: - supports-color @@ -12800,11 +12946,22 @@ packages: /underscore@1.13.6: resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + dev: true + + /underscore@1.13.7: + resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==} + dev: false /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true + /undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + requiresBuild: true + dev: true + optional: true + /undici@5.28.4: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} @@ -12883,15 +13040,15 @@ packages: picocolors: 1.0.1 dev: true - /update-browserslist-db@1.1.0(browserslist@4.23.2): + /update-browserslist-db@1.1.0(browserslist@4.23.3): resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.23.2 - escalade: 3.1.2 - picocolors: 1.0.1 + browserslist: 4.23.3 + escalade: 3.2.0 + picocolors: 1.1.0 dev: true /upper-case-first@2.0.2: @@ -12927,6 +13084,12 @@ packages: engines: {node: '>= 4'} dev: true + /urlpattern-polyfill@10.0.0: + resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} + requiresBuild: true + dev: true + optional: true + /use@3.1.1: resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} engines: {node: '>=0.10.0'} @@ -13215,6 +13378,7 @@ packages: /web-streams-polyfill@3.3.3: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} + requiresBuild: true dev: true /web-tree-sitter@0.20.8: @@ -13242,18 +13406,18 @@ packages: - utf-8-validate dev: true - /webdriver@8.39.0: - resolution: {integrity: sha512-Kc3+SfiH4ufyrIht683VT2vnJocx0pfH8rYdyPvEh1b2OYewtFTHK36k9rBDHZiBmk6jcSXs4M2xeFgOuon9Lg==} + /webdriver@8.40.3: + resolution: {integrity: sha512-mc/pxLpgAQphnIaWvix/QXzp9CJpEvIA3YeF9t5plPaTbvbEaCAYYWkTP6e3vYPYWvx57krjGaYkNUnDCBNolA==} engines: {node: ^16.13 || >=18} requiresBuild: true dependencies: - '@types/node': 20.14.12 - '@types/ws': 8.5.10 - '@wdio/config': 8.39.0 + '@types/node': 22.5.2 + '@types/ws': 8.5.12 + '@wdio/config': 8.40.3 '@wdio/logger': 8.38.0 - '@wdio/protocols': 8.38.0 - '@wdio/types': 8.39.0 - '@wdio/utils': 8.39.0 + '@wdio/protocols': 8.40.3 + '@wdio/types': 8.40.3 + '@wdio/utils': 8.40.3 deepmerge-ts: 5.1.0 got: 12.6.1 ky: 0.33.3 @@ -13307,8 +13471,8 @@ packages: - utf-8-validate dev: true - /webdriverio@8.39.1(typescript@5.5.4): - resolution: {integrity: sha512-dPwLgLNtP+l4vnybz+YFxxH8nBKOP7j6VVzKtfDyTLDQg9rz3U8OA4xMMQCBucnrVXy3KcKxGqlnMa+c4IfWCQ==} + /webdriverio@8.40.5: + resolution: {integrity: sha512-fKzaAF8lbgVFWIP8i0eGk22MpjactVVTWP8qtUXDob5Kdo8ffrg1lCKP8mcyrz6fiZM1OY1m6dvkbFelf23Nxw==} engines: {node: ^16.13 || >=18} requiresBuild: true peerDependencies: @@ -13317,18 +13481,18 @@ packages: devtools: optional: true dependencies: - '@types/node': 20.14.2 - '@wdio/config': 8.39.0 + '@types/node': 22.5.2 + '@wdio/config': 8.40.3 '@wdio/logger': 8.38.0 - '@wdio/protocols': 8.38.0 - '@wdio/repl': 8.24.12 - '@wdio/types': 8.39.0 - '@wdio/utils': 8.39.0 + '@wdio/protocols': 8.40.3 + '@wdio/repl': 8.40.3 + '@wdio/types': 8.40.3 + '@wdio/utils': 8.40.3 archiver: 7.0.1 aria-query: 5.3.0 css-shorthand-properties: 1.1.1 css-value: 0.0.1 - devtools-protocol: 0.0.1302984 + devtools-protocol: 0.0.1342118 grapheme-splitter: 1.0.4 import-meta-resolve: 4.1.0 is-plain-obj: 4.1.0 @@ -13336,23 +13500,23 @@ packages: lodash.clonedeep: 4.5.0 lodash.zip: 4.2.0 minimatch: 9.0.4 - puppeteer-core: 20.9.0(typescript@5.5.4) + puppeteer-core: 21.11.0 query-selector-shadow-dom: 1.0.1 resq: 1.11.0 rgb2hex: 0.2.5 serialize-error: 11.0.3 - webdriver: 8.39.0 + webdriver: 8.40.3 transitivePeerDependencies: - bufferutil - encoding - supports-color - - typescript - utf-8-validate dev: true optional: true /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + requiresBuild: true dev: true /webpack-cli@5.1.4(webpack@5.91.0): @@ -13452,6 +13616,7 @@ packages: /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + requiresBuild: true dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 @@ -13499,7 +13664,7 @@ packages: /wontache@0.1.0: resolution: {integrity: sha512-UH4ikvEVRtvqY3DoW9/NjctB11FDuHjkKPO1tjaUVIVnZevxNtvba7lhR7H5TfMBVCpF2jwxH1qlu0UQSQ/zCw==} dependencies: - underscore: 1.13.6 + underscore: 1.13.7 dev: false /word-wrap@1.2.5: @@ -13561,6 +13726,21 @@ packages: optional: true dev: true + /ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + engines: {node: '>=10.0.0'} + requiresBuild: true + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + optional: true + /ws@8.17.0: resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} engines: {node: '>=10.0.0'} @@ -13696,7 +13876,7 @@ packages: engines: {node: '>=12'} dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -13748,8 +13928,8 @@ packages: readable-stream: 4.5.2 dev: true - /zos-node-accessor@2.0.9: - resolution: {integrity: sha512-AkliQcdGlHAQSzBYMCZPNf7KMwQ8b5jDUjQtZ9ce6LQ++u7iVyMYEgUrbCsKi16Jhw6bgVGuN1J5kffQlSdt5w==} + /zos-node-accessor@2.0.11: + resolution: {integrity: sha512-SLGFqVTudzhtZyYXnrGnMdGwgo3I8jk3ZnownxqnXkR5k6N0/GkxpLiqkjsTRhl6go3S/8Jwmbpj6JgeTQ1x4g==} engines: {node: '>= 8'} dependencies: ftp4: 0.3.13