@pachca/cli 2026.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +352 -0
- package/README.template.md +190 -0
- package/bin/dev.js +5 -0
- package/bin/run.js +5 -0
- package/dist/base-command.d.ts +74 -0
- package/dist/base-command.d.ts.map +1 -0
- package/dist/base-command.js +242 -0
- package/dist/base-command.js.map +1 -0
- package/dist/client.d.ts +45 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +258 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/api.d.ts +38 -0
- package/dist/commands/api.d.ts.map +1 -0
- package/dist/commands/api.js +212 -0
- package/dist/commands/api.js.map +1 -0
- package/dist/commands/auth/list.d.ts +23 -0
- package/dist/commands/auth/list.d.ts.map +1 -0
- package/dist/commands/auth/list.js +39 -0
- package/dist/commands/auth/list.js.map +1 -0
- package/dist/commands/auth/login.d.ts +23 -0
- package/dist/commands/auth/login.d.ts.map +1 -0
- package/dist/commands/auth/login.js +140 -0
- package/dist/commands/auth/login.js.map +1 -0
- package/dist/commands/auth/logout.d.ts +26 -0
- package/dist/commands/auth/logout.d.ts.map +1 -0
- package/dist/commands/auth/logout.js +81 -0
- package/dist/commands/auth/logout.js.map +1 -0
- package/dist/commands/auth/refresh.d.ts +26 -0
- package/dist/commands/auth/refresh.d.ts.map +1 -0
- package/dist/commands/auth/refresh.js +68 -0
- package/dist/commands/auth/refresh.js.map +1 -0
- package/dist/commands/auth/status.d.ts +23 -0
- package/dist/commands/auth/status.d.ts.map +1 -0
- package/dist/commands/auth/status.js +51 -0
- package/dist/commands/auth/status.js.map +1 -0
- package/dist/commands/auth/switch.d.ts +26 -0
- package/dist/commands/auth/switch.d.ts.map +1 -0
- package/dist/commands/auth/switch.js +37 -0
- package/dist/commands/auth/switch.js.map +1 -0
- package/dist/commands/bots/list-events.d.ts +31 -0
- package/dist/commands/bots/list-events.d.ts.map +1 -0
- package/dist/commands/bots/list-events.js +85 -0
- package/dist/commands/bots/list-events.js.map +1 -0
- package/dist/commands/bots/remove-event.d.ts +30 -0
- package/dist/commands/bots/remove-event.d.ts.map +1 -0
- package/dist/commands/bots/remove-event.js +48 -0
- package/dist/commands/bots/remove-event.js.map +1 -0
- package/dist/commands/bots/update.d.ts +34 -0
- package/dist/commands/bots/update.d.ts.map +1 -0
- package/dist/commands/bots/update.js +78 -0
- package/dist/commands/bots/update.js.map +1 -0
- package/dist/commands/changelog.d.ts +23 -0
- package/dist/commands/changelog.d.ts.map +1 -0
- package/dist/commands/changelog.js +40 -0
- package/dist/commands/changelog.js.map +1 -0
- package/dist/commands/chats/archive.d.ts +32 -0
- package/dist/commands/chats/archive.d.ts.map +1 -0
- package/dist/commands/chats/archive.js +35 -0
- package/dist/commands/chats/archive.js.map +1 -0
- package/dist/commands/chats/create.d.ts +33 -0
- package/dist/commands/chats/create.d.ts.map +1 -0
- package/dist/commands/chats/create.js +91 -0
- package/dist/commands/chats/create.js.map +1 -0
- package/dist/commands/chats/get.d.ts +33 -0
- package/dist/commands/chats/get.d.ts.map +1 -0
- package/dist/commands/chats/get.js +35 -0
- package/dist/commands/chats/get.js.map +1 -0
- package/dist/commands/chats/list.d.ts +37 -0
- package/dist/commands/chats/list.d.ts.map +1 -0
- package/dist/commands/chats/list.js +117 -0
- package/dist/commands/chats/list.js.map +1 -0
- package/dist/commands/chats/unarchive.d.ts +32 -0
- package/dist/commands/chats/unarchive.d.ts.map +1 -0
- package/dist/commands/chats/unarchive.js +34 -0
- package/dist/commands/chats/unarchive.js.map +1 -0
- package/dist/commands/chats/update.d.ts +35 -0
- package/dist/commands/chats/update.d.ts.map +1 -0
- package/dist/commands/chats/update.js +52 -0
- package/dist/commands/chats/update.js.map +1 -0
- package/dist/commands/commands.d.ts +24 -0
- package/dist/commands/commands.d.ts.map +1 -0
- package/dist/commands/commands.js +71 -0
- package/dist/commands/commands.js.map +1 -0
- package/dist/commands/common/custom-properties.d.ts +29 -0
- package/dist/commands/common/custom-properties.d.ts.map +1 -0
- package/dist/commands/common/custom-properties.js +68 -0
- package/dist/commands/common/custom-properties.js.map +1 -0
- package/dist/commands/common/direct-url.d.ts +35 -0
- package/dist/commands/common/direct-url.d.ts.map +1 -0
- package/dist/commands/common/direct-url.js +123 -0
- package/dist/commands/common/direct-url.js.map +1 -0
- package/dist/commands/common/get-exports.d.ts +34 -0
- package/dist/commands/common/get-exports.d.ts.map +1 -0
- package/dist/commands/common/get-exports.js +47 -0
- package/dist/commands/common/get-exports.js.map +1 -0
- package/dist/commands/common/request-export.d.ts +33 -0
- package/dist/commands/common/request-export.d.ts.map +1 -0
- package/dist/commands/common/request-export.js +90 -0
- package/dist/commands/common/request-export.js.map +1 -0
- package/dist/commands/common/uploads.d.ts +28 -0
- package/dist/commands/common/uploads.d.ts.map +1 -0
- package/dist/commands/common/uploads.js +29 -0
- package/dist/commands/common/uploads.js.map +1 -0
- package/dist/commands/config/get.d.ts +26 -0
- package/dist/commands/config/get.d.ts.map +1 -0
- package/dist/commands/config/get.js +28 -0
- package/dist/commands/config/get.js.map +1 -0
- package/dist/commands/config/list.d.ts +23 -0
- package/dist/commands/config/list.d.ts.map +1 -0
- package/dist/commands/config/list.js +49 -0
- package/dist/commands/config/list.js.map +1 -0
- package/dist/commands/config/set.d.ts +27 -0
- package/dist/commands/config/set.d.ts.map +1 -0
- package/dist/commands/config/set.js +30 -0
- package/dist/commands/config/set.js.map +1 -0
- package/dist/commands/doctor.d.ts +24 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +175 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/group-tags/create.d.ts +29 -0
- package/dist/commands/group-tags/create.d.ts.map +1 -0
- package/dist/commands/group-tags/create.js +74 -0
- package/dist/commands/group-tags/create.js.map +1 -0
- package/dist/commands/group-tags/delete.d.ts +32 -0
- package/dist/commands/group-tags/delete.d.ts.map +1 -0
- package/dist/commands/group-tags/delete.js +45 -0
- package/dist/commands/group-tags/delete.js.map +1 -0
- package/dist/commands/group-tags/get.d.ts +32 -0
- package/dist/commands/group-tags/get.d.ts.map +1 -0
- package/dist/commands/group-tags/get.js +32 -0
- package/dist/commands/group-tags/get.js.map +1 -0
- package/dist/commands/group-tags/list-users.d.ts +36 -0
- package/dist/commands/group-tags/list-users.d.ts.map +1 -0
- package/dist/commands/group-tags/list-users.js +90 -0
- package/dist/commands/group-tags/list-users.js.map +1 -0
- package/dist/commands/group-tags/list.d.ts +32 -0
- package/dist/commands/group-tags/list.d.ts.map +1 -0
- package/dist/commands/group-tags/list.js +91 -0
- package/dist/commands/group-tags/list.js.map +1 -0
- package/dist/commands/group-tags/update.d.ts +33 -0
- package/dist/commands/group-tags/update.d.ts.map +1 -0
- package/dist/commands/group-tags/update.js +75 -0
- package/dist/commands/group-tags/update.js.map +1 -0
- package/dist/commands/guide.d.ts +26 -0
- package/dist/commands/guide.d.ts.map +1 -0
- package/dist/commands/guide.js +86 -0
- package/dist/commands/guide.js.map +1 -0
- package/dist/commands/introspect.d.ts +27 -0
- package/dist/commands/introspect.d.ts.map +1 -0
- package/dist/commands/introspect.js +82 -0
- package/dist/commands/introspect.js.map +1 -0
- package/dist/commands/link-previews/add.d.ts +33 -0
- package/dist/commands/link-previews/add.d.ts.map +1 -0
- package/dist/commands/link-previews/add.js +76 -0
- package/dist/commands/link-previews/add.js.map +1 -0
- package/dist/commands/members/add-group-tags.d.ts +32 -0
- package/dist/commands/members/add-group-tags.d.ts.map +1 -0
- package/dist/commands/members/add-group-tags.js +73 -0
- package/dist/commands/members/add-group-tags.js.map +1 -0
- package/dist/commands/members/add.d.ts +34 -0
- package/dist/commands/members/add.d.ts.map +1 -0
- package/dist/commands/members/add.js +82 -0
- package/dist/commands/members/add.js.map +1 -0
- package/dist/commands/members/leave.d.ts +33 -0
- package/dist/commands/members/leave.d.ts.map +1 -0
- package/dist/commands/members/leave.js +48 -0
- package/dist/commands/members/leave.js.map +1 -0
- package/dist/commands/members/list.d.ts +37 -0
- package/dist/commands/members/list.d.ts.map +1 -0
- package/dist/commands/members/list.js +97 -0
- package/dist/commands/members/list.js.map +1 -0
- package/dist/commands/members/remove-group-tag.d.ts +36 -0
- package/dist/commands/members/remove-group-tag.d.ts.map +1 -0
- package/dist/commands/members/remove-group-tag.js +49 -0
- package/dist/commands/members/remove-group-tag.js.map +1 -0
- package/dist/commands/members/remove.d.ts +37 -0
- package/dist/commands/members/remove.d.ts.map +1 -0
- package/dist/commands/members/remove.js +53 -0
- package/dist/commands/members/remove.js.map +1 -0
- package/dist/commands/members/update.d.ts +36 -0
- package/dist/commands/members/update.d.ts.map +1 -0
- package/dist/commands/members/update.js +39 -0
- package/dist/commands/members/update.js.map +1 -0
- package/dist/commands/messages/create.d.ts +38 -0
- package/dist/commands/messages/create.d.ts.map +1 -0
- package/dist/commands/messages/create.js +128 -0
- package/dist/commands/messages/create.js.map +1 -0
- package/dist/commands/messages/delete.d.ts +33 -0
- package/dist/commands/messages/delete.d.ts.map +1 -0
- package/dist/commands/messages/delete.js +50 -0
- package/dist/commands/messages/delete.js.map +1 -0
- package/dist/commands/messages/get.d.ts +33 -0
- package/dist/commands/messages/get.d.ts.map +1 -0
- package/dist/commands/messages/get.js +37 -0
- package/dist/commands/messages/get.js.map +1 -0
- package/dist/commands/messages/list.d.ts +33 -0
- package/dist/commands/messages/list.d.ts.map +1 -0
- package/dist/commands/messages/list.js +127 -0
- package/dist/commands/messages/list.js.map +1 -0
- package/dist/commands/messages/pin.d.ts +32 -0
- package/dist/commands/messages/pin.d.ts.map +1 -0
- package/dist/commands/messages/pin.js +35 -0
- package/dist/commands/messages/pin.js.map +1 -0
- package/dist/commands/messages/unpin.d.ts +33 -0
- package/dist/commands/messages/unpin.d.ts.map +1 -0
- package/dist/commands/messages/unpin.js +49 -0
- package/dist/commands/messages/unpin.js.map +1 -0
- package/dist/commands/messages/update.d.ts +38 -0
- package/dist/commands/messages/update.d.ts.map +1 -0
- package/dist/commands/messages/update.js +74 -0
- package/dist/commands/messages/update.js.map +1 -0
- package/dist/commands/profile/delete-status.d.ts +28 -0
- package/dist/commands/profile/delete-status.d.ts.map +1 -0
- package/dist/commands/profile/delete-status.js +44 -0
- package/dist/commands/profile/delete-status.js.map +1 -0
- package/dist/commands/profile/get-info.d.ts +27 -0
- package/dist/commands/profile/get-info.d.ts.map +1 -0
- package/dist/commands/profile/get-info.js +26 -0
- package/dist/commands/profile/get-info.js.map +1 -0
- package/dist/commands/profile/get-status.d.ts +28 -0
- package/dist/commands/profile/get-status.d.ts.map +1 -0
- package/dist/commands/profile/get-status.js +29 -0
- package/dist/commands/profile/get-status.js.map +1 -0
- package/dist/commands/profile/get.d.ts +28 -0
- package/dist/commands/profile/get.d.ts.map +1 -0
- package/dist/commands/profile/get.js +29 -0
- package/dist/commands/profile/get.js.map +1 -0
- package/dist/commands/profile/update-status.d.ts +33 -0
- package/dist/commands/profile/update-status.d.ts.map +1 -0
- package/dist/commands/profile/update-status.js +95 -0
- package/dist/commands/profile/update-status.js.map +1 -0
- package/dist/commands/reactions/add.d.ts +35 -0
- package/dist/commands/reactions/add.d.ts.map +1 -0
- package/dist/commands/reactions/add.js +82 -0
- package/dist/commands/reactions/add.js.map +1 -0
- package/dist/commands/reactions/list.d.ts +36 -0
- package/dist/commands/reactions/list.d.ts.map +1 -0
- package/dist/commands/reactions/list.js +91 -0
- package/dist/commands/reactions/list.js.map +1 -0
- package/dist/commands/reactions/remove.d.ts +35 -0
- package/dist/commands/reactions/remove.d.ts.map +1 -0
- package/dist/commands/reactions/remove.js +88 -0
- package/dist/commands/reactions/remove.js.map +1 -0
- package/dist/commands/read-member/list-readers.d.ts +35 -0
- package/dist/commands/read-member/list-readers.d.ts.map +1 -0
- package/dist/commands/read-member/list-readers.js +89 -0
- package/dist/commands/read-member/list-readers.js.map +1 -0
- package/dist/commands/search/list-chats.d.ts +38 -0
- package/dist/commands/search/list-chats.d.ts.map +1 -0
- package/dist/commands/search/list-chats.js +122 -0
- package/dist/commands/search/list-chats.js.map +1 -0
- package/dist/commands/search/list-messages.d.ts +38 -0
- package/dist/commands/search/list-messages.d.ts.map +1 -0
- package/dist/commands/search/list-messages.js +121 -0
- package/dist/commands/search/list-messages.js.map +1 -0
- package/dist/commands/search/list-users.d.ts +37 -0
- package/dist/commands/search/list-users.d.ts.map +1 -0
- package/dist/commands/search/list-users.js +117 -0
- package/dist/commands/search/list-users.js.map +1 -0
- package/dist/commands/security/list.d.ts +39 -0
- package/dist/commands/security/list.d.ts.map +1 -0
- package/dist/commands/security/list.js +155 -0
- package/dist/commands/security/list.js.map +1 -0
- package/dist/commands/tasks/create.d.ts +36 -0
- package/dist/commands/tasks/create.d.ts.map +1 -0
- package/dist/commands/tasks/create.js +111 -0
- package/dist/commands/tasks/create.js.map +1 -0
- package/dist/commands/tasks/delete.d.ts +33 -0
- package/dist/commands/tasks/delete.d.ts.map +1 -0
- package/dist/commands/tasks/delete.js +50 -0
- package/dist/commands/tasks/delete.js.map +1 -0
- package/dist/commands/tasks/get.d.ts +33 -0
- package/dist/commands/tasks/get.d.ts.map +1 -0
- package/dist/commands/tasks/get.js +37 -0
- package/dist/commands/tasks/get.js.map +1 -0
- package/dist/commands/tasks/list.d.ts +31 -0
- package/dist/commands/tasks/list.d.ts.map +1 -0
- package/dist/commands/tasks/list.js +87 -0
- package/dist/commands/tasks/list.js.map +1 -0
- package/dist/commands/tasks/update.d.ts +42 -0
- package/dist/commands/tasks/update.d.ts.map +1 -0
- package/dist/commands/tasks/update.js +90 -0
- package/dist/commands/tasks/update.js.map +1 -0
- package/dist/commands/thread/add.d.ts +33 -0
- package/dist/commands/thread/add.d.ts.map +1 -0
- package/dist/commands/thread/add.js +36 -0
- package/dist/commands/thread/add.js.map +1 -0
- package/dist/commands/thread/get.d.ts +32 -0
- package/dist/commands/thread/get.d.ts.map +1 -0
- package/dist/commands/thread/get.js +32 -0
- package/dist/commands/thread/get.js.map +1 -0
- package/dist/commands/users/create.d.ts +30 -0
- package/dist/commands/users/create.d.ts.map +1 -0
- package/dist/commands/users/create.js +78 -0
- package/dist/commands/users/create.js.map +1 -0
- package/dist/commands/users/delete.d.ts +33 -0
- package/dist/commands/users/delete.d.ts.map +1 -0
- package/dist/commands/users/delete.js +50 -0
- package/dist/commands/users/delete.js.map +1 -0
- package/dist/commands/users/get-status.d.ts +33 -0
- package/dist/commands/users/get-status.d.ts.map +1 -0
- package/dist/commands/users/get-status.js +37 -0
- package/dist/commands/users/get-status.js.map +1 -0
- package/dist/commands/users/get.d.ts +33 -0
- package/dist/commands/users/get.d.ts.map +1 -0
- package/dist/commands/users/get.js +37 -0
- package/dist/commands/users/get.js.map +1 -0
- package/dist/commands/users/list.d.ts +32 -0
- package/dist/commands/users/list.d.ts.map +1 -0
- package/dist/commands/users/list.js +92 -0
- package/dist/commands/users/list.js.map +1 -0
- package/dist/commands/users/remove-status.d.ts +33 -0
- package/dist/commands/users/remove-status.d.ts.map +1 -0
- package/dist/commands/users/remove-status.js +50 -0
- package/dist/commands/users/remove-status.js.map +1 -0
- package/dist/commands/users/update-status.d.ts +38 -0
- package/dist/commands/users/update-status.d.ts.map +1 -0
- package/dist/commands/users/update-status.js +101 -0
- package/dist/commands/users/update-status.js.map +1 -0
- package/dist/commands/users/update.d.ts +44 -0
- package/dist/commands/users/update.d.ts.map +1 -0
- package/dist/commands/users/update.js +90 -0
- package/dist/commands/users/update.js.map +1 -0
- package/dist/commands/version.d.ts +23 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +23 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/commands/views/open.d.ts +32 -0
- package/dist/commands/views/open.d.ts.map +1 -0
- package/dist/commands/views/open.js +103 -0
- package/dist/commands/views/open.js.map +1 -0
- package/dist/data/alternatives.json +73 -0
- package/dist/data/changelog.json +328 -0
- package/dist/data/workflows.json +990 -0
- package/dist/get-version.d.ts +7 -0
- package/dist/get-version.d.ts.map +1 -0
- package/dist/get-version.js +23 -0
- package/dist/get-version.js.map +1 -0
- package/dist/hooks/command-not-found.d.ts +4 -0
- package/dist/hooks/command-not-found.d.ts.map +1 -0
- package/dist/hooks/command-not-found.js +51 -0
- package/dist/hooks/command-not-found.js.map +1 -0
- package/dist/hooks/init.d.ts +4 -0
- package/dist/hooks/init.d.ts.map +1 -0
- package/dist/hooks/init.js +95 -0
- package/dist/hooks/init.js.map +1 -0
- package/dist/hooks/postrun.d.ts +4 -0
- package/dist/hooks/postrun.d.ts.map +1 -0
- package/dist/hooks/postrun.js +67 -0
- package/dist/hooks/postrun.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/output.d.ts +26 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +175 -0
- package/dist/output.js.map +1 -0
- package/dist/profiles.d.ts +52 -0
- package/dist/profiles.d.ts.map +1 -0
- package/dist/profiles.js +192 -0
- package/dist/profiles.js.map +1 -0
- package/dist/utils.d.ts +21 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +62 -0
- package/dist/utils.js.map +1 -0
- package/oclif.manifest.json +12266 -0
- package/package.json +73 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-version.d.ts","sourceRoot":"","sources":["../src/get-version.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background script spawned by postrun hook.
|
|
3
|
+
* Fetches latest version from npm registry and writes to cache file.
|
|
4
|
+
* Usage: node get-version.js <versionFilePath>
|
|
5
|
+
*/
|
|
6
|
+
import * as fs from 'node:fs';
|
|
7
|
+
const versionFile = process.argv[2];
|
|
8
|
+
if (!versionFile)
|
|
9
|
+
process.exit(1);
|
|
10
|
+
try {
|
|
11
|
+
const response = await fetch('https://registry.npmjs.org/@pachca/cli');
|
|
12
|
+
if (!response.ok)
|
|
13
|
+
process.exit(1);
|
|
14
|
+
const data = (await response.json());
|
|
15
|
+
const latest = data['dist-tags']?.latest;
|
|
16
|
+
if (latest) {
|
|
17
|
+
fs.writeFileSync(versionFile, JSON.stringify({ latest, checked_at: new Date().toISOString() }));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// Silently fail
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=get-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-version.js","sourceRoot":"","sources":["../src/get-version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI,CAAC,WAAW;IAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAElC,IAAI,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0C,CAAC;IAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;IACP,gBAAgB;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-not-found.d.ts","sourceRoot":"","sources":["../../src/hooks/command-not-found.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAInC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAkDnC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { levenshtein, defaultOutputFormat } from '../utils.js';
|
|
2
|
+
import { outputError } from '../output.js';
|
|
3
|
+
const hook = async function (opts) {
|
|
4
|
+
const commandId = opts.id;
|
|
5
|
+
const format = defaultOutputFormat();
|
|
6
|
+
// Try to load alternatives from bundled data
|
|
7
|
+
let alternatives = {};
|
|
8
|
+
try {
|
|
9
|
+
const data = await import('../data/alternatives.json', { with: { type: 'json' } });
|
|
10
|
+
alternatives = data.default || data;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
// No alternatives data — just show basic error
|
|
14
|
+
}
|
|
15
|
+
// Find similar commands
|
|
16
|
+
const allCommands = Object.keys(alternatives);
|
|
17
|
+
const suggestions = allCommands
|
|
18
|
+
.map((cmd) => ({ cmd, distance: levenshtein(commandId, cmd) }))
|
|
19
|
+
.filter(({ distance }) => distance <= 3)
|
|
20
|
+
.sort((a, b) => a.distance - b.distance)
|
|
21
|
+
.slice(0, 3)
|
|
22
|
+
.map(({ cmd }) => ({
|
|
23
|
+
command: `pachca ${cmd.replace(/:/g, ' ')}`,
|
|
24
|
+
description: alternatives[cmd] || '',
|
|
25
|
+
}));
|
|
26
|
+
if (format === 'json' || !process.stderr.isTTY) {
|
|
27
|
+
const errorObj = {
|
|
28
|
+
error: 'Command not found',
|
|
29
|
+
code: null,
|
|
30
|
+
type: 'PACHCA_COMMAND_NOT_FOUND',
|
|
31
|
+
command: commandId,
|
|
32
|
+
...(suggestions.length > 0 ? { suggestions: suggestions.map((s) => s.command) } : {}),
|
|
33
|
+
};
|
|
34
|
+
outputError(errorObj, 'json');
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
process.stderr.write(`✗ Команда не найдена: ${commandId.replace(/:/g, ' ')}\n`);
|
|
38
|
+
if (suggestions.length > 0) {
|
|
39
|
+
process.stderr.write(`\n Возможно, вы имели в виду:\n`);
|
|
40
|
+
for (const s of suggestions) {
|
|
41
|
+
const desc = s.description ? ` — ${s.description}` : '';
|
|
42
|
+
process.stderr.write(` ${s.command}${desc}\n`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
process.stderr.write(`\n Все команды: pachca commands\n`);
|
|
46
|
+
process.stderr.write(` Помощь по сценариям: pachca guide\n`);
|
|
47
|
+
}
|
|
48
|
+
process.exit(2);
|
|
49
|
+
};
|
|
50
|
+
export default hook;
|
|
51
|
+
//# sourceMappingURL=command-not-found.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-not-found.js","sourceRoot":"","sources":["../../src/hooks/command-not-found.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/hooks/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAkCnC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM,CA0EtB,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { setProfile, resolveToken, TokenNotFoundError, ProfileNotFoundError, } from '../profiles.js';
|
|
2
|
+
import { request } from '../client.js';
|
|
3
|
+
import { outputError } from '../output.js';
|
|
4
|
+
import { defaultOutputFormat } from '../utils.js';
|
|
5
|
+
// Commands that don't require auth
|
|
6
|
+
const SKIP_AUTH = new Set([
|
|
7
|
+
'auth:login',
|
|
8
|
+
'auth:logout',
|
|
9
|
+
'auth:list',
|
|
10
|
+
'auth:switch',
|
|
11
|
+
'auth:status',
|
|
12
|
+
'auth:refresh',
|
|
13
|
+
'config:set',
|
|
14
|
+
'config:get',
|
|
15
|
+
'config:list',
|
|
16
|
+
'version',
|
|
17
|
+
'doctor',
|
|
18
|
+
'autocomplete',
|
|
19
|
+
'commands',
|
|
20
|
+
'guide',
|
|
21
|
+
'introspect',
|
|
22
|
+
'changelog',
|
|
23
|
+
'help',
|
|
24
|
+
]);
|
|
25
|
+
const hook = async function (opts) {
|
|
26
|
+
const commandId = opts.id;
|
|
27
|
+
if (!commandId)
|
|
28
|
+
return;
|
|
29
|
+
// Skip auth for exempt commands
|
|
30
|
+
if (SKIP_AUTH.has(commandId))
|
|
31
|
+
return;
|
|
32
|
+
// Skip auth when --help flag is passed (oclif may route help through init)
|
|
33
|
+
if (process.argv.includes('--help') || process.argv.includes('-h'))
|
|
34
|
+
return;
|
|
35
|
+
// Check if the command itself says requiresAuth: false
|
|
36
|
+
try {
|
|
37
|
+
const cmd = opts.config.findCommand(commandId);
|
|
38
|
+
if (cmd) {
|
|
39
|
+
// Check custom metadata
|
|
40
|
+
const pluginConfig = cmd;
|
|
41
|
+
if (pluginConfig.requiresAuth === false)
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
// Command not found — let oclif handle it
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
// Verify auth exists
|
|
50
|
+
try {
|
|
51
|
+
const { profileName, profile } = resolveToken({ token: undefined, profile: undefined });
|
|
52
|
+
// Refresh bot scopes if stale (>24h)
|
|
53
|
+
if (profileName && profile?.type === 'bot' && profile.scopes_refreshed_at) {
|
|
54
|
+
const refreshedAt = new Date(profile.scopes_refreshed_at).getTime();
|
|
55
|
+
const now = Date.now();
|
|
56
|
+
const twentyFourHours = 24 * 60 * 60 * 1000;
|
|
57
|
+
if (now - refreshedAt > twentyFourHours) {
|
|
58
|
+
try {
|
|
59
|
+
const response = await request({ method: 'GET', path: '/oauth/token/info', token: profile.token }, { quiet: true });
|
|
60
|
+
const tokenInfo = response.data;
|
|
61
|
+
profile.scopes = tokenInfo.scopes || [];
|
|
62
|
+
profile.scopes_refreshed_at = new Date().toISOString();
|
|
63
|
+
setProfile(profileName, profile);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
// Silently ignore refresh errors — use cached scopes
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
if (error instanceof TokenNotFoundError) {
|
|
73
|
+
const format = defaultOutputFormat();
|
|
74
|
+
if (format === 'json' || !process.stderr.isTTY) {
|
|
75
|
+
outputError({ error: 'Token not found', type: 'PACHCA_AUTH_ERROR', code: null }, format);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
process.stderr.write(`✗ Токен не найден. Войдите в аккаунт:\n\n`);
|
|
79
|
+
process.stderr.write(` Интерактивно (человек):\n`);
|
|
80
|
+
process.stderr.write(` pachca auth login\n\n`);
|
|
81
|
+
process.stderr.write(` Неинтерактивно (агент, CI):\n`);
|
|
82
|
+
process.stderr.write(` pachca auth login --token <ваш токен>\n\n`);
|
|
83
|
+
process.stderr.write(` Получить токен: https://dev.pachca.com/guides/authorization\n`);
|
|
84
|
+
}
|
|
85
|
+
process.exit(3);
|
|
86
|
+
}
|
|
87
|
+
if (error instanceof ProfileNotFoundError) {
|
|
88
|
+
const format = defaultOutputFormat();
|
|
89
|
+
outputError({ error: `Profile "${error.profileName}" not found`, type: 'PACHCA_USAGE_ERROR', code: null }, format);
|
|
90
|
+
process.exit(2);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
export default hook;
|
|
95
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/hooks/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postrun.d.ts","sourceRoot":"","sources":["../../src/hooks/postrun.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAKnC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,SAAS,CA4DzB,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { spawn } from 'node:child_process';
|
|
4
|
+
import semver from 'semver';
|
|
5
|
+
import ansis from 'ansis';
|
|
6
|
+
import { isInteractive } from '../utils.js';
|
|
7
|
+
const hook = async function (opts) {
|
|
8
|
+
// Don't show update banner in non-interactive mode
|
|
9
|
+
if (!isInteractive())
|
|
10
|
+
return;
|
|
11
|
+
if (process.env.PACHCA_SKIP_NEW_VERSION_CHECK)
|
|
12
|
+
return;
|
|
13
|
+
const cacheDir = opts.config.cacheDir;
|
|
14
|
+
const versionFile = path.join(cacheDir, 'version');
|
|
15
|
+
// Check if version file exists and show banner
|
|
16
|
+
try {
|
|
17
|
+
if (fs.existsSync(versionFile)) {
|
|
18
|
+
const cached = JSON.parse(fs.readFileSync(versionFile, 'utf-8'));
|
|
19
|
+
const latest = cached.latest;
|
|
20
|
+
const currentVersion = opts.config.version;
|
|
21
|
+
if (latest && semver.valid(latest) && semver.valid(currentVersion)) {
|
|
22
|
+
if (semver.gt(latest, currentVersion)) {
|
|
23
|
+
const box = [
|
|
24
|
+
'',
|
|
25
|
+
ansis.yellow(`╭${'─'.repeat(37)}╮`),
|
|
26
|
+
ansis.yellow(`│ Доступна новая версия: ${latest.padEnd(12)} │`),
|
|
27
|
+
ansis.yellow(`│ npm install -g @pachca/cli${' '.repeat(9)}│`),
|
|
28
|
+
ansis.yellow(`╰${'─'.repeat(37)}╯`),
|
|
29
|
+
'',
|
|
30
|
+
].join('\n');
|
|
31
|
+
process.stderr.write(box);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Ignore cache read errors
|
|
38
|
+
}
|
|
39
|
+
// Check if we should refresh version cache (mtime > 24h)
|
|
40
|
+
try {
|
|
41
|
+
let shouldRefresh = true;
|
|
42
|
+
if (fs.existsSync(versionFile)) {
|
|
43
|
+
const stat = fs.statSync(versionFile);
|
|
44
|
+
const ageMs = Date.now() - stat.mtimeMs;
|
|
45
|
+
shouldRefresh = ageMs > 24 * 60 * 60 * 1000;
|
|
46
|
+
}
|
|
47
|
+
if (shouldRefresh) {
|
|
48
|
+
if (!fs.existsSync(cacheDir)) {
|
|
49
|
+
fs.mkdirSync(cacheDir, { recursive: true });
|
|
50
|
+
}
|
|
51
|
+
// Spawn detached background process to fetch latest version
|
|
52
|
+
const scriptPath = path.join(path.dirname(new URL(import.meta.url).pathname), '..', 'get-version.js');
|
|
53
|
+
if (fs.existsSync(scriptPath)) {
|
|
54
|
+
const child = spawn(process.execPath, [scriptPath, versionFile], {
|
|
55
|
+
detached: true,
|
|
56
|
+
stdio: 'ignore',
|
|
57
|
+
});
|
|
58
|
+
child.unref();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// Ignore errors in update check
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
export default hook;
|
|
67
|
+
//# sourceMappingURL=postrun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postrun.js","sourceRoot":"","sources":["../../src/hooks/postrun.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/output.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type OutputFormat = 'table' | 'json' | 'yaml' | 'csv';
|
|
2
|
+
export interface OutputOptions {
|
|
3
|
+
format: OutputFormat;
|
|
4
|
+
columns?: string[];
|
|
5
|
+
noHeader?: boolean;
|
|
6
|
+
noTruncate?: boolean;
|
|
7
|
+
quiet?: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Format and output data according to the specified format.
|
|
11
|
+
*/
|
|
12
|
+
export declare function outputData(data: unknown, opts: OutputOptions): void;
|
|
13
|
+
/**
|
|
14
|
+
* Output an error in the appropriate format (human-readable or JSON).
|
|
15
|
+
*/
|
|
16
|
+
export declare function outputError(error: {
|
|
17
|
+
error: string;
|
|
18
|
+
code?: number | null;
|
|
19
|
+
type?: string;
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
}, format: OutputFormat): void;
|
|
22
|
+
/**
|
|
23
|
+
* Output a success message.
|
|
24
|
+
*/
|
|
25
|
+
export declare function outputSuccess(message: string, quiet?: boolean): void;
|
|
26
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,aAAa,GAClB,IAAI,CAcN;AAkID;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACrF,MAAM,EAAE,YAAY,GACnB,IAAI,CAaN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAKpE"}
|
package/dist/output.js
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import ansis from 'ansis';
|
|
2
|
+
import stringWidth from 'string-width';
|
|
3
|
+
import { stringify as yamlStringify } from 'yaml';
|
|
4
|
+
/**
|
|
5
|
+
* Format and output data according to the specified format.
|
|
6
|
+
*/
|
|
7
|
+
export function outputData(data, opts) {
|
|
8
|
+
if (opts.quiet)
|
|
9
|
+
return;
|
|
10
|
+
const format = opts.format;
|
|
11
|
+
if (format === 'json') {
|
|
12
|
+
outputJson(data);
|
|
13
|
+
}
|
|
14
|
+
else if (format === 'yaml') {
|
|
15
|
+
outputYaml(data);
|
|
16
|
+
}
|
|
17
|
+
else if (format === 'csv') {
|
|
18
|
+
outputCsv(data, opts);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
outputTable(data, opts);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function outputJson(data) {
|
|
25
|
+
process.stdout.write(JSON.stringify(data, null, 2) + '\n');
|
|
26
|
+
}
|
|
27
|
+
function outputYaml(data) {
|
|
28
|
+
process.stdout.write(yamlStringify(data));
|
|
29
|
+
}
|
|
30
|
+
function outputCsv(data, opts) {
|
|
31
|
+
const items = Array.isArray(data) ? data : [data];
|
|
32
|
+
if (items.length === 0)
|
|
33
|
+
return;
|
|
34
|
+
const columns = opts.columns || Object.keys(items[0]);
|
|
35
|
+
if (!opts.noHeader) {
|
|
36
|
+
process.stdout.write(columns.join(',') + '\n');
|
|
37
|
+
}
|
|
38
|
+
for (const item of items) {
|
|
39
|
+
const row = columns.map((col) => {
|
|
40
|
+
const val = item[col];
|
|
41
|
+
if (val == null)
|
|
42
|
+
return '';
|
|
43
|
+
const str = String(val);
|
|
44
|
+
if (str.includes(',') || str.includes('"') || str.includes('\n')) {
|
|
45
|
+
return `"${str.replace(/"/g, '""')}"`;
|
|
46
|
+
}
|
|
47
|
+
return str;
|
|
48
|
+
});
|
|
49
|
+
process.stdout.write(row.join(',') + '\n');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function outputTable(data, opts) {
|
|
53
|
+
const items = Array.isArray(data) ? data : [data];
|
|
54
|
+
if (items.length === 0) {
|
|
55
|
+
process.stderr.write('No results found.\n');
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const allKeys = Object.keys(items[0]);
|
|
59
|
+
const selectedColumns = opts.columns || allKeys;
|
|
60
|
+
// Compute column widths using display width (handles emoji, CJK, etc.)
|
|
61
|
+
const widths = {};
|
|
62
|
+
for (const col of selectedColumns) {
|
|
63
|
+
widths[col] = stringWidth(col.toUpperCase());
|
|
64
|
+
}
|
|
65
|
+
for (const item of items) {
|
|
66
|
+
for (const col of selectedColumns) {
|
|
67
|
+
const val = formatValue(item[col]);
|
|
68
|
+
const w = stringWidth(val);
|
|
69
|
+
if (w > widths[col])
|
|
70
|
+
widths[col] = w;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Smart column shrinking: fix narrow columns, shrink only wide ones
|
|
74
|
+
const termWidth = process.stdout.columns || 120;
|
|
75
|
+
if (!opts.noTruncate) {
|
|
76
|
+
const gap = (selectedColumns.length - 1) * 3;
|
|
77
|
+
const available = termWidth - gap - 1; // -1 for leading space
|
|
78
|
+
const totalWidth = selectedColumns.reduce((sum, col) => sum + widths[col], 0);
|
|
79
|
+
if (totalWidth > available) {
|
|
80
|
+
// Columns narrower than threshold keep their width; excess is taken from wide columns
|
|
81
|
+
const threshold = Math.max(12, Math.floor(available / selectedColumns.length));
|
|
82
|
+
let fixed = 0;
|
|
83
|
+
let shrinkable = 0;
|
|
84
|
+
const narrow = new Set();
|
|
85
|
+
for (const col of selectedColumns) {
|
|
86
|
+
if (widths[col] <= threshold) {
|
|
87
|
+
fixed += widths[col];
|
|
88
|
+
narrow.add(col);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
shrinkable += widths[col];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const remaining = available - fixed;
|
|
95
|
+
if (remaining > 0 && shrinkable > 0) {
|
|
96
|
+
const ratio = remaining / shrinkable;
|
|
97
|
+
for (const col of selectedColumns) {
|
|
98
|
+
if (!narrow.has(col)) {
|
|
99
|
+
widths[col] = Math.max(4, Math.floor(widths[col] * ratio));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// Print header (dim styling)
|
|
106
|
+
if (!opts.noHeader) {
|
|
107
|
+
const header = selectedColumns.map((col) => padEnd(truncate(col.toUpperCase(), widths[col]), widths[col])).join(' ');
|
|
108
|
+
process.stdout.write(' ' + ansis.dim(header) + '\n');
|
|
109
|
+
}
|
|
110
|
+
// Print rows
|
|
111
|
+
for (const item of items) {
|
|
112
|
+
const row = selectedColumns.map((col) => {
|
|
113
|
+
const val = formatValue(item[col]);
|
|
114
|
+
const truncated = opts.noTruncate ? val : truncate(val, widths[col]);
|
|
115
|
+
return padEnd(truncated, widths[col]);
|
|
116
|
+
}).join(' ');
|
|
117
|
+
process.stdout.write(' ' + row + '\n');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function truncate(str, maxLen) {
|
|
121
|
+
if (stringWidth(str) <= maxLen)
|
|
122
|
+
return str;
|
|
123
|
+
if (maxLen <= 1)
|
|
124
|
+
return str.slice(0, maxLen);
|
|
125
|
+
// Trim characters until display width fits (handles wide chars correctly)
|
|
126
|
+
let result = str;
|
|
127
|
+
while (stringWidth(result) > maxLen - 1 && result.length > 0) {
|
|
128
|
+
result = result.slice(0, -1);
|
|
129
|
+
}
|
|
130
|
+
return result + '…';
|
|
131
|
+
}
|
|
132
|
+
function padEnd(str, width) {
|
|
133
|
+
const diff = width - stringWidth(str);
|
|
134
|
+
return diff > 0 ? str + ' '.repeat(diff) : str;
|
|
135
|
+
}
|
|
136
|
+
function formatValue(val) {
|
|
137
|
+
if (val == null)
|
|
138
|
+
return '';
|
|
139
|
+
if (typeof val === 'boolean')
|
|
140
|
+
return val ? 'true' : 'false';
|
|
141
|
+
if (Array.isArray(val))
|
|
142
|
+
return val.length > 0 ? `[${val.length} items]` : '[]';
|
|
143
|
+
if (typeof val === 'object')
|
|
144
|
+
return JSON.stringify(val);
|
|
145
|
+
return String(val);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Output an error in the appropriate format (human-readable or JSON).
|
|
149
|
+
*/
|
|
150
|
+
export function outputError(error, format) {
|
|
151
|
+
if (format === 'json' || !process.stderr.isTTY) {
|
|
152
|
+
process.stderr.write(JSON.stringify(error) + '\n');
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
const code = error.code ? ` ${error.code}` : '';
|
|
156
|
+
process.stderr.write(`✗ Ошибка${code}: ${error.error}\n`);
|
|
157
|
+
if (error.request_id) {
|
|
158
|
+
process.stderr.write(` Request ID: ${error.request_id}\n`);
|
|
159
|
+
}
|
|
160
|
+
if (error.hint) {
|
|
161
|
+
process.stderr.write(` ${error.hint}\n`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Output a success message.
|
|
167
|
+
*/
|
|
168
|
+
export function outputSuccess(message, quiet) {
|
|
169
|
+
if (quiet)
|
|
170
|
+
return;
|
|
171
|
+
if (process.stderr.isTTY) {
|
|
172
|
+
process.stderr.write(`✔ ${message}\n`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export interface Profile {
|
|
2
|
+
type: 'user' | 'bot';
|
|
3
|
+
token: string;
|
|
4
|
+
user: string;
|
|
5
|
+
email?: string | null;
|
|
6
|
+
scopes: string[];
|
|
7
|
+
scopes_refreshed_at?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ConfigDefaults {
|
|
10
|
+
output?: string;
|
|
11
|
+
timeout?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface ConfigData {
|
|
14
|
+
active_profile?: string;
|
|
15
|
+
defaults?: ConfigDefaults;
|
|
16
|
+
profiles?: Record<string, Profile>;
|
|
17
|
+
}
|
|
18
|
+
export declare function readConfig(): ConfigData;
|
|
19
|
+
export declare function writeConfig(config: ConfigData): void;
|
|
20
|
+
export declare function getActiveProfile(): string | undefined;
|
|
21
|
+
export declare function setActiveProfile(name: string): void;
|
|
22
|
+
export declare function getProfile(name: string): Profile | undefined;
|
|
23
|
+
export declare function setProfile(name: string, profile: Profile): void;
|
|
24
|
+
export declare function deleteProfile(name: string): void;
|
|
25
|
+
export declare function listProfiles(): Record<string, Profile>;
|
|
26
|
+
export declare function getDefaults(): ConfigDefaults;
|
|
27
|
+
export declare function setDefault(key: string, value: string | number): void;
|
|
28
|
+
export declare function getConfigValue(key: string): unknown;
|
|
29
|
+
export declare function setConfigValue(key: string, value: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* Resolve the token to use, respecting priority:
|
|
32
|
+
* --token > PACHCA_TOKEN env > --profile/PACHCA_PROFILE > active profile > error
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveToken(flags: {
|
|
35
|
+
token?: string;
|
|
36
|
+
profile?: string;
|
|
37
|
+
}): {
|
|
38
|
+
token: string;
|
|
39
|
+
profileName?: string;
|
|
40
|
+
profile?: Profile;
|
|
41
|
+
};
|
|
42
|
+
export declare function getConfigFilePath(): string;
|
|
43
|
+
export declare function getConfigFilePermissions(): string | null;
|
|
44
|
+
export declare function invalidateScopes(profileName: string): void;
|
|
45
|
+
export declare class TokenNotFoundError extends Error {
|
|
46
|
+
constructor();
|
|
47
|
+
}
|
|
48
|
+
export declare class ProfileNotFoundError extends Error {
|
|
49
|
+
profileName: string;
|
|
50
|
+
constructor(profileName: string);
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAmBD,wBAAgB,UAAU,IAAI,UAAU,CAOvC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAsBpD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAGrD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAInD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAG5D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAO/D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAWhD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGtD;AAED,wBAAgB,WAAW,IAAI,cAAc,CAG5C;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOpE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASnD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA0B/D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAuB7D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,wBAAwB,IAAI,MAAM,GAAG,IAAI,CAMxD;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAO1D;AAED,qBAAa,kBAAmB,SAAQ,KAAK;;CAK5C;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC1B,WAAW,EAAE,MAAM;gBAAnB,WAAW,EAAE,MAAM;CAIvC"}
|