Skip to content

Conversation

readeral
Copy link
Contributor

Initial command, currently returns an object containing a list of all members to be retrieved from the tooling sobject endpoint, keyed by sobject name

@readeral
Copy link
Contributor Author

I think I've taken this as far as I can, the difficult bit to wrap my head around is the deleting steps!
The next questions I think are:

  1. what shape should the JSON file take
  2. should existing functions/commands be leveraged to do the actual cleanup
  3. should the JSON file be retained for subsequent cleanups if needed (I'm already keeping the SubscriberPackageVersionId for this purpose)

@nvuillam
Copy link
Member

nvuillam commented Aug 28, 2024

I'm currently preparing the v5 with many changes (#770) , I'll handle your PR after , thanks for your understanding :)

@readeral
Copy link
Contributor Author

I'm currently preparing the v5 with many changes (#770) , I'll handle your PR after , thanks for your understanding :)

No rush!

@pranayjswl007
Copy link

@nvuillam @readeral was this idea dropped? we have a few unlocked packages like nebula logger. wondering is somthing was build for it

@nvuillam
Copy link
Member

@pranayjswl007 please be our guest to continue the PR :)

@readeral
Copy link
Contributor Author

@pranayjswl007 Sorry I started down this path but my manager asked me to focus on my core work first and it fell by the side ;)

I can have another look at this, I might know more now and be able to better further the things I couldn't do myself before. Otherwise, I'd love your input to make this happen!

nvuillam and others added 23 commits September 25, 2025 10:37
…ardisgroupcom#1201)

* Monitor audit trail: Flag more audit trail actions as not relevant

* audit trail

* cspell

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: nvuillam <[email protected]>
…ardisgroupcom#1200)

* Introduced escalation rules docs.

* Added nested table for actions in markdown table.

* Resolved conflicts.

* Updates cspell list with escalationrules.
…isgroupcom#1214)

* Enhance AI project documentation with LangChain integration:

- Added support for LangChain in the AI provider architecture, allowing for multiple LLM providers (Ollama, OpenAI, Anthropic).
- Updated package.json to include necessary LangChain dependencies.
- Expanded documentation to include LangChain setup and configuration details.
- Introduced new LangChainProvider class and related provider classes for different LLMs.
- Implemented utility functions to check LangChain availability and manage AI call limits.

* Update Salesforce AI setup documentation:

- Removed default values to enhance clarity.
- Specified the default base URL for LANGCHAIN_LLM_BASE_URL as Ollama: http://localhost:11434.

* linter-fix: update cspell configuration to include new terms for LangChain and Ollama
Bumps [ws](https://github.com/websockets/ws) from 8.18.1 to 8.18.2.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@8.18.1...8.18.2)

---
updated-dependencies:
- dependency-name: ws
  dependency-version: 8.18.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…1211)

Bumps [@oclif/plugin-command-snapshot](https://github.com/oclif/plugin-command-snapshot) from 5.2.38 to 5.2.39.
- [Release notes](https://github.com/oclif/plugin-command-snapshot/releases)
- [Changelog](https://github.com/oclif/plugin-command-snapshot/blob/main/CHANGELOG.md)
- [Commits](oclif/plugin-command-snapshot@5.2.38...5.2.39)

---
updated-dependencies:
- dependency-name: "@oclif/plugin-command-snapshot"
  dependency-version: 5.2.39
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [openai](https://github.com/openai/openai-node) from 4.97.0 to 4.98.0.
- [Release notes](https://github.com/openai/openai-node/releases)
- [Changelog](https://github.com/openai/openai-node/blob/master/CHANGELOG.md)
- [Commits](openai/openai-node@v4.97.0...v4.98.0)

---
updated-dependencies:
- dependency-name: openai
  dependency-version: 4.98.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…m#1212)

Bumps [@salesforce/core](https://github.com/forcedotcom/sfdx-core) from 8.10.1 to 8.10.3.
- [Release notes](https://github.com/forcedotcom/sfdx-core/releases)
- [Changelog](https://github.com/forcedotcom/sfdx-core/blob/main/CHANGELOG.md)
- [Commits](forcedotcom/sfdx-core@8.10.1...8.10.3)

---
updated-dependencies:
- dependency-name: "@salesforce/core"
  dependency-version: 8.10.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Bumps [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) from 6.0.0 to 6.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

---
updated-dependencies:
- dependency-name: "@actions/github"
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* refactor v0

* variables

* fixes

* doc

* yarn lock

* fix TS issues

* Override templates

* rebuild doc

* fix

* rollback tsconfig as it is not necessary

* [Mega-Linter] Apply linters fixes

* changelog

* rebuild doc

* [Mega-Linter] Apply linters fixes

* Update doc

* regenerate doc

* [Mega-Linter] Apply linters fixes :)

* Add Gemini support

* doc

* [Mega-Linter] Apply linters fixes :)

---------

Co-authored-by: nvuillam <[email protected]>
…ardisgroupcom#1217)

* Change default template override folder to config/prompt-templates/

* fix doc

* [Mega-Linter] Apply linters fixes :)

* remove useless comments

---------

Co-authored-by: nvuillam <[email protected]>
… in DiagnoseAuditTrail (hardisgroupcom#1203)

* Feature: enhance SOQL query handling and add custom settings tracking in DiagnoseAuditTrail

* Cleanup: remove unnecessary blank lines in bulk query functions

* Feature: enhance SOQL query functions to handle batch limits and warnings for large datasets

* Feature: refactor SOQL query functions to centralize warning handling and improve readability

* Feature: improve SOQL query functions by adding warning logs for record limits and removing redundant warning handling

* changelog

* refactor

* refactor

* Many fixes !

* fixes

---------

Co-authored-by: dimit <[email protected]>
Co-authored-by: Nicolas Vuillamy <[email protected]>
* Feat: added command clabel-translations to extract translations of Custom Labels

* Feat: allows the extraction of Custom Labels in LWCs

* Docs: added documentation for "custom-label-translations" command

* Chore: delete src/commands/hardis/misc/clabel-translations.ts

* Chore: update .cspell.json

* Chore: removed docs file to be auto-generated
Chore: moved prompt methods to command file

* Chore: discard MetadataUtils changes

---------

Co-authored-by: Nicolas Vuillamy <[email protected]>
dependabot bot and others added 24 commits September 25, 2025 10:37
…m#1402)

Bumps [@salesforce/core](https://github.com/forcedotcom/sfdx-core) from 8.19.1 to 8.23.1.
- [Release notes](https://github.com/forcedotcom/sfdx-core/releases)
- [Changelog](https://github.com/forcedotcom/sfdx-core/blob/main/CHANGELOG.md)
- [Commits](forcedotcom/sfdx-core@8.19.1...8.23.1)

---
updated-dependencies:
- dependency-name: "@salesforce/core"
  dependency-version: 8.23.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…upcom#1404)

Bumps [@langchain/anthropic](https://github.com/langchain-ai/langchainjs) from 0.3.26 to 0.3.27.
- [Release notes](https://github.com/langchain-ai/langchainjs/releases)
- [Changelog](https://github.com/langchain-ai/langchainjs/blob/main/release_workspace.js)
- [Commits](https://github.com/langchain-ai/langchainjs/compare/0.3.26...@langchain/anthropic==0.3.27)

---
updated-dependencies:
- dependency-name: "@langchain/anthropic"
  dependency-version: 0.3.27
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@oclif/core](https://github.com/oclif/core) from 4.5.2 to 4.5.3.
- [Release notes](https://github.com/oclif/core/releases)
- [Changelog](https://github.com/oclif/core/blob/main/CHANGELOG.md)
- [Commits](oclif/core@4.5.2...4.5.3)

---
updated-dependencies:
- dependency-name: "@oclif/core"
  dependency-version: 4.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Send progress events to WebSocket server for better UI in VsCode

* Improve file export summary log

* Better progress

* Improve log

* Adds CSV logging for file export operations

Implements detailed CSV logging to track the status, folder, filename,
extension, and size of exported files, including error details when
applicable.

This provides a comprehensive report of the file export process,
improving transparency and facilitating debugging. It also includes
a WebSocket message to notify users about the log file.

* changelog

* import (not validated)

* log

* polishing

* Updates progress message parameters

Updates progress messages to use the number of processed files and the total number of files instead of the command object.
This change ensures the correct parameters are used for progress tracking.

* changelog

* [Mega-Linter] Apply linters fixes

* changelog

* Fixes typo in XLSX file extension references

Corrects a typographical error by changing all instances of "XSLX" to "XLSX" in log messages and file names related to the generated Excel report files.

* Enhances work save command

Modifies the work save command to display the manual actions file as an action link in the UI, improving user experience by providing direct access to the file.

Also updates the changelog to reflect this change and a change to hardis org file commands.

---------

Co-authored-by: nvuillam <[email protected]>
…1407)

* give custom names to all report file buttons

* Adds file IDs to export/import logs

Enhances file export and import logging by including
Salesforce record IDs (ContentDocumentId, ContentVersionId,
AttachmentId) in the generated CSV log files. This allows
for better tracking and debugging of file operations. Also,
refactors XLSX file creation into separate reusable function.

* Adds file size filtering to file exports

Implements a file size filter for exported files, allowing users to skip files smaller than a defined minimum size (in KB).

This feature enhances control over the export process and reduces the amount of unnecessary data downloaded. The minimum file size can be configured in the `export.json` file or via interactive prompt.

* Removes "XLSX" from exported file report titles

Updates the exported and imported file report titles
to remove the redundant "(XLSX)" suffix, as the file
extension already indicates the file type.

* cspell

* changelog
* Improves URL extraction from user input

Enhances the instance URL prompt to provide a better user experience.

Modifies the URL parsing logic to remove trailing paths after the '.my.salesforce.com' domain. This ensures a cleaner and more reliable base URL for subsequent operations.

Also updates the description text to encourage copy/pasting the full URL, which simplifies usage.

* Improves OAuth token retrieval for large orgs

Addresses an issue where Salesforce limits OAuthToken queries to 2500 results.
The solution involves recursively querying for remaining tokens when the initial query returns less than the total number of tokens.
Sorts retrieved tokens by AppName for consistency.

Updates the CHANGELOG with the fix.
…andling (hardisgroupcom#1409)

* Files export: resume + validate downloaded file

Implements the `files:export` command to export file attachments from a Salesforce org based on a predefined configuration.

It introduces a resume/restart capability to handle interrupted exports.
When the `--resume` flag is used (default in CI environments), the command checks existing downloaded files for validity. Valid files are skipped, and invalid files are re-downloaded.
When resume is disabled, the output folder is cleared, and a fresh export starts.

The command also supports interactive project selection and configurable export options.
It handles both ContentVersion and Attachment files, validating file integrity by comparing checksums (ContentVersion) and file sizes (both ContentVersion and Attachment) against Salesforce metadata.

Co-authored-by: Piotr <[email protected]>

* Improves API limit handling for file export/import

Introduces an `ApiLimitsManager` class to handle API limit tracking, refreshing, and waiting, improving the stability and reliability of file export and import operations.

This change addresses potential API limit exhaustion issues by:
- Implementing intelligent API limit refreshing to avoid unnecessary calls.
- Tracking API usage locally and dynamically refreshing limits when thresholds are approached.
- Introducing a waiting mechanism to pause operations when limits are exceeded.
- Providing more accurate API consumption estimates.

These improvements enhance the user experience by preventing unexpected failures due to API limits and providing more informative messages about API usage.

* Removes CI resume export default

Removes the default behavior of resuming exports in CI environments.
The `--resume` flag now explicitly controls whether an export is resumed.

* Refactors API limits refreshing logic

Simplifies API limit refresh logic by removing forced refresh and warning threshold checks.

The limits are now only refreshed when the cache expires (5 minutes).
The waiting mechanism is triggered only when the danger threshold is met.
The changes improve the efficiency of checking current usage by retrieving fresh data.

* Adds file validation stats

Adds a counter for files that have been validated (either downloaded or existing) during the export process.

This provides more detailed statistics about the file validation process,
allowing for better monitoring and debugging.

* Improves org URL prompting during authentication

Allows users to input just the domain when prompted for the org URL during authentication.

The system will then construct the complete URL. This simplifies the user experience.

* Clears output folder only when files exist

Modifies the restart mode to clear the output folder
only if there are existing files in the export directory.
This prevents unnecessary folder clearing when no prior export
has been performed.

* Adds download URL to export CSV log

Enhances the export CSV log file to include a 'Download URL' column.

This allows users to directly access the downloaded files from the log,
improving the usability and traceability of the exported data. It
also includes validation status and any associated errors.

* Improves logging for attachment queries

Enhances logging to provide more context about the number of records being processed during attachment queries. This improves debugging and monitoring capabilities when exporting files.

* Improves error handling during API usage retrieval

Updates the error handling during the final API usage retrieval process to log a warning message instead of ignoring the error. This provides better visibility into potential issues during the export process.

---------

Co-authored-by: Piotr <[email protected]>
* Monitoring config enhancements

Display the connected App XML in logs (while hiding sensitive info)
When production org, run the first found test class (or allow to force its selection using ENV variable SFDX_HARDIS_TECH_DEPLOY_TEST_CLASS )

* Ensures default directory exists

Creates the 'force-app/main/default' directory if it doesn't exist before proceeding with metadata extraction.
This prevents errors when the directory is missing in the project structure.

* Handle progress for doc generation

* Improve progress of docgen
…3.6 (hardisgroupcom#1412)

Bumps [@oclif/plugin-command-snapshot](https://github.com/oclif/plugin-command-snapshot) from 5.3.5 to 5.3.6.
- [Release notes](https://github.com/oclif/plugin-command-snapshot/releases)
- [Changelog](https://github.com/oclif/plugin-command-snapshot/blob/main/CHANGELOG.md)
- [Commits](oclif/plugin-command-snapshot@5.3.5...5.3.6)

---
updated-dependencies:
- dependency-name: "@oclif/plugin-command-snapshot"
  dependency-version: 5.3.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [langchain](https://github.com/langchain-ai/langchainjs) from 0.3.33 to 0.3.34.
- [Release notes](https://github.com/langchain-ai/langchainjs/releases)
- [Changelog](https://github.com/langchain-ai/langchainjs/blob/main/release_workspace.js)
- [Commits](langchain-ai/langchainjs@langchain==0.3.33...langchain==0.3.34)

---
updated-dependencies:
- dependency-name: langchain
  dependency-version: 0.3.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…upcom#1414)

Bumps [@langchain/community](https://github.com/langchain-ai/langchainjs) from 0.3.53 to 0.3.56.
- [Release notes](https://github.com/langchain-ai/langchainjs/releases)
- [Changelog](https://github.com/langchain-ai/langchainjs/blob/main/release_workspace.js)
- [Commits](https://github.com/langchain-ai/langchainjs/compare/@langchain/community==0.3.53...@langchain/community==0.3.56)

---
updated-dependencies:
- dependency-name: "@langchain/community"
  dependency-version: 0.3.56
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [fs-extra](https://github.com/jprichardson/node-fs-extra) from 11.3.1 to 11.3.2.
- [Changelog](https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md)
- [Commits](jprichardson/node-fs-extra@11.3.1...11.3.2)

---
updated-dependencies:
- dependency-name: fs-extra
  dependency-version: 11.3.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Improves the org selection prompt by displaying the org alias in the list, providing users with a more informative and user-friendly experience when choosing an org.
This change ensures that the alias is shown, especially when the instance URL or username is similar across multiple orgs.
* Improves installation instructions in README

Adds screenshots to the README to better guide users
through the extension installation process.

Adds `pasteImage` settings to `.vscode/settings.json` to improve image pasting workflow.

* cspell
@readeral
Copy link
Contributor Author

Sorry I screwed up rebasing. Gonna restart with a fresh branch.

@readeral readeral closed this Sep 25, 2025
@readeral readeral deleted the unlocked-packages branch September 25, 2025 01:00
@readeral
Copy link
Contributor Author

@pranayjswl007 @nvuillam see new PR here: #1423

@nvuillam
Copy link
Member

I'll check asap :)
Please remind me if i'm slow :)

@readeral
Copy link
Contributor Author

I'll check asap :) Please remind me if i'm slow :)

Haha you already have 😁

Any way I can amend this one so it’s not referencing every pull request over the past 12 months and making a mess of your repo? 😅

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.