aspera-cli 4.26.2 → 4.27.1
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +310 -21
- data/CONTRIBUTING.md +99 -14
- data/TODO.md +50 -0
- data/bin/ascli +3 -3
- data/docs/README.md +10977 -0
- data/docs/test-mcp-with-ai.md +202 -0
- data/lib/aspera/agent/base.rb +29 -7
- data/lib/aspera/agent/connect.rb +58 -21
- data/lib/aspera/agent/desktop.rb +53 -18
- data/lib/aspera/agent/direct.rb +71 -40
- data/lib/aspera/agent/factory.rb +3 -3
- data/lib/aspera/agent/httpgw.rb +55 -14
- data/lib/aspera/agent/node.rb +34 -2
- data/lib/aspera/agent/transferd.rb +48 -12
- data/lib/aspera/api/alee.rb +1 -1
- data/lib/aspera/api/aoc.rb +42 -44
- data/lib/aspera/api/cos_node.rb +10 -9
- data/lib/aspera/api/faspex.rb +16 -15
- data/lib/aspera/api/httpgw.rb +23 -23
- data/lib/aspera/api/node.rb +51 -70
- data/lib/aspera/api/queries/bss_subscription_account.graphql +18 -0
- data/lib/aspera/api/queries/bss_subscription_usage.graphql +18 -0
- data/lib/aspera/ascmd.rb +32 -30
- data/lib/aspera/ascp/installation.rb +75 -69
- data/lib/aspera/ascp/management.rb +7 -8
- data/lib/aspera/assert.rb +12 -13
- data/lib/aspera/cli/ascp_actions.rb +155 -0
- data/lib/aspera/cli/async_transfer_store.rb +125 -0
- data/lib/aspera/cli/bootstrapper.rb +197 -0
- data/lib/aspera/cli/command_registry.rb +145 -0
- data/lib/aspera/cli/command_spec.rb +141 -0
- data/lib/aspera/cli/context.rb +19 -6
- data/lib/aspera/cli/error.rb +16 -0
- data/lib/aspera/cli/extended_value.rb +27 -26
- data/lib/aspera/cli/formatter.rb +95 -59
- data/lib/aspera/cli/gem_checker.rb +65 -0
- data/lib/aspera/cli/hints.rb +3 -3
- data/lib/aspera/cli/http.rb +74 -30
- data/lib/aspera/cli/info.rb +2 -0
- data/lib/aspera/cli/mailer.rb +97 -0
- data/lib/aspera/cli/mcp_tool.rb +225 -0
- data/lib/aspera/cli/option_declarator.rb +77 -0
- data/lib/aspera/cli/options.schema.yaml +634 -7
- data/lib/aspera/cli/parser.rb +1217 -0
- data/lib/aspera/cli/plugins/alee.rb +20 -22
- data/lib/aspera/cli/plugins/aoc.rb +1178 -881
- data/lib/aspera/cli/plugins/ats.rb +205 -162
- data/lib/aspera/cli/plugins/base.rb +703 -175
- data/lib/aspera/cli/plugins/basic_auth.rb +7 -9
- data/lib/aspera/cli/plugins/config.rb +434 -757
- data/lib/aspera/cli/plugins/console.rb +107 -65
- data/lib/aspera/cli/plugins/cos.rb +46 -33
- data/lib/aspera/cli/plugins/factory.rb +6 -6
- data/lib/aspera/cli/plugins/faspex5.rb +627 -388
- data/lib/aspera/cli/plugins/faspio.rb +54 -51
- data/lib/aspera/cli/plugins/httpgw.rb +18 -25
- data/lib/aspera/cli/plugins/mcp.rb +279 -0
- data/lib/aspera/cli/plugins/node.rb +988 -840
- data/lib/aspera/cli/plugins/oauth.rb +7 -10
- data/lib/aspera/cli/plugins/orchestrator.rb +112 -135
- data/lib/aspera/cli/plugins/preview.rb +195 -157
- data/lib/aspera/cli/plugins/server.rb +141 -91
- data/lib/aspera/cli/plugins/shares.rb +343 -110
- data/lib/aspera/cli/preset_actions.rb +159 -0
- data/lib/aspera/cli/preset_manager.rb +82 -39
- data/lib/aspera/cli/result.rb +78 -26
- data/lib/aspera/cli/runner.rb +323 -153
- data/lib/aspera/cli/secret_finder.rb +40 -0
- data/lib/aspera/cli/special_values.rb +1 -0
- data/lib/aspera/cli/sync_actions.rb +89 -64
- data/lib/aspera/cli/terminal_formatter.rb +3 -3
- data/lib/aspera/cli/transfer_actions.rb +90 -0
- data/lib/aspera/cli/transfer_agent.rb +129 -64
- data/lib/aspera/cli/transfer_progress.rb +9 -9
- data/lib/aspera/cli/vault_manager.rb +79 -0
- data/lib/aspera/cli/version.rb +1 -1
- data/lib/aspera/cli/wizard.rb +28 -30
- data/lib/aspera/colors.rb +3 -3
- data/lib/aspera/command_line_builder.rb +34 -34
- data/lib/aspera/command_line_converter.rb +1 -1
- data/lib/aspera/coverage.rb +1 -2
- data/lib/aspera/data_repository.rb +2 -1
- data/lib/aspera/dot_container.rb +12 -12
- data/lib/aspera/environment.rb +30 -23
- data/lib/aspera/exec_spec.rb +13 -0
- data/lib/aspera/faspex_gw.rb +5 -5
- data/lib/aspera/faspex_postproc.rb +16 -10
- data/lib/aspera/graphql.rb +37 -0
- data/lib/aspera/hash_ext.rb +8 -2
- data/lib/aspera/json_rpc/client.rb +62 -0
- data/lib/aspera/json_rpc/version.rb +7 -0
- data/lib/aspera/keychain/base.rb +10 -3
- data/lib/aspera/keychain/encrypted_hash.rb +92 -17
- data/lib/aspera/keychain/factory.rb +20 -8
- data/lib/aspera/keychain/hashicorp_vault.rb +1 -1
- data/lib/aspera/keychain/macos_security.rb +23 -25
- data/lib/aspera/keychain/one_password_api.rb +86 -0
- data/lib/aspera/keychain/one_password_base.rb +34 -0
- data/lib/aspera/keychain/one_password_cli.rb +98 -0
- data/lib/aspera/link_header.rb +82 -0
- data/lib/aspera/log.rb +29 -15
- data/lib/aspera/markdown.rb +90 -7
- data/lib/aspera/nagios.rb +8 -8
- data/lib/aspera/node_simulator.rb +35 -27
- data/lib/aspera/oauth/base.rb +9 -10
- data/lib/aspera/oauth/boot.rb +5 -5
- data/lib/aspera/oauth/factory.rb +12 -10
- data/lib/aspera/oauth/jwt.rb +9 -11
- data/lib/aspera/oauth/web.rb +6 -6
- data/lib/aspera/persistency_action_once.rb +12 -12
- data/lib/aspera/persistency_folder.rb +18 -11
- data/lib/aspera/preview/file_types.rb +5 -5
- data/lib/aspera/preview/generator.rb +52 -49
- data/lib/aspera/preview/options.rb +3 -2
- data/lib/aspera/preview/terminal.rb +5 -5
- data/lib/aspera/preview/utils.rb +66 -19
- data/lib/aspera/products/connect.rb +2 -2
- data/lib/aspera/products/desktop.rb +1 -1
- data/lib/aspera/products/other.rb +3 -3
- data/lib/aspera/products/transferd.rb +4 -4
- data/lib/aspera/proxy_auto_config.rb +15 -14
- data/lib/aspera/rest.rb +159 -151
- data/lib/aspera/rest_error_analyzer.rb +6 -6
- data/lib/aspera/rest_errors_aspera.rb +0 -10
- data/lib/aspera/rest_list.rb +11 -10
- data/lib/aspera/schema/IBM Aspera Node API-4.4.6.yaml +6232 -0
- data/lib/aspera/schema/IBM Aspera faspio Gateway API-1.0.0.yaml +249 -0
- data/lib/aspera/schema/IBM Aspera on Cloud API-0.2.6-enhanced.yaml +1853 -510
- data/lib/aspera/schema/IBM_Aspera_Shares.yaml +4653 -0
- data/lib/aspera/schema/documentation.rb +65 -28
- data/lib/aspera/schema/reader.rb +136 -13
- data/lib/aspera/schema/registry.rb +60 -8
- data/lib/aspera/secret_hider.rb +12 -7
- data/lib/aspera/ssh.rb +64 -31
- data/lib/aspera/ssl.rb +5 -5
- data/lib/aspera/sync/conf.schema.yaml +2 -2
- data/lib/aspera/sync/database.rb +2 -2
- data/lib/aspera/sync/operations.rb +22 -25
- data/lib/aspera/temp_file_manager.rb +25 -5
- data/lib/aspera/timer_limiter.rb +1 -1
- data/lib/aspera/transfer/faux_file.rb +24 -11
- data/lib/aspera/transfer/parameters.rb +36 -34
- data/lib/aspera/transfer/result.rb +74 -0
- data/lib/aspera/transfer/resumer.rb +10 -10
- data/lib/aspera/transfer/spec.rb +18 -1
- data/lib/aspera/transfer/spec.schema.yaml +12 -3
- data/lib/aspera/uri_reader.rb +52 -15
- data/lib/aspera/web_auth.rb +8 -7
- data/lib/aspera/web_server_simple.rb +15 -12
- data/lib/aspera/yaml.rb +5 -4
- data.tar.gz.sig +0 -0
- metadata +34 -6
- metadata.gz.sig +0 -0
- data/lib/aspera/cli/manager.rb +0 -766
- data/lib/aspera/cli/plugins/faspex.rb +0 -539
- data/lib/aspera/json_rpc.rb +0 -52
- data/lib/aspera/transfer/uri.rb +0 -56
data/lib/aspera/yaml.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'aspera/assert'
|
|
3
4
|
require 'yaml'
|
|
4
5
|
|
|
5
6
|
module Aspera
|
|
@@ -14,7 +15,7 @@ module Aspera
|
|
|
14
15
|
return duplicate_keys unless node.respond_to?(:children)
|
|
15
16
|
if node.is_a?(Psych::Nodes::Mapping)
|
|
16
17
|
counts = Hash.new(0)
|
|
17
|
-
key_nodes = Hash.new{ |h, k| h[k] = []}
|
|
18
|
+
key_nodes = Hash.new { |h, k| h[k] = [] }
|
|
18
19
|
node.children.each_slice(2) do |key_node, value_node|
|
|
19
20
|
if key_node&.value
|
|
20
21
|
counts[key_node.value] += 1
|
|
@@ -25,11 +26,11 @@ module Aspera
|
|
|
25
26
|
counts.each do |key_str, count|
|
|
26
27
|
next if count <= 1
|
|
27
28
|
path = (parent_path + [key_str]).join('.')
|
|
28
|
-
occurrences = key_nodes[key_str].map{ |kn| kn.start_line ? kn.start_line + 1 : 'unknown'}.join(', ')
|
|
29
|
+
occurrences = key_nodes[key_str].map { |kn| kn.start_line ? kn.start_line + 1 : 'unknown' }.join(', ')
|
|
29
30
|
duplicate_keys << "#{path}: #{occurrences}"
|
|
30
31
|
end
|
|
31
32
|
else
|
|
32
|
-
node.children.to_a.each{ |child| find_duplicate_keys(child, parent_path, duplicate_keys)}
|
|
33
|
+
node.children.to_a.each { |child| find_duplicate_keys(child, parent_path, duplicate_keys) }
|
|
33
34
|
end
|
|
34
35
|
duplicate_keys
|
|
35
36
|
end
|
|
@@ -42,7 +43,7 @@ module Aspera
|
|
|
42
43
|
# @raise [RuntimeError] If duplicate keys are found
|
|
43
44
|
def safe_load(yaml)
|
|
44
45
|
duplicate_keys = find_duplicate_keys(Psych.parse_stream(yaml))
|
|
45
|
-
|
|
46
|
+
Aspera.assert(duplicate_keys.empty?) { "Duplicate keys: #{duplicate_keys.join('; ')}" }
|
|
46
47
|
YAML.safe_load(yaml, permitted_classes: [Time, Date, Symbol])
|
|
47
48
|
end
|
|
48
49
|
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aspera-cli
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.27.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Laurent Martin
|
|
@@ -317,8 +317,11 @@ files:
|
|
|
317
317
|
- CHANGELOG.md
|
|
318
318
|
- CONTRIBUTING.md
|
|
319
319
|
- README.md
|
|
320
|
+
- TODO.md
|
|
320
321
|
- bin/ascli
|
|
321
322
|
- bin/asession
|
|
323
|
+
- docs/README.md
|
|
324
|
+
- docs/test-mcp-with-ai.md
|
|
322
325
|
- lib/aspera/agent/base.rb
|
|
323
326
|
- lib/aspera/agent/connect.rb
|
|
324
327
|
- lib/aspera/agent/desktop.rb
|
|
@@ -334,19 +337,30 @@ files:
|
|
|
334
337
|
- lib/aspera/api/faspex.rb
|
|
335
338
|
- lib/aspera/api/httpgw.rb
|
|
336
339
|
- lib/aspera/api/node.rb
|
|
340
|
+
- lib/aspera/api/queries/bss_subscription_account.graphql
|
|
341
|
+
- lib/aspera/api/queries/bss_subscription_usage.graphql
|
|
337
342
|
- lib/aspera/ascmd.rb
|
|
338
343
|
- lib/aspera/ascp/installation.rb
|
|
339
344
|
- lib/aspera/ascp/management.rb
|
|
340
345
|
- lib/aspera/assert.rb
|
|
346
|
+
- lib/aspera/cli/ascp_actions.rb
|
|
347
|
+
- lib/aspera/cli/async_transfer_store.rb
|
|
348
|
+
- lib/aspera/cli/bootstrapper.rb
|
|
349
|
+
- lib/aspera/cli/command_registry.rb
|
|
350
|
+
- lib/aspera/cli/command_spec.rb
|
|
341
351
|
- lib/aspera/cli/context.rb
|
|
342
352
|
- lib/aspera/cli/error.rb
|
|
343
353
|
- lib/aspera/cli/extended_value.rb
|
|
344
354
|
- lib/aspera/cli/formatter.rb
|
|
355
|
+
- lib/aspera/cli/gem_checker.rb
|
|
345
356
|
- lib/aspera/cli/hints.rb
|
|
346
357
|
- lib/aspera/cli/http.rb
|
|
347
358
|
- lib/aspera/cli/info.rb
|
|
348
|
-
- lib/aspera/cli/
|
|
359
|
+
- lib/aspera/cli/mailer.rb
|
|
360
|
+
- lib/aspera/cli/mcp_tool.rb
|
|
361
|
+
- lib/aspera/cli/option_declarator.rb
|
|
349
362
|
- lib/aspera/cli/options.schema.yaml
|
|
363
|
+
- lib/aspera/cli/parser.rb
|
|
350
364
|
- lib/aspera/cli/plugins/alee.rb
|
|
351
365
|
- lib/aspera/cli/plugins/aoc.rb
|
|
352
366
|
- lib/aspera/cli/plugins/ats.rb
|
|
@@ -356,24 +370,28 @@ files:
|
|
|
356
370
|
- lib/aspera/cli/plugins/console.rb
|
|
357
371
|
- lib/aspera/cli/plugins/cos.rb
|
|
358
372
|
- lib/aspera/cli/plugins/factory.rb
|
|
359
|
-
- lib/aspera/cli/plugins/faspex.rb
|
|
360
373
|
- lib/aspera/cli/plugins/faspex5.rb
|
|
361
374
|
- lib/aspera/cli/plugins/faspio.rb
|
|
362
375
|
- lib/aspera/cli/plugins/httpgw.rb
|
|
376
|
+
- lib/aspera/cli/plugins/mcp.rb
|
|
363
377
|
- lib/aspera/cli/plugins/node.rb
|
|
364
378
|
- lib/aspera/cli/plugins/oauth.rb
|
|
365
379
|
- lib/aspera/cli/plugins/orchestrator.rb
|
|
366
380
|
- lib/aspera/cli/plugins/preview.rb
|
|
367
381
|
- lib/aspera/cli/plugins/server.rb
|
|
368
382
|
- lib/aspera/cli/plugins/shares.rb
|
|
383
|
+
- lib/aspera/cli/preset_actions.rb
|
|
369
384
|
- lib/aspera/cli/preset_manager.rb
|
|
370
385
|
- lib/aspera/cli/result.rb
|
|
371
386
|
- lib/aspera/cli/runner.rb
|
|
387
|
+
- lib/aspera/cli/secret_finder.rb
|
|
372
388
|
- lib/aspera/cli/special_values.rb
|
|
373
389
|
- lib/aspera/cli/sync_actions.rb
|
|
374
390
|
- lib/aspera/cli/terminal_formatter.rb
|
|
391
|
+
- lib/aspera/cli/transfer_actions.rb
|
|
375
392
|
- lib/aspera/cli/transfer_agent.rb
|
|
376
393
|
- lib/aspera/cli/transfer_progress.rb
|
|
394
|
+
- lib/aspera/cli/vault_manager.rb
|
|
377
395
|
- lib/aspera/cli/version.rb
|
|
378
396
|
- lib/aspera/cli/wizard.rb
|
|
379
397
|
- lib/aspera/colors.rb
|
|
@@ -389,18 +407,25 @@ files:
|
|
|
389
407
|
- lib/aspera/data_repository.rb
|
|
390
408
|
- lib/aspera/dot_container.rb
|
|
391
409
|
- lib/aspera/environment.rb
|
|
410
|
+
- lib/aspera/exec_spec.rb
|
|
392
411
|
- lib/aspera/faspex_gw.rb
|
|
393
412
|
- lib/aspera/faspex_postproc.rb
|
|
394
413
|
- lib/aspera/formatter_interface.rb
|
|
414
|
+
- lib/aspera/graphql.rb
|
|
395
415
|
- lib/aspera/hash_ext.rb
|
|
396
416
|
- lib/aspera/id_generator.rb
|
|
397
|
-
- lib/aspera/json_rpc.rb
|
|
417
|
+
- lib/aspera/json_rpc/client.rb
|
|
418
|
+
- lib/aspera/json_rpc/version.rb
|
|
398
419
|
- lib/aspera/keychain/base.rb
|
|
399
420
|
- lib/aspera/keychain/encrypted_hash.rb
|
|
400
421
|
- lib/aspera/keychain/factory.rb
|
|
401
422
|
- lib/aspera/keychain/hashicorp_vault.rb
|
|
402
423
|
- lib/aspera/keychain/macos_security.rb
|
|
424
|
+
- lib/aspera/keychain/one_password_api.rb
|
|
425
|
+
- lib/aspera/keychain/one_password_base.rb
|
|
426
|
+
- lib/aspera/keychain/one_password_cli.rb
|
|
403
427
|
- lib/aspera/line_logger.rb
|
|
428
|
+
- lib/aspera/link_header.rb
|
|
404
429
|
- lib/aspera/log.rb
|
|
405
430
|
- lib/aspera/markdown.rb
|
|
406
431
|
- lib/aspera/nagios.rb
|
|
@@ -434,7 +459,10 @@ files:
|
|
|
434
459
|
- lib/aspera/rest_errors_aspera.rb
|
|
435
460
|
- lib/aspera/rest_list.rb
|
|
436
461
|
- lib/aspera/schema/IBM Aspera Faspex API-5.0-enhanced.yaml
|
|
462
|
+
- lib/aspera/schema/IBM Aspera Node API-4.4.6.yaml
|
|
463
|
+
- lib/aspera/schema/IBM Aspera faspio Gateway API-1.0.0.yaml
|
|
437
464
|
- lib/aspera/schema/IBM Aspera on Cloud API-0.2.6-enhanced.yaml
|
|
465
|
+
- lib/aspera/schema/IBM_Aspera_Shares.yaml
|
|
438
466
|
- lib/aspera/schema/async_tables.yaml
|
|
439
467
|
- lib/aspera/schema/documentation.rb
|
|
440
468
|
- lib/aspera/schema/reader.rb
|
|
@@ -451,10 +479,10 @@ files:
|
|
|
451
479
|
- lib/aspera/transfer/error.rb
|
|
452
480
|
- lib/aspera/transfer/faux_file.rb
|
|
453
481
|
- lib/aspera/transfer/parameters.rb
|
|
482
|
+
- lib/aspera/transfer/result.rb
|
|
454
483
|
- lib/aspera/transfer/resumer.rb
|
|
455
484
|
- lib/aspera/transfer/spec.rb
|
|
456
485
|
- lib/aspera/transfer/spec.schema.yaml
|
|
457
|
-
- lib/aspera/transfer/uri.rb
|
|
458
486
|
- lib/aspera/uri_reader.rb
|
|
459
487
|
- lib/aspera/web_auth.rb
|
|
460
488
|
- lib/aspera/web_server_simple.rb
|
|
@@ -486,7 +514,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
486
514
|
version: '0'
|
|
487
515
|
requirements:
|
|
488
516
|
- Read the manual for any requirement
|
|
489
|
-
rubygems_version: 4.0.
|
|
517
|
+
rubygems_version: 4.0.20
|
|
490
518
|
specification_version: 4
|
|
491
519
|
summary: 'Execute actions using command line on IBM Aspera Server products: Aspera
|
|
492
520
|
on Cloud, Faspex, Shares, Node, Console, Orchestrator, High Speed Transfer Server'
|
metadata.gz.sig
CHANGED
|
Binary file
|