@knowttl/artium-axi 0.0.20 → 0.0.22

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.
Files changed (3) hide show
  1. package/README.md +25 -3
  2. package/bin/artium-axi.mjs +2543 -387
  3. package/package.json +1 -1
@@ -19734,6 +19734,7 @@ var definitions = {
19734
19734
  TOOL_NOT_GRANTED: { status: 403, message: "The user has no role granting this tool.", next: "Ask the administrator to assign a role granting the tool." },
19735
19735
  MASTER_KEY_INVALID: { status: 503, message: "The master key is missing or invalid.", next: "Supply a 32-byte master key file or a base64 master key." },
19736
19736
  CREDENTIAL_INVALID: { status: 503, message: "The stored credential is invalid.", next: "Ask an administrator to check the named field, matching master key and credential JSON, then save and test again." },
19737
+ CREDENTIAL_EXPIRED: { status: 503, message: "The GitHub credential expired or was revoked.", next: "Ask an administrator to reconnect at /admin/tools/gh-axi. Tokens are never refreshed automatically." },
19737
19738
  FLAG_BLOCKED: { status: 400, message: "The arguments override the managed tool boundary.", next: "Remove destination, tenant, credential or local configuration overrides." },
19738
19739
  CREDENTIAL_NOT_CONFIGURED: { status: 503, message: "No credential is configured for the tool.", next: "Ask an administrator to save a credential and run Test credential." },
19739
19740
  UPSTREAM_AUTH_FAILED: { status: 503, message: "The upstream service rejected the credential.", next: "Ask an administrator to check the provider code, identity, secret expiry and permissions, then test again." },
@@ -19775,6 +19776,1246 @@ function errorResponse(error62, requestId) {
19775
19776
  return { error: { code: error62.code, source: error62.source, message: error62.message, next: error62.next, requestId: error62.requestId ?? requestId } };
19776
19777
  }
19777
19778
 
19779
+ // tools/inventories/gh-axi.json
19780
+ var gh_axi_default = {
19781
+ generatedBy: "scripts/gh-inventory.mjs",
19782
+ tool: "gh-axi",
19783
+ version: "0.1.44",
19784
+ integrity: "sha512-iBH2a59aR/zQHWwMz/7ft6P6ldOBodfolFCgwoKviX8/hMkyAJ8R9hIf3BjRCWz7v11hXvuQXte7P1GQUci9tg==",
19785
+ parserEvidence: "Hand-reviewed published dispatch switches and per-command parsers; exact writes use host preview and confirmation",
19786
+ skillSha256: "3d01b3112442275d52cc5847cb17543c710128f4591346e77eeecc30c45e76f3",
19787
+ sdk: {
19788
+ version: "0.1.13",
19789
+ integrity: "sha512-Ygh8qUN5kdwQ3ASw+BNzCKYpy5QYi18vfcEpqEOQOSrcyh6i4wChrPMtvVW0/3Sqho3xPH3CuFkP0QUma5oxxA==",
19790
+ manifestSha256: "dbe3acffeb40dfcca73ce33f60f807bbba8cd5cec6a470b2c7f255b50e02e184"
19791
+ },
19792
+ gh: {
19793
+ version: "2.101.0",
19794
+ url: "https://github.com/cli/cli/releases/download/v2.101.0/gh_2.101.0_linux_amd64.tar.gz",
19795
+ sha256: "9bca2d1c16825f109907a23307628a2f0698fbf99662b73a5cf0b020293072b8",
19796
+ checksums: "https://github.com/cli/cli/releases/download/v2.101.0/gh_2.101.0_checksums.txt"
19797
+ },
19798
+ sources: [
19799
+ {
19800
+ path: "dist/bin/gh-axi.js",
19801
+ sha256: "85bde76c2b7dd0c72bfb4c52a45c55177c907fa3ac08b68d83bcbc6e2343a4a8"
19802
+ },
19803
+ {
19804
+ path: "dist/src/args.js",
19805
+ sha256: "3a68da77f834d27668d0bb6645defa3884fe04edab1e6f255b7f88e9b590d6fd"
19806
+ },
19807
+ {
19808
+ path: "dist/src/attach.js",
19809
+ sha256: "37cc676365545ddc6eeddb0eb00e143c54f75e9d75e83f17108dafd17065d8eb"
19810
+ },
19811
+ {
19812
+ path: "dist/src/body.js",
19813
+ sha256: "460030cb2561e7188ca6b7aa0d441de64238d4ccc6df189ece5249b8bd4b56a6"
19814
+ },
19815
+ {
19816
+ path: "dist/src/cli.js",
19817
+ sha256: "546fa90992dcaad03178f9d869e5a74f2fc2859bc84443a795518e9b3c96f0e5"
19818
+ },
19819
+ {
19820
+ path: "dist/src/commands/api.js",
19821
+ sha256: "f40412051bea3b5c49c68224a5accd54b18fadada6cefab10280069506f311a1"
19822
+ },
19823
+ {
19824
+ path: "dist/src/commands/discussion.js",
19825
+ sha256: "3e806177d3bebbf2da08fafc07bccc8ca3e0dced78296dfe2d41d9d2baa50904"
19826
+ },
19827
+ {
19828
+ path: "dist/src/commands/gist.js",
19829
+ sha256: "2b80906f9860c5d6cae358f40e931b618eb9742f27567610201b967620c02683"
19830
+ },
19831
+ {
19832
+ path: "dist/src/commands/home.js",
19833
+ sha256: "15ff96c95b737444afb082f538ff55a204062a82a9179f85931015fff211ab16"
19834
+ },
19835
+ {
19836
+ path: "dist/src/commands/issue.js",
19837
+ sha256: "74a8d64041300ee24a14fc8488cd9099e919c211f7a4600b8740580115819185"
19838
+ },
19839
+ {
19840
+ path: "dist/src/commands/label.js",
19841
+ sha256: "54f6f35b114e9e965dd30602cab6fe16feb1d58b54a4062b1bbfcbea568bf896"
19842
+ },
19843
+ {
19844
+ path: "dist/src/commands/pr.js",
19845
+ sha256: "ba7d6333f08e1ebc32484f86e9017b57e37671c6e83cbd5300ee7aab4837a395"
19846
+ },
19847
+ {
19848
+ path: "dist/src/commands/project.js",
19849
+ sha256: "eb02ead1ab4828b6a5db7bd0a3f2c829e497e23a4c191ce5bd9f4003184fda9c"
19850
+ },
19851
+ {
19852
+ path: "dist/src/commands/release.js",
19853
+ sha256: "5a8bc903d81b94767cece3ab7ecb788e74803251720db79b0d6aadcf728ea738"
19854
+ },
19855
+ {
19856
+ path: "dist/src/commands/repo.js",
19857
+ sha256: "8226acc8724144767423474d181fd68edd7460d46e983b8b50c0903d0881f945"
19858
+ },
19859
+ {
19860
+ path: "dist/src/commands/run.js",
19861
+ sha256: "3e87712fa0296d561692fa635320948741c4b057f89ad4b5ee9c6ce730a933a4"
19862
+ },
19863
+ {
19864
+ path: "dist/src/commands/search.js",
19865
+ sha256: "1bf46a1673b537d9ca948800e9cd494938aa7d3f6dfd88f5b0ac75bf4ac56fbc"
19866
+ },
19867
+ {
19868
+ path: "dist/src/commands/secret.js",
19869
+ sha256: "40de397f4e9197230a548c18ede51b52f8351385e95e438f9d81b9c16999acd9"
19870
+ },
19871
+ {
19872
+ path: "dist/src/commands/setup.js",
19873
+ sha256: "028f7ef47f329e2873e84c06ced30567c01ddc8eb2e2bc174d7a1f02fa65d942"
19874
+ },
19875
+ {
19876
+ path: "dist/src/commands/stack.js",
19877
+ sha256: "ffabb16c0a7633b57e25856601708e7ed8a625d0668b9fc983e8be9840ab9fdb"
19878
+ },
19879
+ {
19880
+ path: "dist/src/commands/variable.js",
19881
+ sha256: "86355d036a38264762487647067e08ab8af8511320bb270cc38507603545c872"
19882
+ },
19883
+ {
19884
+ path: "dist/src/commands/workflow.js",
19885
+ sha256: "cf15c2416f2687ac236d1f825c1d1fa82c9ca349cd63c036814cb3744fc37962"
19886
+ },
19887
+ {
19888
+ path: "dist/src/comment.js",
19889
+ sha256: "bade28c489815a8d14d3478043c85070d915ee995289f8ce83aa0d288c1b4905"
19890
+ },
19891
+ {
19892
+ path: "dist/src/context.js",
19893
+ sha256: "4b3e45a3f1fd90e211b72c16c284809f4187d71eaa119385aef20fa7559a5610"
19894
+ },
19895
+ {
19896
+ path: "dist/src/debug.js",
19897
+ sha256: "fcf150a8eefe5f6848d7866da8bdf85bef26ffaa5ccdca7a248f05d665113320"
19898
+ },
19899
+ {
19900
+ path: "dist/src/errors.js",
19901
+ sha256: "83f11df70874ff3983c4da806f0b2f2c371c093764a81590c75eb08ecd9e6bc4"
19902
+ },
19903
+ {
19904
+ path: "dist/src/fields.js",
19905
+ sha256: "4470f2680ad5583f8de182e9db3ea43635982c08da59060fa550bb8fdc9a7fb3"
19906
+ },
19907
+ {
19908
+ path: "dist/src/format.js",
19909
+ sha256: "aa3f03c925fe809f0e083938be03668ec79837b1ecf01f7e1a00d314bded89bf"
19910
+ },
19911
+ {
19912
+ path: "dist/src/gh.js",
19913
+ sha256: "de6defe48e0258999199efd9075a9aef77056c0e4c45407cd9c1304267f24b7c"
19914
+ },
19915
+ {
19916
+ path: "dist/src/gistSelector.js",
19917
+ sha256: "0e42b44f8acb2721c1e41ca16693c089b3861351e3d379f14a9054e0eb2e8441"
19918
+ },
19919
+ {
19920
+ path: "dist/src/host.js",
19921
+ sha256: "31b33c1924fc1dfb0dd100d1ee0ab26aadd6b8110dc338bcba731360c05ce6f5"
19922
+ },
19923
+ {
19924
+ path: "dist/src/secretValue.js",
19925
+ sha256: "56b3ee3a50923a399e71a966fe6381774712ed7ec478ce0adf211ea66606d63b"
19926
+ },
19927
+ {
19928
+ path: "dist/src/skill.js",
19929
+ sha256: "96eb92d2ec2fc58178cf6e45d30f67819feaa0dda5ec72dd80eb3da316413a65"
19930
+ },
19931
+ {
19932
+ path: "dist/src/stdin.js",
19933
+ sha256: "fa82d2ff3096c71d9a3e20554c2fd70748ddd113020073fca89258e7e3560d81"
19934
+ },
19935
+ {
19936
+ path: "dist/src/suggestions.js",
19937
+ sha256: "411eed328a7edce95bb231cdcd7dda1de3e2293351fe27419a04054541a893f1"
19938
+ },
19939
+ {
19940
+ path: "dist/src/toon.js",
19941
+ sha256: "d9f6a6a757cd5166bb0be1120858c4a2c974f92ec5ea0e756135e061795a0355"
19942
+ },
19943
+ {
19944
+ path: "dist/src/totals.js",
19945
+ sha256: "a7e21c8a0ccdc70e11c8211d876d31ccc3ebe7cd3726958c5eb9a9c375784342"
19946
+ },
19947
+ {
19948
+ path: "dist/src/version.js",
19949
+ sha256: "6d3dc30d3422f2c22bb04cd5d2d29475d3dbcd3beff4fb57e2014a0d6df620c2"
19950
+ },
19951
+ {
19952
+ path: "axi-sdk-js/dist/cli.js",
19953
+ sha256: "7bda640cc33a6f5226e60b7df2ef7ea8c765431c0e89a267273993370bdd8121"
19954
+ },
19955
+ {
19956
+ path: "axi-sdk-js/dist/errors.js",
19957
+ sha256: "ae30f95f0a82cfbdb51051575ce713ad90acd8b89138c64fa26e76a8716fda4f"
19958
+ },
19959
+ {
19960
+ path: "axi-sdk-js/dist/fast-path.js",
19961
+ sha256: "a3733ac9e099d3d2f09183f1ad2977a7e9613fa3dd5a207ee5f5f838efbfa840"
19962
+ },
19963
+ {
19964
+ path: "axi-sdk-js/dist/hooks.js",
19965
+ sha256: "3bfe0ce4ec57b475cd69f63a1c9c6487317219540619534dbd583f1042fbb777"
19966
+ },
19967
+ {
19968
+ path: "axi-sdk-js/dist/index.js",
19969
+ sha256: "265f9730c582cb1e8e19dc832f3603006e52d73f22e79b62a995cec400a84b2e"
19970
+ },
19971
+ {
19972
+ path: "axi-sdk-js/dist/output.js",
19973
+ sha256: "87aea7c181989b802af98cbe895f9aae1e72d4bca039dafca6f975ff15fc482c"
19974
+ },
19975
+ {
19976
+ path: "axi-sdk-js/dist/update.js",
19977
+ sha256: "337c6ac93156d50e6ac2375ac436a7a94e87d9bd15d15d030dc060f65b6c88e4"
19978
+ }
19979
+ ],
19980
+ adapterBoundary: {
19981
+ unsafeOverrides: [
19982
+ "hostname",
19983
+ "watch",
19984
+ "attach",
19985
+ "body-file",
19986
+ "notes-file",
19987
+ "input",
19988
+ "file",
19989
+ "add",
19990
+ "raw-field",
19991
+ "header",
19992
+ "admin",
19993
+ "delete-branch",
19994
+ "source",
19995
+ "push",
19996
+ "clone",
19997
+ "remote"
19998
+ ],
19999
+ blockedCommands: [
20000
+ "home",
20001
+ "update",
20002
+ "setup",
20003
+ "stack",
20004
+ "issue lock",
20005
+ "issue unlock",
20006
+ "pr checkout",
20007
+ "repo clone",
20008
+ "gist clone",
20009
+ "run watch",
20010
+ "run download",
20011
+ "release download"
20012
+ ],
20013
+ nativeWrites: "host-classified; exact operations, preview and confirmation",
20014
+ inputs: {
20015
+ stdin: "gist create/edit with filename only",
20016
+ files: "unsupported"
20017
+ }
20018
+ },
20019
+ discovery: {
20020
+ commands: [
20021
+ "issue",
20022
+ "pr",
20023
+ "discussion",
20024
+ "run",
20025
+ "workflow",
20026
+ "release",
20027
+ "repo",
20028
+ "label",
20029
+ "gist",
20030
+ "project",
20031
+ "secret",
20032
+ "variable",
20033
+ "search",
20034
+ "api"
20035
+ ],
20036
+ example: [
20037
+ "repo",
20038
+ "list",
20039
+ "--limit",
20040
+ "1"
20041
+ ],
20042
+ help: "gh-axi repo list [<owner>] [--limit <n>]\nManaged GitHub API access. Use -R OWNER/NAME for repository commands. Writes require an administrator-enabled exact operation, host preview and --confirm. api accepts [GET] <relative-path>; GraphQL and other methods are refused. Stdin only for gist create/edit with --filename; no files.\n"
20043
+ },
20044
+ suggestionFields: [
20045
+ "help"
20046
+ ],
20047
+ format: "TOON",
20048
+ commands: [
20049
+ {
20050
+ command: "issue list",
20051
+ effect: "read",
20052
+ flags: {
20053
+ help: "boolean",
20054
+ repo: "value",
20055
+ fields: "value",
20056
+ state: "value",
20057
+ label: "value",
20058
+ assignee: "value",
20059
+ author: "value",
20060
+ milestone: "value",
20061
+ sort: "value",
20062
+ limit: "value"
20063
+ },
20064
+ positionals: 0,
20065
+ repository: true
20066
+ },
20067
+ {
20068
+ command: "issue view",
20069
+ effect: "read",
20070
+ flags: {
20071
+ help: "boolean",
20072
+ repo: "value",
20073
+ comments: "boolean",
20074
+ full: "boolean"
20075
+ },
20076
+ positionals: 1,
20077
+ repository: true
20078
+ },
20079
+ {
20080
+ command: "issue subissue list",
20081
+ effect: "read",
20082
+ flags: {
20083
+ help: "boolean",
20084
+ repo: "value"
20085
+ },
20086
+ positionals: 1,
20087
+ repository: true
20088
+ },
20089
+ {
20090
+ command: "pr list",
20091
+ effect: "read",
20092
+ flags: {
20093
+ help: "boolean",
20094
+ repo: "value",
20095
+ fields: "value",
20096
+ state: "value",
20097
+ label: "value",
20098
+ assignee: "value",
20099
+ author: "value",
20100
+ base: "value",
20101
+ head: "value",
20102
+ limit: "value",
20103
+ draft: "boolean"
20104
+ },
20105
+ positionals: 0,
20106
+ repository: true
20107
+ },
20108
+ {
20109
+ command: "pr view",
20110
+ effect: "read",
20111
+ flags: {
20112
+ help: "boolean",
20113
+ repo: "value",
20114
+ comments: "boolean",
20115
+ reviews: "boolean",
20116
+ checks: "boolean",
20117
+ full: "boolean"
20118
+ },
20119
+ positionals: 1,
20120
+ repository: true
20121
+ },
20122
+ {
20123
+ command: "pr diff",
20124
+ effect: "read",
20125
+ flags: {
20126
+ help: "boolean",
20127
+ repo: "value",
20128
+ full: "boolean"
20129
+ },
20130
+ positionals: 1,
20131
+ repository: true
20132
+ },
20133
+ {
20134
+ command: "pr checks",
20135
+ effect: "read",
20136
+ flags: {
20137
+ help: "boolean",
20138
+ repo: "value",
20139
+ failed: "boolean"
20140
+ },
20141
+ positionals: 1,
20142
+ repository: true
20143
+ },
20144
+ {
20145
+ command: "discussion list",
20146
+ effect: "read",
20147
+ flags: {
20148
+ help: "boolean",
20149
+ repo: "value",
20150
+ state: "value",
20151
+ category: "value",
20152
+ author: "value",
20153
+ label: "value",
20154
+ limit: "value"
20155
+ },
20156
+ positionals: 0,
20157
+ repository: true
20158
+ },
20159
+ {
20160
+ command: "discussion view",
20161
+ effect: "read",
20162
+ flags: {
20163
+ help: "boolean",
20164
+ repo: "value",
20165
+ limit: "value",
20166
+ order: "value",
20167
+ comments: "boolean",
20168
+ full: "boolean"
20169
+ },
20170
+ positionals: 1,
20171
+ repository: true
20172
+ },
20173
+ {
20174
+ command: "run list",
20175
+ effect: "read",
20176
+ flags: {
20177
+ help: "boolean",
20178
+ repo: "value",
20179
+ fields: "value",
20180
+ limit: "value",
20181
+ workflow: "value",
20182
+ branch: "value",
20183
+ status: "value",
20184
+ event: "value",
20185
+ user: "value",
20186
+ commit: "value"
20187
+ },
20188
+ positionals: 0,
20189
+ repository: true
20190
+ },
20191
+ {
20192
+ command: "run view",
20193
+ effect: "read",
20194
+ flags: {
20195
+ help: "boolean",
20196
+ repo: "value",
20197
+ job: "value",
20198
+ conclusion: "value",
20199
+ log: "boolean",
20200
+ verbose: "boolean",
20201
+ "log-failed": "boolean"
20202
+ },
20203
+ positionals: 1,
20204
+ repository: true
20205
+ },
20206
+ {
20207
+ command: "workflow list",
20208
+ effect: "read",
20209
+ flags: {
20210
+ help: "boolean",
20211
+ repo: "value",
20212
+ limit: "value",
20213
+ all: "boolean"
20214
+ },
20215
+ positionals: 0,
20216
+ repository: true
20217
+ },
20218
+ {
20219
+ command: "workflow view",
20220
+ effect: "read",
20221
+ flags: {
20222
+ help: "boolean",
20223
+ repo: "value",
20224
+ yaml: "boolean"
20225
+ },
20226
+ positionals: 1,
20227
+ repository: true
20228
+ },
20229
+ {
20230
+ command: "release list",
20231
+ effect: "read",
20232
+ flags: {
20233
+ help: "boolean",
20234
+ repo: "value",
20235
+ limit: "value",
20236
+ "exclude-drafts": "boolean",
20237
+ "exclude-pre-releases": "boolean"
20238
+ },
20239
+ positionals: 0,
20240
+ repository: true
20241
+ },
20242
+ {
20243
+ command: "release view",
20244
+ effect: "read",
20245
+ flags: {
20246
+ help: "boolean",
20247
+ repo: "value",
20248
+ full: "boolean"
20249
+ },
20250
+ positionals: 1,
20251
+ repository: true
20252
+ },
20253
+ {
20254
+ command: "repo view",
20255
+ effect: "read",
20256
+ flags: {
20257
+ help: "boolean",
20258
+ repo: "value"
20259
+ },
20260
+ positionals: 0,
20261
+ repository: true
20262
+ },
20263
+ {
20264
+ command: "repo list",
20265
+ effect: "read",
20266
+ flags: {
20267
+ help: "boolean",
20268
+ limit: "value",
20269
+ visibility: "value",
20270
+ language: "value",
20271
+ archived: "boolean"
20272
+ },
20273
+ positionals: 1,
20274
+ repository: false
20275
+ },
20276
+ {
20277
+ command: "label list",
20278
+ effect: "read",
20279
+ flags: {
20280
+ help: "boolean",
20281
+ repo: "value",
20282
+ limit: "value"
20283
+ },
20284
+ positionals: 0,
20285
+ repository: true
20286
+ },
20287
+ {
20288
+ command: "gist list",
20289
+ effect: "read",
20290
+ flags: {
20291
+ help: "boolean",
20292
+ limit: "value",
20293
+ fields: "value",
20294
+ public: "boolean",
20295
+ secret: "boolean"
20296
+ },
20297
+ positionals: 0,
20298
+ repository: false
20299
+ },
20300
+ {
20301
+ command: "gist view",
20302
+ effect: "read",
20303
+ flags: {
20304
+ help: "boolean",
20305
+ filename: "value",
20306
+ full: "boolean",
20307
+ files: "boolean"
20308
+ },
20309
+ positionals: 1,
20310
+ repository: false
20311
+ },
20312
+ {
20313
+ command: "project list",
20314
+ effect: "read",
20315
+ flags: {
20316
+ help: "boolean",
20317
+ repo: "value",
20318
+ owner: "value",
20319
+ limit: "value",
20320
+ closed: "boolean"
20321
+ },
20322
+ positionals: 0,
20323
+ repository: false
20324
+ },
20325
+ {
20326
+ command: "project view",
20327
+ effect: "read",
20328
+ flags: {
20329
+ help: "boolean",
20330
+ repo: "value",
20331
+ owner: "value"
20332
+ },
20333
+ positionals: 1,
20334
+ repository: false
20335
+ },
20336
+ {
20337
+ command: "project item-list",
20338
+ effect: "read",
20339
+ flags: {
20340
+ help: "boolean",
20341
+ repo: "value",
20342
+ owner: "value",
20343
+ query: "value",
20344
+ limit: "value"
20345
+ },
20346
+ positionals: 1,
20347
+ repository: false
20348
+ },
20349
+ {
20350
+ command: "project field-list",
20351
+ effect: "read",
20352
+ flags: {
20353
+ help: "boolean",
20354
+ repo: "value",
20355
+ owner: "value",
20356
+ limit: "value"
20357
+ },
20358
+ positionals: 1,
20359
+ repository: false
20360
+ },
20361
+ {
20362
+ command: "secret list",
20363
+ effect: "read",
20364
+ flags: {
20365
+ help: "boolean",
20366
+ repo: "value",
20367
+ env: "value"
20368
+ },
20369
+ positionals: 0,
20370
+ repository: true
20371
+ },
20372
+ {
20373
+ command: "variable list",
20374
+ effect: "read",
20375
+ flags: {
20376
+ help: "boolean",
20377
+ repo: "value"
20378
+ },
20379
+ positionals: 0,
20380
+ repository: true
20381
+ },
20382
+ {
20383
+ command: "search issues",
20384
+ effect: "read",
20385
+ flags: {
20386
+ help: "boolean",
20387
+ repo: "value",
20388
+ owner: "value",
20389
+ state: "value",
20390
+ label: "value",
20391
+ assignee: "value",
20392
+ author: "value",
20393
+ sort: "value",
20394
+ limit: "value",
20395
+ fields: "value"
20396
+ },
20397
+ positionals: "variadic",
20398
+ repository: false
20399
+ },
20400
+ {
20401
+ command: "search prs",
20402
+ effect: "read",
20403
+ flags: {
20404
+ help: "boolean",
20405
+ repo: "value",
20406
+ owner: "value",
20407
+ state: "value",
20408
+ label: "value",
20409
+ assignee: "value",
20410
+ author: "value",
20411
+ sort: "value",
20412
+ limit: "value",
20413
+ review: "value",
20414
+ fields: "value",
20415
+ draft: "boolean"
20416
+ },
20417
+ positionals: "variadic",
20418
+ repository: false
20419
+ },
20420
+ {
20421
+ command: "search repos",
20422
+ effect: "read",
20423
+ flags: {
20424
+ help: "boolean",
20425
+ owner: "value",
20426
+ language: "value",
20427
+ stars: "value",
20428
+ sort: "value",
20429
+ limit: "value"
20430
+ },
20431
+ positionals: "variadic",
20432
+ repository: false
20433
+ },
20434
+ {
20435
+ command: "search commits",
20436
+ effect: "read",
20437
+ flags: {
20438
+ help: "boolean",
20439
+ repo: "value",
20440
+ owner: "value",
20441
+ author: "value",
20442
+ sort: "value",
20443
+ limit: "value"
20444
+ },
20445
+ positionals: "variadic",
20446
+ repository: false
20447
+ },
20448
+ {
20449
+ command: "search code",
20450
+ effect: "read",
20451
+ flags: {
20452
+ help: "boolean",
20453
+ repo: "value",
20454
+ owner: "value",
20455
+ language: "value",
20456
+ limit: "value"
20457
+ },
20458
+ positionals: "variadic",
20459
+ repository: false
20460
+ },
20461
+ {
20462
+ command: "api",
20463
+ effect: "read",
20464
+ flags: {
20465
+ help: "boolean",
20466
+ jq: "value",
20467
+ template: "value",
20468
+ paginate: "boolean",
20469
+ full: "boolean"
20470
+ },
20471
+ positionals: 2,
20472
+ repository: false
20473
+ },
20474
+ {
20475
+ command: "issue create",
20476
+ effect: "write",
20477
+ flags: {
20478
+ help: "boolean",
20479
+ repo: "value",
20480
+ title: "value",
20481
+ body: "value",
20482
+ assignee: "value",
20483
+ label: "value",
20484
+ milestone: "value",
20485
+ project: "value",
20486
+ type: "value",
20487
+ confirm: "value"
20488
+ },
20489
+ positionals: 0,
20490
+ repository: true,
20491
+ tier: "collaboration"
20492
+ },
20493
+ {
20494
+ command: "issue edit",
20495
+ effect: "write",
20496
+ flags: {
20497
+ help: "boolean",
20498
+ repo: "value",
20499
+ title: "value",
20500
+ body: "value",
20501
+ "add-label": "value",
20502
+ "remove-label": "value",
20503
+ "add-assignee": "value",
20504
+ "remove-assignee": "value",
20505
+ milestone: "value",
20506
+ type: "value",
20507
+ "no-type": "boolean",
20508
+ confirm: "value"
20509
+ },
20510
+ positionals: 1,
20511
+ repository: true,
20512
+ tier: "collaboration"
20513
+ },
20514
+ {
20515
+ command: "issue comment",
20516
+ effect: "write",
20517
+ flags: {
20518
+ help: "boolean",
20519
+ repo: "value",
20520
+ body: "value",
20521
+ confirm: "value"
20522
+ },
20523
+ positionals: 1,
20524
+ repository: true,
20525
+ tier: "collaboration"
20526
+ },
20527
+ {
20528
+ command: "issue close",
20529
+ effect: "write",
20530
+ flags: {
20531
+ help: "boolean",
20532
+ repo: "value",
20533
+ reason: "value",
20534
+ "duplicate-of": "value",
20535
+ comment: "value",
20536
+ confirm: "value"
20537
+ },
20538
+ positionals: 1,
20539
+ repository: true,
20540
+ tier: "collaboration"
20541
+ },
20542
+ {
20543
+ command: "issue reopen",
20544
+ effect: "write",
20545
+ flags: {
20546
+ help: "boolean",
20547
+ repo: "value",
20548
+ confirm: "value"
20549
+ },
20550
+ positionals: 1,
20551
+ repository: true,
20552
+ tier: "collaboration"
20553
+ },
20554
+ {
20555
+ command: "pr create",
20556
+ effect: "write",
20557
+ flags: {
20558
+ help: "boolean",
20559
+ repo: "value",
20560
+ title: "value",
20561
+ body: "value",
20562
+ base: "value",
20563
+ head: "value",
20564
+ assignee: "value",
20565
+ reviewer: "value",
20566
+ label: "value",
20567
+ milestone: "value",
20568
+ project: "value",
20569
+ draft: "boolean",
20570
+ confirm: "value"
20571
+ },
20572
+ positionals: 0,
20573
+ repository: true,
20574
+ tier: "collaboration"
20575
+ },
20576
+ {
20577
+ command: "pr edit",
20578
+ effect: "write",
20579
+ flags: {
20580
+ help: "boolean",
20581
+ repo: "value",
20582
+ title: "value",
20583
+ body: "value",
20584
+ "add-label": "value",
20585
+ "remove-label": "value",
20586
+ "add-assignee": "value",
20587
+ "remove-assignee": "value",
20588
+ "add-reviewer": "value",
20589
+ "remove-reviewer": "value",
20590
+ milestone: "value",
20591
+ base: "value",
20592
+ confirm: "value"
20593
+ },
20594
+ positionals: 1,
20595
+ repository: true,
20596
+ tier: "collaboration"
20597
+ },
20598
+ {
20599
+ command: "pr comment",
20600
+ effect: "write",
20601
+ flags: {
20602
+ help: "boolean",
20603
+ repo: "value",
20604
+ body: "value",
20605
+ confirm: "value"
20606
+ },
20607
+ positionals: 1,
20608
+ repository: true,
20609
+ tier: "collaboration"
20610
+ },
20611
+ {
20612
+ command: "pr ready",
20613
+ effect: "write",
20614
+ flags: {
20615
+ help: "boolean",
20616
+ repo: "value",
20617
+ undo: "boolean",
20618
+ confirm: "value"
20619
+ },
20620
+ positionals: 1,
20621
+ repository: true,
20622
+ tier: "collaboration"
20623
+ },
20624
+ {
20625
+ command: "pr review",
20626
+ effect: "write",
20627
+ flags: {
20628
+ help: "boolean",
20629
+ repo: "value",
20630
+ body: "value",
20631
+ "match-head-commit": "value",
20632
+ approve: "boolean",
20633
+ "request-changes": "boolean",
20634
+ comment: "boolean",
20635
+ confirm: "value"
20636
+ },
20637
+ positionals: 1,
20638
+ repository: true,
20639
+ tier: "collaboration"
20640
+ },
20641
+ {
20642
+ command: "discussion comment",
20643
+ effect: "write",
20644
+ flags: {
20645
+ help: "boolean",
20646
+ repo: "value",
20647
+ body: "value",
20648
+ confirm: "value"
20649
+ },
20650
+ positionals: 1,
20651
+ repository: true,
20652
+ tier: "collaboration"
20653
+ },
20654
+ {
20655
+ command: "label create",
20656
+ effect: "write",
20657
+ flags: {
20658
+ help: "boolean",
20659
+ repo: "value",
20660
+ name: "value",
20661
+ color: "value",
20662
+ description: "value",
20663
+ confirm: "value"
20664
+ },
20665
+ positionals: 0,
20666
+ repository: true,
20667
+ tier: "collaboration"
20668
+ },
20669
+ {
20670
+ command: "label edit",
20671
+ effect: "write",
20672
+ flags: {
20673
+ help: "boolean",
20674
+ repo: "value",
20675
+ name: "value",
20676
+ color: "value",
20677
+ description: "value",
20678
+ confirm: "value"
20679
+ },
20680
+ positionals: 1,
20681
+ repository: true,
20682
+ tier: "collaboration"
20683
+ },
20684
+ {
20685
+ command: "project item-add",
20686
+ effect: "write",
20687
+ flags: {
20688
+ help: "boolean",
20689
+ owner: "value",
20690
+ url: "value",
20691
+ confirm: "value"
20692
+ },
20693
+ positionals: 1,
20694
+ repository: false,
20695
+ tier: "collaboration"
20696
+ },
20697
+ {
20698
+ command: "project item-create",
20699
+ effect: "write",
20700
+ flags: {
20701
+ help: "boolean",
20702
+ owner: "value",
20703
+ title: "value",
20704
+ body: "value",
20705
+ confirm: "value"
20706
+ },
20707
+ positionals: 1,
20708
+ repository: false,
20709
+ tier: "collaboration"
20710
+ },
20711
+ {
20712
+ command: "project item-edit",
20713
+ effect: "write",
20714
+ flags: {
20715
+ help: "boolean",
20716
+ owner: "value",
20717
+ id: "value",
20718
+ "project-id": "value",
20719
+ "field-id": "value",
20720
+ text: "value",
20721
+ number: "value",
20722
+ date: "value",
20723
+ "single-select-option-id": "value",
20724
+ "iteration-id": "value",
20725
+ title: "value",
20726
+ body: "value",
20727
+ clear: "boolean",
20728
+ confirm: "value"
20729
+ },
20730
+ positionals: 0,
20731
+ repository: false,
20732
+ tier: "collaboration"
20733
+ },
20734
+ {
20735
+ command: "project item-archive",
20736
+ effect: "write",
20737
+ flags: {
20738
+ help: "boolean",
20739
+ owner: "value",
20740
+ id: "value",
20741
+ undo: "boolean",
20742
+ confirm: "value"
20743
+ },
20744
+ positionals: 1,
20745
+ repository: false,
20746
+ tier: "collaboration"
20747
+ },
20748
+ {
20749
+ command: "pr merge",
20750
+ effect: "write",
20751
+ flags: {
20752
+ help: "boolean",
20753
+ repo: "value",
20754
+ method: "value",
20755
+ body: "value",
20756
+ subject: "value",
20757
+ "match-head-commit": "value",
20758
+ auto: "boolean",
20759
+ confirm: "value"
20760
+ },
20761
+ positionals: 1,
20762
+ repository: true,
20763
+ tier: "repository"
20764
+ },
20765
+ {
20766
+ command: "pr update-branch",
20767
+ effect: "write",
20768
+ flags: {
20769
+ help: "boolean",
20770
+ repo: "value",
20771
+ confirm: "value"
20772
+ },
20773
+ positionals: 1,
20774
+ repository: true,
20775
+ tier: "repository"
20776
+ },
20777
+ {
20778
+ command: "pr revert",
20779
+ effect: "write",
20780
+ flags: {
20781
+ help: "boolean",
20782
+ repo: "value",
20783
+ confirm: "value"
20784
+ },
20785
+ positionals: 1,
20786
+ repository: true,
20787
+ tier: "repository"
20788
+ },
20789
+ {
20790
+ command: "release create",
20791
+ effect: "write",
20792
+ flags: {
20793
+ help: "boolean",
20794
+ repo: "value",
20795
+ title: "value",
20796
+ notes: "value",
20797
+ target: "value",
20798
+ "discussion-category": "value",
20799
+ "notes-start-tag": "value",
20800
+ draft: "boolean",
20801
+ prerelease: "boolean",
20802
+ "generate-notes": "boolean",
20803
+ "verify-tag": "boolean",
20804
+ "notes-from-tag": "boolean",
20805
+ "fail-on-no-commits": "boolean",
20806
+ latest: "boolean-value",
20807
+ confirm: "value"
20808
+ },
20809
+ positionals: 1,
20810
+ repository: true,
20811
+ tier: "repository"
20812
+ },
20813
+ {
20814
+ command: "release edit",
20815
+ effect: "write",
20816
+ flags: {
20817
+ help: "boolean",
20818
+ repo: "value",
20819
+ title: "value",
20820
+ notes: "value",
20821
+ draft: "boolean-value",
20822
+ prerelease: "boolean-value",
20823
+ latest: "boolean-value",
20824
+ confirm: "value"
20825
+ },
20826
+ positionals: 1,
20827
+ repository: true,
20828
+ tier: "repository"
20829
+ },
20830
+ {
20831
+ command: "workflow run",
20832
+ effect: "write",
20833
+ flags: {
20834
+ help: "boolean",
20835
+ repo: "value",
20836
+ ref: "value",
20837
+ field: "value",
20838
+ confirm: "value"
20839
+ },
20840
+ positionals: 1,
20841
+ repository: true,
20842
+ tier: "repository"
20843
+ },
20844
+ {
20845
+ command: "workflow enable",
20846
+ effect: "write",
20847
+ flags: {
20848
+ help: "boolean",
20849
+ repo: "value",
20850
+ confirm: "value"
20851
+ },
20852
+ positionals: 1,
20853
+ repository: true,
20854
+ tier: "repository"
20855
+ },
20856
+ {
20857
+ command: "workflow disable",
20858
+ effect: "write",
20859
+ flags: {
20860
+ help: "boolean",
20861
+ repo: "value",
20862
+ confirm: "value"
20863
+ },
20864
+ positionals: 1,
20865
+ repository: true,
20866
+ tier: "repository"
20867
+ },
20868
+ {
20869
+ command: "run rerun",
20870
+ effect: "write",
20871
+ flags: {
20872
+ help: "boolean",
20873
+ repo: "value",
20874
+ job: "value",
20875
+ failed: "boolean",
20876
+ debug: "boolean",
20877
+ confirm: "value"
20878
+ },
20879
+ positionals: 1,
20880
+ repository: true,
20881
+ tier: "repository"
20882
+ },
20883
+ {
20884
+ command: "run cancel",
20885
+ effect: "write",
20886
+ flags: {
20887
+ help: "boolean",
20888
+ repo: "value",
20889
+ confirm: "value"
20890
+ },
20891
+ positionals: 1,
20892
+ repository: true,
20893
+ tier: "repository"
20894
+ },
20895
+ {
20896
+ command: "repo create",
20897
+ effect: "write",
20898
+ flags: {
20899
+ help: "boolean",
20900
+ description: "value",
20901
+ template: "value",
20902
+ public: "boolean",
20903
+ private: "boolean",
20904
+ internal: "boolean",
20905
+ confirm: "value"
20906
+ },
20907
+ positionals: 1,
20908
+ repository: false,
20909
+ tier: "repository"
20910
+ },
20911
+ {
20912
+ command: "repo edit",
20913
+ effect: "write",
20914
+ flags: {
20915
+ help: "boolean",
20916
+ repo: "value",
20917
+ description: "value",
20918
+ "default-branch": "value",
20919
+ "enable-issues": "value",
20920
+ "enable-wiki": "value",
20921
+ confirm: "value"
20922
+ },
20923
+ positionals: 0,
20924
+ repository: true,
20925
+ tier: "repository"
20926
+ },
20927
+ {
20928
+ command: "repo fork",
20929
+ effect: "write",
20930
+ flags: {
20931
+ help: "boolean",
20932
+ repo: "value",
20933
+ confirm: "value"
20934
+ },
20935
+ positionals: 0,
20936
+ repository: true,
20937
+ tier: "repository"
20938
+ },
20939
+ {
20940
+ command: "gist create",
20941
+ effect: "write",
20942
+ flags: {
20943
+ help: "boolean",
20944
+ desc: "value",
20945
+ filename: "value",
20946
+ public: "boolean",
20947
+ secret: "boolean",
20948
+ confirm: "value"
20949
+ },
20950
+ positionals: 0,
20951
+ repository: false,
20952
+ tier: "repository"
20953
+ },
20954
+ {
20955
+ command: "gist edit",
20956
+ effect: "write",
20957
+ flags: {
20958
+ help: "boolean",
20959
+ desc: "value",
20960
+ filename: "value",
20961
+ confirm: "value"
20962
+ },
20963
+ positionals: 1,
20964
+ repository: false,
20965
+ tier: "repository"
20966
+ },
20967
+ {
20968
+ command: "gist rename",
20969
+ effect: "write",
20970
+ flags: {
20971
+ help: "boolean",
20972
+ confirm: "value"
20973
+ },
20974
+ positionals: 3,
20975
+ repository: false,
20976
+ tier: "repository"
20977
+ },
20978
+ {
20979
+ command: "variable set",
20980
+ effect: "write",
20981
+ flags: {
20982
+ help: "boolean",
20983
+ repo: "value",
20984
+ body: "value",
20985
+ confirm: "value"
20986
+ },
20987
+ positionals: 1,
20988
+ repository: true,
20989
+ tier: "repository"
20990
+ },
20991
+ {
20992
+ command: "issue pin",
20993
+ effect: "write",
20994
+ flags: {
20995
+ help: "boolean",
20996
+ repo: "value",
20997
+ confirm: "value"
20998
+ },
20999
+ positionals: 1,
21000
+ repository: true,
21001
+ tier: "repository"
21002
+ },
21003
+ {
21004
+ command: "issue transfer",
21005
+ effect: "write",
21006
+ flags: {
21007
+ help: "boolean",
21008
+ repo: "value",
21009
+ "to-repo": "value",
21010
+ confirm: "value"
21011
+ },
21012
+ positionals: 1,
21013
+ repository: true,
21014
+ tier: "repository"
21015
+ }
21016
+ ]
21017
+ };
21018
+
19778
21019
  // src/shared/api.ts
19779
21020
  var inputLimits = {
19780
21021
  requestBytes: 16 * 1024 * 1024,
@@ -19801,8 +21042,14 @@ var transferSelectionSchema = external_exports.discriminatedUnion("operation", [
19801
21042
  external_exports.strictObject({ operation: external_exports.literal("hash-download-bin"), selector: sampleSha256Schema, type: external_exports.literal("bin") }),
19802
21043
  external_exports.strictObject({ operation: external_exports.literal("report-download-bin"), selector: reportIdSchema, type: external_exports.literal("bin") }),
19803
21044
  external_exports.strictObject({ operation: external_exports.literal("report-download-dropped-files"), selector: reportIdSchema, type: external_exports.literal("dropped-files") }),
19804
- external_exports.strictObject({ operation: external_exports.literal("report-download-memory"), selector: reportIdSchema, type: external_exports.literal("memory") })
21045
+ external_exports.strictObject({ operation: external_exports.literal("report-download-memory"), selector: reportIdSchema, type: external_exports.literal("memory") }),
21046
+ external_exports.strictObject({ operation: external_exports.literal("email.download"), selector: transferOwnerIdSchema, type: external_exports.enum(["email", "original"]) }),
21047
+ external_exports.strictObject({ operation: external_exports.literal("attachment.download"), selector: external_exports.string().regex(/^[A-Za-z0-9_-]{1,256}\/[A-Za-z0-9_-]{1,256}$/), type: external_exports.literal("attachment") }),
21048
+ external_exports.strictObject({ operation: external_exports.literal("attachment.download-all"), selector: transferOwnerIdSchema, type: external_exports.literal("zip") })
19805
21049
  ]);
21050
+ function transferTool(operation) {
21051
+ return ["email.download", "attachment.download", "attachment.download-all"].includes(operation) ? "checkpoint-axi" : "hybrid-axi";
21052
+ }
19806
21053
  var transferPrepareSchema = external_exports.strictObject({ selection: transferSelectionSchema, targetDigest: sha256Schema });
19807
21054
  var transferIdSchema = external_exports.uuid();
19808
21055
  var transferScopeSchema = external_exports.strictObject({
@@ -19865,12 +21112,18 @@ var transferRoutes = {
19865
21112
  cancel: { method: "POST", path: "/v1/transfers/hybrid/cancel", input: transferRetrieveSchema },
19866
21113
  status: { method: "POST", path: "/v1/transfers/hybrid/status", input: transferRetrieveSchema, response: transferStatusSchema }
19867
21114
  };
21115
+ function transferRoutesFor(tool) {
21116
+ return Object.fromEntries(Object.entries(transferRoutes).map(([name, route]) => [
21117
+ name,
21118
+ { ...route, path: route.path.replace("/hybrid/", tool === "checkpoint-axi" ? "/checkpoint/" : "/hybrid/") }
21119
+ ]));
21120
+ }
19868
21121
  var transferAuditSchema = external_exports.strictObject({
19869
21122
  transfer_id: transferIdSchema,
19870
21123
  session_family_id: transferOwnerIdSchema,
19871
- transfer_operation: transferSelectionSchema.options[0].shape.operation.or(transferSelectionSchema.options[1].shape.operation).or(transferSelectionSchema.options[2].shape.operation).or(transferSelectionSchema.options[3].shape.operation),
19872
- artifact_type: external_exports.enum(["bin", "dropped-files", "memory"]),
19873
- artifact_selector: sha256Schema.or(reportIdSchema),
21124
+ transfer_operation: external_exports.enum(transferSelectionSchema.options.map((option) => option.shape.operation.value)),
21125
+ artifact_type: external_exports.enum(["bin", "dropped-files", "memory", "email", "original", "attachment", "zip"]),
21126
+ artifact_selector: external_exports.string().min(1).max(513),
19874
21127
  requested_target_digest: sha256Schema,
19875
21128
  archive_bytes: external_exports.number().int().nonnegative().max(transferLimits.artifactBytes).nullable(),
19876
21129
  archive_sha256: sha256Schema.nullable(),
@@ -19928,7 +21181,7 @@ var meResponseSchema = external_exports.strictObject({
19928
21181
  sessionExpiresAt: external_exports.number().int()
19929
21182
  });
19930
21183
  var accountId = external_exports.string().min(1);
19931
- var toolSchema = external_exports.enum(["falcon-axi", "vectra-axi", "az-axi", "mg-axi", "ldap-axi", "ado-axi", "awx-axi", "tenable-axi", "hybrid-axi"]);
21184
+ var toolSchema = external_exports.enum(["falcon-axi", "vectra-axi", "az-axi", "mg-axi", "ldap-axi", "ado-axi", "awx-axi", "tenable-axi", "hybrid-axi", "checkpoint-axi", "gh-axi"]);
19932
21185
  var skillsResponseSchema = external_exports.strictObject({ skills: external_exports.array(external_exports.strictObject({
19933
21186
  name: toolSchema,
19934
21187
  content: external_exports.string().min(1)
@@ -20179,7 +21432,16 @@ var falconRtrSettingsSchema = external_exports.strictObject({
20179
21432
  "users"
20180
21433
  ])).optional()
20181
21434
  });
21435
+ var ghWriteOperations = gh_axi_default.commands.filter((route) => route.effect === "write").map((route) => route.command);
20182
21436
  var nativeSettingsSchemas = {
21437
+ "gh-axi": external_exports.strictObject({ writes: external_exports.strictObject({
21438
+ allowWrites: external_exports.boolean(),
21439
+ operations: external_exports.array(external_exports.enum(ghWriteOperations)).min(1).max(ghWriteOperations.length)
21440
+ }).optional() }),
21441
+ "checkpoint-axi": external_exports.strictObject({ writes: external_exports.strictObject({
21442
+ allowWrites: external_exports.boolean(),
21443
+ operations: external_exports.array(external_exports.string().regex(/^[a-z][A-Za-z0-9_.-]{0,255}$/)).min(1).max(126)
21444
+ }).optional() }),
20183
21445
  "hybrid-axi": external_exports.strictObject({ writes: external_exports.strictObject({
20184
21446
  allowWrites: external_exports.boolean(),
20185
21447
  operations: external_exports.array(external_exports.string())
@@ -20192,7 +21454,7 @@ var nativeSettingsSchemas = {
20192
21454
  "ldap-axi": external_exports.strictObject({}),
20193
21455
  "ado-axi": external_exports.strictObject({ allowWrites: external_exports.boolean().optional() }),
20194
21456
  "mg-axi": external_exports.strictObject({
20195
- enabledPacks: external_exports.array(external_exports.enum(["entra", "security"])).min(1).max(2).refine((packs) => packs.includes("entra") && new Set(packs).size === packs.length).optional(),
21457
+ enabledPacks: external_exports.array(external_exports.enum(["entra", "security", "mail"])).min(1).max(3).refine((packs) => packs.includes("entra") && new Set(packs).size === packs.length).optional(),
20196
21458
  preview: external_exports.boolean().optional(),
20197
21459
  writes: external_exports.strictObject({
20198
21460
  allowWrites: external_exports.boolean(),
@@ -20341,6 +21603,40 @@ var adminCertificateRoutes = {
20341
21603
  response: external_exports.strictObject({ removed: external_exports.literal(true) })
20342
21604
  }
20343
21605
  };
21606
+ var githubConnectionInput = external_exports.strictObject({ connectionId: external_exports.uuid() });
21607
+ var githubDeviceRoutes = {
21608
+ start: {
21609
+ method: "POST",
21610
+ path: "/v1/admin/tools/gh-axi/device",
21611
+ input: external_exports.strictObject({
21612
+ origin: external_exports.string(),
21613
+ expectedRevision: external_exports.number().int().nonnegative(),
21614
+ expectedToolRevision: external_exports.number().int().positive()
21615
+ }),
21616
+ response: external_exports.strictObject({
21617
+ connectionId: external_exports.uuid(),
21618
+ userCode: external_exports.string(),
21619
+ verificationUri: external_exports.url(),
21620
+ expiresAt: external_exports.number().int(),
21621
+ interval: external_exports.number().int().positive()
21622
+ })
21623
+ },
21624
+ poll: {
21625
+ method: "POST",
21626
+ path: "/v1/admin/tools/gh-axi/device/poll",
21627
+ input: githubConnectionInput,
21628
+ response: external_exports.union([
21629
+ external_exports.strictObject({ status: external_exports.literal("pending"), interval: external_exports.number().int().positive() }),
21630
+ external_exports.strictObject({ status: external_exports.literal("connected"), credential: adminCredentialSchema })
21631
+ ])
21632
+ },
21633
+ cancel: {
21634
+ method: "POST",
21635
+ path: "/v1/admin/tools/gh-axi/device/cancel",
21636
+ input: githubConnectionInput,
21637
+ response: external_exports.strictObject({ status: external_exports.literal("cancelled") })
21638
+ }
21639
+ };
20344
21640
  var adminToolRoutes = {
20345
21641
  get: {
20346
21642
  method: "GET",
@@ -20748,7 +22044,7 @@ import { resolve } from "node:path";
20748
22044
  // package.json
20749
22045
  var package_default = {
20750
22046
  name: "artium-axi",
20751
- version: "0.0.20",
22047
+ version: "0.0.22",
20752
22048
  private: true,
20753
22049
  license: "MIT",
20754
22050
  type: "module",
@@ -29750,11 +31046,11 @@ var az_axi_default = {
29750
31046
  var mg_axi_default = {
29751
31047
  generatedBy: "scripts/upstream-inventory.mjs",
29752
31048
  tool: "mg-axi",
29753
- version: "0.1.13",
29754
- integrity: "sha512-V9f/H1xISbn1ar3ARVnYvtT4NDUDRgvhCkrnQd6lqNdj1MeQjF4JESS6PA6hY3epXKrqE+g/2nCfgJV1JDmDTQ==",
31049
+ version: "0.1.14",
31050
+ integrity: "sha512-XGsOHDrzAF0n8Sx57gREUuH1zysJnAzGmPt/7jm4tTF7uJl1db8oLx/E9NqSiG9mhhJXD5W36e6ucIHJO6x4AQ==",
29755
31051
  parserEvidence: "Installed pinned catalogue exports",
29756
- packageManifestSha256: "2357d6568740146d05a0ad67fb8e0be3c871261726d3cf110fed83e216001dc9",
29757
- skillSha256: "98ff12e741b04592afae76853a00f572940dee6edf0e868d2ccba04a742b24ad",
31052
+ packageManifestSha256: "b000465e5f21bdff8b6afb76e64bf2850debae765f36361977a6e6ac0f45a309",
31053
+ skillSha256: "0954c03b28e235ac9c94e0032db2ee8f869ba11e67f11990eb8ad3c5339abdb5",
29758
31054
  environment: [
29759
31055
  {
29760
31056
  name: "MG_AXI_CONFIG"
@@ -29792,7 +31088,7 @@ var mg_axi_default = {
29792
31088
  environmentSources: [
29793
31089
  {
29794
31090
  path: "dist/profiles.js",
29795
- sha256: "5a683251d3427b1642a3d60b5168ae56656506d12aae614ad4469dde6c6d624e"
31091
+ sha256: "2f681aeb6e28398b3850865ff239490f74569f02a21926af97f7777fa4350b1f"
29796
31092
  },
29797
31093
  {
29798
31094
  path: "dist/mutations.js",
@@ -29832,7 +31128,7 @@ var mg_axi_default = {
29832
31128
  sources: [
29833
31129
  {
29834
31130
  path: "dist/profiles.js",
29835
- sha256: "5a683251d3427b1642a3d60b5168ae56656506d12aae614ad4469dde6c6d624e"
31131
+ sha256: "2f681aeb6e28398b3850865ff239490f74569f02a21926af97f7777fa4350b1f"
29836
31132
  },
29837
31133
  {
29838
31134
  path: "dist/mutations.js",
@@ -29850,7 +31146,16 @@ var mg_axi_default = {
29850
31146
  "doctor",
29851
31147
  "entra",
29852
31148
  "api get",
29853
- "security hunting query"
31149
+ "security hunting query",
31150
+ "mail folder list",
31151
+ "mail folder show",
31152
+ "mail message list",
31153
+ "mail message show",
31154
+ "mail attachment list",
31155
+ "mail settings show",
31156
+ "mail rule list",
31157
+ "mail rule show",
31158
+ "mail category list"
29854
31159
  ],
29855
31160
  example: [
29856
31161
  "entra",
@@ -29912,15 +31217,15 @@ var mg_axi_default = {
29912
31217
  sources: [
29913
31218
  {
29914
31219
  path: "dist/catalogue.js",
29915
- sha256: "b6a764b7e50c3f4c84d40dcef1290a2e6a784fe73809977d6b04c06884b7a516"
31220
+ sha256: "d73aa0bb4411aa3da6f2345af80dbb15faac403d704992ac8c135c9d0e991fe0"
29916
31221
  },
29917
31222
  {
29918
31223
  path: "dist/cli.js",
29919
- sha256: "723f00e5031068211b541ee43447fb559833bea924c91131e0d074349d5b9a4e"
31224
+ sha256: "217e731835772f4f625811cde4733a67b43dee8f2ef5603e9058730998e1a26d"
29920
31225
  },
29921
31226
  {
29922
31227
  path: "dist/profiles.js",
29923
- sha256: "5a683251d3427b1642a3d60b5168ae56656506d12aae614ad4469dde6c6d624e"
31228
+ sha256: "2f681aeb6e28398b3850865ff239490f74569f02a21926af97f7777fa4350b1f"
29924
31229
  },
29925
31230
  {
29926
31231
  path: "dist/msal-app-provider.js",
@@ -29951,8 +31256,29 @@ var mg_axi_default = {
29951
31256
  "doctor",
29952
31257
  "entra",
29953
31258
  "api get",
29954
- "security hunting query"
31259
+ "security hunting query",
31260
+ "mail folder list",
31261
+ "mail folder show",
31262
+ "mail message list",
31263
+ "mail message show",
31264
+ "mail attachment list",
31265
+ "mail settings show",
31266
+ "mail rule list",
31267
+ "mail rule show",
31268
+ "mail category list"
29955
31269
  ],
31270
+ commandPacks: {
31271
+ "security hunting query": "security",
31272
+ "mail folder list": "mail",
31273
+ "mail folder show": "mail",
31274
+ "mail message list": "mail",
31275
+ "mail message show": "mail",
31276
+ "mail attachment list": "mail",
31277
+ "mail settings show": "mail",
31278
+ "mail rule list": "mail",
31279
+ "mail rule show": "mail",
31280
+ "mail category list": "mail"
31281
+ },
29956
31282
  inputs: {
29957
31283
  stdin: "cursor - only",
29958
31284
  files: "security hunting query only: one UTF-8 query.kql upload, at most 64 KiB; fixed runner leaf name",
@@ -29961,7 +31287,9 @@ var mg_axi_default = {
29961
31287
  },
29962
31288
  sensitiveFlags: [
29963
31289
  "cursor",
31290
+ "search",
29964
31291
  "filter",
31292
+ "conversation",
29965
31293
  "odata",
29966
31294
  "conditions",
29967
31295
  "grant-controls",
@@ -29990,11 +31318,11 @@ var mg_axi_default = {
29990
31318
  parserSources: [
29991
31319
  {
29992
31320
  path: "dist/catalogue.js",
29993
- sha256: "b6a764b7e50c3f4c84d40dcef1290a2e6a784fe73809977d6b04c06884b7a516"
31321
+ sha256: "d73aa0bb4411aa3da6f2345af80dbb15faac403d704992ac8c135c9d0e991fe0"
29994
31322
  },
29995
31323
  {
29996
31324
  path: "dist/cli.js",
29997
- sha256: "723f00e5031068211b541ee43447fb559833bea924c91131e0d074349d5b9a4e"
31325
+ sha256: "217e731835772f4f625811cde4733a67b43dee8f2ef5603e9058730998e1a26d"
29998
31326
  }
29999
31327
  ]
30000
31328
  },
@@ -30032,6 +31360,9 @@ var mg_axi_default = {
30032
31360
  {
30033
31361
  name: "assignment-id"
30034
31362
  },
31363
+ {
31364
+ name: "body"
31365
+ },
30035
31366
  {
30036
31367
  name: "certificate-key-env"
30037
31368
  },
@@ -30065,6 +31396,9 @@ var mg_axi_default = {
30065
31396
  {
30066
31397
  name: "confirm"
30067
31398
  },
31399
+ {
31400
+ name: "conversation"
31401
+ },
30068
31402
  {
30069
31403
  name: "cursor"
30070
31404
  },
@@ -30101,6 +31435,9 @@ var mg_axi_default = {
30101
31435
  {
30102
31436
  name: "filter"
30103
31437
  },
31438
+ {
31439
+ name: "folder"
31440
+ },
30104
31441
  {
30105
31442
  name: "full"
30106
31443
  },
@@ -30110,6 +31447,9 @@ var mg_axi_default = {
30110
31447
  {
30111
31448
  name: "group"
30112
31449
  },
31450
+ {
31451
+ name: "headers"
31452
+ },
30113
31453
  {
30114
31454
  name: "help"
30115
31455
  },
@@ -30122,6 +31462,9 @@ var mg_axi_default = {
30122
31462
  {
30123
31463
  name: "limit"
30124
31464
  },
31465
+ {
31466
+ name: "mailbox"
31467
+ },
30125
31468
  {
30126
31469
  name: "member-id"
30127
31470
  },
@@ -30170,6 +31513,9 @@ var mg_axi_default = {
30170
31513
  {
30171
31514
  name: "scopes"
30172
31515
  },
31516
+ {
31517
+ name: "search"
31518
+ },
30173
31519
  {
30174
31520
  name: "select"
30175
31521
  },
@@ -34480,70 +35826,206 @@ var mg_axi_default = {
34480
35826
  fields: "value",
34481
35827
  full: "boolean",
34482
35828
  cursor: "value",
34483
- scopes: "value",
35829
+ scopes: "value",
35830
+ config: "value"
35831
+ },
35832
+ positionalInput: false
35833
+ },
35834
+ {
35835
+ command: "entra lifecycle run task-processing-result show",
35836
+ flags: {
35837
+ help: "boolean",
35838
+ profile: "value",
35839
+ "api-version": "value",
35840
+ workflow: "value",
35841
+ run: "value",
35842
+ id: "value",
35843
+ fields: "value",
35844
+ full: "boolean",
35845
+ scopes: "value",
35846
+ config: "value"
35847
+ },
35848
+ positionalInput: false
35849
+ },
35850
+ {
35851
+ command: "entra lifecycle run task-processing-result count",
35852
+ flags: {
35853
+ help: "boolean",
35854
+ profile: "value",
35855
+ "api-version": "value",
35856
+ workflow: "value",
35857
+ run: "value",
35858
+ scopes: "value",
35859
+ config: "value"
35860
+ },
35861
+ positionalInput: false
35862
+ },
35863
+ {
35864
+ command: "api get",
35865
+ flags: {
35866
+ help: "boolean",
35867
+ profile: "value",
35868
+ "api-version": "value",
35869
+ odata: "value",
35870
+ cursor: "value",
35871
+ scopes: "value",
35872
+ limit: "value",
35873
+ all: "boolean",
35874
+ full: "boolean",
35875
+ config: "value"
35876
+ },
35877
+ positionalInput: {
35878
+ name: "path",
35879
+ description: "Server-relative Graph path, e.g. /users",
35880
+ required: true
35881
+ }
35882
+ },
35883
+ {
35884
+ command: "security hunting query",
35885
+ flags: {
35886
+ help: "boolean",
35887
+ profile: "value",
35888
+ "api-version": "value",
35889
+ file: "value",
35890
+ timespan: "value",
35891
+ limit: "value",
35892
+ full: "boolean",
35893
+ config: "value"
35894
+ },
35895
+ positionalInput: false
35896
+ },
35897
+ {
35898
+ command: "mail attachment list",
35899
+ flags: {
35900
+ help: "boolean",
35901
+ profile: "value",
35902
+ "api-version": "value",
35903
+ mailbox: "value",
35904
+ full: "boolean",
35905
+ fields: "value",
35906
+ limit: "value",
35907
+ cursor: "value",
35908
+ id: "value",
35909
+ config: "value"
35910
+ },
35911
+ positionalInput: false
35912
+ },
35913
+ {
35914
+ command: "mail settings show",
35915
+ flags: {
35916
+ help: "boolean",
35917
+ profile: "value",
35918
+ "api-version": "value",
35919
+ mailbox: "value",
35920
+ full: "boolean",
35921
+ fields: "value",
35922
+ config: "value"
35923
+ },
35924
+ positionalInput: false
35925
+ },
35926
+ {
35927
+ command: "mail rule list",
35928
+ flags: {
35929
+ help: "boolean",
35930
+ profile: "value",
35931
+ "api-version": "value",
35932
+ mailbox: "value",
35933
+ full: "boolean",
35934
+ fields: "value",
35935
+ limit: "value",
35936
+ cursor: "value",
35937
+ config: "value"
35938
+ },
35939
+ positionalInput: false
35940
+ },
35941
+ {
35942
+ command: "mail rule show",
35943
+ flags: {
35944
+ help: "boolean",
35945
+ profile: "value",
35946
+ "api-version": "value",
35947
+ mailbox: "value",
35948
+ full: "boolean",
35949
+ fields: "value",
35950
+ id: "value",
35951
+ config: "value"
35952
+ },
35953
+ positionalInput: false
35954
+ },
35955
+ {
35956
+ command: "mail category list",
35957
+ flags: {
35958
+ help: "boolean",
35959
+ profile: "value",
35960
+ "api-version": "value",
35961
+ mailbox: "value",
35962
+ full: "boolean",
35963
+ fields: "value",
35964
+ limit: "value",
35965
+ cursor: "value",
34484
35966
  config: "value"
34485
35967
  },
34486
35968
  positionalInput: false
34487
35969
  },
34488
35970
  {
34489
- command: "entra lifecycle run task-processing-result show",
35971
+ command: "mail message show",
34490
35972
  flags: {
34491
35973
  help: "boolean",
34492
35974
  profile: "value",
34493
35975
  "api-version": "value",
34494
- workflow: "value",
34495
- run: "value",
35976
+ mailbox: "value",
34496
35977
  id: "value",
34497
- fields: "value",
35978
+ body: "value",
35979
+ headers: "boolean",
34498
35980
  full: "boolean",
34499
- scopes: "value",
34500
35981
  config: "value"
34501
35982
  },
34502
35983
  positionalInput: false
34503
35984
  },
34504
35985
  {
34505
- command: "entra lifecycle run task-processing-result count",
35986
+ command: "mail message list",
34506
35987
  flags: {
34507
35988
  help: "boolean",
34508
35989
  profile: "value",
34509
35990
  "api-version": "value",
34510
- workflow: "value",
34511
- run: "value",
34512
- scopes: "value",
35991
+ mailbox: "value",
35992
+ fields: "value",
35993
+ full: "boolean",
35994
+ folder: "value",
35995
+ search: "value",
35996
+ filter: "value",
35997
+ conversation: "value",
35998
+ limit: "value",
35999
+ cursor: "value",
34513
36000
  config: "value"
34514
36001
  },
34515
36002
  positionalInput: false
34516
36003
  },
34517
36004
  {
34518
- command: "api get",
36005
+ command: "mail folder list",
34519
36006
  flags: {
34520
36007
  help: "boolean",
34521
36008
  profile: "value",
34522
36009
  "api-version": "value",
34523
- odata: "value",
34524
- cursor: "value",
34525
- scopes: "value",
34526
- limit: "value",
34527
- all: "boolean",
36010
+ mailbox: "value",
36011
+ fields: "value",
34528
36012
  full: "boolean",
36013
+ limit: "value",
36014
+ cursor: "value",
34529
36015
  config: "value"
34530
36016
  },
34531
- positionalInput: {
34532
- name: "path",
34533
- description: "Server-relative Graph path, e.g. /users",
34534
- required: true
34535
- }
36017
+ positionalInput: false
34536
36018
  },
34537
36019
  {
34538
- command: "security hunting query",
36020
+ command: "mail folder show",
34539
36021
  flags: {
34540
36022
  help: "boolean",
34541
36023
  profile: "value",
34542
36024
  "api-version": "value",
34543
- file: "value",
34544
- timespan: "value",
34545
- limit: "value",
36025
+ mailbox: "value",
36026
+ fields: "value",
34546
36027
  full: "boolean",
36028
+ id: "value",
34547
36029
  config: "value"
34548
36030
  },
34549
36031
  positionalInput: false
@@ -41530,77 +43012,325 @@ var hybrid_axi_default = {
41530
43012
  config: "Config path; default platform config",
41531
43013
  profile: "Profile name; default profile precedence",
41532
43014
  fields: "Comma-separated response fields; default compact fields",
41533
- full: "All fields and untruncated text; default false",
41534
- limit: "Local row limit; default 100; --full does not change it",
41535
- labs: "Select experimental Labs API; default stable"
43015
+ full: "All fields and untruncated text; default false",
43016
+ limit: "Local row limit; default 100; --full does not change it",
43017
+ labs: "Select experimental Labs API; default stable"
43018
+ }
43019
+ },
43020
+ {
43021
+ command: "auth status",
43022
+ effect: "read",
43023
+ flags: {
43024
+ help: "Show help; default false",
43025
+ config: "Config path; default HYBRID_AXI_CONFIG or platform config",
43026
+ profile: "Profile name; default profile precedence"
43027
+ }
43028
+ },
43029
+ {
43030
+ command: "config path",
43031
+ effect: "blocked",
43032
+ flags: {
43033
+ help: "Show help; default false",
43034
+ config: "Config path; default HYBRID_AXI_CONFIG or platform config",
43035
+ profile: "Profile selector; does not affect paths"
43036
+ }
43037
+ },
43038
+ {
43039
+ command: "doctor",
43040
+ effect: "read",
43041
+ flags: {
43042
+ help: "Show help; default false",
43043
+ config: "Config path; default HYBRID_AXI_CONFIG or platform config",
43044
+ profile: "Profile name; default profile precedence"
43045
+ }
43046
+ },
43047
+ {
43048
+ command: "feed abuse",
43049
+ effect: "read",
43050
+ flags: {
43051
+ help: "Show help; default false",
43052
+ config: "Config path; default platform config",
43053
+ profile: "Profile name; default profile precedence",
43054
+ fields: "Comma-separated response fields; default compact fields",
43055
+ full: "All fields and untruncated text; default false",
43056
+ limit: "Local row limit; default 100; --full does not change it",
43057
+ page: "Upstream page; default 1"
43058
+ }
43059
+ },
43060
+ {
43061
+ command: "feed detonation",
43062
+ effect: "read",
43063
+ flags: {
43064
+ help: "Show help; default false",
43065
+ config: "Config path; default platform config",
43066
+ profile: "Profile name; default profile precedence",
43067
+ fields: "Comma-separated response fields; default compact fields",
43068
+ full: "All fields and untruncated text; default false",
43069
+ limit: "Local row limit; default 100; --full does not change it"
43070
+ }
43071
+ },
43072
+ {
43073
+ command: "feed latest",
43074
+ effect: "read",
43075
+ flags: {
43076
+ help: "Show help; default false",
43077
+ config: "Config path; default platform config",
43078
+ profile: "Profile name; default profile precedence",
43079
+ fields: "Comma-separated response fields; default compact fields",
43080
+ full: "All fields and untruncated text; default false",
43081
+ limit: "Local row limit; default 100; --full does not change it"
43082
+ }
43083
+ },
43084
+ {
43085
+ command: "feed quick-scan",
43086
+ effect: "read",
43087
+ flags: {
43088
+ help: "Show help; default false",
43089
+ config: "Config path; default platform config",
43090
+ profile: "Profile name; default profile precedence",
43091
+ fields: "Comma-separated response fields; default compact fields",
43092
+ full: "All fields and untruncated text; default false",
43093
+ limit: "Local row limit; default 100; --full does not change it"
43094
+ }
43095
+ },
43096
+ {
43097
+ command: "hash file",
43098
+ effect: "blocked",
43099
+ flags: {
43100
+ help: "Show help; default false",
43101
+ config: "Config path; default platform config",
43102
+ profile: "Profile name; default profile precedence",
43103
+ output: "Required new file in an existing directory; never stdout or overwrite",
43104
+ execute: "Execute once after exact confirmation; default preview only",
43105
+ "dry-run": "Preview only; mutually exclusive with --execute",
43106
+ confirm: "Exact confirmation string from the preview, binding profile, ID, type and destination"
43107
+ }
43108
+ },
43109
+ {
43110
+ command: "hash search",
43111
+ effect: "read",
43112
+ flags: {
43113
+ help: "Show help; default false",
43114
+ config: "Config path; default platform config",
43115
+ profile: "Profile name; default profile precedence",
43116
+ fields: "Comma-separated response fields; default compact fields",
43117
+ full: "Include all response fields; default false",
43118
+ hash: "One MD5/SHA1/SHA256/SHA512; exactly one selector required",
43119
+ "hashes-file": "Newline-separated MD5/SHA1/SHA256 file; deprecated bulk route",
43120
+ limit: "Local row limit; default 100; --full does not change it"
43121
+ }
43122
+ },
43123
+ {
43124
+ command: "hash show",
43125
+ effect: "read",
43126
+ flags: {
43127
+ help: "Show help; default false",
43128
+ config: "Config path; default platform config",
43129
+ profile: "Profile name; default profile precedence",
43130
+ fields: "Comma-separated response fields; default compact fields",
43131
+ full: "Include all response fields; default false",
43132
+ labs: "Experimental Labs overview; default false",
43133
+ limit: "Local row limit; default 100; --full does not change it"
43134
+ }
43135
+ },
43136
+ {
43137
+ command: "home",
43138
+ effect: "read",
43139
+ flags: {
43140
+ help: "Show help; default false",
43141
+ config: "Config path; default HYBRID_AXI_CONFIG or platform config",
43142
+ profile: "Profile name; default HYBRID_AXI_PROFILE or profile precedence"
43143
+ }
43144
+ },
43145
+ {
43146
+ command: "hunting matches",
43147
+ effect: "write",
43148
+ flags: {
43149
+ help: "Show help; default false",
43150
+ config: "Config path; default platform config",
43151
+ profile: "Profile name; default profile precedence",
43152
+ fields: "Comma-separated response fields; default compact fields",
43153
+ full: "All response fields and untruncated text; default false",
43154
+ execute: "Execute once; default preview only",
43155
+ "dry-run": "Preview only; mutually exclusive with --execute",
43156
+ confirm: "Exact preview confirmation binding profile, target and payload digest",
43157
+ "intent-id": "Optional unique intent ID; never reuse an unresolved intent",
43158
+ "items-count": "Maximum returned matches; default 100, range 1-1000",
43159
+ "search-after": "Optional RFC3339 date-time; only matches created after this timestamp"
43160
+ }
43161
+ },
43162
+ {
43163
+ command: "hunting yara create",
43164
+ effect: "write",
43165
+ flags: {
43166
+ help: "Show help; default false",
43167
+ config: "Config path; default platform config",
43168
+ profile: "Profile name; default profile precedence",
43169
+ fields: "Comma-separated response fields; default compact fields",
43170
+ full: "All response fields and untruncated text; default false",
43171
+ execute: "Execute once; default preview only",
43172
+ "dry-run": "Preview only; mutually exclusive with --execute",
43173
+ confirm: "Exact preview confirmation binding profile, target and payload digest",
43174
+ "intent-id": "Optional unique intent ID; never reuse an unresolved intent",
43175
+ "body-file": "Required strict JSON body, at most 1 MiB; - reads stdin"
43176
+ }
43177
+ },
43178
+ {
43179
+ command: "hunting yara delete",
43180
+ effect: "write",
43181
+ flags: {
43182
+ help: "Show help; default false",
43183
+ config: "Config path; default platform config",
43184
+ profile: "Profile name; default profile precedence",
43185
+ fields: "Comma-separated response fields; default compact fields",
43186
+ full: "All response fields and untruncated text; default false",
43187
+ execute: "Execute once; default preview only",
43188
+ "dry-run": "Preview only; mutually exclusive with --execute",
43189
+ confirm: "Exact preview confirmation binding profile, target and payload digest",
43190
+ "intent-id": "Optional unique intent ID; never reuse an unresolved intent"
43191
+ }
43192
+ },
43193
+ {
43194
+ command: "hunting yara list",
43195
+ effect: "read",
43196
+ flags: {
43197
+ help: "Show help; default false",
43198
+ config: "Config path; default platform config",
43199
+ profile: "Profile name; default profile precedence",
43200
+ fields: "Comma-separated response fields; default compact fields",
43201
+ full: "All response fields and untruncated text; default false",
43202
+ search: "Optional text filter",
43203
+ "threat-category": "Optional comma-separated categories",
43204
+ status: "Optional active or paused"
43205
+ }
43206
+ },
43207
+ {
43208
+ command: "hunting yara show",
43209
+ effect: "read",
43210
+ flags: {
43211
+ help: "Show help; default false",
43212
+ config: "Config path; default platform config",
43213
+ profile: "Profile name; default profile precedence",
43214
+ fields: "Comma-separated response fields; default compact fields",
43215
+ full: "All response fields and untruncated text; default false"
43216
+ }
43217
+ },
43218
+ {
43219
+ command: "hunting yara update",
43220
+ effect: "write",
43221
+ flags: {
43222
+ help: "Show help; default false",
43223
+ config: "Config path; default platform config",
43224
+ profile: "Profile name; default profile precedence",
43225
+ fields: "Comma-separated response fields; default compact fields",
43226
+ full: "All response fields and untruncated text; default false",
43227
+ execute: "Execute once; default preview only",
43228
+ "dry-run": "Preview only; mutually exclusive with --execute",
43229
+ confirm: "Exact preview confirmation binding profile, target and payload digest",
43230
+ "intent-id": "Optional unique intent ID; never reuse an unresolved intent",
43231
+ "body-file": "Required strict JSON body, at most 1 MiB; - reads stdin"
41536
43232
  }
41537
43233
  },
41538
43234
  {
41539
- command: "auth status",
41540
- effect: "read",
43235
+ command: "profile list",
43236
+ effect: "blocked",
41541
43237
  flags: {
41542
43238
  help: "Show help; default false",
41543
43239
  config: "Config path; default HYBRID_AXI_CONFIG or platform config",
41544
- profile: "Profile name; default profile precedence"
43240
+ profile: "Profile selector; does not filter the list"
41545
43241
  }
41546
43242
  },
41547
43243
  {
41548
- command: "config path",
41549
- effect: "blocked",
43244
+ command: "quick-scan file",
43245
+ effect: "read",
41550
43246
  flags: {
41551
43247
  help: "Show help; default false",
41552
- config: "Config path; default HYBRID_AXI_CONFIG or platform config",
41553
- profile: "Profile selector; does not affect paths"
43248
+ config: "Config path; default platform config",
43249
+ profile: "Profile name; default profile precedence",
43250
+ full: "All response fields; default false",
43251
+ fields: "Comma-separated response fields; default compact fields",
43252
+ comment: "Optional comment; default omitted",
43253
+ "submit-name": "Optional submission name; default omitted",
43254
+ file: "Required regular file, at most 250 MiB",
43255
+ "scan-type": "Required: all, all_lookup, all_scan, lookup_ha, scan_crowdstrike_ml, scan_metadefender"
41554
43256
  }
41555
43257
  },
41556
43258
  {
41557
- command: "doctor",
43259
+ command: "quick-scan scanners",
41558
43260
  effect: "read",
41559
43261
  flags: {
41560
43262
  help: "Show help; default false",
41561
- config: "Config path; default HYBRID_AXI_CONFIG or platform config",
41562
- profile: "Profile name; default profile precedence"
43263
+ config: "Config path; default platform config",
43264
+ profile: "Profile name; default profile precedence",
43265
+ full: "All response fields; default false",
43266
+ fields: "Comma-separated response fields; default compact fields"
41563
43267
  }
41564
43268
  },
41565
43269
  {
41566
- command: "feed abuse",
43270
+ command: "quick-scan show",
41567
43271
  effect: "read",
41568
43272
  flags: {
41569
43273
  help: "Show help; default false",
41570
43274
  config: "Config path; default platform config",
41571
43275
  profile: "Profile name; default profile precedence",
41572
- fields: "Comma-separated response fields; default compact fields",
41573
- full: "All fields and untruncated text; default false",
41574
- limit: "Local row limit; default 100; --full does not change it",
41575
- page: "Upstream page; default 1"
43276
+ full: "All response fields; default false",
43277
+ fields: "Comma-separated response fields; default compact fields"
41576
43278
  }
41577
43279
  },
41578
43280
  {
41579
- command: "feed detonation",
41580
- effect: "read",
43281
+ command: "quick-scan submit",
43282
+ effect: "write",
41581
43283
  flags: {
41582
43284
  help: "Show help; default false",
41583
43285
  config: "Config path; default platform config",
41584
43286
  profile: "Profile name; default profile precedence",
41585
- fields: "Comma-separated response fields; default compact fields",
41586
- full: "All fields and untruncated text; default false",
41587
- limit: "Local row limit; default 100; --full does not change it"
43287
+ execute: "Send once; default preview only",
43288
+ "dry-run": "Preview only; incompatible with --execute",
43289
+ confirm: "Exact confirmation from the preview; required with --execute",
43290
+ "intent-id": "Optional durable intent identifier; an already reserved intent is never replayed",
43291
+ "environment-id": "Required documented environment: 100, 110, 120, 140, 160, 200, 330, 430",
43292
+ "action-script": "Optional: default, default_maxantievasion, default_randomfiles, default_randomtheme, default_openie; default omitted",
43293
+ "experimental-anti-evasion": "Optional experimental_anti_evasion; default omitted; explicit true or false",
43294
+ "script-logging": "Optional script_logging; default omitted; explicit true or false",
43295
+ "input-sample-tampering": "Optional input_sample_tampering; default omitted; explicit true or false",
43296
+ "network-settings": "Optional: default, tor, simulated; default omitted",
43297
+ email: "Optional email; default omitted",
43298
+ comment: "Optional comment; default omitted",
43299
+ "custom-date-time": "Optional YYYY-MM-DD HH:mm; default omitted",
43300
+ "custom-cmd-line": "Optional custom_cmd_line; default omitted",
43301
+ "custom-run-time": "Optional positive integer seconds; default omitted",
43302
+ "submit-name": "Optional submit_name; default omitted",
43303
+ priority: "Optional integer 1-10; default omitted (upstream 5)",
43304
+ "document-password": "Optional document_password; default omitted",
43305
+ "environment-variable": "Optional environment_variable; default omitted"
41588
43306
  }
41589
43307
  },
41590
43308
  {
41591
- command: "feed latest",
43309
+ command: "quick-scan url",
41592
43310
  effect: "read",
41593
43311
  flags: {
41594
43312
  help: "Show help; default false",
41595
43313
  config: "Config path; default platform config",
41596
43314
  profile: "Profile name; default profile precedence",
43315
+ full: "All response fields; default false",
41597
43316
  fields: "Comma-separated response fields; default compact fields",
41598
- full: "All fields and untruncated text; default false",
41599
- limit: "Local row limit; default 100; --full does not change it"
43317
+ comment: "Optional comment; default omitted",
43318
+ "submit-name": "Optional submission name; default omitted",
43319
+ url: "Required exact HTTP(S) URL without embedded credentials",
43320
+ "scan-type": "Required: all, all_lookup, all_scan, lookup_ha, scan_crowdstrike_ml, scan_metadefender, lookup_cleandns, lookup_bforeai, scan_urlscanio, scan_scamadviser, scan_criminalip, scan_vipre"
41600
43321
  }
41601
43322
  },
41602
43323
  {
41603
- command: "feed quick-scan",
43324
+ command: "quota",
43325
+ effect: "read",
43326
+ flags: {
43327
+ help: "Show help; default false",
43328
+ config: "Config path; default HYBRID_AXI_CONFIG or platform config",
43329
+ profile: "Profile name; default profile precedence"
43330
+ }
43331
+ },
43332
+ {
43333
+ command: "report children",
41604
43334
  effect: "read",
41605
43335
  flags: {
41606
43336
  help: "Show help; default false",
@@ -41612,12 +43342,13 @@ var hybrid_axi_default = {
41612
43342
  }
41613
43343
  },
41614
43344
  {
41615
- command: "hash file",
43345
+ command: "report file",
41616
43346
  effect: "blocked",
41617
43347
  flags: {
41618
43348
  help: "Show help; default false",
41619
43349
  config: "Config path; default platform config",
41620
43350
  profile: "Profile name; default profile precedence",
43351
+ type: "Required single type: crt, pcap, json, memory-strings, xml, html, pdf, maec, stix, misp, misp-json, openioc, bin, dropped-files, memory",
41621
43352
  output: "Required new file in an existing directory; never stdout or overwrite",
41622
43353
  execute: "Execute once after exact confirmation; default preview only",
41623
43354
  "dry-run": "Preview only; mutually exclusive with --execute",
@@ -41625,178 +43356,200 @@ var hybrid_axi_default = {
41625
43356
  }
41626
43357
  },
41627
43358
  {
41628
- command: "hash search",
43359
+ command: "report memory hex",
41629
43360
  effect: "read",
41630
43361
  flags: {
41631
43362
  help: "Show help; default false",
41632
43363
  config: "Config path; default platform config",
41633
43364
  profile: "Profile name; default profile precedence",
41634
43365
  fields: "Comma-separated response fields; default compact fields",
41635
- full: "Include all response fields; default false",
41636
- hash: "One MD5/SHA1/SHA256/SHA512; exactly one selector required",
41637
- "hashes-file": "Newline-separated MD5/SHA1/SHA256 file; deprecated bulk route",
41638
- limit: "Local row limit; default 100; --full does not change it"
43366
+ full: "All fields and untruncated text; default false",
43367
+ limit: "Local row limit; default 100; --full does not change it",
43368
+ filename: "Required exact memory dump filename"
41639
43369
  }
41640
43370
  },
41641
43371
  {
41642
- command: "hash show",
43372
+ command: "report memory list",
41643
43373
  effect: "read",
41644
43374
  flags: {
41645
43375
  help: "Show help; default false",
41646
43376
  config: "Config path; default platform config",
41647
43377
  profile: "Profile name; default profile precedence",
41648
43378
  fields: "Comma-separated response fields; default compact fields",
41649
- full: "Include all response fields; default false",
41650
- labs: "Experimental Labs overview; default false",
43379
+ full: "All fields and untruncated text; default false",
41651
43380
  limit: "Local row limit; default 100; --full does not change it"
41652
43381
  }
41653
43382
  },
41654
43383
  {
41655
- command: "home",
43384
+ command: "report memory strings",
41656
43385
  effect: "read",
41657
43386
  flags: {
41658
43387
  help: "Show help; default false",
41659
- config: "Config path; default HYBRID_AXI_CONFIG or platform config",
41660
- profile: "Profile name; default HYBRID_AXI_PROFILE or profile precedence"
43388
+ config: "Config path; default platform config",
43389
+ profile: "Profile name; default profile precedence",
43390
+ fields: "Comma-separated response fields; default compact fields",
43391
+ full: "All fields and untruncated text; default false",
43392
+ limit: "Local row limit; default 100; --full does not change it",
43393
+ filename: "Required exact memory dump filename"
41661
43394
  }
41662
43395
  },
41663
43396
  {
41664
- command: "hunting matches",
41665
- effect: "write",
43397
+ command: "report screenshots",
43398
+ effect: "read",
41666
43399
  flags: {
41667
43400
  help: "Show help; default false",
41668
43401
  config: "Config path; default platform config",
41669
43402
  profile: "Profile name; default profile precedence",
41670
43403
  fields: "Comma-separated response fields; default compact fields",
41671
- full: "All response fields and untruncated text; default false",
41672
- execute: "Execute once; default preview only",
41673
- "dry-run": "Preview only; mutually exclusive with --execute",
41674
- confirm: "Exact preview confirmation binding profile, target and payload digest",
41675
- "intent-id": "Optional unique intent ID; never reuse an unresolved intent",
41676
- "items-count": "Maximum returned matches; default 100, range 1-1000",
41677
- "search-after": "Optional RFC3339 date-time; only matches created after this timestamp"
43404
+ full: "All fields and untruncated text; default false",
43405
+ limit: "Local row limit; default 100; --full does not change it"
41678
43406
  }
41679
43407
  },
41680
43408
  {
41681
- command: "hunting yara create",
41682
- effect: "write",
43409
+ command: "report show",
43410
+ effect: "read",
41683
43411
  flags: {
41684
43412
  help: "Show help; default false",
41685
43413
  config: "Config path; default platform config",
41686
43414
  profile: "Profile name; default profile precedence",
41687
43415
  fields: "Comma-separated response fields; default compact fields",
41688
- full: "All response fields and untruncated text; default false",
41689
- execute: "Execute once; default preview only",
41690
- "dry-run": "Preview only; mutually exclusive with --execute",
41691
- confirm: "Exact preview confirmation binding profile, target and payload digest",
41692
- "intent-id": "Optional unique intent ID; never reuse an unresolved intent",
41693
- "body-file": "Required strict JSON body, at most 1 MiB; - reads stdin"
43416
+ full: "All fields and untruncated text; default false"
41694
43417
  }
41695
43418
  },
41696
43419
  {
41697
- command: "hunting yara delete",
41698
- effect: "write",
43420
+ command: "report state",
43421
+ effect: "read",
41699
43422
  flags: {
41700
43423
  help: "Show help; default false",
41701
43424
  config: "Config path; default platform config",
41702
43425
  profile: "Profile name; default profile precedence",
41703
43426
  fields: "Comma-separated response fields; default compact fields",
41704
- full: "All response fields and untruncated text; default false",
41705
- execute: "Execute once; default preview only",
41706
- "dry-run": "Preview only; mutually exclusive with --execute",
41707
- confirm: "Exact preview confirmation binding profile, target and payload digest",
41708
- "intent-id": "Optional unique intent ID; never reuse an unresolved intent"
43427
+ full: "All fields and untruncated text; default false"
41709
43428
  }
41710
43429
  },
41711
43430
  {
41712
- command: "hunting yara list",
43431
+ command: "search results",
41713
43432
  effect: "read",
41714
43433
  flags: {
41715
43434
  help: "Show help; default false",
41716
43435
  config: "Config path; default platform config",
41717
43436
  profile: "Profile name; default profile precedence",
41718
43437
  fields: "Comma-separated response fields; default compact fields",
41719
- full: "All response fields and untruncated text; default false",
41720
- search: "Optional text filter",
41721
- "threat-category": "Optional comma-separated categories",
41722
- status: "Optional active or paused"
43438
+ full: "Include all response fields; default false"
41723
43439
  }
41724
43440
  },
41725
43441
  {
41726
- command: "hunting yara show",
43442
+ command: "search run",
41727
43443
  effect: "read",
41728
43444
  flags: {
41729
43445
  help: "Show help; default false",
41730
43446
  config: "Config path; default platform config",
41731
43447
  profile: "Profile name; default profile precedence",
41732
43448
  fields: "Comma-separated response fields; default compact fields",
41733
- full: "All response fields and untruncated text; default false"
43449
+ full: "Include all response fields; default false",
43450
+ query: "Required nonempty query",
43451
+ size: "Results per page or async total; default 50, range 1-200",
43452
+ page: "Synchronous page, ignored asynchronously; default 1, minimum 1",
43453
+ "date-from": "Inclusive YYYY-MM-DD; default omitted",
43454
+ "date-to": "Inclusive YYYY-MM-DD; default omitted"
41734
43455
  }
41735
43456
  },
41736
43457
  {
41737
- command: "hunting yara update",
41738
- effect: "write",
43458
+ command: "search terms",
43459
+ effect: "read",
41739
43460
  flags: {
41740
43461
  help: "Show help; default false",
41741
43462
  config: "Config path; default platform config",
41742
43463
  profile: "Profile name; default profile precedence",
41743
43464
  fields: "Comma-separated response fields; default compact fields",
41744
- full: "All response fields and untruncated text; default false",
41745
- execute: "Execute once; default preview only",
41746
- "dry-run": "Preview only; mutually exclusive with --execute",
41747
- confirm: "Exact preview confirmation binding profile, target and payload digest",
41748
- "intent-id": "Optional unique intent ID; never reuse an unresolved intent",
41749
- "body-file": "Required strict JSON body, at most 1 MiB; - reads stdin"
43465
+ full: "Include all response fields; default false",
43466
+ filename: "Optional nonempty filter; default omitted",
43467
+ filetype: "Optional nonempty filter; default omitted",
43468
+ "filetype-desc": "Optional nonempty filter; default omitted",
43469
+ "env-id": "Optional nonempty filter; default omitted",
43470
+ country: "Optional nonempty filter; default omitted",
43471
+ verdict: "Optional nonempty filter; default omitted",
43472
+ "av-detect": "Optional nonempty filter; default omitted",
43473
+ "vx-family": "Optional nonempty filter; default omitted",
43474
+ tag: "Optional nonempty filter; default omitted",
43475
+ "date-from": "Optional nonempty filter; default omitted",
43476
+ "date-to": "Optional nonempty filter; default omitted",
43477
+ port: "Optional nonempty filter; default omitted",
43478
+ host: "Optional nonempty filter; default omitted",
43479
+ domain: "Optional nonempty filter; default omitted",
43480
+ url: "Optional nonempty filter; default omitted",
43481
+ "similar-to": "Optional nonempty filter; default omitted",
43482
+ context: "Optional nonempty filter; default omitted",
43483
+ "imp-hash": "Optional nonempty filter; default omitted",
43484
+ ssdeep: "Optional nonempty filter; default omitted",
43485
+ authentihash: "Optional nonempty filter; default omitted",
43486
+ "uses-tactic": "Optional nonempty filter; default omitted",
43487
+ "uses-technique": "Optional nonempty filter; default omitted"
41750
43488
  }
41751
43489
  },
41752
43490
  {
41753
- command: "profile list",
43491
+ command: "setup",
41754
43492
  effect: "blocked",
41755
43493
  flags: {
41756
43494
  help: "Show help; default false",
41757
43495
  config: "Config path; default HYBRID_AXI_CONFIG or platform config",
41758
- profile: "Profile selector; does not filter the list"
43496
+ profile: "Profile selector; template uses example"
41759
43497
  }
41760
43498
  },
41761
43499
  {
41762
- command: "quick-scan file",
41763
- effect: "read",
43500
+ command: "setup hooks",
43501
+ effect: "blocked",
41764
43502
  flags: {
41765
- help: "Show help; default false",
41766
- config: "Config path; default platform config",
41767
- profile: "Profile name; default profile precedence",
41768
- full: "All response fields; default false",
41769
- fields: "Comma-separated response fields; default compact fields",
41770
- comment: "Optional comment; default omitted",
41771
- "submit-name": "Optional submission name; default omitted",
41772
- file: "Required regular file, at most 250 MiB",
41773
- "scan-type": "Required: all, all_lookup, all_scan, lookup_ha, scan_crowdstrike_ml, scan_metadefender"
43503
+ help: "Show help without installing",
43504
+ scope: "user (default) or project; Codex hooks feature is always enabled in user config"
41774
43505
  }
41775
43506
  },
41776
43507
  {
41777
- command: "quick-scan scanners",
41778
- effect: "read",
43508
+ command: "submit dropped-file",
43509
+ effect: "write",
41779
43510
  flags: {
41780
43511
  help: "Show help; default false",
41781
43512
  config: "Config path; default platform config",
41782
43513
  profile: "Profile name; default profile precedence",
41783
- full: "All response fields; default false",
41784
- fields: "Comma-separated response fields; default compact fields"
43514
+ execute: "Send once; default preview only",
43515
+ "dry-run": "Preview only; incompatible with --execute",
43516
+ confirm: "Exact confirmation from the preview; required with --execute",
43517
+ "intent-id": "Optional durable intent identifier; an already reserved intent is never replayed",
43518
+ id: "Required source job ID or sha256:environmentId",
43519
+ "file-hash": "Required dropped-file SHA256"
41785
43520
  }
41786
43521
  },
41787
43522
  {
41788
- command: "quick-scan show",
41789
- effect: "read",
43523
+ command: "submit file",
43524
+ effect: "write",
41790
43525
  flags: {
41791
43526
  help: "Show help; default false",
41792
43527
  config: "Config path; default platform config",
41793
43528
  profile: "Profile name; default profile precedence",
41794
- full: "All response fields; default false",
41795
- fields: "Comma-separated response fields; default compact fields"
43529
+ execute: "Send once; default preview only",
43530
+ "dry-run": "Preview only; incompatible with --execute",
43531
+ confirm: "Exact confirmation from the preview; required with --execute",
43532
+ "intent-id": "Optional durable intent identifier; an already reserved intent is never replayed",
43533
+ "environment-id": "Required documented environment: 100, 110, 120, 140, 160, 200, 330, 430",
43534
+ "action-script": "Optional: default, default_maxantievasion, default_randomfiles, default_randomtheme, default_openie; default omitted",
43535
+ "experimental-anti-evasion": "Optional experimental_anti_evasion; default omitted; explicit true or false",
43536
+ "script-logging": "Optional script_logging; default omitted; explicit true or false",
43537
+ "input-sample-tampering": "Optional input_sample_tampering; default omitted; explicit true or false",
43538
+ "network-settings": "Optional: default, tor, simulated; default omitted",
43539
+ email: "Optional email; default omitted",
43540
+ comment: "Optional comment; default omitted",
43541
+ "custom-date-time": "Optional YYYY-MM-DD HH:mm; default omitted",
43542
+ "custom-cmd-line": "Optional custom_cmd_line; default omitted",
43543
+ "custom-run-time": "Optional positive integer seconds; default omitted",
43544
+ "submit-name": "Optional submit_name; default omitted",
43545
+ priority: "Optional integer 1-10; default omitted (upstream 5)",
43546
+ "document-password": "Optional document_password; default omitted",
43547
+ "environment-variable": "Optional environment_variable; default omitted",
43548
+ file: "Required regular file, at most 250 MiB; confirmation binds its SHA256 and size"
41796
43549
  }
41797
43550
  },
41798
43551
  {
41799
- command: "quick-scan submit",
43552
+ command: "submit url",
41800
43553
  effect: "write",
41801
43554
  flags: {
41802
43555
  help: "Show help; default false",
@@ -41820,35 +43573,35 @@ var hybrid_axi_default = {
41820
43573
  "submit-name": "Optional submit_name; default omitted",
41821
43574
  priority: "Optional integer 1-10; default omitted (upstream 5)",
41822
43575
  "document-password": "Optional document_password; default omitted",
41823
- "environment-variable": "Optional environment_variable; default omitted"
43576
+ "environment-variable": "Optional environment_variable; default omitted",
43577
+ url: "Required exact HTTP(S) URL without embedded credentials"
41824
43578
  }
41825
43579
  },
41826
43580
  {
41827
- command: "quick-scan url",
43581
+ command: "system action-scripts",
41828
43582
  effect: "read",
41829
43583
  flags: {
41830
43584
  help: "Show help; default false",
41831
43585
  config: "Config path; default platform config",
41832
43586
  profile: "Profile name; default profile precedence",
41833
- full: "All response fields; default false",
41834
43587
  fields: "Comma-separated response fields; default compact fields",
41835
- comment: "Optional comment; default omitted",
41836
- "submit-name": "Optional submission name; default omitted",
41837
- url: "Required exact HTTP(S) URL without embedded credentials",
41838
- "scan-type": "Required: all, all_lookup, all_scan, lookup_ha, scan_crowdstrike_ml, scan_metadefender, lookup_cleandns, lookup_bforeai, scan_urlscanio, scan_scamadviser, scan_criminalip, scan_vipre"
43588
+ full: "All fields and untruncated text; default false",
43589
+ limit: "Local row limit; default 100; --full does not change it"
41839
43590
  }
41840
43591
  },
41841
43592
  {
41842
- command: "quota",
43593
+ command: "system configuration",
41843
43594
  effect: "read",
41844
43595
  flags: {
41845
43596
  help: "Show help; default false",
41846
- config: "Config path; default HYBRID_AXI_CONFIG or platform config",
41847
- profile: "Profile name; default profile precedence"
43597
+ config: "Config path; default platform config",
43598
+ profile: "Profile name; default profile precedence",
43599
+ fields: "Comma-separated response fields; default compact fields",
43600
+ full: "All fields and untruncated text; default false"
41848
43601
  }
41849
43602
  },
41850
43603
  {
41851
- command: "report children",
43604
+ command: "system environments",
41852
43605
  effect: "read",
41853
43606
  flags: {
41854
43607
  help: "Show help; default false",
@@ -41860,325 +43613,651 @@ var hybrid_axi_default = {
41860
43613
  }
41861
43614
  },
41862
43615
  {
41863
- command: "report file",
41864
- effect: "blocked",
43616
+ command: "system queue-size",
43617
+ effect: "read",
41865
43618
  flags: {
41866
43619
  help: "Show help; default false",
41867
43620
  config: "Config path; default platform config",
41868
43621
  profile: "Profile name; default profile precedence",
41869
- type: "Required single type: crt, pcap, json, memory-strings, xml, html, pdf, maec, stix, misp, misp-json, openioc, bin, dropped-files, memory",
41870
- output: "Required new file in an existing directory; never stdout or overwrite",
41871
- execute: "Execute once after exact confirmation; default preview only",
41872
- "dry-run": "Preview only; mutually exclusive with --execute",
41873
- confirm: "Exact confirmation string from the preview, binding profile, ID, type and destination"
43622
+ fields: "Comma-separated response fields; default compact fields",
43623
+ full: "All fields and untruncated text; default false"
41874
43624
  }
41875
43625
  },
41876
43626
  {
41877
- command: "report memory hex",
43627
+ command: "system stats",
41878
43628
  effect: "read",
41879
43629
  flags: {
41880
43630
  help: "Show help; default false",
41881
43631
  config: "Config path; default platform config",
41882
43632
  profile: "Profile name; default profile precedence",
41883
43633
  fields: "Comma-separated response fields; default compact fields",
41884
- full: "All fields and untruncated text; default false",
41885
- limit: "Local row limit; default 100; --full does not change it",
41886
- filename: "Required exact memory dump filename"
43634
+ full: "All fields and untruncated text; default false"
43635
+ }
43636
+ },
43637
+ {
43638
+ command: "system total-submissions",
43639
+ effect: "read",
43640
+ flags: {
43641
+ help: "Show help; default false",
43642
+ config: "Config path; default platform config",
43643
+ profile: "Profile name; default profile precedence",
43644
+ fields: "Comma-separated response fields; default compact fields",
43645
+ full: "All fields and untruncated text; default false"
43646
+ }
43647
+ },
43648
+ {
43649
+ command: "system version",
43650
+ effect: "read",
43651
+ flags: {
43652
+ help: "Show help; default false",
43653
+ config: "Config path; default platform config",
43654
+ profile: "Profile name; default profile precedence",
43655
+ fields: "Comma-separated response fields; default compact fields",
43656
+ full: "All fields and untruncated text; default false"
43657
+ }
43658
+ }
43659
+ ]
43660
+ };
43661
+
43662
+ // tools/inventories/checkpoint-axi.json
43663
+ var checkpoint_axi_default = {
43664
+ generatedBy: "scripts/checkpoint-inventory.mjs",
43665
+ tool: "checkpoint-axi",
43666
+ version: "0.1.0",
43667
+ integrity: "sha512-fbwTL0lbbJwCDjR8bt431kWHSCEuBmAEzk/QNJzsVcAbve2x8Ehtz/mr/aPzJ6I/WMRQiRPFpCE2zsW/2CRHlQ==",
43668
+ parserEvidence: "Published catalogue, fixed regional map and reviewed native parsers, write coordinator and download contracts",
43669
+ sources: [
43670
+ {
43671
+ path: "dist/src/catalogue.js",
43672
+ sha256: "59b9568b614a101e2746a8275768c238ba8eb7166185119875a40f7eac191f7a"
43673
+ },
43674
+ {
43675
+ path: "dist/src/cli.js",
43676
+ sha256: "11a2e7f6c8ba3fc5507aa8ca33d480337a5a64bf79c241f4ed478f512ac8fa92"
43677
+ },
43678
+ {
43679
+ path: "dist/src/doctor.js",
43680
+ sha256: "7f25c415bc59b12e6d0a6155d701c3646bd3370e0b2024a29efdbaf5e4c0ffed"
43681
+ },
43682
+ {
43683
+ path: "dist/src/downloads.js",
43684
+ sha256: "206f08ec7d978e41fe1c9c4ba744f1cf4c3f47ee909a1f761645a802371c8d6e"
43685
+ },
43686
+ {
43687
+ path: "dist/src/exceptions.js",
43688
+ sha256: "8264427dd5871a447e3e8759341251779454490a387cdca801a0e68b81265327"
43689
+ },
43690
+ {
43691
+ path: "dist/src/local-commands.js",
43692
+ sha256: "ed9c39e204d42f45ae3c5b8008bf1c719d88f8e7214168f68de4d15921e35299"
43693
+ },
43694
+ {
43695
+ path: "dist/src/private-file.js",
43696
+ sha256: "574a40223d0bba130f903eb89e2cfd2d96bf01a4df237738af993272ebee0332"
43697
+ },
43698
+ {
43699
+ path: "dist/src/profiles.js",
43700
+ sha256: "db013b041bb6302993d7045fe3bd411bbd1a3593b5b2a84a3d8411645f55d3e6"
43701
+ },
43702
+ {
43703
+ path: "dist/src/reads.js",
43704
+ sha256: "02a5478edb3d44ab51ea300095794abc69d9e4a353060af4faed0d6e4ce592a7"
43705
+ },
43706
+ {
43707
+ path: "dist/src/redact.js",
43708
+ sha256: "9793e98af5c93c09e89748e26675b2d48663904a27e3aa42655954f93025c35a"
43709
+ },
43710
+ {
43711
+ path: "dist/src/regions.js",
43712
+ sha256: "44288abe19a68fa672bc04ad167141717aed5c3a333b2420b14ee68e13abee78"
43713
+ },
43714
+ {
43715
+ path: "dist/src/transport.js",
43716
+ sha256: "7beb28cc283e876db4f6aeaf5c308280e1fce482c20c19dd9924e29985e54e56"
43717
+ },
43718
+ {
43719
+ path: "dist/src/write-exceptions.js",
43720
+ sha256: "34114e0b2a3e04462914118ba6108f6d7eb7bf38a417f1f80ec4126deff786a8"
43721
+ },
43722
+ {
43723
+ path: "dist/src/write-sectools.js",
43724
+ sha256: "c962f2180d34625c9a0be1ad468e17b3e25d93390b0efae3dec02e9ab8f1dd9e"
43725
+ },
43726
+ {
43727
+ path: "dist/src/writes.js",
43728
+ sha256: "4f683a01ab151b4b1e61588b6c3fe86f3d8a34ebdbdb1a257dc42cae21e6f5ed"
43729
+ }
43730
+ ],
43731
+ credentialSchema: {
43732
+ $schema: "https://json-schema.org/draft/2020-12/schema",
43733
+ $id: "https://github.com/knowttl/checkpoint-axi/axi-credential.schema.json",
43734
+ title: "Check Point AXI credential profile",
43735
+ type: "object",
43736
+ additionalProperties: false,
43737
+ required: [
43738
+ "region",
43739
+ "clientId"
43740
+ ],
43741
+ properties: {
43742
+ region: {
43743
+ type: "string",
43744
+ enum: [
43745
+ "us",
43746
+ "eu",
43747
+ "ca",
43748
+ "au",
43749
+ "uk",
43750
+ "uae",
43751
+ "in"
43752
+ ]
43753
+ },
43754
+ clientId: {
43755
+ type: "string",
43756
+ minLength: 1,
43757
+ pattern: "\\S"
43758
+ },
43759
+ clientSecret: {
43760
+ $ref: "#/$defs/secretRef",
43761
+ "x-secret": true,
43762
+ default: {
43763
+ env: "CHECKPOINT_AXI_CLIENT_SECRET"
43764
+ }
43765
+ },
43766
+ saas: {
43767
+ type: "string",
43768
+ minLength: 1,
43769
+ pattern: "\\S",
43770
+ default: "office365_emails"
43771
+ },
43772
+ scope: {
43773
+ type: "string",
43774
+ minLength: 1,
43775
+ pattern: "\\S"
43776
+ },
43777
+ downloads: {
43778
+ type: "object",
43779
+ additionalProperties: false,
43780
+ required: [
43781
+ "allow"
43782
+ ],
43783
+ default: {
43784
+ allow: false
43785
+ },
43786
+ properties: {
43787
+ allow: {
43788
+ type: "boolean"
43789
+ }
43790
+ }
43791
+ },
43792
+ writes: {
43793
+ type: "object",
43794
+ additionalProperties: false,
43795
+ required: [
43796
+ "allowWrites",
43797
+ "operations"
43798
+ ],
43799
+ default: {
43800
+ allowWrites: false,
43801
+ operations: []
43802
+ },
43803
+ properties: {
43804
+ allowWrites: {
43805
+ type: "boolean"
43806
+ },
43807
+ operations: {
43808
+ type: "array",
43809
+ items: {
43810
+ type: "string",
43811
+ pattern: "^[a-z][A-Za-z0-9_.-]*$"
43812
+ }
43813
+ }
43814
+ }
43815
+ }
43816
+ },
43817
+ $defs: {
43818
+ secretRef: {
43819
+ oneOf: [
43820
+ {
43821
+ type: "object",
43822
+ additionalProperties: false,
43823
+ required: [
43824
+ "env"
43825
+ ],
43826
+ properties: {
43827
+ env: {
43828
+ type: "string",
43829
+ pattern: "^[A-Za-z_][A-Za-z0-9_]*$"
43830
+ }
43831
+ }
43832
+ },
43833
+ {
43834
+ type: "object",
43835
+ additionalProperties: false,
43836
+ required: [
43837
+ "file"
43838
+ ],
43839
+ properties: {
43840
+ file: {
43841
+ type: "string",
43842
+ pattern: "^(?:/|[A-Za-z]:[\\\\/])"
43843
+ }
43844
+ }
43845
+ }
43846
+ ]
43847
+ }
43848
+ }
43849
+ },
43850
+ regions: {
43851
+ us: "https://cloudinfra-gw-us.portal.checkpoint.com",
43852
+ eu: "https://cloudinfra-gw.portal.checkpoint.com",
43853
+ ca: "https://cloudinfra-gw.ca.portal.checkpoint.com",
43854
+ au: "https://cloudinfra-gw.ap.portal.checkpoint.com",
43855
+ uk: "https://cloudinfra-gw.uk.portal.checkpoint.com",
43856
+ uae: "https://cloudinfra-gw.me.portal.checkpoint.com",
43857
+ in: "https://cloudinfra-gw.in.portal.checkpoint.com"
43858
+ },
43859
+ skillSha256: "69f0754d565fc1e65163435ef698ea6dca6009470f158171cb3b4258d27c647b",
43860
+ nativeWriteSettings: {
43861
+ supportedOperations: [
43862
+ "attachment.download",
43863
+ "attachment.download-all",
43864
+ "email.download",
43865
+ "email.quarantine",
43866
+ "email.restore",
43867
+ "exception.anomaly.create",
43868
+ "exception.anomaly.remove",
43869
+ "exception.click-time.create",
43870
+ "exception.click-time.remove",
43871
+ "exception.click-time.remove-items",
43872
+ "exception.click-time.update",
43873
+ "exception.dlp.create",
43874
+ "exception.dlp.update",
43875
+ "exception.malware.create",
43876
+ "exception.malware.update",
43877
+ "exception.phishing-allow.create",
43878
+ "exception.phishing-allow.remove",
43879
+ "exception.phishing-allow.update",
43880
+ "exception.phishing-block.create",
43881
+ "exception.phishing-block.remove",
43882
+ "exception.phishing-block.update",
43883
+ "exception.spam-allow.create",
43884
+ "exception.spam-allow.remove",
43885
+ "exception.spam-allow.update",
43886
+ "exception.url.create",
43887
+ "exception.url.update"
43888
+ ],
43889
+ dynamicOperation: "event.action.<exact available action name>"
43890
+ },
43891
+ adapterBoundary: {
43892
+ unsafeOverrides: [
43893
+ "config",
43894
+ "profile",
43895
+ "origin",
43896
+ "out"
43897
+ ],
43898
+ inputFileFlags: [
43899
+ "input"
43900
+ ],
43901
+ blockedCommands: [
43902
+ "profile list",
43903
+ "config path",
43904
+ "exception clear",
43905
+ "email download",
43906
+ "attachment download",
43907
+ "attachment download-all"
43908
+ ],
43909
+ downloadCommands: [
43910
+ "email download",
43911
+ "attachment download",
43912
+ "attachment download-all"
43913
+ ],
43914
+ inputs: {
43915
+ stdin: "unsupported",
43916
+ files: "uploaded private JSON leaves only",
43917
+ downloads: "authenticated hosted transfers only"
43918
+ },
43919
+ nativeWrites: "native preview, exact operation allow-list, execute, exact confirm and durable journal; ambiguous deletes refused"
43920
+ },
43921
+ discovery: {
43922
+ commands: [
43923
+ "auth",
43924
+ "doctor",
43925
+ "email",
43926
+ "event",
43927
+ "exception",
43928
+ "home",
43929
+ "task"
43930
+ ],
43931
+ example: [
43932
+ "email",
43933
+ "search",
43934
+ "--limit",
43935
+ "1"
43936
+ ],
43937
+ help: "checkpoint-axi email search [--limit <n>]\nArtium manages region, client ID and secret. Writes require administrator-enabled exact operations and native preview, --execute and exact --confirm. Upload private JSON with --input. Use artium-axi download for authenticated email and attachment saving with host-owned confirmation; ordinary downloads and local configuration are blocked.\n"
43938
+ },
43939
+ suggestionFields: [
43940
+ "help"
43941
+ ],
43942
+ format: "TOON",
43943
+ commands: [
43944
+ {
43945
+ command: "attachment download",
43946
+ effect: "blocked",
43947
+ flags: {
43948
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
43949
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
43950
+ help: "Show concise command help; default false",
43951
+ out: "Required absolute new output file; mode 0600, never stdout or overwrite",
43952
+ scope: "Optional authorized scope query; default profile scope when configured; live behavior unverified"
43953
+ }
43954
+ },
43955
+ {
43956
+ command: "attachment download-all",
43957
+ effect: "blocked",
43958
+ flags: {
43959
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
43960
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
43961
+ help: "Show concise command help; default false",
43962
+ out: "Required absolute new output file; mode 0600, never stdout or overwrite",
43963
+ scope: "Optional authorized scope query; default profile scope when configured; live behavior unverified"
43964
+ }
43965
+ },
43966
+ {
43967
+ command: "auth status",
43968
+ effect: "read",
43969
+ flags: {
43970
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
43971
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
43972
+ fields: "Comma-separated output fields; default all",
43973
+ full: "Show full strings instead of 500-character previews; default false",
43974
+ help: "Show concise command help; default false"
41887
43975
  }
41888
43976
  },
41889
43977
  {
41890
- command: "report memory list",
41891
- effect: "read",
43978
+ command: "config path",
43979
+ effect: "blocked",
41892
43980
  flags: {
41893
- help: "Show help; default false",
41894
- config: "Config path; default platform config",
41895
- profile: "Profile name; default profile precedence",
41896
- fields: "Comma-separated response fields; default compact fields",
41897
- full: "All fields and untruncated text; default false",
41898
- limit: "Local row limit; default 100; --full does not change it"
43981
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
43982
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
43983
+ fields: "Comma-separated output fields; default all",
43984
+ full: "Show full strings instead of 500-character previews; default false",
43985
+ help: "Show concise command help; default false"
41899
43986
  }
41900
43987
  },
41901
43988
  {
41902
- command: "report memory strings",
43989
+ command: "doctor",
41903
43990
  effect: "read",
41904
43991
  flags: {
41905
- help: "Show help; default false",
41906
- config: "Config path; default platform config",
41907
- profile: "Profile name; default profile precedence",
41908
- fields: "Comma-separated response fields; default compact fields",
41909
- full: "All fields and untruncated text; default false",
41910
- limit: "Local row limit; default 100; --full does not change it",
41911
- filename: "Required exact memory dump filename"
43992
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
43993
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
43994
+ fields: "Comma-separated output fields; default all",
43995
+ full: "Show full strings instead of 500-character previews; default false",
43996
+ help: "Show concise command help; default false",
43997
+ saas: "SaaS override; default selected profile saas or office365_emails"
41912
43998
  }
41913
43999
  },
41914
44000
  {
41915
- command: "report screenshots",
41916
- effect: "read",
44001
+ command: "email download",
44002
+ effect: "blocked",
41917
44003
  flags: {
41918
- help: "Show help; default false",
41919
- config: "Config path; default platform config",
41920
- profile: "Profile name; default profile precedence",
41921
- fields: "Comma-separated response fields; default compact fields",
41922
- full: "All fields and untruncated text; default false",
41923
- limit: "Local row limit; default 100; --full does not change it"
44004
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44005
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44006
+ help: "Show concise command help; default false",
44007
+ out: "Required absolute new output file; mode 0600, never stdout or overwrite",
44008
+ original: "Download original email without processing modifications; default false"
41924
44009
  }
41925
44010
  },
41926
44011
  {
41927
- command: "report show",
41928
- effect: "read",
44012
+ command: "email quarantine",
44013
+ effect: "write",
41929
44014
  flags: {
41930
- help: "Show help; default false",
41931
- config: "Config path; default platform config",
41932
- profile: "Profile name; default profile precedence",
41933
- fields: "Comma-separated response fields; default compact fields",
41934
- full: "All fields and untruncated text; default false"
44015
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44016
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44017
+ fields: "Comma-separated output fields; default all",
44018
+ full: "Show full strings instead of 500-character previews; default false",
44019
+ help: "Show concise command help; default false",
44020
+ ids: "Required comma-separated unique entity IDs; maximum 20",
44021
+ execute: "Send once after all write gates; default false (preview)",
44022
+ "dry-run": "Explicit preview; cannot combine with --execute",
44023
+ confirm: "Exact operation followed by a space and the comma-separated IDs in supplied order"
41935
44024
  }
41936
44025
  },
41937
44026
  {
41938
- command: "report state",
41939
- effect: "read",
44027
+ command: "email restore",
44028
+ effect: "write",
41940
44029
  flags: {
41941
- help: "Show help; default false",
41942
- config: "Config path; default platform config",
41943
- profile: "Profile name; default profile precedence",
41944
- fields: "Comma-separated response fields; default compact fields",
41945
- full: "All fields and untruncated text; default false"
44030
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44031
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44032
+ fields: "Comma-separated output fields; default all",
44033
+ full: "Show full strings instead of 500-character previews; default false",
44034
+ help: "Show concise command help; default false",
44035
+ ids: "Required comma-separated unique entity IDs; maximum 20",
44036
+ execute: "Send once after all write gates; default false (preview)",
44037
+ "dry-run": "Explicit preview; cannot combine with --execute",
44038
+ confirm: "Exact operation followed by a space and the comma-separated IDs in supplied order"
41946
44039
  }
41947
44040
  },
41948
44041
  {
41949
- command: "search results",
44042
+ command: "email search",
41950
44043
  effect: "read",
41951
44044
  flags: {
41952
- help: "Show help; default false",
41953
- config: "Config path; default platform config",
41954
- profile: "Profile name; default profile precedence",
41955
- fields: "Comma-separated response fields; default compact fields",
41956
- full: "Include all response fields; default false"
44045
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44046
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44047
+ fields: "Comma-separated output fields; default all",
44048
+ full: "Show full strings instead of 500-character previews; default false",
44049
+ help: "Show concise command help; default false",
44050
+ saas: "SaaS override; default selected profile saas or office365_emails",
44051
+ "saas-entity": "Optional SaaS entity type selector",
44052
+ "start-date": "ISO timestamp with timezone; default 24 hours before end-date; maximum window 31 days",
44053
+ "end-date": "ISO timestamp with timezone; default now",
44054
+ limit: "Maximum rows; default 50, range 1-1000; cannot combine with --all",
44055
+ all: "Read up to 1000 rows / 10 HTTP requests / 60 seconds / 8 MiB; default false",
44056
+ cursor: "Opaque continuation bound to profile, region, operation and selectors; repeat original selectors",
44057
+ filter: "JSON array of {saasAttrName, saasAttrOp, saasAttrValue} filters (guide pages 19-20)"
41957
44058
  }
41958
44059
  },
41959
44060
  {
41960
- command: "search run",
44061
+ command: "email show",
41961
44062
  effect: "read",
41962
44063
  flags: {
41963
- help: "Show help; default false",
41964
- config: "Config path; default platform config",
41965
- profile: "Profile name; default profile precedence",
41966
- fields: "Comma-separated response fields; default compact fields",
41967
- full: "Include all response fields; default false",
41968
- query: "Required nonempty query",
41969
- size: "Results per page or async total; default 50, range 1-200",
41970
- page: "Synchronous page, ignored asynchronously; default 1, minimum 1",
41971
- "date-from": "Inclusive YYYY-MM-DD; default omitted",
41972
- "date-to": "Inclusive YYYY-MM-DD; default omitted"
44064
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44065
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44066
+ fields: "Comma-separated output fields; default all",
44067
+ full: "Show full strings instead of 500-character previews; default false",
44068
+ help: "Show concise command help; default false"
41973
44069
  }
41974
44070
  },
41975
44071
  {
41976
- command: "search terms",
41977
- effect: "read",
44072
+ command: "event action",
44073
+ effect: "write",
41978
44074
  flags: {
41979
- help: "Show help; default false",
41980
- config: "Config path; default platform config",
41981
- profile: "Profile name; default profile precedence",
41982
- fields: "Comma-separated response fields; default compact fields",
41983
- full: "Include all response fields; default false",
41984
- filename: "Optional nonempty filter; default omitted",
41985
- filetype: "Optional nonempty filter; default omitted",
41986
- "filetype-desc": "Optional nonempty filter; default omitted",
41987
- "env-id": "Optional nonempty filter; default omitted",
41988
- country: "Optional nonempty filter; default omitted",
41989
- verdict: "Optional nonempty filter; default omitted",
41990
- "av-detect": "Optional nonempty filter; default omitted",
41991
- "vx-family": "Optional nonempty filter; default omitted",
41992
- tag: "Optional nonempty filter; default omitted",
41993
- "date-from": "Optional nonempty filter; default omitted",
41994
- "date-to": "Optional nonempty filter; default omitted",
41995
- port: "Optional nonempty filter; default omitted",
41996
- host: "Optional nonempty filter; default omitted",
41997
- domain: "Optional nonempty filter; default omitted",
41998
- url: "Optional nonempty filter; default omitted",
41999
- "similar-to": "Optional nonempty filter; default omitted",
42000
- context: "Optional nonempty filter; default omitted",
42001
- "imp-hash": "Optional nonempty filter; default omitted",
42002
- ssdeep: "Optional nonempty filter; default omitted",
42003
- authentihash: "Optional nonempty filter; default omitted",
42004
- "uses-tactic": "Optional nonempty filter; default omitted",
42005
- "uses-technique": "Optional nonempty filter; default omitted"
44075
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44076
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44077
+ fields: "Comma-separated output fields; default all",
44078
+ full: "Show full strings instead of 500-character previews; default false",
44079
+ help: "Show concise command help; default false",
44080
+ ids: "Required comma-separated unique event IDs; maximum 20",
44081
+ execute: "Send once after all write gates; default false (preview)",
44082
+ "dry-run": "Explicit preview; cannot combine with --execute",
44083
+ confirm: "Exact operation followed by a space and the comma-separated IDs in supplied order",
44084
+ name: "Required available action name; nonempty action parameters are unverified"
42006
44085
  }
42007
44086
  },
42008
44087
  {
42009
- command: "setup",
42010
- effect: "blocked",
44088
+ command: "event list",
44089
+ effect: "read",
42011
44090
  flags: {
42012
- help: "Show help; default false",
42013
- config: "Config path; default HYBRID_AXI_CONFIG or platform config",
42014
- profile: "Profile selector; template uses example"
44091
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44092
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44093
+ fields: "Comma-separated output fields; default all",
44094
+ full: "Show full strings instead of 500-character previews; default false",
44095
+ help: "Show concise command help; default false",
44096
+ "start-date": "ISO timestamp with timezone; default 24 hours before end-date; maximum window 31 days",
44097
+ "end-date": "ISO timestamp with timezone; default now",
44098
+ limit: "Maximum rows; default 50, range 1-1000; cannot combine with --all",
44099
+ all: "Read up to 1000 rows / 10 HTTP requests / 60 seconds / 8 MiB; default false",
44100
+ cursor: "Opaque continuation bound to profile, region, operation and selectors; repeat original selectors",
44101
+ saas: "Comma-separated SaaS overrides; default selected profile saas or office365_emails",
44102
+ "event-types": "Comma-separated event types; default unfiltered",
44103
+ "event-states": "Comma-separated event states; default unfiltered",
44104
+ severities: "Comma-separated severities; default unfiltered",
44105
+ "event-ids": "Comma-separated event IDs; default unfiltered",
44106
+ "confidence-indicator": "Confidence indicator selector; default unfiltered",
44107
+ description: "Description selector; default unfiltered"
42015
44108
  }
42016
44109
  },
42017
44110
  {
42018
- command: "setup hooks",
42019
- effect: "blocked",
44111
+ command: "event show",
44112
+ effect: "read",
42020
44113
  flags: {
42021
- help: "Show help without installing",
42022
- scope: "user (default) or project; Codex hooks feature is always enabled in user config"
44114
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44115
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44116
+ fields: "Comma-separated output fields; default all",
44117
+ full: "Show full strings instead of 500-character previews; default false",
44118
+ help: "Show concise command help; default false"
42023
44119
  }
42024
44120
  },
42025
44121
  {
42026
- command: "submit dropped-file",
42027
- effect: "write",
44122
+ command: "exception clear",
44123
+ effect: "blocked",
42028
44124
  flags: {
42029
- help: "Show help; default false",
42030
- config: "Config path; default platform config",
42031
- profile: "Profile name; default profile precedence",
42032
- execute: "Send once; default preview only",
42033
- "dry-run": "Preview only; incompatible with --execute",
42034
- confirm: "Exact confirmation from the preview; required with --execute",
42035
- "intent-id": "Optional durable intent identifier; an already reserved intent is never replayed",
42036
- id: "Required source job ID or sha256:environmentId",
42037
- "file-hash": "Required dropped-file SHA256"
44125
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44126
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44127
+ fields: "Comma-separated output fields; default all",
44128
+ full: "Show full strings instead of 500-character previews; default false",
44129
+ help: "Show concise command help; default false",
44130
+ execute: "Send once after all write gates; default false (preview)",
44131
+ "dry-run": "Explicit preview; cannot combine with --execute",
44132
+ confirm: "Exact operation followed by a space and every target from preview (payload sha256 for create and malware/url/dlp update, exception ID or comma-separated item IDs otherwise)"
42038
44133
  }
42039
44134
  },
42040
44135
  {
42041
- command: "submit file",
44136
+ command: "exception create",
42042
44137
  effect: "write",
42043
44138
  flags: {
42044
- help: "Show help; default false",
42045
- config: "Config path; default platform config",
42046
- profile: "Profile name; default profile precedence",
42047
- execute: "Send once; default preview only",
42048
- "dry-run": "Preview only; incompatible with --execute",
42049
- confirm: "Exact confirmation from the preview; required with --execute",
42050
- "intent-id": "Optional durable intent identifier; an already reserved intent is never replayed",
42051
- "environment-id": "Required documented environment: 100, 110, 120, 140, 160, 200, 330, 430",
42052
- "action-script": "Optional: default, default_maxantievasion, default_randomfiles, default_randomtheme, default_openie; default omitted",
42053
- "experimental-anti-evasion": "Optional experimental_anti_evasion; default omitted; explicit true or false",
42054
- "script-logging": "Optional script_logging; default omitted; explicit true or false",
42055
- "input-sample-tampering": "Optional input_sample_tampering; default omitted; explicit true or false",
42056
- "network-settings": "Optional: default, tor, simulated; default omitted",
42057
- email: "Optional email; default omitted",
42058
- comment: "Optional comment; default omitted",
42059
- "custom-date-time": "Optional YYYY-MM-DD HH:mm; default omitted",
42060
- "custom-cmd-line": "Optional custom_cmd_line; default omitted",
42061
- "custom-run-time": "Optional positive integer seconds; default omitted",
42062
- "submit-name": "Optional submit_name; default omitted",
42063
- priority: "Optional integer 1-10; default omitted (upstream 5)",
42064
- "document-password": "Optional document_password; default omitted",
42065
- "environment-variable": "Optional environment_variable; default omitted",
42066
- file: "Required regular file, at most 250 MiB; confirmation binds its SHA256 and size"
44139
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44140
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44141
+ fields: "Comma-separated output fields; default all",
44142
+ full: "Show full strings instead of 500-character previews; default false",
44143
+ help: "Show concise command help; default false",
44144
+ execute: "Send once after all write gates; default false (preview)",
44145
+ "dry-run": "Explicit preview; cannot combine with --execute",
44146
+ confirm: "Exact operation followed by a space and every target from preview (payload sha256 for create and malware/url/dlp update, exception ID or comma-separated item IDs otherwise)",
44147
+ input: "Required absolute private JSON file containing documented requestData fields directly; fields depend on kind; update sends a replacement PUT",
44148
+ specific: "Malware/url/dlp only: use the documented create-specific /exceptions route; default false; included in confirmation digest"
42067
44149
  }
42068
44150
  },
42069
44151
  {
42070
- command: "submit url",
42071
- effect: "write",
44152
+ command: "exception list",
44153
+ effect: "read",
42072
44154
  flags: {
42073
- help: "Show help; default false",
42074
- config: "Config path; default platform config",
42075
- profile: "Profile name; default profile precedence",
42076
- execute: "Send once; default preview only",
42077
- "dry-run": "Preview only; incompatible with --execute",
42078
- confirm: "Exact confirmation from the preview; required with --execute",
42079
- "intent-id": "Optional durable intent identifier; an already reserved intent is never replayed",
42080
- "environment-id": "Required documented environment: 100, 110, 120, 140, 160, 200, 330, 430",
42081
- "action-script": "Optional: default, default_maxantievasion, default_randomfiles, default_randomtheme, default_openie; default omitted",
42082
- "experimental-anti-evasion": "Optional experimental_anti_evasion; default omitted; explicit true or false",
42083
- "script-logging": "Optional script_logging; default omitted; explicit true or false",
42084
- "input-sample-tampering": "Optional input_sample_tampering; default omitted; explicit true or false",
42085
- "network-settings": "Optional: default, tor, simulated; default omitted",
42086
- email: "Optional email; default omitted",
42087
- comment: "Optional comment; default omitted",
42088
- "custom-date-time": "Optional YYYY-MM-DD HH:mm; default omitted",
42089
- "custom-cmd-line": "Optional custom_cmd_line; default omitted",
42090
- "custom-run-time": "Optional positive integer seconds; default omitted",
42091
- "submit-name": "Optional submit_name; default omitted",
42092
- priority: "Optional integer 1-10; default omitted (upstream 5)",
42093
- "document-password": "Optional document_password; default omitted",
42094
- "environment-variable": "Optional environment_variable; default omitted",
42095
- url: "Required exact HTTP(S) URL without embedded credentials"
44155
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44156
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44157
+ fields: "Comma-separated output fields; default all",
44158
+ full: "Show full strings instead of 500-character previews; default false",
44159
+ help: "Show concise command help; default false",
44160
+ type: "Required for malware: hash,micro_hash,file_type,ppat_sender_name,allow_file_type,sender_email; url: allow-url,allow-domain,block-url,block-domain; dlp: hash,text_content,sender_email,recipient_email",
44161
+ items: "Click-time item routes instead of list routes; default false",
44162
+ limit: "Maximum rows; default 50, range 1-1000; cannot combine with --all",
44163
+ all: "Return up to 1000 rows within transport budgets; no server continuation parameter is documented"
42096
44164
  }
42097
44165
  },
42098
44166
  {
42099
- command: "system action-scripts",
42100
- effect: "read",
44167
+ command: "exception remove",
44168
+ effect: "write",
42101
44169
  flags: {
42102
- help: "Show help; default false",
42103
- config: "Config path; default platform config",
42104
- profile: "Profile name; default profile precedence",
42105
- fields: "Comma-separated response fields; default compact fields",
42106
- full: "All fields and untruncated text; default false",
42107
- limit: "Local row limit; default 100; --full does not change it"
44170
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44171
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44172
+ fields: "Comma-separated output fields; default all",
44173
+ full: "Show full strings instead of 500-character previews; default false",
44174
+ help: "Show concise command help; default false",
44175
+ execute: "Send once after all write gates; default false (preview)",
44176
+ "dry-run": "Explicit preview; cannot combine with --execute",
44177
+ confirm: "Exact operation followed by a space and every target from preview (payload sha256 for create and malware/url/dlp update, exception ID or comma-separated item IDs otherwise)"
42108
44178
  }
42109
44179
  },
42110
44180
  {
42111
- command: "system configuration",
42112
- effect: "read",
44181
+ command: "exception remove-items",
44182
+ effect: "write",
42113
44183
  flags: {
42114
- help: "Show help; default false",
42115
- config: "Config path; default platform config",
42116
- profile: "Profile name; default profile precedence",
42117
- fields: "Comma-separated response fields; default compact fields",
42118
- full: "All fields and untruncated text; default false"
44184
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44185
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44186
+ fields: "Comma-separated output fields; default all",
44187
+ full: "Show full strings instead of 500-character previews; default false",
44188
+ help: "Show concise command help; default false",
44189
+ execute: "Send once after all write gates; default false (preview)",
44190
+ "dry-run": "Explicit preview; cannot combine with --execute",
44191
+ confirm: "Exact operation followed by a space and every target from preview (payload sha256 for create and malware/url/dlp update, exception ID or comma-separated item IDs otherwise)",
44192
+ ids: "Required 1-20 unique comma-separated click-time item IDs"
42119
44193
  }
42120
44194
  },
42121
44195
  {
42122
- command: "system environments",
44196
+ command: "exception show",
42123
44197
  effect: "read",
42124
44198
  flags: {
42125
- help: "Show help; default false",
42126
- config: "Config path; default platform config",
42127
- profile: "Profile name; default profile precedence",
42128
- fields: "Comma-separated response fields; default compact fields",
42129
- full: "All fields and untruncated text; default false",
42130
- limit: "Local row limit; default 100; --full does not change it"
44199
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44200
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44201
+ fields: "Comma-separated output fields; default all",
44202
+ full: "Show full strings instead of 500-character previews; default false",
44203
+ help: "Show concise command help; default false",
44204
+ type: "Required for malware: hash,micro_hash,file_type,ppat_sender_name,allow_file_type,sender_email; url: allow-url,allow-domain,block-url,block-domain; dlp: hash,text_content,sender_email,recipient_email",
44205
+ items: "Click-time item route instead of list route; default false"
42131
44206
  }
42132
44207
  },
42133
44208
  {
42134
- command: "system queue-size",
42135
- effect: "read",
44209
+ command: "exception update",
44210
+ effect: "write",
42136
44211
  flags: {
42137
- help: "Show help; default false",
42138
- config: "Config path; default platform config",
42139
- profile: "Profile name; default profile precedence",
42140
- fields: "Comma-separated response fields; default compact fields",
42141
- full: "All fields and untruncated text; default false"
44212
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44213
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44214
+ fields: "Comma-separated output fields; default all",
44215
+ full: "Show full strings instead of 500-character previews; default false",
44216
+ help: "Show concise command help; default false",
44217
+ execute: "Send once after all write gates; default false (preview)",
44218
+ "dry-run": "Explicit preview; cannot combine with --execute",
44219
+ confirm: "Exact operation followed by a space and every target from preview (payload sha256 for create and malware/url/dlp update, exception ID or comma-separated item IDs otherwise)",
44220
+ input: "Required absolute private JSON file containing documented requestData fields directly; fields depend on kind; update sends a replacement PUT"
42142
44221
  }
42143
44222
  },
42144
44223
  {
42145
- command: "system stats",
44224
+ command: "home",
42146
44225
  effect: "read",
42147
44226
  flags: {
42148
- help: "Show help; default false",
42149
- config: "Config path; default platform config",
42150
- profile: "Profile name; default profile precedence",
42151
- fields: "Comma-separated response fields; default compact fields",
42152
- full: "All fields and untruncated text; default false"
44227
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44228
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44229
+ fields: "Comma-separated output fields; default all",
44230
+ full: "Show full strings instead of 500-character previews; default false",
44231
+ help: "Show concise command help; default false"
42153
44232
  }
42154
44233
  },
42155
44234
  {
42156
- command: "system total-submissions",
42157
- effect: "read",
44235
+ command: "profile list",
44236
+ effect: "blocked",
42158
44237
  flags: {
42159
- help: "Show help; default false",
42160
- config: "Config path; default platform config",
42161
- profile: "Profile name; default profile precedence",
42162
- fields: "Comma-separated response fields; default compact fields",
42163
- full: "All fields and untruncated text; default false"
44238
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44239
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44240
+ fields: "Comma-separated output fields; default all",
44241
+ full: "Show full strings instead of 500-character previews; default false",
44242
+ help: "Show concise command help; default false"
42164
44243
  }
42165
44244
  },
42166
44245
  {
42167
- command: "system version",
44246
+ command: "task show",
42168
44247
  effect: "read",
42169
44248
  flags: {
42170
- help: "Show help; default false",
42171
- config: "Config path; default platform config",
42172
- profile: "Profile name; default profile precedence",
42173
- fields: "Comma-separated response fields; default compact fields",
42174
- full: "All fields and untruncated text; default false"
44249
+ config: "Config path; default CHECKPOINT_AXI_CONFIG or platform path",
44250
+ profile: "Profile name; default CHECKPOINT_AXI_PROFILE, env profile, config default, or sole profile",
44251
+ fields: "Comma-separated output fields; default all",
44252
+ full: "Show full strings instead of 500-character previews; default false",
44253
+ help: "Show concise command help; default false"
42175
44254
  }
42176
44255
  }
42177
44256
  ]
42178
44257
  };
42179
44258
 
42180
44259
  // src/shared/tool-manifests.ts
42181
- var toolManifests = { "falcon-axi": falcon_axi_default, "vectra-axi": vectra_axi_default, "az-axi": az_axi_default, "mg-axi": mg_axi_default, "ldap-axi": ldap_axi_default, "ado-axi": ado_axi_default, "awx-axi": awx_axi_default, "tenable-axi": tenable_axi_default, "hybrid-axi": hybrid_axi_default };
44260
+ var toolManifests = { "gh-axi": gh_axi_default, "falcon-axi": falcon_axi_default, "vectra-axi": vectra_axi_default, "az-axi": az_axi_default, "mg-axi": mg_axi_default, "ldap-axi": ldap_axi_default, "ado-axi": ado_axi_default, "awx-axi": awx_axi_default, "tenable-axi": tenable_axi_default, "hybrid-axi": hybrid_axi_default, "checkpoint-axi": checkpoint_axi_default };
42182
44261
 
42183
44262
  // node_modules/.pnpm/@toon-format+toon@2.3.1/node_modules/@toon-format/toon/dist/index.mjs
42184
44263
  var NULL_LITERAL = "null";
@@ -43544,8 +45623,38 @@ function resolveDecodeOptions(options) {
43544
45623
  };
43545
45624
  }
43546
45625
 
45626
+ // src/shared/gh-suggestions.ts
45627
+ function rewriteGhSuggestions(output3, invocation, truncated = false) {
45628
+ if (!invocation || invocation.help || invocation.command === "api" || truncated) return output3;
45629
+ if (invocation.command === "pr view") {
45630
+ output3 = output3.replace(/^( merge_state: [^\n]*?); gh-axi pr update-branch [^\n]*$/gm, "$1");
45631
+ }
45632
+ if (invocation.command === "release list") {
45633
+ output3 = output3.replace(/^(count: \d+ \(showing first \d+); run `gh-axi repo view` for total count\)$/gm, "$1)");
45634
+ }
45635
+ return output3.replace(/(^|\n)help\[(\d+)\]:\n((?: [^\n]*\n)* [^\n]*)(?=\n|$)/g, (block, prefix, count, body) => {
45636
+ const rows = body.trimEnd().split("\n");
45637
+ if (rows.length !== Number(count)) return block;
45638
+ const help = rows.flatMap((row) => {
45639
+ let allowed = true;
45640
+ const line = row.replace(/`(?:artium-axi )?gh-axi ([^`]+)`/g, (_, command) => {
45641
+ const route = gh_axi_default.commands.find((route2) => command === route2.command || command.startsWith(route2.command + " "));
45642
+ const flags = [...command.matchAll(/(?:^|\s)(--[a-z][a-z-]*|-R)(?==|\s|$)/g)].map((match) => match[1]);
45643
+ if (!route || route.effect === "write" || route.command === "api" || /https?:\/\//.test(command) || flags.some((flag) => !Object.hasOwn(route.flags, flag === "-R" ? "repo" : flag.slice(2))) || route.repository && !flags.some((flag) => flag === "-R" || flag === "--repo")) allowed = false;
45644
+ return `\`artium-axi gh-axi ${command}\``;
45645
+ });
45646
+ if (!allowed || /\bgh-axi\b|\bgh auth\b|\bGH_[A-Z_]+\b/.test(line.replaceAll("artium-axi gh-axi", ""))) return [];
45647
+ return [line];
45648
+ });
45649
+ return help.length ? `${prefix}help[${help.length}]:
45650
+ ${help.join("\n")}` : "";
45651
+ });
45652
+ }
45653
+
43547
45654
  // src/cli/rewrite.ts
43548
45655
  var managedFlags = {
45656
+ "gh-axi": gh_axi_default.adapterBoundary.unsafeOverrides,
45657
+ "checkpoint-axi": checkpoint_axi_default.adapterBoundary.unsafeOverrides,
43549
45658
  "hybrid-axi": hybrid_axi_default.adapterBoundary.unsafeOverrides,
43550
45659
  "tenable-axi": tenable_axi_default.adapterBoundary.unsafeOverrides,
43551
45660
  "awx-axi": awx_axi_default.adapterBoundary.unsafeOverrides,
@@ -43569,8 +45678,28 @@ function rewriteDiscoveryHelp(help, tool) {
43569
45678
  examples: help.examples.map((example) => hostedHelp(example, tool, flags, true))
43570
45679
  });
43571
45680
  }
43572
- function rewriteSuggestions(output3, tool, truncated = false) {
45681
+ function rewriteSuggestions(output3, tool, truncated = false, invocation) {
43573
45682
  if (truncated) return output3;
45683
+ if (tool === "gh-axi") return rewriteGhSuggestions(output3, invocation, truncated);
45684
+ if (tool === "checkpoint-axi") {
45685
+ try {
45686
+ const document = decode3(output3);
45687
+ if (document.command && document.flags) return encode3({
45688
+ ...document,
45689
+ command: document.command.startsWith("artium-axi ") ? document.command : `artium-axi checkpoint-axi ${document.command}`,
45690
+ flags: Object.fromEntries(Object.entries(document.flags).filter(([name]) => !checkpoint_axi_default.adapterBoundary.unsafeOverrides.includes(name.replace(/^--/, "")))),
45691
+ examples: (document.examples ?? []).filter((example) => !/--(?:config|profile|out)\b/.test(example)).map((example) => example.replace(/^checkpoint-axi\b/, "artium-axi checkpoint-axi")),
45692
+ help: [checkpoint_axi_default.discovery.help.replaceAll("checkpoint-axi ", "artium-axi checkpoint-axi ")]
45693
+ }) + "\n";
45694
+ if (document.bin || document.commands) return encode3({
45695
+ bin: "artium-axi checkpoint-axi",
45696
+ description: "Investigate Check Point Email Security with managed credentials.",
45697
+ commands: checkpoint_axi_default.commands.filter((route) => route.effect !== "blocked").map((route) => route.command),
45698
+ help: [checkpoint_axi_default.discovery.help.replaceAll("checkpoint-axi ", "artium-axi checkpoint-axi ")]
45699
+ }) + "\n";
45700
+ } catch {
45701
+ }
45702
+ }
43574
45703
  if (tool === "hybrid-axi") {
43575
45704
  try {
43576
45705
  const document = decode3(output3);
@@ -43659,7 +45788,7 @@ function rewriteSuggestions(output3, tool, truncated = false) {
43659
45788
  for (const span of [...spans].reverse()) {
43660
45789
  const value = hostedHelp(span.value, tool, flags, /^[ \t]*(?:Command|Native operation|Examples|Usage):/m.test(span.value));
43661
45790
  if (value === span.value) continue;
43662
- output3 = output3.slice(0, span.start) + (span.quoted || ["ldap-axi", "ado-axi", "awx-axi"].includes(tool) && /[,\r\n]/.test(value) ? JSON.stringify(value) : value) + output3.slice(span.start + span.raw.length);
45791
+ output3 = output3.slice(0, span.start) + (span.quoted || ["ldap-axi", "ado-axi", "awx-axi", "gh-axi"].includes(tool) && /[,\r\n]/.test(value) ? JSON.stringify(value) : value) + output3.slice(span.start + span.raw.length);
43663
45792
  }
43664
45793
  spans = (output3.trimStart().startsWith("{") ? jsonHelp(output3) : toonHelp(output3)).spans;
43665
45794
  if (spans.some((span) => /\\[`'"]/.test(span.value))) return output3;
@@ -43734,6 +45863,10 @@ function managedFlagRanges(command, tool) {
43734
45863
  return ranges;
43735
45864
  }
43736
45865
  function hostedHelp(help, tool, flags, commands2) {
45866
+ if (tool === "checkpoint-axi") {
45867
+ help = help.split("\n").filter((line) => !/CHECKPOINT_AXI_|SecretRef|checkpoint-axi (?:config|profile)|Valid commands:/.test(line)).join("\n");
45868
+ if (!help.trim()) help = checkpoint_axi_default.discovery.help;
45869
+ }
43737
45870
  if (tool === "hybrid-axi") {
43738
45871
  help = help.split("\n").filter((line) => !/HYBRID_AXI_|SecretRefs|hybrid-axi (?:setup|config|profile)|--(?:config|profile|origin|output)\b/.test(line)).join("\n");
43739
45872
  const guidance = "Artium manages the API key and fixed origin. Submissions, YARA mutations, consuming matches and four reviewed archive downloads require independently selected administrator-enabled operations, native preview, execute, exact confirmation and journal. Quick scans transmit the supplied sample or URL. Use artium-axi download --help for authenticated one-shot CLI verified saving and live-malware warnings.";
@@ -43753,6 +45886,12 @@ function hostedHelp(help, tool, flags, commands2) {
43753
45886
  if (tool === "falcon-axi") {
43754
45887
  help = help.replace(new RegExp(`^ (?:${falcon_axi_default.blockedCommands.join("|")})(?=\\s|$)[^\\r\\n]*(?:\\r?\\n|$)`, "gm"), "");
43755
45888
  }
45889
+ if (tool === "gh-axi") {
45890
+ const guidance = "Artium manages the GitHub host and credential. Ask an Artium administrator to reconnect the GitHub credential. Use -R OWNER/NAME for repository commands. Writes require an administrator-enabled exact operation: preview, then repeat the exact request with its --confirm value. api accepts GET and relative paths only.";
45891
+ help = help.split("\n").filter((line) => !/\bgh auth\b|\bGH_[A-Z_]+\b|gh-axi (?:update|setup|stack)|--(?:hostname|watch|attach|input|field|raw-field|header|body-file|notes-file)\b/.test(line)).join("\n");
45892
+ if (!help.trim()) help = guidance;
45893
+ else if (!help.includes(guidance)) help = help.trimEnd() + "\n" + guidance + "\n";
45894
+ }
43756
45895
  if (tool === "ado-axi") {
43757
45896
  const guidance = "Artium manages the organization, profile, config and PAT. api accepts relative paths and GET only. Writes are off by default; administrators control allowWrites. No stdin or files. Use pipeline watch --timeout 50 or less.";
43758
45897
  if (/^(?:Usage: |(?:Run|Use) [`'"]?)?(?:artium-axi )?ado-axi api(?:\s|$)/.test(help)) {
@@ -44011,6 +46150,12 @@ async function doctor(createClient = (deadline) => new Client(process.env, void
44011
46150
 
44012
46151
  // src/cli/help.ts
44013
46152
  var commands = {
46153
+ "gh-axi": {
46154
+ usage: "artium-axi gh-axi [<args>]",
46155
+ purpose: "Read and update GitHub data with managed credentials.",
46156
+ flags: ["Repository commands require -R OWNER/NAME. Writes require an administrator-enabled exact operation: preview, then repeat with its --confirm value. api is GET only; deletes, secret set, merge --admin, local git, files and downloads are unavailable. Only gist create/edit with --filename accepts piped stdin."],
46157
+ example: "artium-axi gh-axi repo list --limit 1"
46158
+ },
44014
46159
  home: { usage: "artium-axi [tools [show <tool>]|whoami|login|passwd|logout|doctor|setup|update|download|<tool> <args>]", purpose: "Show your identity, roles and available tools.", flags: ["--version (default false; print the client package version and exit)"], example: "artium-axi" },
44015
46160
  setup: {
44016
46161
  usage: "artium-axi setup --host <claude|codex|opencode|pi> [--hook] [--force]",
@@ -44037,20 +46182,20 @@ var commands = {
44037
46182
  doctor: { usage: "artium-axi doctor", purpose: "Check the server, certificate, token, CLI version and cached tool health.", flags: [], example: "artium-axi doctor" },
44038
46183
  update: { usage: "artium-axi update", purpose: "Download and verify the server\u2019s client, replace this file and keep a .bak backup. npm installations must use npm install -g @knowttl/artium-axi.", flags: [], example: "artium-axi update" },
44039
46184
  download: {
44040
- usage: "artium-axi download --operation <operation> --selector <hash|report-id> --type <bin|dropped-files|memory> --destination <absolute-new-path> [--transfer <id> --execute --confirm <exact-confirm>] [--password-stdin|--sso]",
44041
- purpose: "Preview or explicitly save a hosted Hybrid Analysis archive. Operations remain unavailable until adapter enablement.",
46185
+ usage: "artium-axi download --operation <operation> --selector <selector> --type <type> --destination <absolute-new-path> [--transfer <id> --execute --confirm <exact-confirm>] [--password-stdin|--sso]",
46186
+ purpose: "Preview or explicitly save a hosted Hybrid Analysis archive or Check Point email/attachment. Each operation requires administrator enablement.",
44042
46187
  flags: [
44043
- "--operation <hash-download-bin|report-download-bin|report-download-dropped-files|report-download-memory> (required)",
44044
- "--selector <hash|report-id> (required)",
44045
- "--type <bin|dropped-files|memory> (required)",
46188
+ "--operation <hash-download-bin|report-download-bin|report-download-dropped-files|report-download-memory|email.download|attachment.download|attachment.download-all> (required)",
46189
+ "--selector <hash|report-id|entity-id|entity-id/attachment-id> (required; attachment.download uses entity-id/attachment-id)",
46190
+ "--type <bin|dropped-files|memory|email|original|attachment|zip> (required; email.download uses email or original, attachment.download uses attachment, attachment.download-all uses zip)",
44046
46191
  "--destination <absolute-new-path> (required; Linux private 0700 directory, no symlink components or overwrite)",
44047
46192
  "--transfer <id> (required for execution; preview transfer ID)",
44048
46193
  "--execute (default false)",
44049
- "--confirm <exact-confirm> (required for execution; unchanged native preview string)",
46194
+ "--confirm <exact-confirm> (required for execution; unchanged preview string; Check Point confirmation is host-owned)",
44050
46195
  "--password-stdin (default false; otherwise terminal password)",
44051
46196
  "--sso (default false; browser identity confirmation)",
44052
46197
  transferWarning,
44053
- `Limit ${transferLimits.artifactBytes / 1024 ** 2} MiB; ${transferLimits.reservationsPerUser} reservation per user, ${transferLimits.reservations} globally, ${transferLimits.reservedBytes / 1024 ** 3} GiB total artifact capacity; absolute expiry ${transferLimits.lifetimeMs / 6e4} minutes after preview preparation, including generation and retrieval. No resume or automatic retry. Missing receipt is unconfirmed.`
46198
+ `Limit ${transferLimits.artifactBytes / 1024 ** 2} MiB (Check Point: 50 MiB with mandatory upstream hash); ${transferLimits.reservationsPerUser} reservation per user, ${transferLimits.reservations} globally, ${transferLimits.reservedBytes / 1024 ** 3} GiB total artifact capacity; absolute expiry ${transferLimits.lifetimeMs / 6e4} minutes after preview preparation, including generation and retrieval. No resume or automatic retry. Missing receipt is unconfirmed.`
44054
46199
  ],
44055
46200
  example: "artium-axi download --operation report-download-bin --selector synthetic-report --type bin --destination /controlled/artifacts/new-archive.bin --sso"
44056
46201
  },
@@ -44096,6 +46241,12 @@ var commands = {
44096
46241
  flags: ["Submissions, YARA mutations, consuming matches and four reviewed archive downloads are off by default and selected independently by an administrator. Native preview, --execute and exact --confirm remain required. Use artium-axi download --help for authenticated CLI verified saving.", "--body-file - reads stdin to EOF within 5 s; otherwise INVALID_INPUT. Close stdin or pass a local file path.", transferWarning],
44097
46242
  example: "artium-axi hybrid-axi quota"
44098
46243
  },
46244
+ "checkpoint-axi": {
46245
+ usage: "artium-axi checkpoint-axi [<args>]",
46246
+ purpose: "Investigate Check Point Email Security with managed regional credentials.",
46247
+ flags: ["Writes require administrator-selected exact operations, native preview, --execute and exact --confirm. Private JSON inputs are uploaded with --input; stdin is unavailable. Downloads use artium-axi download with host-owned confirmation. Ambiguous deletes remain blocked."],
46248
+ example: "artium-axi checkpoint-axi email search --limit 1"
46249
+ },
44099
46250
  "az-axi": {
44100
46251
  usage: "artium-axi az-axi [<args>]",
44101
46252
  purpose: "Run Azure commands with your managed identity.",
@@ -44412,9 +46563,13 @@ async function toolInput(tool, original) {
44412
46563
  const args = [...original];
44413
46564
  const input2 = {};
44414
46565
  let totalFileBytes = 0;
46566
+ if (tool === "gh-axi" && ["gist create", "gist edit"].includes(args.slice(0, 2).join(" ")) && args.some((arg) => arg === "--filename" || arg.startsWith("--filename=")) && !args.some((arg) => ["--help", "-h"].includes(arg))) {
46567
+ if (process.stdin.isTTY) throw new ArtiumError("UNSUPPORTED_INPUT", "Pipe gist content on stdin.");
46568
+ input2.stdin = (await readBounded(process.stdin, inputLimits.stdinBytes, "--filename with closed stdin")).toString("utf8");
46569
+ }
44415
46570
  const hunting = tool === "mg-axi" && args.slice(0, 3).join(" ") === "security hunting query";
44416
- if ((tool === "az-axi" || tool === "hybrid-axi" || tool === "tenable-axi" || hunting) && !args.some((arg) => ["--help", "-h", "--version", "-v", "-V"].includes(arg))) {
44417
- const fileFlags = hunting ? ["file"] : tool === "tenable-axi" ? tenable_axi_default.adapterBoundary.inputFileFlags : tool === "hybrid-axi" ? hybrid_axi_default.adapterBoundary.inputFileFlags : az_axi_default.adapterBoundary.inputFileFlags;
46571
+ if ((tool === "checkpoint-axi" || tool === "az-axi" || tool === "hybrid-axi" || tool === "tenable-axi" || hunting) && !args.some((arg) => ["--help", "-h", "--version", "-v", "-V"].includes(arg))) {
46572
+ const fileFlags = hunting ? ["file"] : tool === "checkpoint-axi" ? checkpoint_axi_default.adapterBoundary.inputFileFlags : tool === "tenable-axi" ? tenable_axi_default.adapterBoundary.inputFileFlags : tool === "hybrid-axi" ? hybrid_axi_default.adapterBoundary.inputFileFlags : az_axi_default.adapterBoundary.inputFileFlags;
44418
46573
  for (let index = 0; index < args.length; index++) {
44419
46574
  if (args[index] === "--") break;
44420
46575
  const [flag] = args[index].split("=");
@@ -44859,6 +47014,7 @@ async function download(args, output3, managed2) {
44859
47014
  targetDigest: createHash4("sha256").update(destination).digest("hex")
44860
47015
  });
44861
47016
  if (!input2.success || !destination || flags.has("--sso") && flags.has("--password-stdin")) throw new ArtiumError("INVALID_INPUT");
47017
+ const transferRoutes2 = transferRoutesFor(transferTool(input2.data.selection.operation));
44862
47018
  const execute = flags.has("--execute");
44863
47019
  if (execute !== flags.has("--transfer") || execute !== flags.has("--confirm")) throw new ArtiumError("INVALID_INPUT");
44864
47020
  let execution;
@@ -44910,7 +47066,7 @@ async function download(args, output3, managed2) {
44910
47066
  { "x-artium-reauth-ticket": ticket }
44911
47067
  );
44912
47068
  if (!execution) {
44913
- const preview = transferPreviewSchema.parse(await request(transferRoutes.prepare.path, input2.data));
47069
+ const preview = transferPreviewSchema.parse(await request(transferRoutes2.prepare.path, input2.data));
44914
47070
  if (preview.targetDigest !== input2.data.targetDigest) throw new ArtiumError("INVALID_RESPONSE");
44915
47071
  announce({
44916
47072
  ...input2.data.selection,
@@ -44927,7 +47083,7 @@ async function download(args, output3, managed2) {
44927
47083
  let saved = false;
44928
47084
  let receipt = "unconfirmed";
44929
47085
  try {
44930
- const pending = transferStatusSchema.parse(await request(transferRoutes.status.path, retrieval));
47086
+ const pending = transferStatusSchema.parse(await request(transferRoutes2.status.path, retrieval));
44931
47087
  if (pending.transferId !== execution.transferId || pending.outcome !== "preview" || pending.archive !== null) throw new ArtiumError("INVALID_RESPONSE");
44932
47088
  announce({
44933
47089
  ...input2.data.selection,
@@ -44936,11 +47092,11 @@ async function download(args, output3, managed2) {
44936
47092
  expiresAt: pending.expiresAt,
44937
47093
  saveOutcome: "unconfirmed"
44938
47094
  });
44939
- const status = transferStatusSchema.parse(await request(transferRoutes.execute.path, execution));
47095
+ const status = transferStatusSchema.parse(await request(transferRoutes2.execute.path, execution));
44940
47096
  if (status.transferId !== execution.transferId || status.expiresAt !== pending.expiresAt || status.outcome !== "ready" || !status.archive) throw new ArtiumError("INVALID_RESPONSE");
44941
47097
  archive = status.archive;
44942
47098
  await client.artifact(
44943
- transferRoutes.retrieve.path,
47099
+ transferRoutes2.retrieve.path,
44944
47100
  retrieval,
44945
47101
  token,
44946
47102
  ticket,
@@ -44950,19 +47106,19 @@ async function download(args, output3, managed2) {
44950
47106
  saved = true;
44951
47107
  await local.close();
44952
47108
  try {
44953
- await request(transferRoutes.receipt.path, { ...retrieval, archive, saveOutcome: "verified-save" });
47109
+ await request(transferRoutes2.receipt.path, { ...retrieval, archive, saveOutcome: "verified-save" });
44954
47110
  receipt = "confirmed";
44955
47111
  } catch {
44956
47112
  }
44957
47113
  } catch (error62) {
44958
47114
  if (archive && !saved) {
44959
47115
  try {
44960
- await request(transferRoutes.receipt.path, { ...retrieval, archive, saveOutcome: "save-failed" });
47116
+ await request(transferRoutes2.receipt.path, { ...retrieval, archive, saveOutcome: "save-failed" });
44961
47117
  } catch {
44962
47118
  }
44963
47119
  }
44964
47120
  try {
44965
- await request(transferRoutes.cancel.path, retrieval);
47121
+ await request(transferRoutes2.cancel.path, retrieval);
44966
47122
  } catch {
44967
47123
  }
44968
47124
  throw error62;