1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
// Copyright 2025 Lablup Inc. and Jeongkyu Shin
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//! Argument definitions for the `all-smi config` subcommand (issue
//! #192). Re-exported from `cli` for ergonomic `use crate::cli::...`
//! call sites; split here so the main CLI file stays below the 500-line
//! soft limit.
use PathBuf;
use ;
/// Arguments for the `all-smi config` subcommand (issue #192).
/// `config` sub-subcommands. See the issue for the contract; briefly:
///
/// - `config init [--force]` writes a commented example config to the
/// platform-canonical path.
/// - `config print [--format toml|json] [--show-secrets]` prints the
/// merged effective configuration, with `webhook_url` redacted unless
/// `--show-secrets` is set.
/// - `config validate [<path>] [--strict]` parses the given (or default)
/// file and reports any errors, exiting 0 on valid and 2 on invalid.
/// - `config path [--json]` (issue #213) prints the active config path
/// plus the candidate search order, with no file writes — strictly
/// read-only for discovery and scripting.
/// Output format for `config print`.
/// Arguments for `all-smi config path` (issue #213).
///
/// Read-only discovery — the runner only reads `paths::*` helpers and
/// `Path::exists()`, never writes to disk. Honours the global
/// `--config <PATH>` override: when set, that path becomes the
/// "active" line and the candidate-search list is suppressed (it would
/// be misleading — discovery never runs when `--config` is explicit).