@succsoft/succapp 5.0.8 → 5.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +6 -4
- package/dist/cli/l10n/bundle.l10n.json +1693 -542
- package/dist/cli/l10n/bundle.l10n.zh-cn.json +1624 -473
- package/dist/cli/succapp.js +297 -188
- package/package.json +1 -1
- package/resources/contents.properties +0 -1
|
@@ -1,71 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common.err.unexpected": "Unexpected error.",
|
|
3
|
-
"err.
|
|
4
|
-
"err.
|
|
5
|
-
"err.base.
|
|
6
|
-
"err.
|
|
7
|
-
"err.
|
|
8
|
-
"err.
|
|
9
|
-
"err.
|
|
10
|
-
"err.
|
|
11
|
-
"err.
|
|
12
|
-
"err.
|
|
13
|
-
"err.
|
|
14
|
-
"err.
|
|
15
|
-
"err.
|
|
16
|
-
"err.
|
|
17
|
-
"err.
|
|
18
|
-
"err.
|
|
19
|
-
"err.
|
|
20
|
-
"err.server.threadTaskChanged.desc": "Inspect the thread again and use its current cancel serial.",
|
|
21
|
-
"err.server.threadNotCancelable": "Thread {threadId} has no cancelable product task.",
|
|
22
|
-
"err.login.notlogin": "Authentication failed, please log in again",
|
|
23
|
-
"err.login.notlogin.hint": "Log in again, then retry the command.",
|
|
24
|
-
"err.login.busy": "The system is busy. Please try later!",
|
|
25
|
-
"err.login.busy.desc": "Possible causes include license limits on sessions or users, or database connection/query failures.",
|
|
26
|
-
"err.oauth2.tokenExpired": "OAuth2 access token expired.",
|
|
27
|
-
"err.login.oauthTimeout": "OAuth2 authorization timed out.",
|
|
28
|
-
"err.login.oauthTimeout.desc": "Restart login, complete authorization in the browser, or use PAT login in environments without a browser.",
|
|
29
|
-
"err.login.oauthStateMismatch": "OAuth2 authorization state does not match.",
|
|
30
|
-
"err.login.oauthStateMismatch.desc": "Restart login and complete authorization from the newly opened browser page.",
|
|
31
|
-
"err.login.oauthInvalidCallback": "Invalid OAuth2 authorization callback.",
|
|
32
|
-
"err.login.oauthInvalidCallback.desc": "Restart login and complete authorization in the browser.",
|
|
33
|
-
"err.login.oauthLoopbackFailed": "Cannot start local OAuth2 callback server.",
|
|
34
|
-
"err.login.oauthLoopbackFailed.desc": "Check whether local loopback access is blocked, then retry or use PAT login.",
|
|
35
|
-
"err.login.oauthTokenInvalid": "Invalid OAuth2 token response.",
|
|
36
|
-
"err.login.oauthTokenInvalid.desc": "Check the server version and OAuth2 configuration, then retry.",
|
|
37
|
-
"err.sync.conflict": "Remote version has changed: {remotePath}",
|
|
38
|
-
"err.sync.conflict.desc": "Please pull or diff before pushing. Reason: {reason}",
|
|
39
|
-
"err.sync.projectUnavailable": "Cannot {actionName} unavailable remote project(s): {paths}",
|
|
40
|
-
"err.sync.projectUnavailable.desc": "Check the server, user, project permissions, and project name before retrying.",
|
|
41
|
-
"err.sync.projectUnavailable.hint": "Run 'succapp server project list' to see projects visible to the current login, then retry with an exact project name.",
|
|
42
|
-
"err.sync.projectNotFound": "Workspace project does not exist: {projectNames}",
|
|
43
|
-
"err.sync.projectRootRenameUnsupported": "Cannot {actionName} renamed remote project(s): {paths}",
|
|
44
|
-
"err.sync.projectRootRenameUnsupported.desc": "Applying a project rename is not supported yet. Re-clone the renamed project or rename it locally to match.",
|
|
45
|
-
"err.sync.pathOutOfScope": "This file is not within the sync scope: {remotePath}",
|
|
46
|
-
"err.extension.sysdataNotCloned": "Cannot create an extension because the sysdata project is not cloned in this workspace.",
|
|
47
|
-
"err.extension.sysdataNotCloned.desc": "Clone the sysdata project, then retry.",
|
|
48
|
-
"err.extension.templateUnavailable": "The connected server has not provided any extension template.",
|
|
49
|
-
"err.extension.rootUnresolved": "Cannot resolve extension root from input.",
|
|
50
|
-
"err.extension.rootUnresolved.desc": "Provide an extensionName or a path inside an extension.",
|
|
51
|
-
"err.extension.rootNotFound": "Extension directory does not exist: {extensionRoot}",
|
|
52
|
-
"err.workspace.problem": "Workspace sync problem detected.",
|
|
53
|
-
"err.workspace.problem.desc": "Run 'succapp workspace repair --dry-run' or 'succapp workspace repair' before retrying operations that require a complete local sync baseline.",
|
|
54
|
-
"err.net.invalidUrl": "Invalid URL: {url}",
|
|
55
|
-
"err.meta.invalidPath": "Invalid metadata path",
|
|
56
|
-
"err.meta.invalidPath.desc": "Use a valid absolute metadata path and try again.",
|
|
57
|
-
"err.meta.invalidPath.relativeSearchQuery": "Relative search paths are not supported: {path}",
|
|
58
|
-
"err.meta.invalidPath.relativeSearchQuery.hint": "Use an absolute path beginning with '/', or a file name without '/'.",
|
|
59
|
-
"err.meta.invalidPath.parentDirGlob": "Glob wildcards are not supported in --parent-dir: {path}",
|
|
60
|
-
"err.meta.invalidPath.parentDirGlob.hint": "--parent-dir already searches recursively. Use --path='/DIR/*' to match direct children or --path for another glob.",
|
|
61
|
-
"err.meta.invalidPath.parentProjectMismatch": "Parent directory {path} does not belong to project {projectName}.",
|
|
62
|
-
"err.meta.invalidPath.parentProjectMismatch.hint": "Use a parent directory whose first path segment matches --project.",
|
|
63
|
-
"err.meta.projectExist": "A project with the same name already exists.",
|
|
64
|
-
"err.meta.projectname.illegal": "Invalid project name. Use letters, numbers, and underscores only, and keep it within 16 characters.",
|
|
65
|
-
"err.meta.projectname.reservedwords": "This project name is reserved by the system.",
|
|
3
|
+
"err.base.invalidParameter": "The parameters are invalid",
|
|
4
|
+
"err.base.invalidParameter.exactlyOne": "Exactly one component identity is required: --component or --component-type.",
|
|
5
|
+
"err.base.invalidParameter.exactlyOne.hint": "Use --component=<id> for a component in a server page, or --component-type=<type> for a type query; do not supply both.",
|
|
6
|
+
"err.base.invalidParameter.unknownMethod": "The current component does not declare method \"{value}\".",
|
|
7
|
+
"err.base.invalidParameter.unknownMethod.hint": "Run succapp dev component-method list <target> with the same --component or --component-type, then use an exact method ID from the result.",
|
|
8
|
+
"err.base.invalidParameter.notInUsage": "Property \"{value}\" is not a candidate for usage \"{usage}\".",
|
|
9
|
+
"err.base.invalidParameter.notInUsage.hint": "Keep the same component identity and add --usage=metadata to check all static properties. If found, inspect it with that usage; otherwise check the property name, component type and matching DTS.",
|
|
10
|
+
"err.base.invalidParameter.unknownComponentType": "Unknown component type: {value}.",
|
|
11
|
+
"err.base.invalidParameter.unknownType.hint": "Run succapp dev component list <target> --json to find applicable types. Check the exact type name and, for property queries, the --kind category.",
|
|
12
|
+
"err.base.invalidParameter.unknownComponent": "Component ID {value} was not found in the saved server page.",
|
|
13
|
+
"err.base.invalidParameter.unknownComponent.hint": "Inspect the saved server page with succapp server file show <target>. Use the component ID rather than its caption; push local changes before querying new components.",
|
|
14
|
+
"err.base.invalidParameter.ambiguousComponent": "Component ID {value} matches more than one component in the server page.",
|
|
15
|
+
"err.base.invalidParameter.ambiguousComponent.hint": "Give components unique IDs, push the corrected page and retry with the intended component ID.",
|
|
16
|
+
"err.base.invalidParameter.unknownLayout": "Unknown layout type: {value}.",
|
|
17
|
+
"err.base.invalidParameter.unknownLayout.hint": "Use dev layout list to check layout IDs for the same component. If the server has no definition, check the corresponding layout extension.",
|
|
18
|
+
"err.base.invalidParameter.unsupportedPageContext": "Component instance queries are not supported for this page or category.",
|
|
19
|
+
"err.base.invalidParameter.pageContext.hint": "Use --component only for components in saved SPG or dashboard pages. For other supported categories, query by --component-type instead.",
|
|
66
20
|
"err.file.invalidPath": "Invalid or unsafe file path: {path}",
|
|
21
|
+
"err.file.invalidPath.empty": "Path must not be empty.",
|
|
22
|
+
"err.file.invalidPath.empty.hint": "Omit the parameter to use its documented default, or use . for the current directory.",
|
|
23
|
+
"err.file.noMatch": "No local files matched: {path}",
|
|
24
|
+
"err.file.noMatch.hint": "Check the execution directory, path and filename case. Quote globs; directories must contain files the command can process. Relative paths use the execution directory after -C. Every supplied expression must match before the command can proceed.",
|
|
67
25
|
"err.file.notFound": "Path does not exist: {path}",
|
|
26
|
+
"err.file.notFound.hint": "Check the path and filename case. Relative paths use the execution directory after -C. If the file is elsewhere, use its correct local path or select the execution directory with -C.",
|
|
68
27
|
"err.file.notDirectory": "Path is not a directory: {path}",
|
|
28
|
+
"err.workspace.pathOutOfScope": "Local path is outside the metadata scope of workspace {workspace}: {path}",
|
|
29
|
+
"err.workspace.pathOutOfScope.hint": "Provide a local metadata path within the specified workspace; check the path and its base directory.",
|
|
30
|
+
"err.workspace.pathOutOfScope.notProject": "Cannot identify the file's metadata project in workspace {workspace}: {path}",
|
|
31
|
+
"err.workspace.pathOutOfScope.notProject.hint": "Check local projects with workspace project list. A folder containing only downloaded files may lack project-level .meta; see workspace project clone --help --json to prepare its project. If the file belongs to another workspace, select it with -C. Do not fabricate .meta files.",
|
|
32
|
+
"err.workspace.required": "No SuccApp workspace is available. Open an existing SuccApp workspace or initialize the current folder first.",
|
|
33
|
+
"err.workspace.activeFileRequired": "Open a file before {actionName}.",
|
|
34
|
+
"err.workspace.problem": "Workspace sync problem detected.",
|
|
35
|
+
"err.workspace.problem.desc": "Inspect and repair workspace problems before retrying operations that require a complete local synchronization baseline.",
|
|
69
36
|
"err.workspace.sameServerUrl": "New server URL must be different from the current URL.",
|
|
70
37
|
"err.workspace.serverAlreadyExists": "Server already exists: {duplicatedServer}",
|
|
71
38
|
"err.workspace.issue.E201": "workspace config is missing",
|
|
@@ -74,38 +41,45 @@
|
|
|
74
41
|
"err.workspace.issue.E204": "workspace active server does not match the requested server",
|
|
75
42
|
"err.workspace.issue.E205": "active server is required for this workspace maintenance task",
|
|
76
43
|
"err.workspace.issue.E206": "workspace maintenance task is not implemented",
|
|
77
|
-
"err.workspace.issue.E301": "local
|
|
78
|
-
"err.workspace.issue.E302": "local
|
|
79
|
-
"err.workspace.issue.E303": "local
|
|
80
|
-
"err.workspace.issue.E304": "local
|
|
81
|
-
"err.workspace.issue.E305": "workspace project is missing local
|
|
82
|
-
"err.workspace.issue.E306": "local
|
|
44
|
+
"err.workspace.issue.E301": "local synchronization baseline resource type does not match .meta",
|
|
45
|
+
"err.workspace.issue.E302": "local synchronization baseline records a resource that is missing on disk",
|
|
46
|
+
"err.workspace.issue.E303": "local synchronization baseline .meta is missing",
|
|
47
|
+
"err.workspace.issue.E304": "local synchronization baseline .meta is unreadable",
|
|
48
|
+
"err.workspace.issue.E305": "workspace project is missing local synchronization baseline",
|
|
49
|
+
"err.workspace.issue.E306": "local synchronization baseline is still incomplete after fetch",
|
|
83
50
|
"err.workspace.issue.E307": "current login cannot see matching project on current server",
|
|
84
51
|
"err.workspace.issue.E401": "recommended workspace settings are missing",
|
|
85
52
|
"err.workspace.issue.E402": "SuccApp .gitignore rules are missing",
|
|
86
53
|
"err.workspace.issue.E403": "AI agent workspace files are missing",
|
|
87
54
|
"err.workspace.issue.E404": "TypeScript support files are missing",
|
|
88
55
|
"err.workspace.issue.E405": "Metadata validation support files are missing",
|
|
89
|
-
"err.workspace.issue.E405.hint": "
|
|
90
|
-
"err.workspace.issue.E407": "SuccApp
|
|
91
|
-
"err.
|
|
92
|
-
"err.
|
|
93
|
-
"err.
|
|
94
|
-
"err.
|
|
95
|
-
"err.
|
|
96
|
-
"err.
|
|
97
|
-
"err.
|
|
98
|
-
"err.
|
|
99
|
-
"err.
|
|
100
|
-
"err.
|
|
101
|
-
"err.
|
|
102
|
-
"err.
|
|
103
|
-
"err.
|
|
56
|
+
"err.workspace.issue.E405.hint": "Initialize development support files, then retry.",
|
|
57
|
+
"err.workspace.issue.E407": "Official SuccApp documentation Skill files are missing",
|
|
58
|
+
"err.workspace.activeConnectionRequired": "Cannot {actionName} without an available server connection.",
|
|
59
|
+
"err.server.templateNotFound": "Template {id} was not found at {path} for type {type}.",
|
|
60
|
+
"err.server.themeNotFound": "Theme {theme} is not available at {target}.",
|
|
61
|
+
"err.server.startupFailed": "Server startup failed",
|
|
62
|
+
"err.server.startupFailed.desc": "Server initialization has failed; waiting alone will not resolve it.",
|
|
63
|
+
"err.server.startupFailed.hint": "Diagnose and resolve the startup failure before retrying the command.",
|
|
64
|
+
"err.server.notReady": "Server is not ready",
|
|
65
|
+
"err.server.notReady.desc": "The server has not completed startup and initialization.",
|
|
66
|
+
"err.server.notReady.hint": "Wait a moment and retry. If this persists, inspect server status and logs.",
|
|
67
|
+
"err.server.capabilityUnsupported": "Server {serverUrl} does not support capability {capability}.",
|
|
68
|
+
"err.server.capabilityUnsupported.desc": "Upgrade the server to a version that supports the required functionality, then retry.",
|
|
69
|
+
"err.server.clusterNodeNotFound": "Cluster node {nodeId} is not in the current snapshot.",
|
|
70
|
+
"err.server.clusterNodeNotFound.desc": "Check the current cluster snapshot and confirm the node ID.",
|
|
71
|
+
"err.server.threadNotFound": "Thread {threadId} no longer exists.",
|
|
72
|
+
"err.server.threadNotFound.desc": "Obtain a current thread snapshot before retrying.",
|
|
73
|
+
"err.server.threadTaskChanged": "The cancelable task on thread {threadId} has changed.",
|
|
74
|
+
"err.server.threadTaskChanged.desc": "Inspect the thread again and use its current cancellation serial.",
|
|
75
|
+
"err.server.threadNotCancelable": "Thread {threadId} has no cancelable product task.",
|
|
76
|
+
"err.server.expressionFunctionNotFound": "Expression function {name} was not found in the effective catalog.",
|
|
77
|
+
"err.cli.httpResourceNotFound": "Server resource not found (HTTP 404): {path}. Check the resource path; for DTS, follow the type index or the help entry.",
|
|
104
78
|
"err.cli.unknownCommand": "Unknown command: {commandName}",
|
|
105
|
-
"err.cli.unknownCommand.hint": "
|
|
106
|
-
"err.cli.unknownCommand.suggestion.hint": "Did you mean:{commands}",
|
|
79
|
+
"err.cli.unknownCommand.hint": "Check the available commands and their usage.",
|
|
107
80
|
"err.cli.invalidInvocation": "Found {count} usage issue(s).",
|
|
108
81
|
"err.cli.invalidInvocation.hint": "Fix the listed usage issues and retry.",
|
|
82
|
+
"err.cli.duplicateOption": "Option may only be specified once: {option}",
|
|
109
83
|
"err.cli.unknownOption": "Unknown option: {option}",
|
|
110
84
|
"err.cli.missingOptionValue": "Option requires a value: {option}",
|
|
111
85
|
"err.cli.unexpectedOptionValue": "Option does not take a value: {option}",
|
|
@@ -133,6 +107,8 @@
|
|
|
133
107
|
"err.cli.invalidChoice.hint": "Expected one of: {allowedValues}.",
|
|
134
108
|
"err.cli.invalidChoice.namedLogger": "Invalid logger name: {value}.",
|
|
135
109
|
"err.cli.invalidChoice.namedLogger.hint": "Use an exact named logger; root and wildcards are not allowed.",
|
|
110
|
+
"err.cli.invalidChoice.labelFilter": "Invalid label expression: {value}.",
|
|
111
|
+
"err.cli.invalidChoice.labelFilter.hint": "Join required labels with &, alternatives with |, and exclude labels with !, for example 'page-full|texture&!map'. Parentheses and missing labels are not supported.",
|
|
136
112
|
"err.cli.invalidKeyValue": "Invalid key=value for {input}: {value}.",
|
|
137
113
|
"err.cli.invalidKeyValue.hint": "Use key=value.",
|
|
138
114
|
"err.cli.invalidNonEmptyKeyValue": "Invalid key=value for {input}: {value}.",
|
|
@@ -141,18 +117,20 @@
|
|
|
141
117
|
"err.cli.invalidReadableFile": "Input file is not readable: {source}.",
|
|
142
118
|
"err.cli.invalidRegularFile": "Input path is not a regular file: {source}.",
|
|
143
119
|
"err.cli.invalidWorkspace": "Not a SuccApp workspace: {source}.",
|
|
144
|
-
"err.cli.invalidWorkspace.hint": "
|
|
120
|
+
"err.cli.invalidWorkspace.hint": "Initialize the target folder or select an existing SuccApp workspace.",
|
|
145
121
|
"err.cli.invalidWorkspaceConfigJson": "Workspace config is corrupted: {source}.",
|
|
146
122
|
"err.cli.unconfiguredServer": "Server is not configured in the current workspace: {value}.",
|
|
123
|
+
"err.cli.unconfiguredServer.hint": "Check configured servers. Adding a server also makes it the active workspace server.",
|
|
147
124
|
"err.cli.serverMismatch": "Server does not match the active workspace server: {value}.",
|
|
148
|
-
"err.cli.serverMismatch.hint": "Expected active server: {expected}.",
|
|
149
|
-
"err.cli.serverCapabilityUnavailable": "The
|
|
125
|
+
"err.cli.serverMismatch.hint": "Expected active server: {expected}. Check configured servers before switching targets.",
|
|
126
|
+
"err.cli.serverCapabilityUnavailable": "The target server does not provide this capability: {capability}.",
|
|
150
127
|
"err.cli.serverCapabilityUnavailable.hint": "Upgrade the server to a compatible version, then retry.",
|
|
151
128
|
"err.cli.unsupportedAuthFlow": "Authentication flow is not implemented yet: {authType}.",
|
|
152
129
|
"err.cli.unsupportedAuthFlow.hint": "Use 'succapp auth login --pat <url>' and enter the PAT when prompted. Piped stdin is still supported for scripts.",
|
|
153
130
|
"err.cli.invalidExtensionName": "Invalid extension name: {value}.",
|
|
154
131
|
"err.cli.invalidExtensionName.hint": "Use <companyName>-<extensionPoint>-<shortName>.",
|
|
155
132
|
"err.cli.unknownExtensionTemplate": "Extension template is not available: {value}.",
|
|
133
|
+
"err.cli.unknownExtensionTemplate.hint": "Check available extension points and template names.",
|
|
156
134
|
"err.cli.confirmationRequired": "This operation requires confirmation.",
|
|
157
135
|
"err.cli.confirmationRequired.hint": "Pass {flag} after confirming the impact.",
|
|
158
136
|
"err.cli.confirmationRequired.dbSourceDelete": "Deleting this data source requires confirmation.",
|
|
@@ -165,27 +143,131 @@
|
|
|
165
143
|
"err.cli.confirmationRequired.outputOverwrite.desc": "Output file: {path}",
|
|
166
144
|
"err.cli.confirmationRequired.outputOverwrite.hint": "Confirm that overwriting this file is expected, then pass {flag}.",
|
|
167
145
|
"err.cli.confirmationRequired.threadTaskCancel": "Requesting task cancellation requires confirmation.",
|
|
168
|
-
"err.cli.confirmationRequired.threadTaskCancel.hint": "Inspect the current thread and
|
|
146
|
+
"err.cli.confirmationRequired.threadTaskCancel.hint": "Inspect the current thread and cancellation serial, then pass {flag}.",
|
|
169
147
|
"err.cli.confirmationRequired.logLevel": "Setting {logger} to {level} may produce excessive logs.",
|
|
170
148
|
"err.cli.confirmationRequired.logLevel.hint": "Review the target logger and impact, then pass {flag}.",
|
|
171
149
|
"err.cli.confirmationRequired.logCluster": "Applying the Logback configuration will replace the complete configuration on all reachable cluster nodes.",
|
|
172
150
|
"err.cli.confirmationRequired.logCluster.hint": "Review the source configuration and target cluster, then pass {flag}.",
|
|
173
|
-
"err.cli.confirmationRequired.cloneOverwrite": "Cloning would overwrite existing local
|
|
151
|
+
"err.cli.confirmationRequired.cloneOverwrite": "Cloning would overwrite existing local project path(s): {projectNames}.",
|
|
174
152
|
"err.cli.confirmationRequired.cloneOverwrite.hint": "Confirm the local project can be overwritten, then pass {flag}.",
|
|
153
|
+
"err.cli.confirmationRequired.cloneIncomplete": "Cloning would overwrite local project paths left by an interrupted clone: {projectNames}.",
|
|
154
|
+
"err.cli.confirmationRequired.cloneIncomplete.hint": "These files may contain local changes. Inspect and preserve any needed content, then pass {flag} to clone again.",
|
|
175
155
|
"err.cli.confirmationRequired.projRemove": "Removing local workspace project(s) requires confirmation: {projectNames}.",
|
|
176
|
-
"err.cli.confirmationRequired.projRemove.hint": "Confirm the local project files and
|
|
156
|
+
"err.cli.confirmationRequired.projRemove.hint": "Confirm the local project files and local synchronization baselines can be removed, then pass {flag}.",
|
|
177
157
|
"err.cli.confirmationRequired.discardAll": "Discarding all workspace changes requires confirmation.",
|
|
178
158
|
"err.cli.confirmationRequired.discardAll.hint": "Confirm all local workspace changes can be discarded, then pass {flag}.",
|
|
179
159
|
"err.cli.confirmationRequired.openLocalChanged": "The local workspace file has unpushed changes: {path}.",
|
|
180
160
|
"err.cli.confirmationRequired.openLocalChanged.desc": "The browser opens the server version, so it may show old content or 404 for a new file.",
|
|
181
161
|
"err.cli.confirmationRequired.openLocalChanged.hint": "Run 'succapp workspace push {path}' first, or pass {flag} to open the server page anyway.",
|
|
182
|
-
"err.
|
|
183
|
-
"err.
|
|
162
|
+
"err.cli.httpGetPath": "Invalid server resource path: {path}",
|
|
163
|
+
"err.cli.httpGetPath.hint": "Use a deployment-relative path starting with /, without a full URL, fragment or parent segments.",
|
|
164
|
+
"err.cli.templateTarget": "Use a tpg/dash/rpt/spg server file path without --file-type, or a directory with --file-type. Target: {target}, type: {fileType}.",
|
|
165
|
+
"err.cli.portalTemplateMissing": "TPG creation content has no valid settings.template; portal properties cannot be queried.",
|
|
166
|
+
"err.cli.templateShowSelection": "Provide a target with --name, or use --template alone. Do not combine these modes.",
|
|
167
|
+
"err.cli.resourceUnsupported": "The server does not support the {resource} query. Ask an administrator to check server and CLI version compatibility.",
|
|
168
|
+
"err.base.sourceInvalid": "Source or configuration content is invalid",
|
|
169
|
+
"err.base.cancel": "Cancelled.",
|
|
170
|
+
"err.base.operationFailed": "Operation failed",
|
|
171
|
+
"err.base.operationFailed.desc": "The operation could not be completed. Check the error details or contact the administrator.",
|
|
172
|
+
"err.net.connectionFailed": "Cannot connect to server: {url}{causeMessage}",
|
|
173
|
+
"err.net.connectionFailed.desc": "Check the server address, network connection and service availability, then retry once the server is reachable.",
|
|
174
|
+
"err.net.invalidUrl": "Invalid URL: {url}",
|
|
175
|
+
"err.net.invalidResponse": "Invalid remote response format",
|
|
176
|
+
"err.net.invalidResponse.desc": "The remote response does not match the current protocol requirements. Check the service version or contact the administrator.",
|
|
177
|
+
"err.net.invalidResponse.dbTableDescribeEmpty.hint": "Check whether data source {dataSource} and table {tableName} exist.",
|
|
184
178
|
"err.net.httpStatusUnexpected": "Unexpected HTTP response status",
|
|
185
179
|
"err.net.httpStatusUnexpected.desc": "The remote service returned an HTTP status that the caller cannot classify. Check the error details or contact the administrator.",
|
|
180
|
+
"err.cluster.nodeUnavailable": "Cluster node {clusterNode} is unavailable.",
|
|
181
|
+
"err.cluster.nodeUnavailable.desc": "The node may not be running, may have left the current cluster, or may be unreachable. Check its status and network connection, then retry.",
|
|
182
|
+
"err.login.notlogin": "Authentication failed, please log in again",
|
|
183
|
+
"err.login.notlogin.hint": "Log in again, then retry the command.",
|
|
184
|
+
"err.login.busy": "The system is busy and cannot log you in right now. Please try again later!",
|
|
185
|
+
"err.login.busy.desc": "Possible causes include license limits on sessions or users, or database connection/query failures.",
|
|
186
|
+
"err.login.oauthTimeout": "OAuth2 authorization timed out.",
|
|
187
|
+
"err.login.oauthTimeout.desc": "Restart login and complete browser authorization. PAT is an alternative when browser authorization is unavailable.",
|
|
188
|
+
"err.login.oauthStateMismatch": "OAuth2 authorization state does not match.",
|
|
189
|
+
"err.login.oauthStateMismatch.desc": "Restart login and complete authorization from the newly opened browser page.",
|
|
190
|
+
"err.login.oauthInvalidCallback": "Invalid OAuth2 authorization callback.",
|
|
191
|
+
"err.login.oauthInvalidCallback.desc": "Restart login and complete authorization in the browser.",
|
|
192
|
+
"err.login.oauthLoopbackFailed": "Cannot start local OAuth2 callback server.",
|
|
193
|
+
"err.login.oauthLoopbackFailed.desc": "Check whether local loopback access is blocked, then retry or use PAT login.",
|
|
194
|
+
"err.login.oauthTokenInvalid": "Invalid OAuth2 token response.",
|
|
195
|
+
"err.login.oauthTokenInvalid.desc": "Check the server version and OAuth2 configuration, then retry.",
|
|
196
|
+
"err.oauth2.tokenExpired": "OAuth2 access token expired.",
|
|
197
|
+
"err.sync.conflict": "Remote version has changed: {remotePath}",
|
|
198
|
+
"err.sync.conflict.desc": "Inspect sync status, including deletions, moves and metadata changes, before deciding how to proceed. An empty content diff does not prove that the conflict is resolved. Reason: {reason}",
|
|
199
|
+
"err.sync.projectUnavailable": "Cannot {actionName} unavailable remote project(s): {paths}",
|
|
200
|
+
"err.sync.projectUnavailable.desc": "Check the server, user, project permissions, and project name before retrying.",
|
|
201
|
+
"err.sync.projectUnavailable.hint": "Check projects visible to the current login, then retry with an exact project name.",
|
|
202
|
+
"err.sync.projectNotFound": "Workspace project does not exist: {projectNames}",
|
|
203
|
+
"err.sync.projectNotFound.hint": "Check local projects and projects available to clone from the server.",
|
|
204
|
+
"err.sync.projectRootRenameUnsupported": "Cannot {actionName} renamed remote project(s): {paths}",
|
|
205
|
+
"err.sync.projectRootRenameUnsupported.desc": "Applying a project rename is not supported yet. Re-clone the renamed project or rename it locally to match.",
|
|
206
|
+
"err.sync.pathOutOfScope": "This file is not within the sync scope: {remotePath}",
|
|
207
|
+
"err.extension.sysdataNotCloned": "Cannot create an extension because the sysdata project is not cloned in this workspace.",
|
|
208
|
+
"err.extension.sysdataNotCloned.desc": "Clone the sysdata project, then retry.",
|
|
209
|
+
"err.extension.templateUnavailable": "The connected server has not provided any extension template.",
|
|
210
|
+
"err.extension.rootUnresolved": "Cannot resolve extension root from input.",
|
|
211
|
+
"err.extension.rootUnresolved.desc": "Provide an extension name or a path inside an extension directory.",
|
|
212
|
+
"err.extension.rootNotFound": "Extension directory does not exist: {extensionRoot}",
|
|
213
|
+
"err.meta.invalidPath": "Invalid metadata path",
|
|
214
|
+
"err.meta.invalidPath.desc": "Use a valid absolute metadata path and try again.",
|
|
215
|
+
"err.meta.invalidPath.relativeSearchQuery": "Relative search paths are not supported: {path}",
|
|
216
|
+
"err.meta.invalidPath.relativeSearchQuery.hint": "Use an absolute path beginning with '/', or a file name without '/'.",
|
|
217
|
+
"err.meta.invalidPath.parentDirGlob": "Glob wildcards are not supported in --parent-dir: {path}",
|
|
218
|
+
"err.meta.invalidPath.parentDirGlob.hint": "--parent-dir already searches recursively. Use --path='/DIR/*' to match direct children or --path for another glob.",
|
|
219
|
+
"err.meta.invalidPath.parentProjectMismatch": "Parent directory {path} does not belong to project {projectName}.",
|
|
220
|
+
"err.meta.invalidPath.parentProjectMismatch.hint": "Use a parent directory whose first path segment matches --project.",
|
|
221
|
+
"err.meta.projectExist": "A project with the same name already exists.",
|
|
222
|
+
"err.meta.projectname.illegal": "Invalid project name. Use letters, numbers, and underscores only, and keep it within 16 characters.",
|
|
223
|
+
"err.meta.projectname.reservedwords": "This project name is reserved by the system.",
|
|
224
|
+
"err.lock.busy": "Cannot {attemptedCommand}: workspace scope {conflictScope} is held by another process.",
|
|
225
|
+
"err.lock.busy.desc": "Stop the running process and retry; locks left by crashed processes are cleaned up automatically on the next attempt.",
|
|
226
|
+
"err.lock.busy.hint": "Inspect lock holders and wait for the running SuccApp process to finish, then retry.",
|
|
227
|
+
"err.lock.fileBusy": "A local file lock is held by another process: {lockPath}.",
|
|
228
|
+
"err.lock.fileBusy.desc": "Wait for the current file operation to finish, then retry.",
|
|
229
|
+
"err.lock.fileBusy.hint": "Wait for the operation holding the lock to finish; do not delete a lock that is in use.",
|
|
230
|
+
"err.lock.fileCompromised": "The local file lock was lost and the operation stopped: {lockPath}.",
|
|
231
|
+
"err.lock.fileCompromised.desc": "Check the local files before retrying.",
|
|
232
|
+
"err.lock.compromised": "Workspace lock was taken over by another process; the current {attemptedCommand} has been aborted.",
|
|
233
|
+
"err.lock.compromised.desc": "Inspect workspace sync status before retrying.",
|
|
234
|
+
"err.db.connectorNotFound": "Database connector is not available: {name}.",
|
|
235
|
+
"err.db.connectorNotFound.hint": "Check the available database connectors.",
|
|
236
|
+
"err.db.tableNotFound": "Database table does not exist: {tableName}",
|
|
237
|
+
"err.db.nonReadOnlySql": "db query only runs read-only SQL. Use db exec for SQL that may change data or schema.",
|
|
238
|
+
"err.db.nonReadOnlySql.hint": "Review the SQL impact, then run 'succapp db exec {flag}'.",
|
|
186
239
|
"err.permission.denied": "Permission denied",
|
|
187
240
|
"err.permission.denied.desc": "The current account does not have permission to perform this operation.",
|
|
188
241
|
"err.permission.denied.hint": "Ask an administrator to grant the required permission, or retry with an authorized account.",
|
|
242
|
+
"err.base.invalidParameter.unknownEvent": "Event \"{value}\" is not listed for the current component.",
|
|
243
|
+
"err.base.invalidParameter.unknownEvent.hint": "Run succapp dev component-event list <target> with the same component identity and use an exact returned event ID; consult extension and type references for other events.",
|
|
244
|
+
"err.cli.invalidFileName": "Invalid new name: {name}",
|
|
245
|
+
"err.cli.invalidFileName.hint": "Supply a single file or folder name without path separators; do not use the names \".\" or \"..\".",
|
|
246
|
+
"err.meta.invalidMoveTarget": "Invalid move destination: {targetPath}",
|
|
247
|
+
"err.meta.invalidMoveTarget.hint": "Check the destination and retry.",
|
|
248
|
+
"err.meta.invalidMoveTarget.samePath.hint": "No change is needed; supply a different destination path or name to move or rename.",
|
|
249
|
+
"err.meta.invalidMoveTarget.selfOrDescendant.hint": "Cannot move a folder into itself or a descendant; select a parent outside the source folder.",
|
|
250
|
+
"err.meta.fileExists": "The destination resource already exists: {path}",
|
|
251
|
+
"err.meta.fileExists.hint": "Inspect source and destination paths, then choose another destination name; existing resources are not overwritten.",
|
|
252
|
+
"err.meta.fileExistsIgnoreCase": "The destination contains a name that differs only in case: {path}",
|
|
253
|
+
"err.meta.fileExistsIgnoreCase.hint": "Inspect the destination folder and choose another name.",
|
|
254
|
+
"err.meta.file.notfound": "Server resource not found: {filePath}",
|
|
255
|
+
"err.meta.file.notfound.hint": "Check the server and resource path using server file info or server file list.",
|
|
256
|
+
"err.meta.filefolder.notfound": "Parent folder not found: {filePath}",
|
|
257
|
+
"err.meta.filefolder.notfound.hint": "Create each missing folder with server file create <folder-path> --folder, then retry.",
|
|
258
|
+
"err.meta.parent.dir.illegal": "The destination parent is not an available folder: {filePath}",
|
|
259
|
+
"err.meta.parent.dir.illegal.hint": "Inspect the destination parent path and select an existing folder.",
|
|
260
|
+
"err.meta.saveConcurrent": "The server resource changed; the operation was not applied: {path}",
|
|
261
|
+
"err.meta.saveConcurrent.hint": "Reread and compare the resource state with server file info before deciding whether to retry.",
|
|
262
|
+
"err.meta.saveConcurrent.revision.hint": "Expected revision {expectedRevision}, actual revision {actualRevision}. Reread and compare the resource state with server file info before deciding whether to retry.",
|
|
263
|
+
"err.cli.confirmationRequired.scheduleRemove": "Deleting scheduling objects requires --force.",
|
|
264
|
+
"err.schedule.notExists": "The schedule does not exist.",
|
|
265
|
+
"err.task.notExists": "The task does not exist.",
|
|
266
|
+
"err.base.resourceNotFound": "The requested resource does not exist.",
|
|
267
|
+
"err.base.invalidParameter.scheduleInput": "Invalid scheduling parameter or field {field}; expected: {expected}.",
|
|
268
|
+
"err.base.operationFailed.scheduleIncomplete": "The operation did not complete. Inspect object IDs and steps in error properties and verify server state before continuing.",
|
|
269
|
+
"err.base.invalidParameter.scheduleInput.hint": "Check this command --help for combinations and configuration fields. Use camelCase API fields, e.g. timeout:600, without nested settings or the result envelope.",
|
|
270
|
+
"err.cli.docsUnavailable": "Reference unavailable: {path}. Check its path, source and completeness. Offline mode does not download; explicit directories are not automatically repaired.",
|
|
189
271
|
"workspace.compat.connectedServerAppears": "The connected server appears older than this workspace's recorded baseline. You may have connected to the wrong server.",
|
|
190
272
|
"workspace.compat.serverVersion": "Server version: {0} < {1}",
|
|
191
273
|
"workspace.extension.progress.create.done": "Created extension {0}.",
|
|
@@ -207,7 +289,7 @@
|
|
|
207
289
|
"workspace.maintenance.agentDocs.progress.metadata": "writing metadata",
|
|
208
290
|
"workspace.maint.task.frontendDevelopmentSkill": "frontend development skill",
|
|
209
291
|
"workspace.maint.task.jsonSchemaSupport": "JSON schema support",
|
|
210
|
-
"workspace.maint.task.succappDocsSkill": "SuccApp
|
|
292
|
+
"workspace.maint.task.succappDocsSkill": "Official SuccApp documentation Skill",
|
|
211
293
|
"workspace.maint.task.syncBaseline": "sync baseline",
|
|
212
294
|
"workspace.maint.task.typescriptSupport": "TypeScript support",
|
|
213
295
|
"workspace.maint.task.workspaceAgentFiles": "workspace agent files",
|
|
@@ -215,14 +297,14 @@
|
|
|
215
297
|
"workspace.maint.task.workspaceGitignore": "workspace gitignore",
|
|
216
298
|
"workspace.maint.task.workspaceSettings": "workspace VS Code settings",
|
|
217
299
|
"workspace.repair.baseline.invisible": "current login cannot see matching project on current server: {0}",
|
|
218
|
-
"workspace.repair.baseline.metaMissing": "local
|
|
219
|
-
"workspace.repair.baseline.metaUnreadable": "local
|
|
220
|
-
"workspace.repair.baseline.projectMissing": "workspace project is missing local
|
|
221
|
-
"workspace.repair.baseline.resourceMissing": "local
|
|
222
|
-
"workspace.repair.baseline.stillBroken": "local
|
|
223
|
-
"workspace.repair.baseline.typeMismatch": "local
|
|
300
|
+
"workspace.repair.baseline.metaMissing": "local synchronization baseline .meta is missing: {0}",
|
|
301
|
+
"workspace.repair.baseline.metaUnreadable": "local synchronization baseline .meta is unreadable: {0}",
|
|
302
|
+
"workspace.repair.baseline.projectMissing": "workspace project is missing local synchronization baseline: {0}",
|
|
303
|
+
"workspace.repair.baseline.resourceMissing": "local synchronization baseline records a resource that is missing on disk: {0}",
|
|
304
|
+
"workspace.repair.baseline.stillBroken": "local synchronization baseline is still incomplete after fetch: {0}",
|
|
305
|
+
"workspace.repair.baseline.typeMismatch": "local synchronization baseline resource type does not match .meta: {0}",
|
|
224
306
|
"workspace.repair.check.notImpl": "workspace repair check is not implemented: {0}",
|
|
225
|
-
"workspace.server.serverMirrorExists": "Server
|
|
307
|
+
"workspace.server.serverMirrorExists": "Server local synchronization baseline directory already exists: {0}",
|
|
226
308
|
"workspace.server.serverNotConfigured": "Server is not configured for this workspace: {0}",
|
|
227
309
|
"workspace.sync.progress.backupClear.running": "Clearing merge backups",
|
|
228
310
|
"workspace.sync.progress.backupList.running": "Listing merge backups",
|
|
@@ -246,32 +328,37 @@
|
|
|
246
328
|
"workspace.sync.progress.upgradeMeta.checked": "Checked {0} metadata file(s): {1} upgradeable.",
|
|
247
329
|
"workspace.sync.progress.upgradeMeta.done": "Upgraded metadata files: {0} changed, {1} failed, {2} checked.",
|
|
248
330
|
"workspace.sync.progress.upgradeMeta.scan": "Scanning metadata files",
|
|
249
|
-
"workspace.sync.push.upgradeRequired": "Metadata file {0} must be upgraded before pushing. Run succapp
|
|
331
|
+
"workspace.sync.push.upgradeRequired": "Metadata file {0} must be upgraded before pushing. Run succapp dev file upgrade or use Upgrade File in VS Code.",
|
|
250
332
|
"cli.cmd.common.desc": "Common commands.",
|
|
251
333
|
"cli.cmd.common.summary": "common commands",
|
|
252
334
|
"cli.cmd.common.title": "Common",
|
|
253
335
|
"cli.cmd.root.summary": "SuccApp command line interface.",
|
|
336
|
+
"cli.cmd.root.desc": "Use the command line to connect to and operate SuccApp: query and analyze data, develop and maintain models, reports and business applications, and manage local workspaces and servers.\n\nProvides metadata synchronization, database operations, development resource lookup and runtime diagnostics.",
|
|
337
|
+
"cli.cmd.root.out": "Structured help is returned in help: description explains purpose and conditions; optional output explains business results; optional references lists local and online sources. children lists direct subcommands, whose helpArgs can be used to read the next level.\n\nCheck both exit status and business results; kind=result can still contain conflicts, skipped items or truncation. --json does not cancel side effects such as opening a browser or writing data. See the guide below for output and exit-code conventions.\n\nLocal paths in text output are relative to the execution directory. JSON localPath is an absolute disk path, remotePath an absolute server metadata path, and inputPath only echoes the input. cwd is the execution directory after -C.",
|
|
254
338
|
"cli.host.localeFallback": "Locale {0} is not available; using default messages.",
|
|
255
339
|
"cli.opt.help": "Show this help.",
|
|
256
|
-
"cli.opt.json": "Write NDJSON
|
|
340
|
+
"cli.opt.json": "Write NDJSON to stdout, one result or error object per line, including structured diagnostics. Logs go to stderr. See the CLI guide for the common format and this help for result fields.",
|
|
341
|
+
"cli.opt.json.brief": "Write NDJSON to stdout, one result or error object per line; logs go to stderr.",
|
|
257
342
|
"cli.opt.locale": "Use the given locale for CLI messages.",
|
|
258
343
|
"cli.opt.lockTimeout": "Wait for a workspace lock before failing.",
|
|
259
344
|
"cli.opt.logLevel": "Set log level: trace, debug, info, warn, or error.",
|
|
260
345
|
"cli.opt.prettyJson": "Write formatted JSON for people; not intended for line-oriented scripts.",
|
|
346
|
+
"cli.opt.prettyJson.brief": "Write formatted JSON for people; not intended for line-oriented parsing.",
|
|
261
347
|
"cli.opt.quiet": "Suppress progress and informational output.",
|
|
262
|
-
"cli.opt.server": "
|
|
348
|
+
"cli.opt.server": "Select the target server directly; takes precedence over the active workspace server and SUCCAPP_SERVER. A positional URL takes precedence when supported. Workspace synchronization requires a URL matching the active workspace server.",
|
|
263
349
|
"cli.opt.verbose": "Enable debug logging.",
|
|
264
350
|
"cli.opt.version": "Show version information and check for SuccApp CLI updates.",
|
|
265
|
-
"cli.opt.
|
|
266
|
-
"cli.
|
|
351
|
+
"cli.opt.directory": "Run as if started in this directory. Relative local paths use it as their base; find the workspace upwards. Specify -C once; relative directories use the launch directory; repeated or explicitly empty values are invalid; use . for the current directory.",
|
|
352
|
+
"cli.opt.directory.brief": "Run in this directory; use it as the base for relative local paths and find the workspace upwards.",
|
|
267
353
|
"cli.cmd.auth.title": "Auth",
|
|
268
354
|
"cli.cmd.auth.summary": "login, logout, and inspect stored server auth",
|
|
269
|
-
"cli.cmd.auth.desc": "
|
|
270
|
-
"cli.cmd.auth.login.summary": "
|
|
271
|
-
"cli.cmd.auth.login.desc": "
|
|
272
|
-
"cli.cmd.auth.login.
|
|
273
|
-
"cli.cmd.auth.login.
|
|
274
|
-
"cli.cmd.auth.login.
|
|
355
|
+
"cli.cmd.auth.desc": "Manage local authentication for SuccApp servers, including login, status inspection and logout.\n\nCLI and IDE share saved authentication records for subsequent server access.",
|
|
356
|
+
"cli.cmd.auth.login.summary": "Log in to a server.",
|
|
357
|
+
"cli.cmd.auth.login.desc": "Log in to a SuccApp server to establish reusable authentication for subsequent commands.\n\nSupports browser-based OAuth2 authorization and personal access tokens (PATs), for interactive terminals and unattended scripts.\n\nRequires access to the target server. Successful login saves authentication locally for shared use by the CLI and IDE.",
|
|
358
|
+
"cli.cmd.auth.login.out": "loggedIn=true and stored=true indicate successful login and saved local credentials; authType identifies the authentication method. token and refreshToken are presence booleans, never token contents. expiresAt is included when available.",
|
|
359
|
+
"cli.cmd.auth.login.oauth": "Log in through browser OAuth2 authorization (default); cannot be combined with --pat.",
|
|
360
|
+
"cli.cmd.auth.login.pat": "Log in with a personal access token (PAT); interactive terminals prompt for input, piped input is read from standard input. Cannot be combined with --oauth.",
|
|
361
|
+
"cli.cmd.auth.login.patPrompt": "Personal access token (PAT): ",
|
|
275
362
|
"cli.cmd.auth.login.openingBrowser": "Opening browser for OAuth2 authorization...",
|
|
276
363
|
"cli.cmd.auth.login.waitingForCallback": "Waiting for OAuth2 authorization...",
|
|
277
364
|
"cli.cmd.auth.login.exchangingToken": "Exchanging OAuth2 authorization code...",
|
|
@@ -279,20 +366,22 @@
|
|
|
279
366
|
"cli.cmd.auth.login.loggedIn": "Logged in to {0}",
|
|
280
367
|
"cli.cmd.auth.login.loggedInAs": "Logged in to {0} as {1}",
|
|
281
368
|
"cli.cmd.auth.logout.summary": "Remove stored auth.",
|
|
282
|
-
"cli.cmd.auth.logout.desc": "Remove
|
|
283
|
-
"cli.cmd.auth.logout.
|
|
369
|
+
"cli.cmd.auth.logout.desc": "Remove server authentication saved on this machine.\n\nCan remove authentication for one server or all servers.\n\nAffects authentication shared by CLI and IDE; it does not revoke server-issued PATs or remove workspace server configuration.",
|
|
370
|
+
"cli.cmd.auth.logout.out": "For one server, removed is a boolean; false means no local credentials existed. With --all, all=true and removed is the number of credential records deleted.",
|
|
371
|
+
"cli.cmd.auth.logout.all": "Remove stored auth for all servers.\n\nCannot be combined with a positional URL; omit to remove authentication for the target server.",
|
|
284
372
|
"cli.cmd.auth.logout.removedAllAuth": "Removed stored auth for all servers: {0}",
|
|
285
373
|
"cli.cmd.auth.logout.removedAuth": "Removed stored auth for {0}",
|
|
286
374
|
"cli.cmd.auth.logout.serverUrlTogether": "Do not pass a server URL together with --all.",
|
|
287
375
|
"cli.cmd.auth.logout.storedAuth": "No stored auth for {0}",
|
|
288
376
|
"cli.cmd.auth.status.summary": "Show stored auth status.",
|
|
289
|
-
"cli.cmd.auth.status.desc": "
|
|
377
|
+
"cli.cmd.auth.status.desc": "Inspect authentication saved locally for a server.\n\nOnly checks local records without asking the server to validate authentication.",
|
|
378
|
+
"cli.cmd.auth.status.out": "storedAuth indicates whether local credentials exist. token and refreshToken are presence booleans, never secret values. expiresAt, lastLoginAt, and updatedAt are optional ISO 8601 date-time strings. A stored record does not establish that the server still accepts it.",
|
|
290
379
|
"cli.cmd.auth.status.noStoredOutput": "Server: {server}\nStored auth: {storedAuth}",
|
|
291
380
|
"cli.cmd.auth.status.output": "Server: {server}\nStored auth: {storedAuth}\nAuth type: {authType}\nUsername: {username}\nUser ID: {userId}\nToken: {token}\nRefresh token: {refreshToken}\nExpires at: {expiresAt}\nLast login at: {lastLoginAt}\nUpdated at: {updatedAt}",
|
|
292
381
|
"cli.cmd.auth.*.url": "Target server URL; takes precedence over --server, the active workspace server and SUCCAPP_SERVER.",
|
|
293
382
|
"cli.cmd.db.title": "Database",
|
|
294
383
|
"cli.cmd.db.summary": "inspect and operate server databases and data sources",
|
|
295
|
-
"cli.cmd.db.desc": "Inspect and operate server databases and data sources.\n\
|
|
384
|
+
"cli.cmd.db.desc": "Inspect and operate server databases and data sources.\n\nSupports connector and data source management, database structure inspection, SQL queries and execution, and CSV import and export. Physical table operations are distinct from SuccApp semantic model queries.\n\nWrite operations may change server configuration, database data or structure.",
|
|
296
385
|
"cli.cmd.db.dataSource": "Data source",
|
|
297
386
|
"cli.cmd.db.connection": "Connection",
|
|
298
387
|
"cli.cmd.db.defaultSchema": "Logical default schema",
|
|
@@ -302,10 +391,10 @@
|
|
|
302
391
|
"cli.cmd.db.driver": "JDBC driver",
|
|
303
392
|
"cli.cmd.db.driverVersion": "Driver version",
|
|
304
393
|
"cli.cmd.db.dryImport": "Dry run import",
|
|
305
|
-
"cli.cmd.db.dsConfigMust": "
|
|
394
|
+
"cli.cmd.db.dsConfigMust": "Data source config must be a JSON object: {0}",
|
|
306
395
|
"cli.cmd.db.imported": "Imported",
|
|
307
|
-
"cli.cmd.db.invalidJsonDs": "Invalid JSON in
|
|
308
|
-
"cli.cmd.db.missingDsConfig": "Missing
|
|
396
|
+
"cli.cmd.db.invalidJsonDs": "Invalid JSON in data source config: {0}",
|
|
397
|
+
"cli.cmd.db.missingDsConfig": "Missing data source config. Pass --config=<json-file> or --config=-.",
|
|
309
398
|
"cli.cmd.db.missingExportTarget": "Missing export target. Pass <table>, --query, or --query-file.",
|
|
310
399
|
"cli.cmd.db.missingInputFile": "Missing import input. Pass --input=<csv-file> or --input=-.",
|
|
311
400
|
"cli.cmd.db.missingInputPipe": "Missing import input. Pass --input=<csv-file> or pipe CSV with --input=-.",
|
|
@@ -316,17 +405,23 @@
|
|
|
316
405
|
"cli.cmd.db.nullable": "Nullable",
|
|
317
406
|
"cli.cmd.db.pk": "PK",
|
|
318
407
|
"cli.cmd.db.queryOrQueryFileConflict": "Pass export query either as --query or --query-file, not both.",
|
|
319
|
-
"cli.cmd.db.readonly": "
|
|
408
|
+
"cli.cmd.db.readonly": "Read-only",
|
|
320
409
|
"cli.cmd.db.rowsModeDry": "{0} {1} rows into {2}{3} (mode: {4}, dry-run: {5})",
|
|
321
410
|
"cli.cmd.db.skipped": ", skipped {0}",
|
|
322
411
|
"cli.cmd.db.sqlExecutedSuccess": "SQL executed successfully.",
|
|
323
412
|
"cli.cmd.db.sqlOrFileConflict": "Pass SQL either as <sql> or --file, not both.",
|
|
324
413
|
"cli.cmd.db.sqlUpdateCount": "SQL update count: {0}",
|
|
325
414
|
"cli.cmd.db.query.empty": "Query succeeded; 0 rows returned.",
|
|
415
|
+
"cli.cmd.db.query.summary": "Execute a read-only SQL query.",
|
|
416
|
+
"cli.cmd.db.query.desc": "Execute read-only SQL against a data source to preview query results.\n\nSuitable for physical database queries. Previews are subject to server row limits and do not represent all data or total counts.",
|
|
417
|
+
"cli.cmd.db.query.out": "Key JSON output example (common result fields omitted; comments explain fields; actual output is strict JSON):\n {\n \"dataSource\": \"default\", // Data source identifier\n \"schema\": \"public\", // Present when --schema is specified\n \"readOnly\": true, // This command runs read-only SQL\n \"timeoutSeconds\": 30, // Requested timeout in seconds\n \"maxRows\": 100, // Echoed only when explicitly requested\n \"result\": { // Query result\n \"fields\": [ // Field metadata in column order\n {\n \"name\": \"id\", // Key used in result.rows records\n \"sqlType\": \"VARCHAR\", // SQL type; optional\n \"typeName\": \"varchar\" // Driver type name; optional. dataType may be absent\n }\n ],\n \"rows\": [ // Record array; [] when empty\n {\n \"id\": \"A001\" // Read actual JSON types; distinguish null and \"\"\n }\n ],\n \"rowCount\": 1, // Returned rows, not total; if absent, use result.rows.length\n \"maxRows\": 100, // Actual preview cap; optional\n \"truncated\": false, // Truncated by the preview cap; optional\n \"elapsedMs\": 12, // Elapsed milliseconds; optional\n \"timeoutMs\": 30000 // Timeout in milliseconds; optional\n }\n }\n\nAn absent truncated does not mean false; even false does not remove the query's own row limit. Empty results may also include top-level empty.reason=\"noRows\".",
|
|
418
|
+
"cli.cmd.db.query.maxRows": "Maximum returned row count.\n\nThe matching server defaults to 100 with a maximum of 1000; 0 uses the server default, not unlimited rows.",
|
|
419
|
+
"cli.cmd.db.query.nonReadOnlySql": "db query only allows read-only SQL. Use db exec for write or schema changes; add --force only after confirming the impact.",
|
|
420
|
+
"cli.cmd.db.query.sqlOrFileConflict": "Pass SQL either as <sql> or --file, not both.",
|
|
326
421
|
"cli.cmd.db.tableOrQueryConflict": "Pass either <table> or --query/--query-file, not both.",
|
|
327
422
|
"cli.cmd.db.connector.title": "Database connector",
|
|
328
423
|
"cli.cmd.db.connector.summary": "Inspect database connectors and their configuration fields.",
|
|
329
|
-
"cli.cmd.db.connector.desc": "
|
|
424
|
+
"cli.cmd.db.connector.desc": "Inspect available database connectors and their configuration requirements.\n\nProvides shared and connector-specific fields, defaults and JDBC URL templates to help prepare data source connections. Available connectors depend on the target server.",
|
|
330
425
|
"cli.cmd.db.connector.connector": "Connector",
|
|
331
426
|
"cli.cmd.db.connector.displayName": "Display name",
|
|
332
427
|
"cli.cmd.db.connector.dbKind": "Database kind",
|
|
@@ -334,132 +429,156 @@
|
|
|
334
429
|
"cli.cmd.db.connector.defaultValue": "Default",
|
|
335
430
|
"cli.cmd.db.connector.secret": "secret",
|
|
336
431
|
"cli.cmd.db.connector.list.summary": "List database connectors available on the server.",
|
|
337
|
-
"cli.cmd.db.connector.list.desc": "List the database connectors available for
|
|
432
|
+
"cli.cmd.db.connector.list.desc": "List the database connectors available for data source creation on the target server.",
|
|
433
|
+
"cli.cmd.db.connector.list.out": "In connectors[], name is the connector ID accepted by db connector show and db source template; displayName is its display name. Available connectors do not establish that data sources are configured or database connections work.",
|
|
338
434
|
"cli.cmd.db.connector.show.summary": "Show the configuration fields supported by a database connector.",
|
|
339
|
-
"cli.cmd.db.connector.show.desc": "
|
|
435
|
+
"cli.cmd.db.connector.show.desc": "Inspect configuration fields and JDBC URL templates for a database connector.\n\nDescribes field types, required fields, secrets and safe defaults. Template examples are not validated connection configurations.",
|
|
436
|
+
"cli.cmd.db.connector.show.out": "connector.name is the connector ID. connector.configFields[] describes name, type, required, secret, and optional defaultValue. connector.defaults contains safe defaults; jdbcUrlTemplate is an optional JDBC URL template. Fields marked secret=true require separately supplied values; defaults are not a complete working connection configuration.",
|
|
340
437
|
"cli.cmd.db.connector.show.connector": "Database connector ID reported by db connector list.",
|
|
341
|
-
"cli.cmd.db.source.title": "
|
|
438
|
+
"cli.cmd.db.source.title": "Data source",
|
|
342
439
|
"cli.cmd.db.source.summary": "Inspect, test, and manage data sources.",
|
|
343
|
-
"cli.cmd.db.source.desc": "Inspect, test
|
|
344
|
-
"cli.cmd.db.source.*.config": "
|
|
345
|
-
"cli.cmd.db.source.*.test": "Test the connection before saving.",
|
|
440
|
+
"cli.cmd.db.source.desc": "Inspect, test and manage server data sources.\n\nSupports configuration inspection, connection probing, configuration templates, and data source creation, updates and removal.\n\nConnection tests access the database; creation, updates and removal change server data source configuration.",
|
|
441
|
+
"cli.cmd.db.source.*.config": "Full configuration JSON file, or - for standard input; do not submit the CLI result envelope. Fill template values with actual connection details.",
|
|
442
|
+
"cli.cmd.db.source.*.test": "Test the connection before saving.\n\nA successful test does not verify subsequent model queries or data permissions.",
|
|
443
|
+
"cli.cmd.db.source.*.datasource": "A data source identifier returned by db source list, not a connector ID.",
|
|
346
444
|
"cli.cmd.db.source.list.summary": "List visible data sources.",
|
|
347
|
-
"cli.cmd.db.source.list.desc": "List data sources visible to the
|
|
445
|
+
"cli.cmd.db.source.list.desc": "List data sources visible to the current SuccApp server session.",
|
|
446
|
+
"cli.cmd.db.source.list.out": "In dataSources[], name is the data source identifier used by show, probe, schema, table, and SQL commands. An empty list means only that the current server session returned no visible data sources, with empty.reason=emptyCollection.",
|
|
348
447
|
"cli.cmd.db.source.list.empty": "No data sources are available.",
|
|
349
|
-
"cli.cmd.db.source.show.summary": "Show a
|
|
350
|
-
"cli.cmd.db.source.show.desc": "
|
|
351
|
-
"cli.cmd.db.source.
|
|
352
|
-
"cli.cmd.db.source.probe.
|
|
353
|
-
"cli.cmd.db.source.probe.
|
|
354
|
-
"cli.cmd.db.source.
|
|
355
|
-
"cli.cmd.db.source.
|
|
356
|
-
"cli.cmd.db.source.test.
|
|
357
|
-
"cli.cmd.db.source.
|
|
358
|
-
"cli.cmd.db.source.
|
|
448
|
+
"cli.cmd.db.source.show.summary": "Show a data source configuration.",
|
|
449
|
+
"cli.cmd.db.source.show.desc": "Inspect the configuration of an existing server data source.\n\nOnly reads configuration; it does not validate database connectivity.",
|
|
450
|
+
"cli.cmd.db.source.show.out": "The JSON config field contains the configuration; password may be removed. Do not submit the entire result envelope or assume sanitized values form a complete update. ",
|
|
451
|
+
"cli.cmd.db.source.probe.summary": "Validate an existing data source connection and show its logical default schema, database and driver details.",
|
|
452
|
+
"cli.cmd.db.source.probe.desc": "Probe an existing data source connection to inspect its database product, version, driver and logical default schema.\n\nProbing accesses the database. A successful connection does not verify subsequent query permissions or model configuration.",
|
|
453
|
+
"cli.cmd.db.source.probe.out": "connected reports this connection attempt; defaultSchema is the logical default schema. databaseProductName, databaseVersion, and databaseProductVersion identify the database product, standard version, and full version; driverName/driverVersion identify the JDBC driver. config omits password and should not be used directly as complete update input.",
|
|
454
|
+
"cli.cmd.db.source.probe.datasource": "Name of the existing data source to probe.",
|
|
455
|
+
"cli.cmd.db.source.test.summary": "Test connectivity for an existing data source or an unsaved JSON configuration.",
|
|
456
|
+
"cli.cmd.db.source.test.desc": "Test whether an existing data source or an unsaved configuration can connect to a database.\n\nProvides logical default schema, database and driver information.\n\nTesting accesses the database but does not save configuration.",
|
|
457
|
+
"cli.cmd.db.source.test.out": "result indicates whether the connection test succeeded. defaultSchema, databaseProductName, databaseVersion, and driverName/driverVersion are returned when available; config omits password. Successful testing does not mean the configuration was saved.",
|
|
458
|
+
"cli.cmd.db.source.test.datasource": "Name of the existing data source to test.\n\nChoose exactly one of this argument and --config.",
|
|
459
|
+
"cli.cmd.db.source.test.config": "A UTF-8 strict JSON configuration object file, or - for stdin; choose exactly one of this and <datasource>. The root is a JdbcConfig, not a CLI result or a {\"config\":...} wrapper; no comments or trailing commas. Get fields and a skeleton from db connector show and db source template.\n\nFor JDBC connections, template url already contains example values. Changing host, port or databaseName does not recalculate url. Fill the actual JDBC URL using connector.jdbcUrlTemplate and verify its host, port and database name. Use connectionProperties for extra driver properties; see the configuration type.",
|
|
460
|
+
"cli.cmd.db.source.template.summary": "Generate a safe data source JSON template for a server connector.",
|
|
461
|
+
"cli.cmd.db.source.template.desc": "Generate a data source configuration template from a server connector.\n\nUses connector defaults without passwords or other secrets to help prepare a new data source.\n\nDoes not create a data source or test a connection.",
|
|
462
|
+
"cli.cmd.db.source.template.out": "Plain output is the configuration JSON and can be saved directly as a --config input file. With --json or --pretty-json, extract the config object instead of saving the entire result.\n\nFor JDBC connections, template url already contains example values. Changing host, port or databaseName does not recalculate url. Fill the actual JDBC URL using connector.jdbcUrlTemplate and verify its host, port and database name. Use connectionProperties for extra driver properties; see the configuration type.",
|
|
359
463
|
"cli.cmd.db.source.template.connector": "Database connector ID reported by db connector list.",
|
|
360
|
-
"cli.cmd.db.source.create.summary": "Create a
|
|
361
|
-
"cli.cmd.db.source.create.desc": "Create a data source
|
|
464
|
+
"cli.cmd.db.source.create.summary": "Create a data source.",
|
|
465
|
+
"cli.cmd.db.source.create.desc": "Create a data source on the target server.\n\nCan validate database connectivity before saving to help identify connection configuration problems. Connectivity does not verify subsequent model queries or data permissions.\n\nSaves server data source configuration. Creation may have completed even if the response is interrupted.",
|
|
466
|
+
"cli.cmd.db.source.create.out": "result reports the save outcome; dataSource is the saved data source identifier. Returned config omits password. Connection details from --test are included when available; a successful save does not establish successful data queries.",
|
|
467
|
+
"cli.cmd.db.source.create.config": "A UTF-8 strict JSON configuration object file, or - for stdin; comments and trailing commas are not supported.\n\nFields follow succ.meta.dbconnector.JdbcConfig. Creation requires name (the new data source name); it is not inferred from the local filename. Use the connector ID returned by db connector list as dbConnector. Fill url, user, password and connector-specific fields as required by the target connector.\n\nUse db connector show <connector> --json to inspect field names, types, required and secret markers in connector.configFields[], then generate a skeleton with db source template <connector>. Plain template output is the configuration object to save as datasource.json. Templates omit passwords and other secrets; fill in real connection details.\n\nWith --json or --pretty-json template output, save only the config object, not the whole result or an extra config wrapper. Static .jdbc file conventions allowing JSONC or omission of name do not apply to this input.\n\nFor JDBC connections, template url already contains example values. Changing host, port or databaseName does not recalculate url. Fill the actual JDBC URL using connector.jdbcUrlTemplate and verify its host, port and database name. Use connectionProperties for extra driver properties; see the configuration type.",
|
|
362
468
|
"cli.cmd.db.source.create.created": "Created data source: {0}",
|
|
363
|
-
"cli.cmd.db.source.update.summary": "Update a
|
|
364
|
-
"cli.cmd.db.source.update.desc": "Update
|
|
469
|
+
"cli.cmd.db.source.update.summary": "Update a data source.",
|
|
470
|
+
"cli.cmd.db.source.update.desc": "Update an existing server data source configuration.\n\nReplaces the full configuration and can test connectivity before saving.\n\nChanges apply directly to the server; an interrupted response does not mean the update failed to occur.",
|
|
471
|
+
"cli.cmd.db.source.update.out": "result is the save result; dataSource is the target source identifier. originalDataSource, when present, identifies the original source; both identifiers are currently the same because renaming is unsupported. config omits password. Do not submit the whole result as another update input.",
|
|
365
472
|
"cli.cmd.db.source.update.updated": "Updated data source: {0}",
|
|
366
|
-
"cli.cmd.db.source.
|
|
367
|
-
"cli.cmd.db.source.remove.
|
|
368
|
-
"cli.cmd.db.source.remove.
|
|
473
|
+
"cli.cmd.db.source.update.config": "A UTF-8 strict JSON configuration object file, or - for stdin. The root is a JdbcConfig, not a CLI result or an extra config wrapper; no comments or trailing commas.\n\nname may be omitted, in which case <datasource> is used. If present, it must equal that positional argument. Renaming is not supported; do not retain another source name or a template example name. Read the target with db source show <datasource> --json and extract only config before editing and submitting.\n\nUpdates are not patches. The current server preserves an omitted or empty password; other omitted fields are not guaranteed to survive. Do not write masked placeholders back as passwords.\n\nFor JDBC connections, template url already contains example values. Changing host, port or databaseName does not recalculate url. Fill the actual JDBC URL using connector.jdbcUrlTemplate and verify its host, port and database name. Use connectionProperties for extra driver properties; see the configuration type.",
|
|
474
|
+
"cli.cmd.db.source.remove.summary": "Delete a data source.",
|
|
475
|
+
"cli.cmd.db.source.remove.desc": "Remove a server data source configuration.\n\nDoes not remove physical database tables, but dependent models and tasks may lose data access.",
|
|
476
|
+
"cli.cmd.db.source.remove.out": "result reports the deletion outcome; dataSource identifies the target. Successful deletion concerns the data source configuration and does not mean dependent models or tasks were removed.",
|
|
477
|
+
"cli.cmd.db.source.remove.force": "Must be explicitly specified to confirm removal of the server data source configuration.",
|
|
369
478
|
"cli.cmd.db.source.remove.dbSourceRemove": "Deleting a data source requires --force.",
|
|
370
479
|
"cli.cmd.db.source.remove.deleted": "Deleted data source: {0}",
|
|
371
480
|
"cli.cmd.db.schema.title": "Database schema",
|
|
372
481
|
"cli.cmd.db.schema.summary": "Inspect schemas in a data source.",
|
|
373
|
-
"cli.cmd.db.schema.desc": "Inspect database schemas
|
|
482
|
+
"cli.cmd.db.schema.desc": "Inspect database schemas in a data source to determine the scope of table queries.",
|
|
374
483
|
"cli.cmd.db.schema.list.summary": "List schemas for a data source.",
|
|
375
|
-
"cli.cmd.db.schema.list.desc": "List schemas
|
|
484
|
+
"cli.cmd.db.schema.list.desc": "List visible database schemas in a data source.\n\nVisibility depends on the database connection and its permissions.",
|
|
485
|
+
"cli.cmd.db.schema.list.out": "schemas[] contains each schema name and optional catalog; dataSource identifies the queried data source. No visible schemas produce an empty array and empty.reason=emptyCollection.",
|
|
376
486
|
"cli.cmd.db.schema.list.catalog": "Catalog",
|
|
377
487
|
"cli.cmd.db.schema.list.empty": "No schemas found for data source '{0}'.",
|
|
488
|
+
"cli.cmd.db.schema.list.catalogArg": "Restrict the database catalog; omit to use the data source default scope.",
|
|
489
|
+
"cli.cmd.db.schema.*.datasource": "A data source identifier returned by db source list, not a connector ID.",
|
|
378
490
|
"cli.cmd.db.table.title": "Database table",
|
|
379
491
|
"cli.cmd.db.table.summary": "Inspect database tables and their structure.",
|
|
380
|
-
"cli.cmd.db.table.desc": "Inspect database tables
|
|
492
|
+
"cli.cmd.db.table.desc": "Inspect physical database tables, their fields and metadata.\n\nHelps understand database structure. Physical tables are distinct from SuccApp .tbl semantic models.",
|
|
381
493
|
"cli.cmd.db.table.list.summary": "List tables for a data source.",
|
|
382
|
-
"cli.cmd.db.table.list.desc": "List tables
|
|
494
|
+
"cli.cmd.db.table.list.desc": "List physical tables in a data source to find tables for queries or maintenance.\n\nSupports schema and table-name filtering without reading table data.",
|
|
495
|
+
"cli.cmd.db.table.list.out": "tables[] contains tableName, schema, tableType, and optional tableComment. tableName is the physical table name for describe/query/export. An empty list can mean no visible tables or no filter matches; empty.reason distinguishes these cases.",
|
|
383
496
|
"cli.cmd.db.table.list.tableNameContains": "Filter tables by name. Supports * and ? wildcards.",
|
|
384
497
|
"cli.cmd.db.table.list.empty": "No tables are available.",
|
|
385
498
|
"cli.cmd.db.table.list.noMatches": "No tables matched the current filters.",
|
|
386
499
|
"cli.cmd.db.table.describe.summary": "Describe a database table.",
|
|
387
|
-
"cli.cmd.db.table.describe.desc": "
|
|
500
|
+
"cli.cmd.db.table.describe.desc": "Inspect database table fields and metadata to identify names and types needed for queries.\n\nReads table structure without returning table data.",
|
|
501
|
+
"cli.cmd.db.table.describe.out": "table contains table metadata; columns[] contains fields. name is the physical column name, dataType the general type, and dbType the database type. primaryKey, nullable, length, and scale describe constraints and precision. Missing optional metadata does not imply false or 0.",
|
|
388
502
|
"cli.cmd.db.table.describe.schema": "Schema name.",
|
|
389
|
-
"cli.cmd.db.*.
|
|
503
|
+
"cli.cmd.db.table.*.datasource": "A data source identifier returned by db source list, not a connector ID.",
|
|
504
|
+
"cli.cmd.db.table.*.schema": "A schema returned by db schema list; omitted scope is resolved by the data source.",
|
|
505
|
+
"cli.cmd.db.table.*.table": "A table name returned by db table list; schema.table is supported when --schema is omitted.\n\nWith an explicit --schema, the table name is taken literally; provide only the table name to avoid double qualification.",
|
|
506
|
+
"cli.cmd.db.*.file": "Read SQL from a file.\n\nA UTF-8 file containing raw SQL; mutually exclusive with <sql>. Omit both to read standard input.",
|
|
390
507
|
"cli.cmd.db.*.schema": "SQL execution schema.",
|
|
391
|
-
"cli.cmd.db.*.timeout": "SQL timeout in seconds.
|
|
392
|
-
"cli.cmd.db
|
|
393
|
-
"cli.cmd.db
|
|
394
|
-
"cli.cmd.db
|
|
395
|
-
"cli.cmd.db.query.nonReadOnlySql": "db query only allows read-only SQL. Use db exec for write or schema changes; add --force only after confirming the impact.",
|
|
396
|
-
"cli.cmd.db.query.sqlOrFileConflict": "Pass SQL either as <sql> or --file, not both.",
|
|
508
|
+
"cli.cmd.db.*.timeout": "SQL timeout in seconds.",
|
|
509
|
+
"cli.cmd.db.*.datasource": "A data source identifier returned by db source list, not a connector ID.",
|
|
510
|
+
"cli.cmd.db.*.sql": "SQL text; mutually exclusive with --file. If both are omitted, read standard input.",
|
|
511
|
+
"cli.cmd.db.*.table": "A table name returned by db table list; schema.table is supported when --schema is omitted.\n\nWith an explicit --schema, the table name is taken literally; provide only the table name to avoid double qualification.",
|
|
397
512
|
"cli.cmd.db.exec.summary": "Execute any SQL.",
|
|
398
|
-
"cli.cmd.db.exec.desc": "Execute SQL and
|
|
399
|
-
"cli.cmd.db.exec.
|
|
400
|
-
"cli.cmd.db.exec.
|
|
513
|
+
"cli.cmd.db.exec.desc": "Execute SQL and obtain result sets or update counts.\n\nSupports queries and data or schema changes. Result sets are subject to server preview limits.\n\nMay modify the database. Dangerous-SQL checks do not cover every write risk; writes may have taken effect even after a timeout or disconnection.",
|
|
514
|
+
"cli.cmd.db.exec.out": "In JSON, resultType is resultSet, updateCount, empty, or mixed; updateCount sums nonnegative update counts. Result sets use fields[] column names and data[][] row-value arrays matched by column position, unlike the object records in db query result.rows. results[] summarizes individual execution results; sqlInfos[] contains statement analysis.\n\nrowCount counts returned rows, maxRows is the preview limit, and truncated indicates truncation; an absent value does not mean false. elapsedMs/timeoutMs are milliseconds, unlike --timeout input in seconds.",
|
|
515
|
+
"cli.cmd.db.exec.maxRows": "Limit returned rows for result sets.\n\nThe matching server defaults to 100 with a maximum of 1000; 0 uses the server default, not unlimited rows.",
|
|
516
|
+
"cli.cmd.db.exec.force": "Confirm SQL marked dangerous by safety analysis.\n\nNot requiring this option does not imply read-only execution. After a timeout or disconnection, check database state before retrying.",
|
|
401
517
|
"cli.cmd.db.exec.dangerousSql": "Dangerous SQL was blocked. Review the impact before rerunning with --force.{0}",
|
|
402
518
|
"cli.cmd.db.exec.forceRequired": "Execution stopped. Add --force only after confirming the SQL impact.",
|
|
403
519
|
"cli.cmd.db.exec.fullTableData": "full-table data mutation",
|
|
404
520
|
"cli.cmd.db.exec.schemaMutation": "schema mutation",
|
|
405
521
|
"cli.cmd.db.import.summary": "Import CSV data into a table.",
|
|
406
|
-
"cli.cmd.db.import.desc": "Import CSV data into a database table.\n\
|
|
407
|
-
"cli.cmd.db.import.
|
|
408
|
-
"cli.cmd.db.import.
|
|
522
|
+
"cli.cmd.db.import.desc": "Import CSV data into a database table.\n\nSupports appending, clearing before import, and a dry run that only parses and counts data. Dry runs do not validate database constraints.\n\nActual imports modify the database; repeating an import after an interrupted response may duplicate data.",
|
|
523
|
+
"cli.cmd.db.import.out": "dryRun identifies a dry run; mode is the applied import mode. importedRows counts CSV data rows, not independently verified rows stored in the database; skippedRows counts skipped rows. elapsedMs/timeoutMs use milliseconds, unlike --timeout input in seconds.",
|
|
524
|
+
"cli.cmd.db.import.input": "A UTF-8 CSV file, or - for stdin. The target physical table must already exist and the first row is the header. Use db table describe to confirm physical column names and types. Columns are matched by header names, not positions; prefer unique physical names instead of relying on comment or primary-key compatibility matching. The # typed header from whole-table db export is also accepted.\n\nUse comma separators. Quote values containing commas, quotes or newlines with double quotes, doubling embedded quotes. This character-column example requires real table and column names:\n ID,NOTE\n 1,\"a,b\"\n 2,\n 3,\"\"\nLeading and trailing whitespace in unquoted fields is trimmed. To preserve it, quote the value, for example \" P1 \". Whitespace inside quotes is retained.\nAn unquoted empty field is read as null; a quoted empty field is an empty string for character data, though the target database or field type may convert it to null. Text null and backslash-N are not universal null markers.\n\nPrefer yyyy-MM-dd dates and yyyy-MM-dd HH:mm:ss timestamps; verify conversion against target types. For binary migration retain the typed whole-table export header and Base64 content. Binary length labels from query exports cannot restore bytes. --dry-run only parses and counts: it does not validate column mapping, type conversion or database constraints. Query the target after importing.",
|
|
525
|
+
"cli.cmd.db.import.mode": "append adds rows; truncate and replace clear the target table before importing. Neither is a primary-key upsert.",
|
|
409
526
|
"cli.cmd.db.import.dryRun": "Parse and count CSV rows without writing or validating actual database constraints.",
|
|
410
527
|
"cli.cmd.db.import.schema": "Table schema.",
|
|
411
528
|
"cli.cmd.db.export.summary": "Export table data or a query result as CSV.",
|
|
412
|
-
"cli.cmd.db.export.desc": "Export table data or
|
|
413
|
-
"cli.cmd.db.export.query": "
|
|
414
|
-
"cli.cmd.db.export.
|
|
529
|
+
"cli.cmd.db.export.desc": "Export database table data or SQL query results to a local CSV file.\n\nThe export scope depends on query conditions and database permissions.\n\nWrites a local file without changing database content.",
|
|
530
|
+
"cli.cmd.db.export.out": "Key JSON output example (common result fields omitted; comments explain fields; actual output is strict JSON):\n {\n \"dataSource\": \"default\", // Data source identifier\n \"schema\": \"public\", // Present if specified or parsed from the table name\n \"tableName\": \"orders\", // Table mode; query mode uses \"query\": true\n \"timeoutSeconds\": 30, // Requested timeout in seconds\n \"output\": \"/work/orders.csv\", // Absolute local path receiving the CSV content\n \"size\": 128 // File size in bytes\n }\n\nThe current companion server produces UTF-8 CSV without a BOM, using commas and LF. Fields containing commas, quotes or line breaks are quoted, with internal quotes doubled: 中文,\"引号\" becomes \"中文,\"\"引号\"\"\". Null and empty strings may both be empty fields; CSV does not preserve all types.\n\nQuery export uses result field names in the first row and length tags for binary values. Table export starts its header with # and includes field types, lengths and primary keys, e.g. #id(I|10|PK),name(C|256); binary values default to Base64. Use query export for a plain field-name header.",
|
|
531
|
+
"cli.cmd.db.export.input": "Choose exactly one input: <table>, --query or --query-file. Query input is raw SQL.",
|
|
532
|
+
"cli.cmd.db.export.query": "Export query results instead of table data; input is raw SQL.",
|
|
533
|
+
"cli.cmd.db.export.queryFile": "Read raw export SQL from a UTF-8 file.",
|
|
415
534
|
"cli.cmd.db.export.schema": "Table schema or SQL execution schema.",
|
|
416
|
-
"cli.cmd.db.export.output": "
|
|
417
|
-
"cli.cmd.db.export.force": "
|
|
535
|
+
"cli.cmd.db.export.output": "Local CSV output file; an existing file requires --force.",
|
|
536
|
+
"cli.cmd.db.export.force": "Allow overwriting an existing local output file.",
|
|
418
537
|
"cli.cmd.db.export.exportedData": "Exported data to {0}",
|
|
419
|
-
"cli.cmd.db.*.datasource": "A data source identifier returned by db source list, not a connector ID.",
|
|
420
|
-
"cli.cmd.db.*.sql": "SQL text; mutually exclusive with --file. If both are omitted, read standard input.",
|
|
421
|
-
"cli.cmd.db.*.table": "A table name returned by db table list; schema.table is supported when --schema is omitted.",
|
|
422
|
-
"cli.cmd.db.source.*.datasource": "A data source identifier returned by db source list, not a connector ID.",
|
|
423
|
-
"cli.cmd.db.schema.*.datasource": "A data source identifier returned by db source list, not a connector ID.",
|
|
424
|
-
"cli.cmd.db.table.*.datasource": "A data source identifier returned by db source list, not a connector ID.",
|
|
425
|
-
"cli.cmd.db.table.*.schema": "A schema returned by db schema list; omitted scope is resolved by the data source.",
|
|
426
|
-
"cli.cmd.db.table.*.table": "A table name returned by db table list; schema.table is supported when --schema is omitted.",
|
|
427
538
|
"cli.cmd.server.title": "Server",
|
|
428
539
|
"cli.cmd.server.summary": "inspect and operate the target SuccApp server",
|
|
429
|
-
"cli.cmd.server.desc": "
|
|
540
|
+
"cli.cmd.server.desc": "Access a SuccApp server directly to manage remote resources and diagnose runtime state.\n\nProvides remote project and file operations, settings and recycle bin management, and cache, cluster, thread and technical log tools, without first cloning a project. Use dev to discover development resources and use development tools.\n\nServer access requires appropriate authentication and permissions. Write operations affect the server directly.",
|
|
430
541
|
"cli.cmd.server.serverNotConfigured": "Server is not configured for this workspace: {0}",
|
|
431
542
|
"cli.cmd.server.serverReachable": "Server reachable: {0}",
|
|
432
543
|
"cli.cmd.server.ping.summary": "Check server reachability.",
|
|
433
|
-
"cli.cmd.server.ping.desc": "Check whether
|
|
544
|
+
"cli.cmd.server.ping.desc": "Check whether a SuccApp server is reachable.\n\nSuccess only means the server responded to the connectivity check; it does not verify login, business permissions or database availability.",
|
|
545
|
+
"cli.cmd.server.ping.out": "--json returns reachable=true when the connectivity check succeeds; request failures produce a standard error and a nonzero exit code.",
|
|
434
546
|
"cli.cmd.server.info.summary": "Show server information.",
|
|
435
|
-
"cli.cmd.server.info.desc": "
|
|
436
|
-
"cli.cmd.server.info.
|
|
547
|
+
"cli.cmd.server.info.desc": "Inspect server information and metadata versions to identify the target environment.\n\nSupports key information and detailed product, system, JVM and other scopes.\n\nOnly reads information without performing upgrades.",
|
|
548
|
+
"cli.cmd.server.info.out": "--json returns info: productType, version and apiVersion identify product and protocol versions; scopes records the selected sections. productInfo, sysInfo, metadataVersions, sysInspectInfo, jvmInfo and systemEnvirInfo are included by scope. Unselected or unavailable fields are omitted, not zero. --raw preserves original server detail fields inside info.",
|
|
549
|
+
"cli.cmd.server.info.scope": "Select information scopes; repeat or separate with commas.",
|
|
437
550
|
"cli.cmd.server.info.all": "Show all information scopes.",
|
|
438
551
|
"cli.cmd.server.info.raw": "Output the raw server detail response.",
|
|
439
552
|
"cli.cmd.server.cache.title": "Server cache",
|
|
440
553
|
"cli.cmd.server.cache.summary": "manage server cache",
|
|
441
|
-
"cli.cmd.server.cache.desc": "
|
|
554
|
+
"cli.cmd.server.cache.desc": "Inspect and clear server system caches.\n\nShows entries, usage and hit rates.\n\nClearing invalidates caches and may cause subsequent requests to reload data.",
|
|
442
555
|
"cli.cmd.server.cache.list.summary": "List server cache entries.",
|
|
443
|
-
"cli.cmd.server.cache.list.desc": "List server
|
|
556
|
+
"cli.cmd.server.cache.list.desc": "List server system caches to inspect entry counts, disk and memory usage, and hit rates.\n\nResults reflect state at query time; statistics may change as the server runs.",
|
|
557
|
+
"cli.cmd.server.cache.list.out": "--json returns caches[] and summary.caches (entry count). Use cacheName with clean. entitiesCount counts cached entities; diskUsed and memUsed are bytes; hitRate ranges from 0 to 1; lastAccessTime is Unix milliseconds. Unavailable metrics are omitted, not zero. No entries returns caches=[] with empty.",
|
|
444
558
|
"cli.cmd.server.cache.list.empty": "No server cache entries.",
|
|
445
559
|
"cli.cmd.server.cache.clean.summary": "Clean server cache.",
|
|
446
|
-
"cli.cmd.server.cache.clean.desc": "
|
|
447
|
-
"cli.cmd.server.cache.clean.
|
|
560
|
+
"cli.cmd.server.cache.clean.desc": "Clear selected or all server system caches.\n\nInvalidates caches and may cause subsequent requests to reload data, affecting short-term access performance.",
|
|
561
|
+
"cli.cmd.server.cache.clean.out": "--json returns cleaned=true and cacheName; cacheName is * when all caches are cleared.",
|
|
562
|
+
"cli.cmd.server.cache.clean.all": "Clean all server cache entries.\n\nChoose exactly one of --all and <name>; no --force is required.",
|
|
448
563
|
"cli.cmd.server.cache.clean.cleaned": "Server cache cleaned: {1} ({0})",
|
|
564
|
+
"cli.cmd.server.cache.clean.name": "Cache name returned by server cache list; choose this or --all.",
|
|
565
|
+
"cli.cmd.server.cache.*.url": "Target server URL; takes precedence over --server, the active workspace server and SUCCAPP_SERVER.",
|
|
449
566
|
"cli.cmd.server.cluster.title": "Server cluster",
|
|
450
567
|
"cli.cmd.server.cluster.summary": "inspect server cluster nodes",
|
|
451
|
-
"cli.cmd.server.cluster.desc": "Inspect cluster
|
|
568
|
+
"cli.cmd.server.cluster.desc": "Inspect cluster members, health, network state and runtime diagnostics.\n\nProvides cluster overviews and individual node details; information may change as nodes join or leave.",
|
|
452
569
|
"cli.cmd.server.cluster.list.summary": "List server cluster nodes.",
|
|
453
|
-
"cli.cmd.server.cluster.list.desc": "List
|
|
454
|
-
"cli.cmd.server.cluster.list.
|
|
455
|
-
"cli.cmd.server.cluster.list.
|
|
456
|
-
"cli.cmd.server.cluster.list.
|
|
570
|
+
"cli.cmd.server.cluster.list.desc": "List cluster nodes to inspect membership, availability and health.\n\nSupports one-time queries and continuous observation, using the same data as server system settings. Unreachable nodes must not be treated as healthy.",
|
|
571
|
+
"cli.cmd.server.cluster.list.out": "--json returns nodes[], generatedAt (Unix milliseconds) and summary. summary.knownNodes counts nodes before filtering; summary.returnedNodes counts returned nodes, not pagination totals. Use id with show and name with commands whose --cluster selects a node name. healthState, status and properties describe health and connectivity. Missing fields are unavailable, not evidence of health or zero load.",
|
|
572
|
+
"cli.cmd.server.cluster.list.health": "Filter nodes by health level.",
|
|
573
|
+
"cli.cmd.server.cluster.list.watch": "Continuously refresh the cluster status until interrupted.\n\nStop with Ctrl+C. Does not support --json or --pretty-json; scripts can repeat one-time JSON queries.",
|
|
574
|
+
"cli.cmd.server.cluster.list.interval": "Watch refresh interval in milliseconds; requires --watch.",
|
|
457
575
|
"cli.cmd.server.cluster.list.empty": "No cluster nodes match the current filter.",
|
|
458
576
|
"cli.cmd.server.cluster.list.updatedAt": "Updated: {0}",
|
|
459
577
|
"cli.cmd.server.cluster.show.summary": "Show one server cluster node.",
|
|
460
|
-
"cli.cmd.server.cluster.show.desc": "
|
|
461
|
-
"cli.cmd.server.cluster.show.
|
|
462
|
-
"cli.cmd.server.cluster.show.
|
|
578
|
+
"cli.cmd.server.cluster.show.desc": "Inspect detailed runtime state for one cluster node.\n\nProvides scoped details consistent with server information queries. A node may go offline between requests.",
|
|
579
|
+
"cli.cmd.server.cluster.show.out": "--json returns node, retaining its id, name and status. Diagnostics are inside node.properties, selected by --scope or --all. Missing diagnostic fields do not establish health or zero values.",
|
|
580
|
+
"cli.cmd.server.cluster.show.scope": "Select detail scopes returned in both text and JSON; repeat or separate with commas.",
|
|
581
|
+
"cli.cmd.server.cluster.show.all": "Return all detail scopes in both text and JSON.",
|
|
463
582
|
"cli.cmd.server.cluster.out.name": "Name",
|
|
464
583
|
"cli.cmd.server.cluster.out.role": "Role",
|
|
465
584
|
"cli.cmd.server.cluster.out.health": "Health",
|
|
@@ -486,30 +605,52 @@
|
|
|
486
605
|
"cli.cmd.server.cluster.out.deployPath": "Deploy path",
|
|
487
606
|
"cli.cmd.server.cluster.out.lastReceivedAt": "Last received",
|
|
488
607
|
"cli.cmd.server.cluster.out.lastSentAt": "Last sent",
|
|
608
|
+
"cli.cmd.server.cluster.*.url": "Target server URL; takes precedence over --server, the active workspace server and SUCCAPP_SERVER.",
|
|
609
|
+
"cli.cmd.server.cluster.*.nodeId": "Node ID returned by server cluster list.",
|
|
489
610
|
"cli.cmd.server.thread.title": "Server threads",
|
|
490
611
|
"cli.cmd.server.thread.summary": "inspect JVM threads",
|
|
491
|
-
"cli.cmd.server.thread.desc": "Inspect JVM thread snapshots and request cancellation of registered product tasks.\n\
|
|
492
|
-
"cli.cmd.server.thread.*.state": "
|
|
612
|
+
"cli.cmd.server.thread.desc": "Inspect JVM thread snapshots, analyze hotspots, blocking and SQL execution, and request cancellation of registered product tasks.\n\nProvides thread summaries, full stacks and continuous sampling. Cancellation is cooperative for product tasks, not arbitrary JVM thread termination.",
|
|
613
|
+
"cli.cmd.server.thread.*.state": "Filter by JVM thread state.",
|
|
493
614
|
"cli.cmd.server.thread.*.working": "Only include threads that are currently doing work.",
|
|
494
615
|
"cli.cmd.server.thread.*.sql": "Only include threads that are currently executing SQL.",
|
|
616
|
+
"cli.cmd.server.thread.*.url": "Target server URL; takes precedence over --server, the active workspace server and SUCCAPP_SERVER.",
|
|
617
|
+
"cli.cmd.server.thread.*.threadId": "Thread ID from server thread list on the same node; recheck before use.",
|
|
495
618
|
"cli.cmd.server.thread.list.summary": "List JVM threads.",
|
|
496
|
-
"cli.cmd.server.thread.list.desc": "List JVM thread summaries
|
|
497
|
-
"cli.cmd.server.thread.list.
|
|
619
|
+
"cli.cmd.server.thread.list.desc": "List JVM thread summaries to find working threads, SQL execution or specific thread states.\n\nDoes not return full stacks. Thread IDs are meaningful only for the corresponding node and time.",
|
|
620
|
+
"cli.cmd.server.thread.list.out": "--json returns threads[]. threadId, taskSerial and cancelSerial are strings to preserve large integers. state uses uppercase JVM states such as TIMED_WAITING. working, executingSql and cancelable indicate work, SQL execution and cancellation eligibility. Use cancelSerial with cancel; its absence does not authorize cancellation. Lists omit full stacks.",
|
|
621
|
+
"cli.cmd.server.thread.list.cluster": "Query a node name from server cluster list; defaults to the current HTTP node.",
|
|
498
622
|
"cli.cmd.server.thread.list.empty": "No JVM threads match the current filter.",
|
|
499
623
|
"cli.cmd.server.thread.dump.summary": "Capture a JVM thread dump.",
|
|
500
|
-
"cli.cmd.server.thread.dump.desc": "Capture
|
|
501
|
-
"cli.cmd.server.thread.dump.
|
|
624
|
+
"cli.cmd.server.thread.dump.desc": "Capture JVM threads and their full call stacks to investigate blocking and execution locations.\n\nSupports filtering by thread state, active work and SQL execution. Results are a sampling snapshot, not evidence of sustained utilization.",
|
|
625
|
+
"cli.cmd.server.thread.dump.out": "--json returns capturedAt (Unix milliseconds), threads[] and deadlockedThreadIds[]. Each thread has full stacks; thread IDs are strings. deadlockedThreadIds lists deadlocks detected in this snapshot. An empty array only means none were detected at that instant.",
|
|
626
|
+
"cli.cmd.server.thread.dump.cluster": "Capture from a node name returned by server cluster list; defaults to the current HTTP node.",
|
|
502
627
|
"cli.cmd.server.thread.dump.deadlocks.none": "Deadlocks: none",
|
|
503
628
|
"cli.cmd.server.thread.dump.deadlocks.found": "Deadlocks: {0}",
|
|
504
629
|
"cli.cmd.server.thread.dump.waitingLock": "waiting on {0}",
|
|
505
630
|
"cli.cmd.server.thread.dump.waitingLockOwned": "waiting on {0}, owned by thread #{1}",
|
|
506
631
|
"cli.cmd.server.thread.top.summary": "Sample JVM thread hotspots.",
|
|
507
|
-
"cli.cmd.server.thread.top.desc": "
|
|
508
|
-
"cli.cmd.server.thread.top.
|
|
632
|
+
"cli.cmd.server.thread.top.desc": "Sample and analyze CPU, threads, memory and GC over time to identify hotspots and suspected stalls.\n\nAnalysis is performed locally; the server does not retain the final report. Results reflect only the observation window, and missing samples do not mean zero load.",
|
|
633
|
+
"cli.cmd.server.thread.top.out": "--json returns the final report. Single-node reports include status (completed or partial), sampleCount, hotThreads, findings, memory, garbageCollectors and warnings. findings are diagnostic leads, not confirmed faults. --cluster=all returns nodes[], globalHotThreads, globalFindings, requestedNodeCount and sampledNodeCount, retaining errors for failed nodes. partial or warnings indicates incomplete sampling or limitations; missing metrics such as CPU are not zero.",
|
|
634
|
+
"cli.cmd.server.thread.top.out.node": "Node",
|
|
635
|
+
"cli.cmd.server.thread.top.out.cpu": "CPU",
|
|
636
|
+
"cli.cmd.server.thread.top.out.processShare": "Process share",
|
|
637
|
+
"cli.cmd.server.thread.top.out.location": "Top frame",
|
|
638
|
+
"cli.cmd.server.thread.top.out.details": "Details",
|
|
639
|
+
"cli.cmd.server.thread.top.out.reason": "Reason",
|
|
640
|
+
"cli.cmd.server.thread.top.out.hits": "Hits",
|
|
641
|
+
"cli.cmd.server.thread.top.out.status": "Status",
|
|
642
|
+
"cli.cmd.server.thread.top.out.error": "Error",
|
|
643
|
+
"cli.cmd.server.thread.top.out.samples": "Samples",
|
|
644
|
+
"cli.cmd.server.thread.top.out.heap": "Heap",
|
|
645
|
+
"cli.cmd.server.thread.top.out.heapDelta": "Heap delta",
|
|
646
|
+
"cli.cmd.server.thread.top.out.collector": "Collector",
|
|
647
|
+
"cli.cmd.server.thread.top.out.gcCount": "Collections",
|
|
648
|
+
"cli.cmd.server.thread.top.out.gcTime": "GC time",
|
|
649
|
+
"cli.cmd.server.thread.top.cluster": "Sample a node name from server cluster list; all selects all current members.",
|
|
509
650
|
"cli.cmd.server.thread.top.duration": "Set the client-side analysis window from 1s to 20s; use an ms or s suffix.",
|
|
510
651
|
"cli.cmd.server.thread.top.interval": "Set each server sampling window from 200ms to 2s; the analysis window must contain at least two samples.",
|
|
511
652
|
"cli.cmd.server.thread.top.refresh": "Set how often the live client-side report refreshes from 500ms to 5s.",
|
|
512
|
-
"cli.cmd.server.thread.top.limit": "Limit
|
|
653
|
+
"cli.cmd.server.thread.top.limit": "Limit the number of hotspot threads and suspected stalls.",
|
|
513
654
|
"cli.cmd.server.thread.top.noProgress": "Suppress the live report and print only the final report.",
|
|
514
655
|
"cli.cmd.server.thread.top.nodeSummary": "Node {0}: sampled for {1}, {2} samples across {3} observed threads.",
|
|
515
656
|
"cli.cmd.server.thread.top.cpuSummary": "JVM process CPU: {0}; accounted Java-thread CPU: {1}.",
|
|
@@ -532,31 +673,18 @@
|
|
|
532
673
|
"cli.cmd.server.thread.top.hotThreads": "Hot threads:",
|
|
533
674
|
"cli.cmd.server.thread.top.stallCandidates": "Long-running thread findings (diagnostic clues, not confirmed faults):",
|
|
534
675
|
"cli.cmd.server.thread.top.warnings": "Warnings: {0}",
|
|
535
|
-
"cli.cmd.server.thread.top.out.node": "Node",
|
|
536
|
-
"cli.cmd.server.thread.top.out.cpu": "CPU",
|
|
537
|
-
"cli.cmd.server.thread.top.out.processShare": "Process share",
|
|
538
|
-
"cli.cmd.server.thread.top.out.location": "Top frame",
|
|
539
|
-
"cli.cmd.server.thread.top.out.details": "Details",
|
|
540
|
-
"cli.cmd.server.thread.top.out.reason": "Reason",
|
|
541
|
-
"cli.cmd.server.thread.top.out.hits": "Hits",
|
|
542
|
-
"cli.cmd.server.thread.top.out.status": "Status",
|
|
543
|
-
"cli.cmd.server.thread.top.out.error": "Error",
|
|
544
|
-
"cli.cmd.server.thread.top.out.samples": "Samples",
|
|
545
|
-
"cli.cmd.server.thread.top.out.heap": "Heap",
|
|
546
|
-
"cli.cmd.server.thread.top.out.heapDelta": "Heap delta",
|
|
547
|
-
"cli.cmd.server.thread.top.out.collector": "Collector",
|
|
548
|
-
"cli.cmd.server.thread.top.out.gcCount": "Collections",
|
|
549
|
-
"cli.cmd.server.thread.top.out.gcTime": "GC time",
|
|
550
676
|
"cli.cmd.server.thread.show.summary": "Show one JVM thread.",
|
|
551
|
-
"cli.cmd.server.thread.show.desc": "
|
|
552
|
-
"cli.cmd.server.thread.show.
|
|
677
|
+
"cli.cmd.server.thread.show.desc": "Inspect a thread's current snapshot, authorized SQL information and full stack.\n\nThe thread may have ended or switched tasks. Snapshots and cancellation serials represent only the state at read time.",
|
|
678
|
+
"cli.cmd.server.thread.show.out": "--json returns thread. threadId, taskSerial and cancelSerial are strings; stacks is an array of stack frames and state is an uppercase JVM state. sql depends on permissions and masking; sqlTruncated indicates truncation and maskedFields identifies masked fields. Missing fields do not prove that no SQL is running. Check cancelable and the latest cancelSerial before requesting cancellation.",
|
|
679
|
+
"cli.cmd.server.thread.show.cluster": "Read a node name from server cluster list; use the same node as list.",
|
|
553
680
|
"cli.cmd.server.thread.show.stack": "Stack:",
|
|
554
681
|
"cli.cmd.server.thread.show.stackEmpty": " (stack is no longer available)",
|
|
555
682
|
"cli.cmd.server.thread.cancel.summary": "Request cancellation of a JVM thread task.",
|
|
556
|
-
"cli.cmd.server.thread.cancel.desc": "Request cooperative cancellation of
|
|
557
|
-
"cli.cmd.server.thread.cancel.
|
|
558
|
-
"cli.cmd.server.thread.cancel.
|
|
559
|
-
"cli.cmd.server.thread.cancel.
|
|
683
|
+
"cli.cmd.server.thread.cancel.desc": "Request cooperative cancellation of a registered product task on a JVM thread.\n\nRequests are made only when the current task still matches the cancellation serial; this does not terminate arbitrary JVM threads.\n\nSuccess means cancellation was requested, not that the task ended immediately.",
|
|
684
|
+
"cli.cmd.server.thread.cancel.out": "--json returns success=true when the cancellation request is accepted, not when the thread or task has finished.",
|
|
685
|
+
"cli.cmd.server.thread.cancel.cancelSerial": "The current cancellation serial from thread list or show; must match the latest task on the same node as show.",
|
|
686
|
+
"cli.cmd.server.thread.cancel.cluster": "Cancel on the selected node name; use the same node as show.",
|
|
687
|
+
"cli.cmd.server.thread.cancel.force": "Confirm the cooperative cancellation request.\n\nRequired.",
|
|
560
688
|
"cli.cmd.server.thread.cancel.requested": "Cancellation requested for thread {0} on {1}.",
|
|
561
689
|
"cli.cmd.server.thread.out.id": "ID",
|
|
562
690
|
"cli.cmd.server.thread.out.working": "Working",
|
|
@@ -568,52 +696,62 @@
|
|
|
568
696
|
"cli.cmd.server.thread.out.name": "Name",
|
|
569
697
|
"cli.cmd.server.thread.out.description": "Description",
|
|
570
698
|
"cli.cmd.server.thread.out.taskSerial": "Task serial",
|
|
571
|
-
"cli.cmd.server.thread.out.cancelSerial": "
|
|
699
|
+
"cli.cmd.server.thread.out.cancelSerial": "Cancellation serial",
|
|
572
700
|
"cli.cmd.server.thread.out.startedAt": "Started",
|
|
573
|
-
"cli.cmd.server.thread.out.datasource": "
|
|
701
|
+
"cli.cmd.server.thread.out.datasource": "Data source",
|
|
574
702
|
"cli.cmd.server.thread.out.logAvailable": "Log available",
|
|
575
703
|
"cli.cmd.server.techLog.title": "Server technical log",
|
|
576
704
|
"cli.cmd.server.techLog.summary": "inspect and manage server technical logs",
|
|
577
|
-
"cli.cmd.server.techLog.desc": "Inspect technical logs and manage runtime
|
|
705
|
+
"cli.cmd.server.techLog.desc": "Inspect server technical logs and manage runtime logging levels to diagnose runtime issues.\n\nSupports file listing, log reads and following, downloads, and node logging level management.\n\nRequires appropriate system settings console permissions. Logging level changes affect server runtime configuration.",
|
|
578
706
|
"cli.cmd.server.techLog.*.cluster": "Read from a named cluster node; omit for the current HTTP node. Find node names with 'succapp server cluster list'.",
|
|
707
|
+
"cli.cmd.server.techLog.*.url": "Target server URL; takes precedence over --server, the active workspace server and SUCCAPP_SERVER.",
|
|
579
708
|
"cli.cmd.server.techLog.list.summary": "List technical log files.",
|
|
580
|
-
"cli.cmd.server.techLog.list.desc": "List
|
|
709
|
+
"cli.cmd.server.techLog.list.desc": "List server technical log files to choose logs for reading or downloading.\n\nUses the server log directory, as in the system settings console, rather than local CLI logs.\n\nRequires console view permission.",
|
|
710
|
+
"cli.cmd.server.techLog.list.out": "--json returns files[], levels[] and warnings[]. Use files[].name with download; size is bytes and modifyTime Unix milliseconds. levels contains logger levels; use level list for focused inspection. warnings describes limitations such as node reads and should be checked. No log files returns files=[].",
|
|
581
711
|
"cli.cmd.server.techLog.list.empty": "No technical log files are available on this node.",
|
|
582
712
|
"cli.cmd.server.techLog.tail.summary": "Read the technical log tail.",
|
|
583
|
-
"cli.cmd.server.techLog.tail.desc": "Read the
|
|
584
|
-
"cli.cmd.server.techLog.tail.
|
|
585
|
-
"cli.cmd.server.techLog.tail.
|
|
586
|
-
"cli.cmd.server.techLog.tail.
|
|
587
|
-
"cli.cmd.server.techLog.tail.
|
|
588
|
-
"cli.cmd.server.techLog.tail.
|
|
713
|
+
"cli.cmd.server.techLog.tail.desc": "Read the current technical log to investigate runtime issues. Supports a single read, continuous following and resuming from a previous read position.\n\nRequires console view permission. Only reads logs; it does not modify server log content or logger levels.",
|
|
714
|
+
"cli.cmd.server.techLog.tail.out": "Text mode writes raw log content. Use --json or --pretty-json to obtain a resume cursor. Key JSON fields:\n\ncontent: log text returned by this read. An empty content with a non-null logFile means no log text was returned, not a read failure. logFile=null means no log file is available for this read; do not construct a resume request from it.\n\nfrom: a non-negative decimal integer cursor returned as a string; pass it back unchanged. It is not a line number and must not be calculated manually. logFile: the file name paired with the cursor. reset=true means the cursor was reset; do not treat this content as a continuous increment from the original file.\n\nThe examples first read JSON, then use from and the non-null logFile from that same response as POSITION and CURSOR_FILE. Resume with the same SERVER and NODE. Query again if no file is available, and do not reuse an old file cursor for another node or file.",
|
|
715
|
+
"cli.cmd.server.techLog.tail.cluster": "Read from a named cluster node; omit for the current HTTP node. NODE is the node name returned by succapp server cluster list; keep the same node for initial and subsequent reads.",
|
|
716
|
+
"cli.cmd.server.techLog.tail.lines": "Lines retained from the tail on the initial read; cannot be combined with --from or --log-file.",
|
|
717
|
+
"cli.cmd.server.techLog.tail.from": "The from cursor from the previous JSON response, a non-negative decimal integer represented as a string; pass it unchanged, not as a line number. Requires --log-file, excludes --lines, and must resume on the same server and node.",
|
|
718
|
+
"cli.cmd.server.techLog.tail.logFile": "The non-null logFile from the same JSON response as --from; requires --from and cannot be combined with --lines.",
|
|
719
|
+
"cli.cmd.server.techLog.tail.follow": "Append new log text until stopped with Ctrl+C; omit to read once. Text output only; cannot be combined with --json or --pretty-json.",
|
|
720
|
+
"cli.cmd.server.techLog.tail.interval": "Follow polling interval in milliseconds. Requires --follow.",
|
|
589
721
|
"cli.cmd.server.techLog.tail.retry": "Temporary network error; retry {0} in {1} ms.",
|
|
590
722
|
"cli.cmd.server.techLog.download.summary": "Download a technical log file.",
|
|
591
|
-
"cli.cmd.server.techLog.download.desc": "Download a
|
|
723
|
+
"cli.cmd.server.techLog.download.desc": "Download a server technical log file to this machine.\n\nSuitable for offline investigation. Downloads logs from the selected node without clearing or rotating server logs.\n\nRequires console log export permission. Writes a local file.",
|
|
724
|
+
"cli.cmd.server.techLog.download.out": "--json returns file (server log filename), output (local absolute path) and size (downloaded bytes). The log contents are saved to output, not embedded in JSON.",
|
|
592
725
|
"cli.cmd.server.techLog.download.cluster": "Download from a named cluster node; omit for the current HTTP node. Find node names with 'succapp server cluster list'.",
|
|
593
|
-
"cli.cmd.server.techLog.download.file": "Use the exact file name returned by 'succapp server tech-log list'.",
|
|
594
|
-
"cli.cmd.server.techLog.download.output": "
|
|
595
|
-
"cli.cmd.server.techLog.download.force": "
|
|
726
|
+
"cli.cmd.server.techLog.download.file": "Use the exact file name returned by 'succapp server tech-log list'.\n\nTake LOG_FILE from tech-log list on the same node; NODE is the name from server cluster list. Double-quote shell variables.",
|
|
727
|
+
"cli.cmd.server.techLog.download.output": "Local log output file; overwriting an existing file requires --force.",
|
|
728
|
+
"cli.cmd.server.techLog.download.force": "Allow overwriting an existing local output file.",
|
|
596
729
|
"cli.cmd.server.techLog.download.downloaded": "Downloaded technical log {0} to {1}",
|
|
597
730
|
"cli.cmd.server.techLog.level.title": "Technical log level",
|
|
598
731
|
"cli.cmd.server.techLog.level.summary": "inspect and manage logger levels",
|
|
599
|
-
"cli.cmd.server.techLog.level.desc": "Inspect
|
|
732
|
+
"cli.cmd.server.techLog.level.desc": "Inspect and manage logging levels on server nodes.\n\nCompare saved and effective levels, change individual loggers or restore inheritance, and submit complete log configuration to the cluster.\n\nRequires console view permission. Changes are persisted and affect runtime logging.",
|
|
600
733
|
"cli.cmd.server.techLog.level.*.cluster": "Modify a named cluster node; omit for the current HTTP node. Find node names with 'succapp server cluster list'.",
|
|
734
|
+
"cli.cmd.server.techLog.level.*.url": "Target server URL; takes precedence over --server, the active workspace server and SUCCAPP_SERVER.",
|
|
601
735
|
"cli.cmd.server.techLog.level.list.summary": "List logger levels.",
|
|
602
|
-
"cli.cmd.server.techLog.level.list.desc": "List
|
|
736
|
+
"cli.cmd.server.techLog.level.list.desc": "List logging levels on a target node to compare persisted configuration and effective values.\n\nHelps inspect logger inheritance. One node's result does not establish consistency across the cluster.\n\nRequires console view permission.",
|
|
737
|
+
"cli.cmd.server.techLog.level.list.out": "--json returns levels[]. package is the logger name; configuredLevel is its explicit configuration, effectiveLevel its runtime level, and level the level value supplied by the server. A logger without explicit configuration can inherit from its parent. Missing fields do not mean OFF; inspect effectiveLevel for actual behavior.",
|
|
603
738
|
"cli.cmd.server.techLog.level.list.cluster": "Read from a named cluster node; omit for the current HTTP node. Find node names with 'succapp server cluster list'.",
|
|
604
739
|
"cli.cmd.server.techLog.level.set.summary": "Set a logger level.",
|
|
605
|
-
"cli.cmd.server.techLog.level.set.desc": "
|
|
606
|
-
"cli.cmd.server.techLog.level.set.
|
|
740
|
+
"cli.cmd.server.techLog.level.set.desc": "Change and persist one logger level on a target node, applying it at runtime.\n\nRequires console view permission. More detailed logging may increase log volume and runtime overhead. Changes do not automatically propagate to other cluster nodes.",
|
|
741
|
+
"cli.cmd.server.techLog.level.set.out": "--json returns package (logger name) and the submitted level. Query level list for the actual effective value after the change.",
|
|
742
|
+
"cli.cmd.server.techLog.level.set.force": "Confirm TRACE or DEBUG after reviewing the operational impact.\n\nRequired for TRACE and DEBUG.",
|
|
607
743
|
"cli.cmd.server.techLog.level.set.logger": "Use an exact named logger; root and wildcards are not allowed.",
|
|
608
744
|
"cli.cmd.server.techLog.level.set.level": "Use TRACE, DEBUG, INFO, or ERROR. Values are case-sensitive.",
|
|
609
745
|
"cli.cmd.server.techLog.level.set.updated": "Updated logger {0} to {1}",
|
|
610
746
|
"cli.cmd.server.techLog.level.reset.summary": "Reset a named logger level.",
|
|
611
|
-
"cli.cmd.server.techLog.level.reset.desc": "Remove
|
|
747
|
+
"cli.cmd.server.techLog.level.reset.desc": "Remove an explicit logger level to restore inheritance from its parent.\n\nRequires console view permission. The effective level depends on the parent; restoring inheritance does not disable logging.",
|
|
748
|
+
"cli.cmd.server.techLog.level.reset.out": "--json returns package (logger name), without the inherited effective level. Query level list to inspect it.",
|
|
612
749
|
"cli.cmd.server.techLog.level.reset.logger": "Use an exact named logger; root and wildcards are not allowed.",
|
|
613
750
|
"cli.cmd.server.techLog.level.reset.reset": "Reset logger level: {0}",
|
|
614
751
|
"cli.cmd.server.techLog.level.apply.summary": "Apply logger levels to the cluster.",
|
|
615
|
-
"cli.cmd.server.techLog.level.apply.desc": "Submit the current HTTP node's complete
|
|
616
|
-
"cli.cmd.server.techLog.level.apply.
|
|
752
|
+
"cli.cmd.server.techLog.level.apply.desc": "Submit the current HTTP node's complete log configuration to reachable cluster nodes.\n\nRequires console view permission. Submits the full Logback configuration, not just one logger, and may replace existing configuration on target nodes.\n\nSuccess only indicates submission, not successful processing on every node.",
|
|
753
|
+
"cli.cmd.server.techLog.level.apply.out": "Success only confirms submission of the complete configuration. No per-node execution results are returned; verify each node with level list.",
|
|
754
|
+
"cli.cmd.server.techLog.level.apply.force": "Confirm replacing the complete Logback configuration on reachable cluster peers.\n\nRequired.",
|
|
617
755
|
"cli.cmd.server.techLog.level.apply.applied": "The Logback configuration was submitted to the cluster.",
|
|
618
756
|
"cli.cmd.server.techLog.out.file": "File",
|
|
619
757
|
"cli.cmd.server.techLog.out.size": "Size",
|
|
@@ -624,19 +762,26 @@
|
|
|
624
762
|
"cli.cmd.server.techLog.out.effectiveLevel": "Effective",
|
|
625
763
|
"cli.cmd.server.proj.title": "Server project",
|
|
626
764
|
"cli.cmd.server.proj.summary": "inspect server projects",
|
|
627
|
-
"cli.cmd.server.proj.desc": "Inspect
|
|
765
|
+
"cli.cmd.server.proj.desc": "Inspect and create metadata projects on the server.\n\nShows projects visible to the current user to identify resource scopes.\n\nCreation takes effect directly on the server without automatically creating a local workspace copy.",
|
|
628
766
|
"cli.cmd.server.proj.list.summary": "List server projects.",
|
|
629
|
-
"cli.cmd.server.proj.list.desc": "List projects visible
|
|
767
|
+
"cli.cmd.server.proj.list.desc": "List server projects visible to the current user.\n\nResults depend on user permissions; an omitted project does not necessarily mean it does not exist.",
|
|
768
|
+
"cli.cmd.server.proj.list.out": "--json returns projects[]. name is the project name used in subsequent commands, id its identifier, and desc an optional description. No visible projects returns projects=[] with empty.",
|
|
630
769
|
"cli.cmd.server.proj.list.empty": "No visible projects found.",
|
|
631
770
|
"cli.cmd.server.proj.create.summary": "Create a server project.",
|
|
632
|
-
"cli.cmd.server.proj.create.desc": "Create a metadata project on
|
|
771
|
+
"cli.cmd.server.proj.create.desc": "Create a metadata project on the server.\n\nAffects the server directly without automatically cloning locally. Creation may already have completed if the response is interrupted.",
|
|
772
|
+
"cli.cmd.server.proj.create.out": "--json returns project with the new project name, id and optional desc. Use name to clone or query the project.",
|
|
633
773
|
"cli.cmd.server.proj.create.descOption": "Set the project description.",
|
|
634
774
|
"cli.cmd.server.proj.create.created": "Created server project: {0}",
|
|
775
|
+
"cli.cmd.server.proj.create.project": "New project name; inspect existing projects with server project list.",
|
|
776
|
+
"cli.cmd.server.proj.*.url": "Target server URL; takes precedence over --server, the active workspace server and SUCCAPP_SERVER.",
|
|
635
777
|
"cli.cmd.server.file.title": "Server file",
|
|
636
778
|
"cli.cmd.server.file.summary": "inspect and operate server metadata files",
|
|
637
|
-
"cli.cmd.server.file.desc": "Inspect and
|
|
779
|
+
"cli.cmd.server.file.desc": "Inspect and manage server metadata files.\n\nSupports directory browsing, file search, metadata and content reads, version history, downloads, creation, updates, moves, renames and removal.\n\nWrite operations change server resources directly without updating the local workspace.",
|
|
638
780
|
"cli.cmd.server.file.*.file": "Read content from a local file.",
|
|
639
781
|
"cli.cmd.server.file.*.stdin": "Read content from stdin.",
|
|
782
|
+
"cli.cmd.server.file.*.url": "Target server URL; takes precedence over --server, the active workspace server and SUCCAPP_SERVER.",
|
|
783
|
+
"cli.cmd.server.file.*.path": "Server metadata path such as /DEMO/ana/sales.dash, not a local filesystem path.",
|
|
784
|
+
"cli.cmd.server.file.*.id": "Metadata ID obtainable from file information returned by server file info.",
|
|
640
785
|
"cli.cmd.server.file.badValue": "Invalid value for {0}: {1}",
|
|
641
786
|
"cli.cmd.server.file.expectedRevRequired": "{0} requires --expected-revision=<n> unless --force is used.",
|
|
642
787
|
"cli.cmd.server.file.fileOrStdinConflict": "Use either --file or --stdin, not both.",
|
|
@@ -646,23 +791,32 @@
|
|
|
646
791
|
"cli.cmd.server.file.missingServerFile": "Missing server file path.",
|
|
647
792
|
"cli.cmd.server.file.revForceConflict": "{0} accepts either --expected-revision or --force, not both.",
|
|
648
793
|
"cli.cmd.server.file.success": "{0} succeeded: {1}",
|
|
794
|
+
"cli.cmd.server.file.success.Create": "Created server file: {0}",
|
|
795
|
+
"cli.cmd.server.file.success.Put": "Updated server file: {0}",
|
|
796
|
+
"cli.cmd.server.file.success.Update": "Updated server file: {0}",
|
|
797
|
+
"cli.cmd.server.file.success.Delete": "Deleted server file: {0}",
|
|
798
|
+
"cli.cmd.server.file.success.Move": "Moved server file: {0}",
|
|
799
|
+
"cli.cmd.server.file.success.Rename": "Renamed server file: {0}",
|
|
649
800
|
"cli.cmd.server.file.unknownServerFile": "Unknown server file error.",
|
|
650
801
|
"cli.cmd.server.file.list.summary": "List server files.",
|
|
651
|
-
"cli.cmd.server.file.list.desc": "List
|
|
802
|
+
"cli.cmd.server.file.list.desc": "List the immediate children of a server metadata directory.\n\nSuitable for browsing one directory; does not recursively list the entire tree.",
|
|
803
|
+
"cli.cmd.server.file.list.out": "--json returns files[] and summary.files. Entries contain id, name, remotePath, remoteParentPath, isFolder and available metadata; see server file info --help for field details. No children returns files=[] with empty. Counts cover direct children only, not the entire directory tree.",
|
|
652
804
|
"cli.cmd.server.file.list.empty": "Directory is empty: {0}",
|
|
805
|
+
"cli.cmd.server.file.list.path": "An absolute server metadata directory path, for example /DEMO/ana, not a local file path. Quote paths containing spaces; only immediate children are returned.\n\nOmit to query the server metadata root directory /.",
|
|
653
806
|
"cli.cmd.server.file.search.summary": "Search server files.",
|
|
654
|
-
"cli.cmd.server.file.search.desc": "Search
|
|
807
|
+
"cli.cmd.server.file.search.desc": "Search server metadata files readable by the current user.\n\nSupports full-path lookup and combined project, directory, filename and content filters. Results depend on permissions and result limits; empty or capped results do not prove a resource is absent.",
|
|
808
|
+
"cli.cmd.server.file.search.out": "--json returns results[]: file contains metadata and file.remotePath is the server path; score indicates relevance, matchedOn identifies matches, and warnings describes limits such as skipped content checks. See server file info --help for file fields. summary.returned is the returned count, summary.limit the applied limit, and summary.hasMore indicates additional matches. No total count or offset pagination is provided. No matches returns results=[] with empty.",
|
|
655
809
|
"cli.cmd.server.file.search.url": "Optional server URL. A lone non-URL argument is treated as <query>.",
|
|
656
810
|
"cli.cmd.server.file.search.query": "Starts with '/': full path or path glob. Contains '*' or '?': file name glob. Otherwise searches file metadata by keyword.",
|
|
657
811
|
"cli.cmd.server.file.search.path": "Search by an absolute metadata path glob; a project root searches recursively. Can be combined with a keyword <query>, but not with a path <query>, --project, --parent-dir, or --name.",
|
|
658
812
|
"cli.cmd.server.file.search.name": "Search by a file name glob; without wildcards, matches exactly. Can be combined with a keyword <query>, --project, and --parent-dir, but not with a glob <query> or --path.",
|
|
659
813
|
"cli.cmd.server.file.search.parentDir": "Search one absolute directory scope recursively. Glob wildcards are not supported; use --path='/DIR/*' for direct children. With --project, its first path segment must match the project name.",
|
|
660
|
-
"cli.cmd.server.file.search.project": "Match one project name. Can be combined with --parent-dir and --name.",
|
|
814
|
+
"cli.cmd.server.file.search.project": "Match one project name exactly. Can be combined with --parent-dir and --name.",
|
|
661
815
|
"cli.cmd.server.file.search.type": "Limit search to metadata type. Repeat or use comma-separated values.",
|
|
662
816
|
"cli.cmd.server.file.search.subType": "Limit search to metadata subtype. Repeat or use comma-separated values.",
|
|
663
817
|
"cli.cmd.server.file.search.minSize": "Minimum original content size in bytes.",
|
|
664
818
|
"cli.cmd.server.file.search.maxSize": "Maximum original content size in bytes.",
|
|
665
|
-
"cli.cmd.server.file.search.limit": "
|
|
819
|
+
"cli.cmd.server.file.search.limit": "Maximum most relevant files returned; defaults to 50 when omitted.",
|
|
666
820
|
"cli.cmd.server.file.search.includeFolders": "Include folders in the result.",
|
|
667
821
|
"cli.cmd.server.file.search.contentContains": "Require every repeated plain-text or /pattern/flags expression in text-file content. Plain text uses case-insensitive literal contains; regex defaults to multiline without flags. Values are not split on commas.",
|
|
668
822
|
"cli.cmd.server.file.search.contentContainsAny": "Require at least one repeated plain-text or /pattern/flags expression in text-file content. Plain text uses case-insensitive literal contains; regex defaults to multiline without flags. Values are not split on commas.",
|
|
@@ -671,152 +825,220 @@
|
|
|
671
825
|
"cli.cmd.server.file.search.nameHint": "File names match exactly without wildcards; wildcards are not added automatically.",
|
|
672
826
|
"cli.cmd.server.file.search.hasMore": "Only the {0} most relevant files are shown; add a project, directory, type, or more specific keyword to narrow the search.",
|
|
673
827
|
"cli.cmd.server.file.search.warningDetails": "Content was not checked; use --json for full details.",
|
|
674
|
-
"cli.cmd.server.recyclebin.title": "Server recycle bin",
|
|
675
|
-
"cli.cmd.server.recyclebin.summary": "Search files in the server recycle bin",
|
|
676
|
-
"cli.cmd.server.recyclebin.desc": "Search and inspect deleted files that are visible in server project recycle bins.\n\nUse search within a project to inspect deleted resources, paths and deletion times. This group queries the recycle bin; it does not restore or permanently purge resources.",
|
|
677
|
-
"cli.cmd.server.recyclebin.search.summary": "Search server recycle bin files.",
|
|
678
|
-
"cli.cmd.server.recyclebin.search.desc": "Search visible files in a project recycle bin by keyword, path, type, or delete time.\n\nSpecify a project, combine filters as needed, and use --limit to bound results. These are recycle-bin records; their paths do not prove that live files exist. Use the product restoration workflow when recovery is needed.",
|
|
679
|
-
"cli.cmd.server.recyclebin.search.url": "Optional server URL. A lone non-URL first argument is treated as <project>.",
|
|
680
|
-
"cli.cmd.server.recyclebin.search.project": "Project name whose recycle bin should be searched.",
|
|
681
|
-
"cli.cmd.server.recyclebin.search.query": "Search keyword, full metadata path, or path glob.",
|
|
682
|
-
"cli.cmd.server.recyclebin.search.type": "Limit search to metadata type. Repeat or use comma-separated values.",
|
|
683
|
-
"cli.cmd.server.recyclebin.search.deletedAfter": "Only return files deleted at or after this time. Accepts epoch millis or ISO-8601.",
|
|
684
|
-
"cli.cmd.server.recyclebin.search.deletedBefore": "Only return files deleted at or before this time. Accepts epoch millis or ISO-8601.",
|
|
685
|
-
"cli.cmd.server.recyclebin.search.limit": "Return at most this many files. Defaults to 50; maximum is 1000.",
|
|
686
|
-
"cli.cmd.server.recyclebin.search.empty": "No matching recycle bin files in project {0}.",
|
|
687
|
-
"cli.cmd.server.recyclebin.search.hasMore": "Only {0} recycle bin files are shown; add a type, delete time range, or more specific keyword to narrow the search.",
|
|
688
828
|
"cli.cmd.server.file.locate.summary": "Locate a server file by metadata ID.",
|
|
689
|
-
"cli.cmd.server.file.locate.desc": "
|
|
829
|
+
"cli.cmd.server.file.locate.desc": "Locate a server file by metadata ID.\n\nProvides its current path and view or edit URLs to resolve a resource identifier to a file.",
|
|
830
|
+
"cli.cmd.server.file.locate.out": "--json returns id, remotePath, viewUrl, editUrl and file metadata; see server file info --help for file fields. --url only changes text output; JSON retains the full lookup result.",
|
|
690
831
|
"cli.cmd.server.file.locate.url": "Only print the server view or edit URL.",
|
|
691
832
|
"cli.cmd.server.file.locate.viewUrl": "View URL: {0}",
|
|
692
833
|
"cli.cmd.server.file.locate.editUrl": "Edit URL: {0}",
|
|
693
834
|
"cli.cmd.server.file.info.summary": "Show server file information.",
|
|
694
|
-
"cli.cmd.server.file.info.desc": "
|
|
835
|
+
"cli.cmd.server.file.info.desc": "Inspect metadata for a server file or directory.\n\nShows resource paths, types, descriptions, revisions and modification times to identify a target and its version.",
|
|
836
|
+
"cli.cmd.server.file.info.out": "JSON business fields (common context omitted; comments explain fields; actual output is strict JSON; optional fields appear only when provided by the server):\n {\n \"remotePath\": \"/project/data/table.tbl\", // Requested server metadata path\n \"file\": { // Server file or directory metadata\n \"id\": \"file-id\", // Resource ID\n \"revision\": 3, // Optional; content revision for --expected-revision; attribute-only changes do not increment it\n \"remotePath\": \"/project/data/table.tbl\", // Full resource path\n \"remoteParentPath\": \"/project/data\", // Parent directory path\n \"name\": \"table.tbl\", // File or directory name\n \"projectName\": \"project\", // Optional; owning project\n \"isFolder\": false, // True for a directory\n \"type\": \"tbl\", // Optional; resource type\n \"subFileType\": \"DataFlow\", // Optional; server-detected subtype, only for applicable resources\n \"icon\": \"icon-file\", // Optional; icon class or URL\n \"desc\": \"Table\", // Optional; resource description\n \"order\": 1, // Optional; sort order, omitted or 0 means sort by name\n \"creator\": \"user-id\", // Optional; creator user ID\n \"createTime\": 1700000000000, // Optional; creation time in Unix milliseconds\n \"modifier\": \"user-id\", // Optional; last modifier user ID\n \"modifyTime\": 1700000001000, // Optional; Unix milliseconds for content or some attributes; directories track subtree changes\n \"hidden\": true, // Optional; hidden flag, false when omitted\n \"labels\": \"label-a,label-b\", // Optional; comma-separated label IDs\n \"size\": 5, // Optional; uncompressed file content bytes; directories may return 0, not subtree size\n \"hash\": \"<SHA-256>\", // Optional; 64 hexadecimal digits of the original content SHA-256, absent for directories; placeholder shown\n \"option\": {}, // Optional; product attribute object\n \"customOption\": {} // Optional; custom attributes for business extensions\n }\n }\n\nThe file metadata DTS uses path/parentDir; CLI responses name them remotePath/remoteParentPath. Follow the fields documented here.",
|
|
695
837
|
"cli.cmd.server.file.show.summary": "Show server file content.",
|
|
696
|
-
"cli.cmd.server.file.show.desc": "
|
|
838
|
+
"cli.cmd.server.file.show.desc": "Read server file content.\n\nSupports current content, historical versions and upgraded content provided by the server.\n\nOnly reads content; upgraded results are not written back to the server.",
|
|
839
|
+
"cli.cmd.server.file.show.out": "Human output is raw content. For known text types with valid UTF-8, JSON returns the text in content with encoding=utf8; binary data, unknown types and invalid UTF-8 use Base64 in content with encoding=base64.",
|
|
697
840
|
"cli.cmd.server.file.show.revision": "Read a server file revision.",
|
|
698
|
-
"cli.cmd.server.file.show.upgradeContent": "Return upgraded metadata JSON content when supported.",
|
|
841
|
+
"cli.cmd.server.file.show.upgradeContent": "Return upgraded metadata JSON content when supported.\n\nOnly affects returned content; it is not written back to the server.",
|
|
699
842
|
"cli.cmd.server.file.download.summary": "Download server file content.",
|
|
700
|
-
"cli.cmd.server.file.download.desc": "Download server file content to a local file.\n\
|
|
843
|
+
"cli.cmd.server.file.download.desc": "Download server file content to a local file.\n\nSupports historical versions and upgraded content provided by the server.\n\nWrites a local file without changing server content or creating a workspace synchronization baseline.",
|
|
844
|
+
"cli.cmd.server.file.download.out": "JSON business fields (common context omitted; comments explain fields; actual output is strict JSON):\n {\n \"remotePath\": \"/project/app/example.app/page.ftl\", // Server resource path\n \"output\": \"/work/page.ftl\", // Absolute local path receiving the content\n \"revision\": 3, // Revision; present when supplied by the server\n \"modifyTime\": 1792195200000 // Modified time, epoch milliseconds; if supplied\n }",
|
|
701
845
|
"cli.cmd.server.file.download.revision": "Download a server file revision.",
|
|
702
846
|
"cli.cmd.server.file.download.upgradeContent": "Download upgraded metadata JSON content when supported.",
|
|
703
|
-
"cli.cmd.server.file.download.output": "
|
|
704
|
-
"cli.cmd.server.file.download.force": "
|
|
847
|
+
"cli.cmd.server.file.download.output": "Local content output file; overwriting an existing file requires --force.",
|
|
848
|
+
"cli.cmd.server.file.download.force": "Allow overwriting an existing local output file.",
|
|
705
849
|
"cli.cmd.server.file.download.downloaded": "Downloaded {0} to {1}",
|
|
706
850
|
"cli.cmd.server.file.open.summary": "Open the server file page.",
|
|
707
|
-
"cli.cmd.server.file.open.desc": "Open
|
|
851
|
+
"cli.cmd.server.file.open.desc": "Open a server resource page in the system browser.\n\nSupports viewing, editing and URL-only lookup, using the appropriate editor for visual or code files.\n\nOnly opens a page or constructs its URL; it does not upload content or check resource existence.",
|
|
852
|
+
"cli.cmd.server.file.open.out": "--json returns remotePath, url, edit and opened. edit indicates the edit URL; opened records whether opening in the system browser was requested. --no-open sets opened=false. Neither value confirms that the resource exists.",
|
|
708
853
|
"cli.cmd.server.file.open.edit": "Open the server edit page instead of the view page.",
|
|
709
854
|
"cli.cmd.server.file.open.noOpen": "Return the page URL without launching the system browser.",
|
|
710
855
|
"cli.cmd.server.file.open.path": "Absolute server metadata path. The URL is constructed without checking whether the file exists.",
|
|
711
856
|
"cli.cmd.server.file.open.openedEdit": "Opened server edit page: {0}",
|
|
712
857
|
"cli.cmd.server.file.open.openedView": "Opened server view page: {0}",
|
|
713
858
|
"cli.cmd.server.file.history.summary": "Show server file history.",
|
|
714
|
-
"cli.cmd.server.file.history.desc": "
|
|
859
|
+
"cli.cmd.server.file.history.desc": "Inspect version history for a server file.\n\nRecords come from the server rather than local Git history, helping review changes and select historical content versions.",
|
|
860
|
+
"cli.cmd.server.file.history.out": "--json returns histories[] and summary.histories. revision is the historical content version, remotePath the server path, action the change operation, and modifyTime Unix milliseconds. message, detail and other optional fields appear when supplied. No records returns histories=[] with empty. --limit bounds the count; it is not a total history count.",
|
|
715
861
|
"cli.cmd.server.file.history.limit": "Limit the number of history records.",
|
|
716
|
-
"cli.cmd.server.file.create.summary": "Create a server file.",
|
|
717
|
-
"cli.cmd.server.file.create.desc": "Create a
|
|
862
|
+
"cli.cmd.server.file.create.summary": "Create a server file or folder.",
|
|
863
|
+
"cli.cmd.server.file.create.desc": "Create a metadata file or folder on the server without a local workspace.\n\nFile creation never overwrites existing resources. Folder creation succeeds if the folder already exists, but fails on a same-name file. The server decides whether missing parent folders can be created based on permissions.\n\nWrites directly to the server without updating the local workspace. Creation may have completed after an interrupted response; inspect the target before retrying.",
|
|
864
|
+
"cli.cmd.server.file.create.out": "JSON returns remotePath (the target server path) and result. File creation also returns source (file, stdin or template); local file input includes sourceFilePath. Folder creation has no content source.\n\nresult.metaInfo contains target attributes; isFolder identifies folders. result.modifyTime is Unix milliseconds. result.contentMutation=created means newly created, while an existing folder returns none with result.metaInfoChanged=false. result.createdFiles lists resources created by this operation. Fields appear when supplied by the server; see server file info --help for attributes.",
|
|
865
|
+
"cli.cmd.server.file.create.input": "Choose at most one of --folder, --file, --stdin and --template. --folder explicitly creates a folder. Otherwise a file is created; an extensionless name or trailing slash does not select folder creation.\n\nExplicit content may be empty; --template selects a creation template. With all these options omitted, the server tries a script content template, then a default template, and otherwise creates an empty file. Content must follow the target type declarations without a CLI result envelope. Replace /TEST_CLI with the target project; new.rpt is a prepared local body file.",
|
|
866
|
+
"cli.cmd.server.file.create.folder": "Create a folder without content or a template; an existing same-name folder succeeds.",
|
|
867
|
+
"cli.cmd.server.file.create.file": "Local content file.",
|
|
868
|
+
"cli.cmd.server.file.create.stdin": "Read body from standard input.",
|
|
869
|
+
"cli.cmd.server.file.create.template": "Creation template ID, available from dev template list.",
|
|
718
870
|
"cli.cmd.server.file.update.summary": "Update a server file.",
|
|
719
|
-
"cli.cmd.server.file.update.desc": "Update an existing server file
|
|
720
|
-
"cli.cmd.server.file.update.
|
|
721
|
-
"cli.cmd.server.file.update.
|
|
722
|
-
"cli.cmd.server.file.
|
|
723
|
-
"cli.cmd.server.file.
|
|
724
|
-
"cli.cmd.server.file.
|
|
725
|
-
"cli.cmd.server.file.
|
|
726
|
-
"cli.cmd.server.
|
|
727
|
-
"cli.cmd.server.
|
|
728
|
-
"cli.cmd.server.
|
|
729
|
-
"cli.cmd.server.
|
|
730
|
-
"cli.cmd.server.
|
|
731
|
-
"cli.cmd.server.
|
|
732
|
-
"cli.cmd.server.
|
|
733
|
-
"cli.cmd.server.
|
|
734
|
-
"cli.cmd.server.
|
|
735
|
-
"cli.cmd.server.
|
|
736
|
-
"cli.cmd.server.
|
|
737
|
-
"cli.cmd.server.
|
|
738
|
-
"cli.cmd.server.
|
|
739
|
-
"cli.cmd.server.
|
|
740
|
-
"cli.cmd.server.
|
|
741
|
-
"cli.cmd.server.
|
|
742
|
-
"cli.cmd.server.
|
|
743
|
-
"cli.cmd.server.
|
|
744
|
-
"cli.cmd.server.
|
|
745
|
-
"cli.cmd.server.
|
|
871
|
+
"cli.cmd.server.file.update.desc": "Update the content of an existing server metadata file.\n\nSupports concurrency protection using a previously read revision to avoid overwriting others' changes.\n\nChanges server files directly without updating the local workspace. Bypassing revision protection may overwrite remote changes.",
|
|
872
|
+
"cli.cmd.server.file.update.out": "JSON returns remotePath, source (file or stdin) and result. File input also includes the absolute local sourceFilePath.\n\nresult contains server-confirmed changes such as metaInfo, modifyTime and warnings when supplied. metaInfo.revision is the content revision; modifyTime is the modification time in Unix milliseconds. See server file info --help for file attributes.",
|
|
873
|
+
"cli.cmd.server.file.update.revisionInput": "Choose exactly one of --expected-revision and --force: protect the update with a previously read revision, or explicitly bypass revision protection.",
|
|
874
|
+
"cli.cmd.server.file.update.expectedRevision": "Update only if the current server content revision matches this value, taken from server file info. Read and compare again after a conflict.",
|
|
875
|
+
"cli.cmd.server.file.update.force": "Overwrite current server content without revision protection.",
|
|
876
|
+
"cli.cmd.server.file.update.input": "Choose exactly one of --file and --stdin. Content must follow the target file type declarations, such as rpt.d.ts, dash.d.ts or tbl.d.ts, not a CLI result envelope.",
|
|
877
|
+
"cli.cmd.server.file.update.file": "Local content file.",
|
|
878
|
+
"cli.cmd.server.file.update.stdin": "Read content from standard input.",
|
|
879
|
+
"cli.cmd.server.file.move.summary": "Move a server file or folder.",
|
|
880
|
+
"cli.cmd.server.file.move.desc": "Move a server metadata file or folder, optionally changing its name. The target parent must exist and must not be the source folder or one of its descendants. Supply the full destination path including the name, not a receiving directory.\n\nA same-name target causes a conflict. Equal source and destination paths report that no change is needed without writing. Folder operations change descendant paths. References in other resources are not rewritten automatically; check affected pages and tasks afterward.\n\nChanges the server directly without updating the local workspace. After an interrupted response, inspect both source and target paths before retrying. Replace example projects, paths and revisions with actual resources.",
|
|
881
|
+
"cli.cmd.server.file.move.out": "JSON returns remotePath (the full resulting path) and result. result.oldRemotePath is the original path; result.pathMutation is renamed, moved or renamedAndMoved. result.metaInfo contains resulting attributes and result.modifyTime is Unix milliseconds. Reuse remotePath with server file info to verify the result. Fields appear when supplied by the server.",
|
|
882
|
+
"cli.cmd.server.file.move.expectedRevision": "Execute only if the source revision still matches. Choose exactly one of --expected-revision and --force. Obtain the revision from server file info; reread and compare after a conflict. revision protects content revisions, not all folder descendant or property changes.",
|
|
883
|
+
"cli.cmd.server.file.move.force": "Bypass source revision protection; choose exactly one of --force and --expected-revision. Does not overwrite a same-name target or bypass permissions.",
|
|
884
|
+
"cli.cmd.server.file.move.targetPath": "Full server metadata destination path including the name; parent must exist.",
|
|
885
|
+
"cli.cmd.server.file.rename.summary": "Rename a server file or folder.",
|
|
886
|
+
"cli.cmd.server.file.rename.desc": "Rename a server metadata file or folder within its current parent. The new name must be a single path segment; use server file move to change its location.\n\nA same-name target causes a conflict. Equal source and destination paths report that no change is needed without writing. Folder operations change descendant paths. References in other resources are not rewritten automatically; check affected pages and tasks afterward.\n\nChanges the server directly without updating the local workspace. After an interrupted response, inspect both source and target paths before retrying. Replace example projects, paths and revisions with actual resources.",
|
|
887
|
+
"cli.cmd.server.file.rename.out": "JSON returns remotePath (the full resulting path) and result. result.oldRemotePath is the original path; result.pathMutation is renamed. result.metaInfo contains resulting attributes and result.modifyTime is Unix milliseconds. Reuse remotePath with server file info to verify the result. Fields appear when supplied by the server.",
|
|
888
|
+
"cli.cmd.server.file.rename.expectedRevision": "Execute only if the source revision still matches. Choose exactly one of --expected-revision and --force. Obtain the revision from server file info; reread and compare after a conflict. revision protects content revisions, not all folder descendant or property changes.",
|
|
889
|
+
"cli.cmd.server.file.rename.force": "Bypass source revision protection; choose exactly one of --force and --expected-revision. Does not overwrite a same-name target or bypass permissions.",
|
|
890
|
+
"cli.cmd.server.file.rename.name": "New name including the file extension; no directories, slashes, or the names \".\" and \"..\".",
|
|
891
|
+
"cli.cmd.server.file.remove.summary": "Delete a server file or folder.",
|
|
892
|
+
"cli.cmd.server.file.remove.desc": "Delete an existing metadata file or folder on the server. Deleting a folder also removes its contents.\n\nChecks only the content revision of the resource being deleted. A folder revision is not a subtree snapshot: descendant changes do not invalidate it or prevent deletion of the entire folder.\n\nDirectly removes a server resource and may affect dependent pages and tasks. Bypassing protection may delete a file changed by someone else.",
|
|
893
|
+
"cli.cmd.server.file.remove.out": "--json returns remotePath and result. result contains server-confirmed changes and may include metaInfo, modifyTime and warnings. metaInfo.revision is the content revision supplied by the server; property-only changes may not increment it. Missing fields are not fabricated; see server file info --help for metadata fields.",
|
|
894
|
+
"cli.cmd.server.file.remove.expectedRevision": "Only delete when the resource revision still matches; a folder revision does not protect descendant changes.\n\nChoose exactly one of --expected-revision and --force. Use the latest revision from server file info; reread and compare after a conflict.",
|
|
895
|
+
"cli.cmd.server.file.remove.force": "Delete the current server file without revision protection.\n\nBypass revision protection; choose exactly one of --force and --expected-revision.",
|
|
896
|
+
"cli.cmd.server.recyclebin.title": "Server recycle bin",
|
|
897
|
+
"cli.cmd.server.recyclebin.summary": "Search files in the server recycle bin",
|
|
898
|
+
"cli.cmd.server.recyclebin.desc": "Inspect deleted files in server project recycle bins.\n\nShows original paths and deletion times. Only queries records; it does not restore or permanently remove files.",
|
|
899
|
+
"cli.cmd.server.recyclebin.search.summary": "Search server recycle bin files.",
|
|
900
|
+
"cli.cmd.server.recyclebin.search.desc": "Search deleted files visible to the current user in a project recycle bin.\n\nSupports keyword, path, type and deletion-time filters. Results are recycle bin records, not evidence that a file still exists at its original path.\n\nOnly reads records; it does not restore or clear files.",
|
|
901
|
+
"cli.cmd.server.recyclebin.search.out": "--json returns results[]. file.recyclebinId identifies the recycle-bin record; file.id identifies the original resource; file.remotePath is its former server path; file.deleteTime is Unix milliseconds. score, matchedOn and warnings describe matching and query limits. summary.returned, summary.limit and summary.hasMore give the count, limit and whether more matches exist; no total count or offset pagination is provided. No matches returns results=[] with empty.",
|
|
902
|
+
"cli.cmd.server.recyclebin.search.url": "Optional server URL. The first non-URL argument is treated as <project>.",
|
|
903
|
+
"cli.cmd.server.recyclebin.search.project": "Project name whose recycle bin should be searched.",
|
|
904
|
+
"cli.cmd.server.recyclebin.search.query": "Search keyword, full metadata path, or path glob.",
|
|
905
|
+
"cli.cmd.server.recyclebin.search.type": "Limit search to metadata type. Repeat or use comma-separated values.",
|
|
906
|
+
"cli.cmd.server.recyclebin.search.deletedAfter": "Only return files deleted at or after this time. Accepts epoch millis or ISO-8601.",
|
|
907
|
+
"cli.cmd.server.recyclebin.search.deletedBefore": "Only return files deleted at or before this time. Accepts epoch millis or ISO-8601.",
|
|
908
|
+
"cli.cmd.server.recyclebin.search.limit": "Maximum files returned; defaults to 50 when omitted.",
|
|
909
|
+
"cli.cmd.server.recyclebin.search.empty": "No matching recycle bin files in project {0}.",
|
|
910
|
+
"cli.cmd.server.recyclebin.search.hasMore": "Only {0} recycle bin files are shown; add a type, delete time range, or more specific keyword to narrow the search.",
|
|
746
911
|
"cli.cmd.server.settings.title": "Server settings",
|
|
747
912
|
"cli.cmd.server.settings.summary": "get and edit server settings",
|
|
748
|
-
"cli.cmd.server.settings.desc": "Read
|
|
749
|
-
"cli.cmd.server.settings.target
|
|
750
|
-
"cli.cmd.server.settings.
|
|
751
|
-
"cli.cmd.server.settings.
|
|
913
|
+
"cli.cmd.server.settings.desc": "Read and change server system, project or application settings.\n\nSupports reading and changing top-level keys, and adding, replacing or removing list entries.\n\nWrites take effect directly on the server without a workspace push or updating local files.",
|
|
914
|
+
"cli.cmd.server.settings.target": "Use system for system settings, a project name such as DEMO for project settings, or an absolute metadata path such as /DEMO/app/demo.app for application settings, not a local path. Only get may omit the target to read system settings; set requires an explicit target.",
|
|
915
|
+
"cli.cmd.server.settings.target.system": "System-level",
|
|
916
|
+
"cli.cmd.server.settings.url": "Target server URL; takes precedence over --server, the active workspace server and SUCCAPP_SERVER.",
|
|
752
917
|
"cli.cmd.server.settings.itemTarget": "System list alias: llms, sso, credentials, messagers, message-templates, encryption, or masking. For a project name or absolute app metadata path, also provide --key.",
|
|
753
|
-
"cli.cmd.server.settings.add.item": "One complete item JSON object, including id; do not wrap it in an array.",
|
|
754
|
-
"cli.cmd.server.settings.update.item": "One complete item JSON object, including id; do not wrap it in an array.",
|
|
755
|
-
"cli.cmd.server.settings.add.file": "Read one complete item JSON object, including id, from a local file.",
|
|
756
|
-
"cli.cmd.server.settings.update.file": "Read one complete item JSON object, including id, from a local file.",
|
|
757
|
-
"cli.cmd.server.settings.add.stdin": "Read one complete item JSON object, including id, from stdin.",
|
|
758
|
-
"cli.cmd.server.settings.update.stdin": "Read one complete item JSON object, including id, from stdin.",
|
|
759
|
-
"cli.cmd.server.settings.remove.item": "Item ID, or a JSON object containing only id, such as '{\"id\":\"service-1\"}'.",
|
|
760
|
-
"cli.cmd.server.settings.remove.file": "Read an item ID or a JSON object containing only id from a local file.",
|
|
761
|
-
"cli.cmd.server.settings.remove.stdin": "Read an item ID or a JSON object containing only id from stdin.",
|
|
762
918
|
"cli.cmd.server.settings.get.summary": "Get server settings.",
|
|
763
|
-
"cli.cmd.server.settings.get.desc": "Read
|
|
764
|
-
"cli.cmd.server.settings.get.
|
|
919
|
+
"cli.cmd.server.settings.get.desc": "Read server system, project or application settings to inspect current configuration.\n\nCan select specific keys. Secrets may be masked, so returned values may not be suitable as complete write input.\n\nOnly reads settings without changing configuration.",
|
|
920
|
+
"cli.cmd.server.settings.get.out": "--json returns settings keyed by full top-level names, even when only one --key is selected; it does not unwrap that value. Missing keys are not populated with defaults. Secrets may be masked, so the response is not a complete write template.",
|
|
921
|
+
"cli.cmd.server.settings.get.key": "Repeatable full top-level key names; dots are part of a key, not a nested path.\n\nSystem list keys: llm.services, sso.providers, service.credentials, messaging.services, messaging.templates, security.encryption.algorithms and security.masking.rules. Use system as the target for reading these lists, not entry-operation aliases such as llms or masking.",
|
|
765
922
|
"cli.cmd.server.settings.get.header": "Settings of {0}:",
|
|
766
923
|
"cli.cmd.server.settings.set.summary": "Change remote settings.",
|
|
767
|
-
"cli.cmd.server.settings.set.desc": "
|
|
924
|
+
"cli.cmd.server.settings.set.desc": "Change top-level server setting entries.\n\nOnly submitted keys change. Objects and arrays are replaced as a whole without recursive merging; keys can also be removed.\n\nWrites take effect directly on the server without updating local files. Saving may have completed after an interrupted response.",
|
|
925
|
+
"cli.cmd.server.settings.set.out": "--json returns keys (submitted top-level keys), success and optional warnings. success=false produces a nonzero exit code; inspect warnings as well. The result does not contain complete settings; use get to verify current values.",
|
|
926
|
+
"cli.cmd.server.settings.set.input": "Use at most one of --set, --file and --stdin; may be combined with --unset.\n\nBy default, input is a top-level settings patch: use full keys such as system.name rather than nested JSON. With --key, treat the input object as that key's complete value.",
|
|
768
927
|
"cli.cmd.server.settings.set.set": "Inline JSON object with complete values for the keys to change.",
|
|
769
928
|
"cli.cmd.server.settings.set.file": "Read a JSON object from a local file and submit it to the remote server; does not edit or sync that file.",
|
|
770
929
|
"cli.cmd.server.settings.set.stdin": "Read settings JSON from stdin.",
|
|
771
|
-
"cli.cmd.server.settings.set.unset": "Delete the given top-level key. Repeatable.",
|
|
930
|
+
"cli.cmd.server.settings.set.unset": "Delete the given top-level key. Repeatable.\n\nCan be used alone; null input values also remove their keys.",
|
|
772
931
|
"cli.cmd.server.settings.set.key": "Treat the input object as this key's complete value, instead of a settings patch. Cannot combine with --unset.",
|
|
773
|
-
"cli.cmd.server.settings.set.expectedRevision": "Only
|
|
932
|
+
"cli.cmd.server.settings.set.expectedRevision": "Optional; omission skips checking the caller-read version. Only accepts the content revision of the target settings.json, not an arbitrary file revision.\n\nFor concurrency protection, obtain revision=R with server file info, then read that version using server file show --revision=R --json. Prepare changes from that content and submit the same R. The system file is /sysdata/settings/settings.json, the project file /<project>/settings/settings.json, and the application file <application-root>/settings/settings.json.\n\nRequires an existing file and permission to read it. settings get does not return a paired revision. If no trusted revision is available, omit this option rather than guessing. Reread and compare after a conflict.",
|
|
774
933
|
"cli.cmd.server.settings.set.success": "Updated settings of {0}: {1}",
|
|
775
934
|
"cli.cmd.server.settings.set.noKeys": "(no keys)",
|
|
776
935
|
"cli.cmd.server.settings.add.summary": "Add a settings item.",
|
|
936
|
+
"cli.cmd.server.settings.add.input": "Choose exactly one of --item, --file and --stdin. Input is one complete item JSON object including id; do not wrap it in an array. Include a new id and all fields required by the entry type.\n\nDiscover field definitions from the target server before creating or changing an extension type:\n succapp server http-get /api/catalog/llm-connectors --json\n succapp server http-get /api/catalog/sso-providers --json\n succapp server http-get /api/resources/extension-points/serviceCredential.json --json\n succapp server http-get /api/resources/extension-points/messager.json --json\n succapp server http-get /api/resources/extension-points/encryptAlgorithm.json --json\nLLM and SSO return candidate arrays; read contribution definitions from serviceCredential[], messager[] and encryptAlgorithm[] for the other responses. HTTP JSON output content may contain JSON text; parse it according to http-get output help.\n\nUse LLM item name as connectorId; extName is the extension package name. Place confItems fields at entry top level and choose supportedModels for the actual deployment. For SSO use name as type and follow settingsForm; script follows the script SSO rules.\n\nFor service credentials use contribution name as type; credentialType is a platform category, not a substitute for type. For message services use contribution name as messager; for encryption use it as algorithm. For these three types, place fields from the selected contribution's confItems at entry top level without copying internal settings-form field prefixes.\n\nConfigured-instance catalogs are not extension configuration forms. LLM catalog queries require data source view permission; SSO catalog queries require SSO settings view permission. Reading definitions does not grant permission to write configuration. If definitions are missing, check permissions, installed extensions and server version, then obtain extension documentation rather than guessing fields.",
|
|
937
|
+
"cli.cmd.server.settings.add.item": "Pass the item JSON object directly.",
|
|
938
|
+
"cli.cmd.server.settings.add.file": "Read the item JSON object from a local file.",
|
|
939
|
+
"cli.cmd.server.settings.add.stdin": "Read the item JSON object from stdin.",
|
|
777
940
|
"cli.cmd.server.settings.add.key": "Complete top-level key of the item list; required unless <target> is a system list alias.",
|
|
778
|
-
"cli.cmd.server.settings.add.desc": "Add
|
|
941
|
+
"cli.cmd.server.settings.add.desc": "Add an entry to a server settings list.\n\nRequires a new identifier and fields required by the entry type.\n\nDirectly changes server configuration without updating local files. The entry may have been added after an interrupted response.",
|
|
942
|
+
"cli.cmd.server.settings.add.out": "--json returns target, key (the resolved list key), action, id, success and optional warnings. success=false produces a nonzero exit code. Complete entries are not echoed; use get to verify their contents.",
|
|
779
943
|
"cli.cmd.server.settings.add.success": "Added item {1} to {0}.",
|
|
944
|
+
"cli.cmd.server.settings.add.failed": "Could not add item {1} to {0}.",
|
|
780
945
|
"cli.cmd.server.settings.update.summary": "Update a settings item.",
|
|
946
|
+
"cli.cmd.server.settings.update.input": "Choose exactly one of --item, --file and --stdin. Input is one complete entry object with its original id, not an array. Omitted ordinary fields are not retained.\n\nFor an existing LLM with the same ID, omitted, null or \"******\" apiKey preserves the stored secret. Submit a new value to replace it; omission does not clear it. Script SSO top-level params is stored separately: omission preserves it and explicit null deletes it; this does not apply to other providers. Follow each module type and guide for other preservation rules, then read ordinary fields and verify behavior.\n\nDiscover field definitions from the target server before creating or changing an extension type:\n succapp server http-get /api/catalog/llm-connectors --json\n succapp server http-get /api/catalog/sso-providers --json\n succapp server http-get /api/resources/extension-points/serviceCredential.json --json\n succapp server http-get /api/resources/extension-points/messager.json --json\n succapp server http-get /api/resources/extension-points/encryptAlgorithm.json --json\nLLM and SSO return candidate arrays; read contribution definitions from serviceCredential[], messager[] and encryptAlgorithm[] for the other responses. HTTP JSON output content may contain JSON text; parse it according to http-get output help.\n\nUse LLM item name as connectorId; extName is the extension package name. Place confItems fields at entry top level and choose supportedModels for the actual deployment. For SSO use name as type and follow settingsForm; script follows the script SSO rules.\n\nFor service credentials use contribution name as type; credentialType is a platform category, not a substitute for type. For message services use contribution name as messager; for encryption use it as algorithm. For these three types, place fields from the selected contribution's confItems at entry top level without copying internal settings-form field prefixes.\n\nConfigured-instance catalogs are not extension configuration forms. LLM catalog queries require data source view permission; SSO catalog queries require SSO settings view permission. Reading definitions does not grant permission to write configuration. If definitions are missing, check permissions, installed extensions and server version, then obtain extension documentation rather than guessing fields.",
|
|
947
|
+
"cli.cmd.server.settings.update.item": "Pass the item JSON object directly.",
|
|
948
|
+
"cli.cmd.server.settings.update.file": "Read the item JSON object from a local file.",
|
|
949
|
+
"cli.cmd.server.settings.update.stdin": "Read the item JSON object from stdin.",
|
|
781
950
|
"cli.cmd.server.settings.update.key": "Complete top-level key of the item list; required unless <target> is a system list alias.",
|
|
782
|
-
"cli.cmd.server.settings.update.desc": "Replace
|
|
951
|
+
"cli.cmd.server.settings.update.desc": "Replace an entry in a server settings list.\n\nOrdinary fields use complete-entry replacement without recursive merging. Module-specific rules for preserving secrets and separately stored parameters still apply.\n\nDirectly changes server configuration without updating local files; an update may have taken effect after an interrupted response.",
|
|
952
|
+
"cli.cmd.server.settings.update.out": "--json returns target, key (the resolved list key), action, id, success and optional warnings. success=false produces a nonzero exit code. Complete entries are not echoed; use get to verify their contents.",
|
|
783
953
|
"cli.cmd.server.settings.update.success": "Updated item {1} in {0}.",
|
|
954
|
+
"cli.cmd.server.settings.update.failed": "Could not update item {1} in {0}.",
|
|
784
955
|
"cli.cmd.server.settings.remove.summary": "Remove a settings item.",
|
|
956
|
+
"cli.cmd.server.settings.remove.input": "Choose exactly one of --item, --file and --stdin.",
|
|
957
|
+
"cli.cmd.server.settings.remove.item": "Item ID, or a JSON object containing only id, such as '{\"id\":\"service-1\"}'.",
|
|
958
|
+
"cli.cmd.server.settings.remove.file": "Read an item ID or a JSON object containing only id from a local file.",
|
|
959
|
+
"cli.cmd.server.settings.remove.stdin": "Read an item ID or a JSON object containing only id from stdin.",
|
|
785
960
|
"cli.cmd.server.settings.remove.key": "Complete top-level key of the item list; required unless <target> is a system list alias.",
|
|
786
|
-
"cli.cmd.server.settings.remove.desc": "Remove
|
|
961
|
+
"cli.cmd.server.settings.remove.desc": "Remove an entry from a server settings list.\n\nOnly removes the selected entry, not the entire top-level configuration key.\n\nDirectly changes server configuration and may affect features that depend on the entry. Removal may have completed after an interrupted response.",
|
|
962
|
+
"cli.cmd.server.settings.remove.out": "--json returns target, key (the resolved list key), action, id, success and optional warnings. success=false produces a nonzero exit code. Complete entries are not echoed; use get to verify their contents.",
|
|
787
963
|
"cli.cmd.server.settings.remove.success": "Removed item {1} from {0}.",
|
|
964
|
+
"cli.cmd.server.settings.remove.failed": "Could not remove item {1} from {0}.",
|
|
788
965
|
"cli.cmd.server.settings.*.module": "System settings list module.",
|
|
789
966
|
"cli.cmd.server.settings.*.item": "Inline complete item JSON, or an ID for remove.",
|
|
790
967
|
"cli.cmd.server.settings.*.file": "Read item JSON or ID from a local file.",
|
|
791
968
|
"cli.cmd.server.settings.*.stdin": "Read item JSON or ID from stdin.",
|
|
792
969
|
"cli.cmd.server.*.url": "Target server URL; takes precedence over --server, the active workspace server and SUCCAPP_SERVER.",
|
|
793
|
-
"cli.cmd.server.
|
|
794
|
-
"cli.cmd.server.
|
|
795
|
-
"cli.cmd.server.
|
|
796
|
-
"cli.cmd.server.
|
|
797
|
-
"cli.cmd.server.
|
|
798
|
-
"cli.cmd.server.
|
|
799
|
-
"cli.cmd.server.
|
|
800
|
-
"cli.cmd.
|
|
801
|
-
"cli.cmd.
|
|
802
|
-
"cli.cmd.
|
|
803
|
-
"cli.cmd.
|
|
804
|
-
"cli.cmd.
|
|
805
|
-
"cli.cmd.
|
|
806
|
-
"cli.cmd.
|
|
970
|
+
"cli.cmd.server.httpGet.summary": "Read a server HTTP resource.",
|
|
971
|
+
"cli.cmd.server.httpGet.desc": "Read DTS, JSON, text or other dynamic resources from a server.\n\nFetches raw resources at known addresses without initializing a workspace. Requests reuse saved authentication and do not automatically follow redirects.\n\nResponses can be saved to local files; the actual effect of a GET request depends on the target endpoint.",
|
|
972
|
+
"cli.cmd.server.httpGet.out": "By default, stdout contains the raw response body bytes with no added newline. Redirect with > to a file or process it through a pipe.\n\n--json or --pretty-json uses the common result object, with the body in the content string and encoding set to utf8 or base64. For example, a server response of {\"name\":\"demo\"} becomes content: \"{\\\"name\\\":\\\"demo\\\"}\" in the JSON result; decode according to encoding to recover the body. Known text with no NUL bytes and lossless UTF-8 decoding uses utf8; otherwise base64.\n\nThe JSON result also includes resourcePath, url, status, contentType (if supplied by the server) and size in bytes.\n\nWith --output, raw bytes are saved to the file. By default, stdout is empty and the saved-file message goes to stderr. JSON mode returns output as the absolute file path and omits content and encoding.",
|
|
973
|
+
"cli.cmd.server.httpGet.path": "Resource path under the server deployment address; query parameters are allowed, full URLs are not.\n\nStart with /, relative to the server deployment URL. For example, https://example.com/bi and /api/resources/themes/system.json resolve to /bi/api/resources/themes/system.json. Quote paths containing query parameters.",
|
|
974
|
+
"cli.cmd.server.httpGet.output": "Save to a local file; relative paths use the execution directory after -C.\n\nSaves raw bytes; an existing file requires --force.",
|
|
975
|
+
"cli.cmd.server.httpGet.force": "Allow overwriting the existing --output file.",
|
|
976
|
+
"cli.cmd.server.httpGet.saved": "Saved to {0}",
|
|
977
|
+
"cli.cmd.expFunc.name": "Complete function name, case-insensitive.\n\nReturns an error when no function matches.",
|
|
978
|
+
"cli.cmd.expFunc.contains": "Case-insensitive literal substring in function names or descriptions.",
|
|
979
|
+
"cli.cmd.expFunc.extension": "Exact extension name of the effective source; excludes shadowed declarations.",
|
|
980
|
+
"cli.cmd.expFunc.group": "Exact catalog group, not an aggregation type.",
|
|
981
|
+
"cli.cmd.resource.label": "A case-sensitive label ID or expression. & requires all labels, | joins alternatives, and ! excludes a label. & takes precedence over |; parentheses are not supported. Unlabeled resources never match, including exclusion-only expressions.\nQuote expressions in the shell, for example --label='input|chart' or --label='input&!chart'. Repeat to intersect conditions. Also intersects with --keyword, --contains and other filters; paginated commands filter before pagination. Omit to leave labels unrestricted; no matches never broadens the query automatically.",
|
|
982
|
+
"cli.cmd.resource.keyword": "Search names, descriptions, label IDs, titles and synonyms.\nResource names and descriptions match the complete input; label IDs, titles and synonyms split on whitespace or English/Chinese commas, requiring all terms to match. All filters combine with AND. Keyword results sort by relevance, retaining original order for ties; omitting keywords preserves returned order.",
|
|
983
|
+
"cli.cmd.resource.contains": "Case-insensitive literal substring in resource text and label IDs or titles.\nCombines with labels, keywords and other filters using AND.",
|
|
984
|
+
"cli.out.theme.token": "Variable name",
|
|
985
|
+
"cli.out.theme.source": "Theme: {0} Source: {1}",
|
|
986
|
+
"cli.out.theme.title": "Title",
|
|
987
|
+
"cli.out.uiResource.unrestricted": "unrestricted",
|
|
988
|
+
"cli.out.uiResource.id": "ID",
|
|
989
|
+
"cli.out.uiResource.styleType": "Style type",
|
|
990
|
+
"cli.out.uiResource.source": "Source",
|
|
991
|
+
"cli.out.uiResource.components": "Component types",
|
|
992
|
+
"cli.out.uiResource.theme": "Theme",
|
|
993
|
+
"cli.out.uiResource.module": "Page module",
|
|
994
|
+
"cli.out.uiResource.name": "Name",
|
|
995
|
+
"cli.out.uiResource.description": "Description",
|
|
996
|
+
"cli.out.uiResource.location": "Location",
|
|
997
|
+
"cli.out.component.empty": "No component templates match this page type.",
|
|
998
|
+
"cli.out.component.name": "Name",
|
|
999
|
+
"cli.out.component.labels": "Labels",
|
|
1000
|
+
"cli.out.component.description": "Description",
|
|
1001
|
+
"cli.out.component.group.component": "Page components",
|
|
1002
|
+
"cli.out.component.group.cellType": "Cell types",
|
|
1003
|
+
"cli.out.component.group.actionComponent": "Program flow nodes",
|
|
1004
|
+
"cli.out.style.notApplicable": "This type exists but is not available for this page type. Use dev component list <target> to discover candidates.",
|
|
1005
|
+
"cli.out.style.unsupported": "This type has no selectable styles; program flow nodes do not use visual styles.",
|
|
1006
|
+
"cli.out.style.noMatches": "No styles match the type, page and theme; this does not mean the type is unknown.",
|
|
1007
|
+
"cli.out.style.emptyCollection": "No styles are available.",
|
|
1008
|
+
"cli.out.template.empty": "No matching file templates at this location.",
|
|
1009
|
+
"cli.out.displayFormat.empty": "No display formats available.",
|
|
1010
|
+
"cli.out.displayFormat.pattern": "Pattern",
|
|
1011
|
+
"cli.out.displayFormat.system": "System",
|
|
1012
|
+
"cli.out.displayFormat.project": "Project",
|
|
1013
|
+
"cli.out.displayFormat.app": "Application",
|
|
1014
|
+
"cli.out.displayFormat.page": "Page",
|
|
1015
|
+
"cli.out.media.empty": "No selectable entries match the query.",
|
|
1016
|
+
"cli.out.media.more": "More results: continue with --offset={0}, or use --limit=0 for all.",
|
|
1017
|
+
"cli.out.font.name": "Font name",
|
|
1018
|
+
"cli.out.font.value": "Value",
|
|
1019
|
+
"cli.out.font.source": "Source",
|
|
1020
|
+
"cli.out.font.preset": "System preset",
|
|
1021
|
+
"cli.out.font.auto": "Automatic (theme)",
|
|
1022
|
+
"cli.out.font.extension": "Extension: {0}",
|
|
1023
|
+
"cli.out.resource.labels": "Labels",
|
|
1024
|
+
"cli.out.expFunc.registered": "Registration",
|
|
1025
|
+
"cli.out.expFunc.registered.yes": "Registered",
|
|
1026
|
+
"cli.out.expFunc.registered.no": "Docs only",
|
|
1027
|
+
"cli.cmd.server.file.folderExists": "Folder already exists: {0}",
|
|
807
1028
|
"cli.cmd.workspace.title": "Workspace",
|
|
808
1029
|
"cli.cmd.workspace.summary": "work with a local SuccApp workspace",
|
|
809
|
-
"cli.cmd.workspace.desc": "
|
|
1030
|
+
"cli.cmd.workspace.desc": "Manage local SuccApp workspaces and metadata synchronization with servers.\n\nProvides workspace initialization, remote connections, local project management, synchronization status, pull, push and discard operations, and repair, upgrade, lock and backup tools.\n\nUse dev file for file inspection, compilation and metadata upgrades, and dev extension for extension development.",
|
|
810
1031
|
"cli.cmd.workspace.init.summary": "Initialize a SuccApp workspace.",
|
|
811
|
-
"cli.cmd.workspace.init.desc": "
|
|
812
|
-
"cli.cmd.workspace.init.
|
|
813
|
-
"cli.cmd.workspace.init.
|
|
1032
|
+
"cli.cmd.workspace.init.desc": "Prepare a local SuccApp development workspace.\n\nIncludes workspace configuration, development support files, type declarations, JSON Schemas and the official offline documentation Skill. Within an existing workspace, updates that workspace; otherwise creates one in the execution directory.\n\nThe target directory must exist; downloading server references requires network access and authentication. Writes local support files while preserving existing workspace configuration.",
|
|
1033
|
+
"cli.cmd.workspace.init.out": "With --json, check the exit code and result: supportFiles.updatedCount counts updated support items, supportFiles.skipped lists skipped items and reasons, and supportFiles.agentDocs.status reports offline-document status. Skipped or unavailable content is not ready for use; address the reported reasons before relying on it.\n\nType declarations are saved under .agents/skills/succapp-docs/dev-types/ and JSON Schemas under .agents/skills/succapp-docs/json-schemas/.",
|
|
1034
|
+
"cli.cmd.workspace.init.server": "Select the initialization server and obtain its type declarations and JSON Schemas. The first initialization can register this URL; an existing active server must match it.",
|
|
1035
|
+
"cli.cmd.workspace.init.scope": "Initialize only the selected content; defaults to all. base: workspace configuration, editor settings, ignore rules and agent files; dev: type declarations and JSON Schemas; agent-docs: the official offline documentation Skill.",
|
|
814
1036
|
"cli.cmd.workspace.init.force": "Force the offline SuccApp docs skill to check local files even when the index is unchanged.",
|
|
815
1037
|
"cli.cmd.workspace.init.active": "Active server: {0}",
|
|
816
|
-
"cli.cmd.workspace.init.agentDocsSummary": "SuccApp
|
|
817
|
-
"cli.cmd.workspace.init.agentDocsFileSkipped": "SuccApp
|
|
818
|
-
"cli.cmd.workspace.init.agentDocsResourceSkipped": "SuccApp
|
|
819
|
-
"cli.cmd.workspace.init.agentDocsUnavailable": "SuccApp
|
|
1038
|
+
"cli.cmd.workspace.init.agentDocsSummary": "Official SuccApp documentation Skill: {0} files, {1} added, {2} changed, {3} removed, {4} unchanged.",
|
|
1039
|
+
"cli.cmd.workspace.init.agentDocsFileSkipped": "Official SuccApp documentation Skill: {0} markdown files skipped. See logs for details.",
|
|
1040
|
+
"cli.cmd.workspace.init.agentDocsResourceSkipped": "Official SuccApp documentation Skill: {0} linked resources skipped. See logs for details.",
|
|
1041
|
+
"cli.cmd.workspace.init.agentDocsUnavailable": "Official SuccApp documentation Skill: skipped because the docs index is unavailable. Set SUCCAPP_DOCS_BASE_URL to a local or staging docs site, or copy .agents/skills/succapp-docs/ from the delivery package or team repository.",
|
|
820
1042
|
"cli.cmd.workspace.init.alreadyActive": "Workspace is already initialized with active server: {0}. Use 'succapp workspace remote add <url>' or 'succapp workspace remote use <url>' to change servers.",
|
|
821
1043
|
"cli.cmd.workspace.init.configBad": "Workspace config is corrupted: {0}",
|
|
822
1044
|
"cli.cmd.workspace.init.initWorkspace": "Initialized workspace: {0}",
|
|
@@ -825,25 +1047,31 @@
|
|
|
825
1047
|
"cli.cmd.workspace.init.supportFiles": "Workspace support files: {0} updated, {1} skipped.",
|
|
826
1048
|
"cli.cmd.workspace.init.workspaceInit": "Workspace already initialized: {0}",
|
|
827
1049
|
"cli.cmd.workspace.status.summary": "Show workspace sync status.",
|
|
828
|
-
"cli.cmd.workspace.status.desc": "
|
|
1050
|
+
"cli.cmd.workspace.status.desc": "Inspect synchronization status between the local workspace and active server.\n\nShows local changes, remote changes and conflicts, with a local-only inspection mode.\n\nRemote inspection requires valid authentication and connectivity. An incomplete check is not a complete pre-push assessment.",
|
|
1051
|
+
"cli.cmd.workspace.status.out": "Check the exit code, remoteCheck and warnings before interpreting changes. remoteCheck=complete means this remote check completed; skipped means it was intentionally omitted. failed/cancelled means incomplete checking and a nonzero exit code. A failed check may retain previous remote changes; empty results do not prove the remote is unchanged.\n\nchanges[].type gives direction: added/modified/deleted/renamed are local changes awaiting synchronization; remoteAdded/remoteModified/remoteDeleted/remoteRenamed are server changes; conflict needs comparison of both sides; remoteProjectUnavailable means current project visibility cannot be confirmed, not that the project was deleted. Classification uses workspace content, synchronization baselines and obtained remote state, not file timestamps.\n\nlocalPath is a local absolute path and remotePath a server metadata path. For renames inspect oldLocalPath/oldRemotePath. contentChanged and metaChanged mark body and metadata changes; either may be absent, which does not imply false. Partial example:\n {\"changes\":[{\"type\":\"modified\",\"localPath\":\"/work/DEMO/page.dash\",\"remotePath\":\"/DEMO/page.dash\",\"contentChanged\":true},{\"type\":\"remoteModified\",\"localPath\":\"/work/DEMO/other.dash\",\"remotePath\":\"/DEMO/other.dash\"}]}\nInspect differences before choosing pull, push or conflict handling; status is not authorization to overwrite or delete.",
|
|
829
1052
|
"cli.cmd.workspace.status.forceRefresh": "Recheck server changes instead of using cached status.",
|
|
830
1053
|
"cli.cmd.workspace.status.localOnly": "Show only local workspace changes; do not check the server.",
|
|
831
1054
|
"cli.cmd.workspace.status.remoteAuthRequired": "You are not logged in, so only local changes are shown. Run 'succapp auth login', then retry to include server changes.",
|
|
1055
|
+
"cli.cmd.workspace.status.incomplete": "Remote check incomplete ({0}); remote changes may be from a previous check. Inspect warnings and check again.",
|
|
832
1056
|
"cli.cmd.workspace.upgrade.summary": "Plan workspace structure migrations.",
|
|
833
|
-
"cli.cmd.workspace.upgrade.desc": "Plan SuccApp workspace structure migrations
|
|
1057
|
+
"cli.cmd.workspace.upgrade.desc": "Plan SuccApp workspace structure migrations.\n\nCovers workspace organization; use dev file upgrade to upgrade metadata file versions.\n\nNo executable migrations are currently available, so running this command does not change the workspace.",
|
|
834
1058
|
"cli.cmd.workspace.upgrade.targetVersion": "Plan migration to the target workspace structure version.",
|
|
835
1059
|
"cli.cmd.workspace.upgrade.dryRun": "Preview the migration plan without changing files.",
|
|
836
1060
|
"cli.cmd.workspace.upgrade.actions": "Workspace upgrade: {0} action(s). current={1}, target={2}.",
|
|
837
1061
|
"cli.cmd.workspace.upgrade.noActions": "Workspace upgrade: no actions. current={0}, target={1}.",
|
|
838
1062
|
"cli.cmd.workspace.pull.summary": "Pull server changes into the workspace.",
|
|
839
|
-
"cli.cmd.workspace.pull.desc": "
|
|
1063
|
+
"cli.cmd.workspace.pull.desc": "Synchronize metadata changes from the active server to the local workspace.\n\nRequires an active server binding. Limit synchronization to selected files or directories; changes on both sides are merged when possible.\n\nPull modifies local files and may produce merge conflicts.",
|
|
1064
|
+
"cli.cmd.workspace.pull.out": "A kind=result response still exits with 6 when conflicts exist. Inspect updated, deleted, conflicts and summary.oldFiles, and use backup list to inspect saved local versions. Older-format files are summarized by count. Suggested upgrade previews cover their projects; specify directories or files with dev file upgrade --dry-run to inspect a narrower scope.\n\nconflicts[].outcome=conflictMarkersWritten means text conflict markers were written locally; localPreserved means local content was kept in place. An absent outcome implies neither state; inspect differences and diagnostics. updated lists files actually written and may overlap conflicts; it does not mean those conflicts are resolved.\n\nResolve markers or compare preserved local content, then recheck status and validate before deciding next steps. Do not treat remoteProjectUnavailable as deletion; inspect partial results and exit codes.",
|
|
840
1065
|
"cli.cmd.workspace.pull.force": "Allow server changes to overwrite local changes.",
|
|
841
1066
|
"cli.cmd.workspace.pull.conflicts": "Conflicts: {0}",
|
|
842
|
-
"cli.cmd.workspace.pull.oldMeta": "Old metadata files: {0}",
|
|
843
1067
|
"cli.cmd.workspace.pull.pullResultUpdated": "Pull result: {0} updated, {1} deleted, {2} conflict(s)",
|
|
844
1068
|
"cli.cmd.workspace.pull.upDate": "Already up to date",
|
|
1069
|
+
"cli.cmd.workspace.pull.conflictMarkersWritten": "Unresolved conflict; conflict markers were written: {0}",
|
|
1070
|
+
"cli.cmd.workspace.pull.localPreserved": "Conflict blocked; local content was preserved: {0}",
|
|
1071
|
+
"cli.cmd.workspace.pull.path": "Limit the pull to a workspace file or directory, such as PROJECT/data/tables/example.tbl; omit to process all corresponding changes. Paths are relative to the execution directory after -C, or absolute disk paths within the workspace.",
|
|
845
1072
|
"cli.cmd.workspace.push.summary": "Push workspace changes to the server.",
|
|
846
|
-
"cli.cmd.workspace.push.desc": "Submit local workspace changes to the active server.\n\
|
|
1073
|
+
"cli.cmd.workspace.push.desc": "Submit local workspace metadata changes to the active server.\n\nSupports limiting the path scope and checking for conflicts with remote changes.\n\nPushes write server metadata. Some operations may have completed even after a failure or disconnection.",
|
|
1074
|
+
"cli.cmd.workspace.push.out": "In JSON, pushed[] lists submitted items, rejected[] lists conflict rejections, failures[] lists other failures, and metadataVersionSuggestions[] gives file-version guidance. Partial success is possible: rejected items cause exit 6; otherwise failures cause exit 1. kind=result does not mean every item succeeded. Recheck status afterwards.",
|
|
847
1075
|
"cli.cmd.workspace.push.force": "Allow local changes to overwrite remote changes.",
|
|
848
1076
|
"cli.cmd.workspace.push.failed": "Failed files: {0}",
|
|
849
1077
|
"cli.cmd.workspace.push.kind": "Kind",
|
|
@@ -854,16 +1082,19 @@
|
|
|
854
1082
|
"cli.cmd.workspace.push.pushResultPushed": "Push result: {0} pushed, {1} rejected, {2} failed",
|
|
855
1083
|
"cli.cmd.workspace.push.targetVersion": "Target version",
|
|
856
1084
|
"cli.cmd.workspace.push.version": "Current version",
|
|
1085
|
+
"cli.cmd.workspace.push.path": "Workspace local path, relative to the execution directory after -C, or an absolute disk path within the workspace. Omit to process all corresponding changes.",
|
|
857
1086
|
"cli.cmd.workspace.discard.summary": "Discard local workspace changes.",
|
|
858
|
-
"cli.cmd.workspace.discard.desc": "Restore workspace files from the local
|
|
1087
|
+
"cli.cmd.workspace.discard.desc": "Restore workspace files from the local synchronization baseline, discarding local changes.\n\nThe baseline is a locally saved version and may differ from the latest server content.\n\nOverwrites or removes local changes in the selected scope. Save anything that must be retained beforehand.",
|
|
1088
|
+
"cli.cmd.workspace.discard.out": "JSON updated[] lists files restored from the baseline, and deleted[] lists files removed to undo local additions; summary.updated/summary.deleted count these entries. Each entry uses an absolute localPath and a server resource remotePath.",
|
|
859
1089
|
"cli.cmd.workspace.discard.force": "Confirm discarding all workspace changes when no path is given.",
|
|
860
1090
|
"cli.cmd.workspace.discard.deletedFiles": "Deleted files: {0}",
|
|
861
1091
|
"cli.cmd.workspace.discard.noLocalChanges": "No local changes to discard",
|
|
862
1092
|
"cli.cmd.workspace.discard.restoredFiles": "Restored files: {0}",
|
|
863
1093
|
"cli.cmd.workspace.discard.result": "Discard result: {0} restored, {1} deleted",
|
|
864
1094
|
"cli.cmd.workspace.repair.summary": "Check or repair workspace consistency issues.",
|
|
865
|
-
"cli.cmd.workspace.repair.desc": "
|
|
866
|
-
"cli.cmd.workspace.repair.
|
|
1095
|
+
"cli.cmd.workspace.repair.desc": "Inspect and repair workspace structure and synchronization state issues that can be handled automatically.\n\nSupports inspection without changes and selecting specific checks. Does not resolve business file conflicts.\n\nRepairs may update local support files and synchronization state.",
|
|
1096
|
+
"cli.cmd.workspace.repair.out": "JSON groups issues[] by problem code; remotePaths/localPaths locate affected resources, and summary.byCode supplies explanations and counts. --dry-run exits 1 when issues are found; it has not repaired them. After actual repair, inspect repaired[], unresolved[] and skipped[]. Unresolved issues cause exit 1; use reason to decide how to handle skipped items.",
|
|
1097
|
+
"cli.cmd.workspace.repair.only": "Run selected checks; repeat the option for multiple checks. workspace-support selects editor settings, ignore rules, Agent files, type declarations and JSON Schema; sync-baseline checks synchronization baselines.",
|
|
867
1098
|
"cli.cmd.workspace.repair.dryRun": "Preview repairable workspace issues without changing files.",
|
|
868
1099
|
"cli.cmd.workspace.repair.badCheck": "Invalid workspace repair check: {0}",
|
|
869
1100
|
"cli.cmd.workspace.repair.checkColumn": "Check",
|
|
@@ -875,165 +1106,101 @@
|
|
|
875
1106
|
"cli.cmd.workspace.repair.repairable": "Repairable",
|
|
876
1107
|
"cli.cmd.workspace.repair.repaired": "Workspace repair: {0} repaired, {1} unresolved.",
|
|
877
1108
|
"cli.cmd.workspace.repair.repairedIssues": "Repaired issues:",
|
|
1109
|
+
"cli.cmd.workspace.repair.byCode": "Summary by code:",
|
|
1110
|
+
"cli.cmd.workspace.repair.issues": "Issues:",
|
|
878
1111
|
"cli.cmd.workspace.repair.strategy": "Strategy",
|
|
879
1112
|
"cli.cmd.workspace.repair.unresolved": "Unresolved issues:",
|
|
880
1113
|
"cli.cmd.workspace.proj.title": "Workspace project",
|
|
881
1114
|
"cli.cmd.workspace.proj.summary": "manage workspace projects",
|
|
882
|
-
"cli.cmd.workspace.proj.desc": "Manage workspace projects
|
|
1115
|
+
"cli.cmd.workspace.proj.desc": "Manage local workspace projects, including listing, cloning and removal.\n\nCloning downloads projects from the active server; removal affects only local project files and their synchronization baselines.",
|
|
883
1116
|
"cli.cmd.workspace.proj.list.summary": "List workspace projects.",
|
|
884
|
-
"cli.cmd.workspace.proj.list.desc": "List workspace projects.\n\
|
|
1117
|
+
"cli.cmd.workspace.proj.list.desc": "List local workspace projects.\n\nIncludes projects found in working directories and local synchronization baselines to identify a missing side. It is not a complete list of server projects.",
|
|
1118
|
+
"cli.cmd.workspace.proj.list.out": "JSON projects[] contains name, workspace and baseline. workspace/baseline are booleans indicating presence in the working directory and local synchronization baseline respectively; a missing side does not establish that the server project was deleted.",
|
|
885
1119
|
"cli.cmd.workspace.proj.list.empty": "No projects are tracked in this workspace.",
|
|
886
1120
|
"cli.cmd.workspace.proj.clone.summary": "Clone server projects into the workspace.",
|
|
887
|
-
"cli.cmd.workspace.proj.clone.desc": "Clone projects from the active server into the
|
|
888
|
-
"cli.cmd.workspace.proj.clone.
|
|
1121
|
+
"cli.cmd.workspace.proj.clone.desc": "Clone projects from the active server into the local workspace.\n\nSupports one, multiple or all visible projects.\n\nRequires access to the target server; an existing active server must match the clone target. Writes project files and synchronization baselines; overwriting existing directories may lose local changes.",
|
|
1122
|
+
"cli.cmd.workspace.proj.clone.out": "Check any old-metadata notices afterwards. JSON returns the older-format file count in summary.oldFiles and optional upgrade guidance; use dev file upgrade --dry-run to inspect details.",
|
|
1123
|
+
"cli.cmd.workspace.proj.clone.force": "Allow clone to overwrite existing local project paths, including files left by an interrupted clone.\n\nA synchronization cache alone, without a local project path, can be retried without overwrite confirmation.",
|
|
889
1124
|
"cli.cmd.workspace.proj.clone.configuredActive": "Active server configured: {0}",
|
|
890
1125
|
"cli.cmd.workspace.proj.clone.cloned": "Cloned projects: {0}",
|
|
891
|
-
"cli.cmd.workspace.proj.clone.
|
|
1126
|
+
"cli.cmd.workspace.proj.clone.project": "Server project names from server project list; omitting names clones all visible projects.\n\nIf no server is active, --server can register the first clone target; otherwise it must match the active server.",
|
|
892
1127
|
"cli.cmd.workspace.proj.remove.summary": "Remove workspace projects.",
|
|
893
|
-
"cli.cmd.workspace.proj.remove.desc": "Remove local workspace projects and
|
|
894
|
-
"cli.cmd.workspace.proj.remove.
|
|
1128
|
+
"cli.cmd.workspace.proj.remove.desc": "Remove local workspace projects and their synchronization baselines.\n\nAlso deletes unpushed local changes; server projects are unaffected.",
|
|
1129
|
+
"cli.cmd.workspace.proj.remove.out": "JSON projectNames[] is an array of removed local project-name strings; it does not indicate deletion of server projects.",
|
|
1130
|
+
"cli.cmd.workspace.proj.remove.force": "Confirm removal of local project files and local synchronization baselines.\n\nRequired; unpushed local changes are also deleted.",
|
|
895
1131
|
"cli.cmd.workspace.proj.remove.removed": "Removed workspace projects: {0}",
|
|
896
|
-
"cli.cmd.workspace.
|
|
897
|
-
"cli.cmd.workspace.remote.
|
|
898
|
-
"cli.cmd.workspace.remote.
|
|
1132
|
+
"cli.cmd.workspace.proj.remove.project": "Local project names from workspace project list; multiple names are accepted.",
|
|
1133
|
+
"cli.cmd.workspace.remote.title": "Workspace remote servers",
|
|
1134
|
+
"cli.cmd.workspace.remote.summary": "manage workspace remote servers",
|
|
1135
|
+
"cli.cmd.workspace.remote.desc": "Manage workspace remote server configuration.\n\nSupports inspection, adding, switching, URL changes and removal. Configuration determines subsequent synchronization targets; authentication is managed separately.\n\nChanges local workspace configuration without changing server content.",
|
|
899
1136
|
"cli.cmd.workspace.remote.list.summary": "List configured servers.",
|
|
900
|
-
"cli.cmd.workspace.remote.list.desc": "List configured servers
|
|
1137
|
+
"cli.cmd.workspace.remote.list.desc": "List configured servers in the current workspace to identify synchronization targets.\n\nReads local configuration without verifying server availability or authentication validity.",
|
|
1138
|
+
"cli.cmd.workspace.remote.list.out": "JSON servers[] contains url and the boolean active. activeServer is the current active server URL and is omitted when none is selected. An empty servers array includes empty.reason=emptyCollection. These fields describe local configuration only.",
|
|
901
1139
|
"cli.cmd.workspace.remote.add.summary": "Add a server and make it active.",
|
|
902
|
-
"cli.cmd.workspace.remote.add.desc": "Add a server to the current
|
|
1140
|
+
"cli.cmd.workspace.remote.add.desc": "Add a server to the current workspace and make it active.\n\nChanges local configuration and the target for subsequent synchronization. Does not clone projects or establish login authentication.",
|
|
1141
|
+
"cli.cmd.workspace.remote.add.out": "JSON activeServer is the active server URL after the operation. added is a boolean; false means the URL was already configured and has still been selected as active.",
|
|
903
1142
|
"cli.cmd.workspace.remote.add.active": "Active server: {0}",
|
|
904
1143
|
"cli.cmd.workspace.remote.use.summary": "Switch the active server.",
|
|
905
|
-
"cli.cmd.workspace.remote.use.desc": "Switch the active server for the current workspace.\n\
|
|
1144
|
+
"cli.cmd.workspace.remote.use.desc": "Switch the active server for the current workspace.\n\nThe target must be a configured server.\n\nChanges the target of subsequent synchronization without automatically replacing working files with content from the new server.",
|
|
1145
|
+
"cli.cmd.workspace.remote.use.out": "JSON activeServer is the selected active server URL. It confirms the workspace configuration change, not server connectivity or successful authentication.",
|
|
906
1146
|
"cli.cmd.workspace.remote.use.active": "Active server: {0}",
|
|
907
1147
|
"cli.cmd.workspace.remote.setUrl.summary": "Change a configured server URL.",
|
|
908
|
-
"cli.cmd.workspace.remote.setUrl.desc": "
|
|
1148
|
+
"cli.cmd.workspace.remote.setUrl.desc": "Update the access URL of the same server in a workspace.\n\nIntended for server address changes; existing project synchronization records follow the updated URL.\n\nChanges local configuration and synchronization records without migrating server projects.",
|
|
1149
|
+
"cli.cmd.workspace.remote.setUrl.out": "JSON oldServer is the previous URL and server is the updated URL. activeServer is the active URL after the operation and is omitted when none is selected. Changing an inactive server URL does not automatically make it active.",
|
|
909
1150
|
"cli.cmd.workspace.remote.setUrl.changed": "Server URL changed: {0} -> {1}",
|
|
910
1151
|
"cli.cmd.workspace.remote.remove.summary": "Remove a configured server.",
|
|
911
|
-
"cli.cmd.workspace.remote.remove.desc": "Remove a server from the current workspace configuration.\n\
|
|
1152
|
+
"cli.cmd.workspace.remote.remove.desc": "Remove a server from the current workspace configuration.\n\nOnly changes local server configuration; it does not delete the remote server, projects or local authentication records.",
|
|
1153
|
+
"cli.cmd.workspace.remote.remove.out": "JSON server is the removed URL. removedActive is a boolean indicating whether that URL was previously active. activeServer is the active URL after removal and is omitted when none remains selected.",
|
|
912
1154
|
"cli.cmd.workspace.remote.remove.active": "Server removed: {0}\nActive server: {1}",
|
|
913
1155
|
"cli.cmd.workspace.remote.remove.removed": "Server removed: {0}",
|
|
914
|
-
"cli.cmd.workspace.
|
|
915
|
-
"cli.cmd.workspace.
|
|
916
|
-
"cli.cmd.workspace.
|
|
917
|
-
"cli.cmd.workspace.file.resolve.summary": "Resolve a workspace file path.",
|
|
918
|
-
"cli.cmd.workspace.file.resolve.desc": "Resolve local, remote, and browser URLs for a workspace file.\n\nPass a workspace file path and inspect the resolved localPath and remotePath. --url selects a view or edit link. This resolves the target without uploading files or opening a browser.",
|
|
919
|
-
"cli.cmd.workspace.file.resolve.url": "Only print the view or edit URL in human mode.",
|
|
920
|
-
"cli.cmd.workspace.file.resolve.badUrl": "Invalid value for --url: {0}",
|
|
921
|
-
"cli.cmd.workspace.file.resolve.editUrl": "Edit URL: {0}",
|
|
922
|
-
"cli.cmd.workspace.file.resolve.localPath": "Local path: {0}",
|
|
923
|
-
"cli.cmd.workspace.file.resolve.path": "Path: {0}",
|
|
924
|
-
"cli.cmd.workspace.file.resolve.remote": "Remote path: {0}",
|
|
925
|
-
"cli.cmd.workspace.file.resolve.viewUrl": "View URL: {0}",
|
|
926
|
-
"cli.cmd.workspace.file.open.summary": "Open the server file page.",
|
|
927
|
-
"cli.cmd.workspace.file.open.desc": "Open the server view or edit page for a workspace file, or return its URL without opening the browser.\n\nThe default opens a view page; --edit selects editing and --no-open returns only the URL. Pages use server content. Local changes require --force confirmation, which does not push those changes.",
|
|
928
|
-
"cli.cmd.workspace.file.open.edit": "Open the server edit page instead of the view page.",
|
|
929
|
-
"cli.cmd.workspace.file.open.noOpen": "Return the page URL without launching the system browser.",
|
|
930
|
-
"cli.cmd.workspace.file.open.path": "Workspace-relative file path or absolute server metadata path.",
|
|
931
|
-
"cli.cmd.workspace.file.open.force": "Open the server page even when the local file has unpushed changes.",
|
|
932
|
-
"cli.cmd.workspace.file.open.localChangedForce": "The local file has unpushed changes. The browser opens the server version of {0}.",
|
|
933
|
-
"cli.cmd.workspace.file.open.openedEdit": "Opened server edit page: {0}",
|
|
934
|
-
"cli.cmd.workspace.file.open.openedView": "Opened server view page: {0}",
|
|
935
|
-
"cli.cmd.workspace.file.show.summary": "Show file content.",
|
|
936
|
-
"cli.cmd.workspace.file.show.desc": "Read file content from the server or local mirror baseline.\n\nReads server content by default; --source=mirror reads the local baseline. --revision applies only to the server source. Human output is raw content and JSON content is Base64. This does not directly read the current working file.",
|
|
937
|
-
"cli.cmd.workspace.file.show.source": "Read from mirror or server.",
|
|
938
|
-
"cli.cmd.workspace.file.show.revision": "Read a server revision.",
|
|
939
|
-
"cli.cmd.workspace.file.show.badRev": "Invalid value for --revision: {0}",
|
|
940
|
-
"cli.cmd.workspace.file.show.badSource": "Invalid value for --source: {0}",
|
|
941
|
-
"cli.cmd.workspace.file.show.revSource": "--revision is only supported with --source=server.",
|
|
942
|
-
"cli.cmd.workspace.file.diff.summary": "Show workspace diff against server.",
|
|
943
|
-
"cli.cmd.workspace.file.diff.desc": "Compare local workspace metadata files with server content. Inputs may be files, directories (recursively including all files), or globs.\n\nQuote globs so the CLI can expand them. Output is for reviewing differences and does not change local or server files. Combine it with workspace status to inspect conflicts across the synchronization scope.",
|
|
944
|
-
"cli.cmd.workspace.file.diff.source": "Compare against server content.",
|
|
945
|
-
"cli.cmd.workspace.file.diff.badSource": "Invalid value for --source: {0}",
|
|
946
|
-
"cli.cmd.workspace.file.history.summary": "Show server file history.",
|
|
947
|
-
"cli.cmd.workspace.file.history.desc": "Show server-side file history for a workspace file.\n\nResolves a workspace path to a file on the active server; --limit bounds the number of entries. This is server history, not local Git history. Read a version with file show --revision.",
|
|
948
|
-
"cli.cmd.workspace.file.history.limit": "Limit the number of history records.",
|
|
949
|
-
"cli.cmd.workspace.file.compile.summary": "Validate workspace metadata files.",
|
|
950
|
-
"cli.cmd.workspace.file.compile.desc": "Validate local workspace metadata files. Inputs may be files, directories (recursively including all files), or globs.\n\nQuote globs. Validation may contact the server for version information or compilation checks, but does not push local changes. Inspect failed and skipped items; successful validation does not verify business behavior.\n\nExit 0 may still include skipped items. Inspect skipped/skipReason rather than treating skipped files as validated.",
|
|
951
|
-
"cli.cmd.workspace.file.compile.compiler": "Compiler",
|
|
952
|
-
"cli.cmd.workspace.file.compile.done": "Validated {0} workspace metadata file(s).",
|
|
953
|
-
"cli.cmd.workspace.file.compile.failed": "Failed files: {0}",
|
|
954
|
-
"cli.cmd.workspace.file.compile.newerVersion": "{0} file(s) are newer than the active server and were skipped. Connect to a matching server, then validate again.",
|
|
955
|
-
"cli.cmd.workspace.file.compile.result": "Metadata validation result: {0} file(s), {1} passed, {2} failed",
|
|
956
|
-
"cli.cmd.workspace.file.compile.running": "Validating workspace metadata files",
|
|
957
|
-
"cli.cmd.workspace.file.compile.schemaFailed": "Metadata validation failed.",
|
|
958
|
-
"cli.cmd.workspace.file.compile.schemaFailedMsg": "Metadata validation failed: {0}",
|
|
959
|
-
"cli.cmd.workspace.file.compile.skipped": "Skipped files: {0}",
|
|
960
|
-
"cli.cmd.workspace.file.compile.upgradeRequired": "{0} file(s) require a metadata upgrade. Run `{1}` with the same pathspec, then validate again.",
|
|
961
|
-
"cli.cmd.workspace.file.upgrade.summary": "Upgrade old SuccApp metadata files.",
|
|
962
|
-
"cli.cmd.workspace.file.upgrade.desc": "Preview or upgrade old SuccApp metadata files in the local workspace. Inputs may be files, directories (recursively including all files), or globs; with no input, all local projects are processed.\n\nUse --dry-run to inspect candidates and failures before upgrading. Actual execution changes local files. Review diff and validate afterwards before deciding to push.",
|
|
963
|
-
"cli.cmd.workspace.file.upgrade.dryRun": "Preview upgrade candidates without changing files.",
|
|
964
|
-
"cli.cmd.workspace.file.upgrade.cands": "Upgrade candidates: {0}",
|
|
965
|
-
"cli.cmd.workspace.file.upgrade.dryRunRes": "Metadata upgrade dry-run: {0} checked, {1} candidate(s), {2} skipped, {3} failed",
|
|
966
|
-
"cli.cmd.workspace.file.upgrade.failed": "Failed files: {0}",
|
|
967
|
-
"cli.cmd.workspace.file.upgrade.reason": "Reason",
|
|
968
|
-
"cli.cmd.workspace.file.upgrade.result": "Metadata upgrade result: {0} checked, {1} changed, {2} skipped, {3} failed",
|
|
969
|
-
"cli.cmd.workspace.file.upgrade.skipped": "Skipped files: {0}",
|
|
970
|
-
"cli.cmd.workspace.file.upgrade.upgraded": "Upgraded files: {0}",
|
|
1156
|
+
"cli.cmd.workspace.remote.*.url": "Configured or new server URL, such as https://bi.example.com.",
|
|
1157
|
+
"cli.cmd.workspace.remote.*.oldUrl": "Configured old server URL.",
|
|
1158
|
+
"cli.cmd.workspace.remote.*.newUrl": "New access URL for the same server.",
|
|
971
1159
|
"cli.cmd.workspace.lock.title": "Workspace lock",
|
|
972
1160
|
"cli.cmd.workspace.lock.summary": "inspect workspace locks",
|
|
973
|
-
"cli.cmd.workspace.lock.desc": "Inspect workspace locks.\n\
|
|
1161
|
+
"cli.cmd.workspace.lock.desc": "Inspect workspace locks to diagnose concurrent operations.\n\nSupports scope lists, holder details and waiting for idle scopes. Does not forcibly delete locks or terminate holders.",
|
|
974
1162
|
"cli.cmd.workspace.lock.badScope": "Invalid workspace lock scope: {0}",
|
|
975
1163
|
"cli.cmd.workspace.lock.list.summary": "List locked workspace scopes.",
|
|
976
|
-
"cli.cmd.workspace.lock.list.desc": "List scopes
|
|
1164
|
+
"cli.cmd.workspace.lock.list.desc": "List locked scopes in the current workspace.\n\nState may change as other processes run; the list does not guarantee that subsequent operations can acquire a lock immediately.",
|
|
1165
|
+
"cli.cmd.workspace.lock.list.out": "JSON scopes[] lists occupied scopes without holder details. An empty list means no valid holders were observed; occupied scopes alone still exit 0.",
|
|
977
1166
|
"cli.cmd.workspace.lock.list.scope": "Scope",
|
|
978
1167
|
"cli.cmd.workspace.lock.list.empty": "No active workspace locks.",
|
|
979
1168
|
"cli.cmd.workspace.lock.status.summary": "Show workspace lock holders.",
|
|
980
|
-
"cli.cmd.workspace.lock.status.desc": "Inspect workspace lock scopes and their holders
|
|
1169
|
+
"cli.cmd.workspace.lock.status.desc": "Inspect workspace lock scopes and their holders to diagnose concurrent operations.\n\nState may change as other processes run; inspection does not guarantee that subsequent operations can acquire a lock immediately.",
|
|
1170
|
+
"cli.cmd.workspace.lock.status.out": "In JSON scopes[], status=free means available and status=busy means occupied. A busy entry includes holder details such as PID, hostname, source, command and heartbeat time. Observing busy still exits 0 and does not acquire the lock.",
|
|
981
1171
|
"cli.cmd.workspace.lock.status.heartbeat": "Last heartbeat",
|
|
982
1172
|
"cli.cmd.workspace.lock.status.pid": "PID",
|
|
983
1173
|
"cli.cmd.workspace.lock.status.scope": "Scope",
|
|
1174
|
+
"cli.cmd.workspace.lock.status.scopeArg": "One or more workspace lock scopes, such as config and sync; omit to inspect all scopes.",
|
|
984
1175
|
"cli.cmd.workspace.lock.wait.summary": "Wait until workspace locks are free.",
|
|
985
|
-
"cli.cmd.workspace.lock.wait.desc": "Wait
|
|
986
|
-
"cli.cmd.workspace.lock.wait.
|
|
1176
|
+
"cli.cmd.workspace.lock.wait.desc": "Wait for workspace lock scopes to become idle before subsequent operations.\n\nSupports indefinite waiting or a time limit.\n\nSuccess only indicates the scopes were idle when checked; it does not hold locks. Timeout produces a nonzero exit code.",
|
|
1177
|
+
"cli.cmd.workspace.lock.wait.out": "The timeout exit code is 124.",
|
|
1178
|
+
"cli.cmd.workspace.lock.wait.timeout": "Stop waiting after the given number of seconds.\n\nIn seconds; omit to wait indefinitely.",
|
|
987
1179
|
"cli.cmd.workspace.lock.wait.badTimeout": "Invalid value for --timeout: {0}",
|
|
988
1180
|
"cli.cmd.workspace.lock.wait.locksBusy": "Workspace locks still busy after {0}s: {1}",
|
|
989
1181
|
"cli.cmd.workspace.lock.wait.locksFree": "Workspace locks are free: {0}",
|
|
1182
|
+
"cli.cmd.workspace.lock.wait.scope": "One or more workspace lock scopes, such as config and sync; defaults to config and sync.",
|
|
1183
|
+
"cli.cmd.workspace.lock.*.scope": "Workspace lock scopes such as config and sync; see the description for defaults.",
|
|
990
1184
|
"cli.cmd.workspace.backup.title": "Workspace backup",
|
|
991
1185
|
"cli.cmd.workspace.backup.summary": "inspect and clear workspace backups",
|
|
992
|
-
"cli.cmd.workspace.backup.desc": "Inspect and clear workspace backups.\n\
|
|
1186
|
+
"cli.cmd.workspace.backup.desc": "Inspect and clear workspace merge backups.\n\nBackups contain local versions saved before pull conflict handling. They do not cover all workspace files or replace Git history.",
|
|
993
1187
|
"cli.cmd.workspace.backup.backupPath": "Backup path",
|
|
994
1188
|
"cli.cmd.workspace.backup.cleared": "Merge backup clear: {0} cleared, {1} remaining.",
|
|
995
1189
|
"cli.cmd.workspace.backup.list.summary": "List saved merge backups.",
|
|
996
|
-
"cli.cmd.workspace.backup.list.desc": "List local versions saved before pull
|
|
1190
|
+
"cli.cmd.workspace.backup.list.desc": "List local versions saved before resolving pull conflicts to find content that can be recovered.\n\nDoes not restore files automatically; these backups do not cover every workspace file.",
|
|
1191
|
+
"cli.cmd.workspace.backup.list.out": "In JSON entries[], localPath/remotePath identify the original resource, backupPath is the absolute path to the saved local copy, and size is in bytes. summary.entries counts returned backup entries.",
|
|
997
1192
|
"cli.cmd.workspace.backup.list.empty": "No merge backups found.",
|
|
998
1193
|
"cli.cmd.workspace.backup.clear.summary": "Clear saved merge backups.",
|
|
999
|
-
"cli.cmd.workspace.backup.clear.desc": "Clear local versions saved before pull
|
|
1000
|
-
"cli.cmd.workspace.
|
|
1001
|
-
"cli.cmd.workspace.
|
|
1002
|
-
"cli.cmd.workspace.
|
|
1003
|
-
"cli.cmd.workspace
|
|
1004
|
-
"cli.
|
|
1005
|
-
"cli.
|
|
1006
|
-
"cli.
|
|
1007
|
-
"cli.cmd.workspace.ext.middleSegmentMust": "The middle segment must equal \"{0}\" (current: \"{1}\").",
|
|
1008
|
-
"cli.cmd.workspace.ext.list.summary": "List local extensions.",
|
|
1009
|
-
"cli.cmd.workspace.ext.list.desc": "List local extensions under the workspace sysdata project.\n\nLists extension directories under sysdata in the current workspace, not extensions installed on the server. Use a confirmed name with extension push.",
|
|
1010
|
-
"cli.cmd.workspace.ext.create.summary": "Create a local extension.",
|
|
1011
|
-
"cli.cmd.workspace.ext.create.desc": "Create a local extension directory from a server template.\n\nRequires an extension point, template and new name. Discover valid combinations with server extension template list. This writes a local directory; inspect generated files before publishing with extension push.\n\nAn active server and a cloned sysdata project are required. Templates are fetched over the network; JSON execution.server=none does not mean this operation can run offline.\n\nConsult the guide below for related instructions and confirm it applies to your CLI and server version.\n\nNames use lowercase letters, digits and hyphens, with at least three segments. The second segment must match the extension point, e.g. succ-component-card. The destination directory must not already exist.\n\nGuide: Develop extensions\nMarkdown: https://docs.succapp.com/guide/dev/ai-building/extension/extension.md\nWeb: https://docs.succapp.com/ai-building/extension/extension",
|
|
1012
|
-
"cli.cmd.workspace.ext.create.extTemplate": "Extension template not found: {0}/{1}",
|
|
1013
|
-
"cli.cmd.workspace.ext.push.summary": "Push a local extension.",
|
|
1014
|
-
"cli.cmd.workspace.ext.push.desc": "Push a local extension directory to the active server.\n\nChoose exactly one of an extension name and --path. This uploads the extension and affects the server. Confirm its content and the active server first; see --force when replacing an existing target.",
|
|
1015
|
-
"cli.cmd.workspace.ext.push.path": "Resolve the extension from a local path under sysdata/extensions.",
|
|
1016
|
-
"cli.cmd.workspace.ext.push.force": "Allow local extension files to overwrite remote changes.",
|
|
1017
|
-
"cli.cmd.workspace.ext.push.needNamePath": "Pass an extension name or --path=<path>.",
|
|
1018
|
-
"cli.cmd.workspace.ext.push.onlyOne": "Use either <name> or --path=<path>, not both.",
|
|
1019
|
-
"cli.cmd.workspace.*.path": "Workspace resource path: a local path or /PROJECT/... metadata path. See the description for omitted-path scope.",
|
|
1020
|
-
"cli.cmd.workspace.file.*.pathspec": "Relative paths and globs are expanded from the workspace root, not the launch subdirectory. Directories are recursive; quote globs. Workspace-local absolute paths and /PROJECT/... metadata paths are supported.",
|
|
1021
|
-
"cli.cmd.workspace.file.*.path": "Workspace resource path: a local path or /PROJECT/... metadata path. See the description for omitted-path scope.",
|
|
1022
|
-
"cli.cmd.workspace.remote.*.url": "Configured or new server URL, such as https://bi.example.com.",
|
|
1023
|
-
"cli.cmd.workspace.remote.*.oldUrl": "Configured old server URL.",
|
|
1024
|
-
"cli.cmd.workspace.remote.*.newUrl": "New access URL for the same server.",
|
|
1025
|
-
"cli.cmd.workspace.lock.*.scope": "Workspace lock scopes such as config and sync; see the description for defaults.",
|
|
1026
|
-
"cli.cmd.workspace.backup.*.path": "Workspace resource path: a local path or /PROJECT/... metadata path. See the description for omitted-path scope.",
|
|
1027
|
-
"cli.cmd.workspace.ext.*.extensionPoint": "Extension point returned by server extension template list.",
|
|
1028
|
-
"cli.cmd.workspace.ext.*.template": "Template name within the selected extension point, from server extension template list.",
|
|
1029
|
-
"cli.cmd.workspace.ext.create.name": "New extension name following the selected extension point naming requirements.",
|
|
1030
|
-
"cli.cmd.workspace.ext.push.name": "Extension name returned by workspace extension list; choose this or --path.",
|
|
1031
|
-
"cli.cmd.workspace.proj.clone.project": "Project names from server project list (remote) or workspace project list (local).",
|
|
1032
|
-
"cli.cmd.workspace.proj.remove.project": "Project names from server project list (remote) or workspace project list (local).",
|
|
1033
|
-
"cli.cmd.workspace.status.incomplete": "Remote check incomplete ({0}); remote changes may be from a previous check. Inspect warnings and check again.",
|
|
1034
|
-
"cli.out.search.score": "Score",
|
|
1194
|
+
"cli.cmd.workspace.backup.clear.desc": "Clear local versions saved before resolving pull conflicts.\n\nDeletes backups in the selected scope without changing current working or remote files. Save any content needed for recovery before clearing.",
|
|
1195
|
+
"cli.cmd.workspace.backup.clear.out": "JSON cleared[] lists backups deleted by this operation; remaining[] lists all backups retained afterwards. summary.cleared/summary.remaining count these entries. Each entry uses an absolute backupPath for the backup and localPath/remotePath for the original resource. An empty cleared array can mean no backups matched.",
|
|
1196
|
+
"cli.cmd.workspace.backup.clear.path": "Workspace local path, relative to the execution directory after -C or an absolute disk path within the workspace. Omit to clear all merge backups; no --force is required.",
|
|
1197
|
+
"cli.cmd.workspace.backup.*.path": "Local workspace path, relative to the execution directory after -C, or an absolute disk path within the workspace.",
|
|
1198
|
+
"cli.cmd.workspace.*.path": "Local workspace path, relative to the execution directory after -C, or an absolute disk path within the workspace.",
|
|
1199
|
+
"cli.json.syntax": "Invalid JSON",
|
|
1200
|
+
"cli.compile.utf8": "The file contains invalid UTF-8 bytes. Decode it using its original encoding, save it as UTF-8, and compile again; do not replace or delete garbled characters.",
|
|
1201
|
+
"cli.out.search.score": "Relevance",
|
|
1035
1202
|
"cli.out.common.active": "Active",
|
|
1036
|
-
"cli.out.common.api": "
|
|
1203
|
+
"cli.out.common.api": "SuccApp API version",
|
|
1037
1204
|
"cli.out.common.baseline": "Baseline",
|
|
1038
1205
|
"cli.out.common.changes": "No changes.",
|
|
1039
1206
|
"cli.out.common.changesLocalRemote": "Changes: {0} (local {1}, remote {2}, conflicts {3})",
|
|
@@ -1051,8 +1218,10 @@
|
|
|
1051
1218
|
"cli.out.common.targetVersion": "Target version",
|
|
1052
1219
|
"cli.out.common.version": "Current version",
|
|
1053
1220
|
"cli.out.common.workspace": "Workspace",
|
|
1221
|
+
"cli.out.common.localOnlyChanges": "Local changes: {0} (remote not checked)",
|
|
1222
|
+
"cli.out.common.noLocalChanges": "No local changes.",
|
|
1054
1223
|
"cli.out.db.exists": "Output file already exists: {0}. Use --force to overwrite.",
|
|
1055
|
-
"cli.out.file.createTime": "
|
|
1224
|
+
"cli.out.file.createTime": "Creation time",
|
|
1056
1225
|
"cli.out.file.creator": "Creator",
|
|
1057
1226
|
"cli.out.file.description": "Description",
|
|
1058
1227
|
"cli.out.file.file": "file",
|
|
@@ -1060,11 +1229,11 @@
|
|
|
1060
1229
|
"cli.out.file.hash": "Hash",
|
|
1061
1230
|
"cli.out.file.hidden": "Hidden",
|
|
1062
1231
|
"cli.out.file.icon": "Icon",
|
|
1063
|
-
"cli.out.file.id": "ID",
|
|
1232
|
+
"cli.out.file.id": "File ID",
|
|
1064
1233
|
"cli.out.file.kind": "Kind",
|
|
1065
1234
|
"cli.out.file.labels": "Labels",
|
|
1066
1235
|
"cli.out.file.modifier": "Modifier",
|
|
1067
|
-
"cli.out.file.modifyTime": "
|
|
1236
|
+
"cli.out.file.modifyTime": "Modification time",
|
|
1068
1237
|
"cli.out.file.name": "Name",
|
|
1069
1238
|
"cli.out.file.order": "Order",
|
|
1070
1239
|
"cli.out.file.parentDir": "Parent dir",
|
|
@@ -1074,24 +1243,25 @@
|
|
|
1074
1243
|
"cli.out.file.size": "Size",
|
|
1075
1244
|
"cli.out.file.subFileType": "Subfile type",
|
|
1076
1245
|
"cli.out.file.type": "Type",
|
|
1246
|
+
"cli.out.file.sizeBytes": "Size (bytes)",
|
|
1077
1247
|
"cli.out.model.businessKeys": "Business keys",
|
|
1078
1248
|
"cli.out.model.dataType": "Data type",
|
|
1079
|
-
"cli.out.model.dbField": "
|
|
1080
|
-
"cli.out.model.dim": "
|
|
1249
|
+
"cli.out.model.dbField": "Physical field",
|
|
1250
|
+
"cli.out.model.dim": "Dimension key",
|
|
1081
1251
|
"cli.out.model.enabled": "Enabled",
|
|
1082
1252
|
"cli.out.model.extracted": "Extracted",
|
|
1083
1253
|
"cli.out.model.extractMode": "Extract mode",
|
|
1084
|
-
"cli.out.model.fields": "
|
|
1254
|
+
"cli.out.model.fields": "Field count",
|
|
1085
1255
|
"cli.out.model.kind": "Kind",
|
|
1086
1256
|
"cli.out.model.matchedFields": "Matched fields",
|
|
1087
|
-
"cli.out.model.primary": "Primary",
|
|
1257
|
+
"cli.out.model.primary": "Primary key",
|
|
1088
1258
|
"cli.out.model.primaryKeys": "Primary keys",
|
|
1089
1259
|
"cli.out.model.profile": "Data profile",
|
|
1090
|
-
"cli.out.model.profile.profiledRowCount": "
|
|
1260
|
+
"cli.out.model.profile.profiledRowCount": "Profiled rows",
|
|
1091
1261
|
"cli.out.model.profile.sampled": "Sampled",
|
|
1092
1262
|
"cli.out.model.profile.nullCount": "Nulls",
|
|
1093
1263
|
"cli.out.model.profile.nullRate": "Null rate",
|
|
1094
|
-
"cli.out.model.profile.distinctCount": "Distinct",
|
|
1264
|
+
"cli.out.model.profile.distinctCount": "Distinct values",
|
|
1095
1265
|
"cli.out.model.profile.minValue": "Min",
|
|
1096
1266
|
"cli.out.model.profile.maxValue": "Max",
|
|
1097
1267
|
"cli.out.model.profile.sum": "Sum",
|
|
@@ -1102,10 +1272,10 @@
|
|
|
1102
1272
|
"cli.out.model.profile.zeroCount": "Zeros",
|
|
1103
1273
|
"cli.out.model.profile.negativeCount": "Negatives",
|
|
1104
1274
|
"cli.out.model.profile.topValues": "Top values",
|
|
1105
|
-
"cli.out.model.profile.sampleValues": "
|
|
1106
|
-
"cli.out.model.profile.estimatedProperties": "Estimated",
|
|
1107
|
-
"cli.out.model.profile.unavailableProperties": "Unavailable",
|
|
1108
|
-
"cli.out.model.role": "
|
|
1275
|
+
"cli.out.model.profile.sampleValues": "Sample values",
|
|
1276
|
+
"cli.out.model.profile.estimatedProperties": "Estimated properties",
|
|
1277
|
+
"cli.out.model.profile.unavailableProperties": "Unavailable properties",
|
|
1278
|
+
"cli.out.model.role": "Analytical role",
|
|
1109
1279
|
"cli.out.model.rowCount": "Row count",
|
|
1110
1280
|
"cli.out.model.targetTable": "Target table",
|
|
1111
1281
|
"cli.out.model.title": "Title",
|
|
@@ -1122,7 +1292,7 @@
|
|
|
1122
1292
|
"cli.out.header.command": "Command",
|
|
1123
1293
|
"cli.out.header.comment": "Comment",
|
|
1124
1294
|
"cli.out.header.default": "Default",
|
|
1125
|
-
"cli.out.header.deleted": "
|
|
1295
|
+
"cli.out.header.deleted": "Deletion time",
|
|
1126
1296
|
"cli.out.header.deletedBy": "Deleted by",
|
|
1127
1297
|
"cli.out.header.description": "Description",
|
|
1128
1298
|
"cli.out.header.error": "Error",
|
|
@@ -1136,7 +1306,7 @@
|
|
|
1136
1306
|
"cli.out.header.metaType": "Metadata type",
|
|
1137
1307
|
"cli.out.header.modified": "Modified",
|
|
1138
1308
|
"cli.out.header.modifier": "Modifier",
|
|
1139
|
-
"cli.out.header.null": "
|
|
1309
|
+
"cli.out.header.null": "Nullable",
|
|
1140
1310
|
"cli.out.header.path": "Path",
|
|
1141
1311
|
"cli.out.header.project": "Project",
|
|
1142
1312
|
"cli.out.header.recyclebinId": "Recycle bin ID",
|
|
@@ -1151,10 +1321,21 @@
|
|
|
1151
1321
|
"cli.out.header.upgrade": "Upgradeable",
|
|
1152
1322
|
"cli.out.header.value": "Value",
|
|
1153
1323
|
"cli.out.header.version": "Version",
|
|
1324
|
+
"cli.out.header.localPath": "Local path",
|
|
1325
|
+
"cli.out.header.modifiedTime": "Modification time",
|
|
1154
1326
|
"cli.out.help.commandHelpRead": "Run 'succapp {0} <command> --help' to see the next level.",
|
|
1155
1327
|
"cli.out.help.commandHelpSee": "Run 'succapp <command> --help' to see command help.",
|
|
1156
1328
|
"cli.out.help.commands": "Commands:",
|
|
1157
1329
|
"cli.out.help.arguments": "arguments:",
|
|
1330
|
+
"cli.out.help.paramRequired": "[required]",
|
|
1331
|
+
"cli.out.help.paramDefault": "Default: {0}",
|
|
1332
|
+
"cli.out.help.paramRange": "Range: {0}–{1}",
|
|
1333
|
+
"cli.out.help.paramMin": "Minimum: {0}",
|
|
1334
|
+
"cli.out.help.paramMax": "Maximum: {0}",
|
|
1335
|
+
"cli.out.help.paramChoices": "Choices: {0}",
|
|
1336
|
+
"cli.out.help.paramSep": "; ",
|
|
1337
|
+
"cli.out.help.relatedCommands": "related commands:",
|
|
1338
|
+
"cli.out.help.relatedNote": "Related usage; replace angle-bracket placeholders with actual values.",
|
|
1158
1339
|
"cli.out.help.examples": "examples:",
|
|
1159
1340
|
"cli.out.help.group.content": "content options:",
|
|
1160
1341
|
"cli.out.help.group.field": "field options:",
|
|
@@ -1166,6 +1347,13 @@
|
|
|
1166
1347
|
"cli.out.help.group.search": "search options:",
|
|
1167
1348
|
"cli.out.help.usageHeader": "usage: ",
|
|
1168
1349
|
"cli.out.help.usageLine": "usage: succapp {command} {usageArgs}",
|
|
1350
|
+
"cli.out.help.commandGroups": "Command groups:",
|
|
1351
|
+
"cli.out.help.rootUsage": "succapp [global options] <command> [<args>]",
|
|
1352
|
+
"cli.out.help.output": "output:",
|
|
1353
|
+
"cli.out.help.references": "references:",
|
|
1354
|
+
"cli.out.help.refNote": "Read references using the commands below. For server references, use the same target server as your business operation.",
|
|
1355
|
+
"cli.out.help.refLocal": "Local: {0}",
|
|
1356
|
+
"cli.out.help.globalNote": "See succapp --help for complete global option rules.",
|
|
1169
1357
|
"cli.out.human.error": "error: {0}",
|
|
1170
1358
|
"cli.out.human.hint": "hint: {0}",
|
|
1171
1359
|
"cli.out.human.info": "info: {0}",
|
|
@@ -1194,6 +1382,7 @@
|
|
|
1194
1382
|
"cli.out.value.unknown": "UNKNOWN",
|
|
1195
1383
|
"cli.out.value.updated": "updated",
|
|
1196
1384
|
"cli.out.value.yes": "yes",
|
|
1385
|
+
"cli.out.value.upToDate": "up to date",
|
|
1197
1386
|
"cli.out.workspace.ext.createdExt": "Created extension {0}: {1}",
|
|
1198
1387
|
"cli.out.workspace.ext.ext": "No extensions found under {0}.",
|
|
1199
1388
|
"cli.out.workspace.ext.extPoint": "Extension point",
|
|
@@ -1210,8 +1399,185 @@
|
|
|
1210
1399
|
"cli.out.workspace.ext.version": "Current version",
|
|
1211
1400
|
"cli.out.workspace.file.hist.empty": "No server history records",
|
|
1212
1401
|
"cli.out.workspace.file.history.badLimit": "Invalid value for --limit: {0}",
|
|
1213
|
-
"cli.out.
|
|
1214
|
-
"cli.out.
|
|
1402
|
+
"cli.out.suggest.correction": "correction: {0}",
|
|
1403
|
+
"cli.out.suggest.prerequisite": "prerequisite: {0}",
|
|
1404
|
+
"cli.out.suggest.diagnostic": "diagnostic: {0}",
|
|
1405
|
+
"cli.out.suggest.cwd": "Working directory: {0}",
|
|
1406
|
+
"cli.out.check.summary": "Check results: {0} file(s), {1} passed, {2} failed, {3} skipped",
|
|
1407
|
+
"cli.out.check.summaryWithExecutionFailures": "Check results: {0} file(s), {1} passed, {2} source error(s), {3} skipped, {4} execution failure(s)",
|
|
1408
|
+
"cli.out.check.fixedCount": "Fixed {0} problem(s)",
|
|
1409
|
+
"cli.out.check.written": "Written to file",
|
|
1410
|
+
"cli.out.check.nothingToFix": "Nothing to fix",
|
|
1411
|
+
"cli.out.check.fixFailed": "Fix failed: {0}",
|
|
1412
|
+
"cli.out.check.remotePath": "Metadata path: {0}",
|
|
1413
|
+
"cli.out.check.passed": "Passed",
|
|
1414
|
+
"cli.out.check.failed": "Failed",
|
|
1415
|
+
"cli.out.check.skipped": "Skipped: no check was performed.",
|
|
1416
|
+
"cli.out.check.executionFailed": "Execution failed: the check could not complete.",
|
|
1417
|
+
"cli.out.check.compilerFile": "Compiler file identifier: {0}",
|
|
1418
|
+
"cli.out.check.unknownFailure": "Failed: failure kind is unknown; inspect the original cause.",
|
|
1419
|
+
"cli.out.check.jsonDetails": "Use --json for additional diagnostic details.",
|
|
1420
|
+
"cli.out.check.context": "Source context",
|
|
1421
|
+
"cli.out.check.code": "Compiler diagnostic code",
|
|
1422
|
+
"cli.out.check.severity": "Severity",
|
|
1423
|
+
"cli.out.check.type": "Type",
|
|
1424
|
+
"cli.out.check.location": "Location",
|
|
1425
|
+
"cli.out.check.related": "Related diagnostic:",
|
|
1426
|
+
"cli.out.check.suppressed": "Suppressed error:",
|
|
1427
|
+
"cli.out.check.errorCode": "Error code",
|
|
1428
|
+
"cli.out.check.propertyLocation": "Component or property",
|
|
1429
|
+
"cli.out.check.endPosition": "End position (line:column, 1-based)",
|
|
1430
|
+
"cli.out.check.start": "Character offset (UTF-16, 0-based)",
|
|
1431
|
+
"cli.out.check.length": "Character length (UTF-16)",
|
|
1432
|
+
"cli.out.check.expression": "Expression",
|
|
1433
|
+
"cli.out.check.token": "Error token",
|
|
1434
|
+
"cli.out.check.tokenOffset": "Expression character offset (0-based)",
|
|
1435
|
+
"cli.out.check.tokenIndex": "Token identifier",
|
|
1436
|
+
"cli.out.check.tokenType": "Token type",
|
|
1437
|
+
"cli.out.check.errorType": "Expression error type",
|
|
1438
|
+
"cli.out.check.locationValue": "Location value",
|
|
1439
|
+
"cli.out.check.contextPosition": "Original context position (not file coordinates; coordinate base unspecified)",
|
|
1440
|
+
"cli.out.check.mergeReferenceResources": "Merge these entries into the root referenceResources, preserving other entries. Keep component type and layoutType unchanged:",
|
|
1441
|
+
"cli.out.check.referenceCandidates": "Registered data reference IDs to check; use an ID, not the resource path:",
|
|
1442
|
+
"cli.out.check.noReferenceCandidates": "No registered data references are available. Register the intended data resource before using its reference ID.",
|
|
1443
|
+
"cli.out.check.datasetCandidates": "Datasets defined in the current scope; check the referenced ID:",
|
|
1444
|
+
"cli.out.check.noDatasetCandidates": "No datasets are defined in the current scope. Define a dataset before referencing its ID.",
|
|
1445
|
+
"cli.out.check.propertyCandidates": "Possible property names supported by the current configuration; verify before renaming:",
|
|
1446
|
+
"cli.out.check.propertyDisabled": "This property is disabled by the current configuration. Remove it if unnecessary, or adjust its enabling conditions.",
|
|
1447
|
+
"cli.out.check.enableCondition": "Enabling condition:",
|
|
1448
|
+
"cli.out.check.enableDependencies": "Enabling condition depends on:",
|
|
1449
|
+
"cli.out.check.nativePosition": "Additional native position (coordinate base unspecified)",
|
|
1450
|
+
"cli.out.check.nativeIndex": "Native index (compiler value)",
|
|
1451
|
+
"cli.out.sync.oldMetaNotice": "Found {0} metadata file(s) in an older format; no automatic upgrade was performed.",
|
|
1452
|
+
"cli.out.mutation.created": "Created",
|
|
1453
|
+
"cli.out.mutation.modified": "Modified",
|
|
1454
|
+
"cli.out.mutation.deleted": "Deleted",
|
|
1455
|
+
"cli.out.mutation.renamed": "Renamed",
|
|
1456
|
+
"cli.out.mutation.moved": "Moved",
|
|
1457
|
+
"cli.out.mutation.renamedAndMoved": "Renamed and moved",
|
|
1458
|
+
"cli.out.mutation.metadataUpdated": "Metadata updated",
|
|
1459
|
+
"cli.out.mutation.accepted": "Accepted",
|
|
1460
|
+
"cli.out.conflictMarkers": "Conflict markers written",
|
|
1461
|
+
"cli.suggest.command.candidate": "Inspect the usage of this possible command.",
|
|
1462
|
+
"cli.suggest.command.help": "Check command usage and correct the input.",
|
|
1463
|
+
"cli.suggest.auth.login": "Sign in to the target server in a browser, or choose the PAT option below.",
|
|
1464
|
+
"cli.suggest.auth.pat": "Sign in with a PAT: enter it at the terminal prompt, or provide it through stdin in scripts.",
|
|
1465
|
+
"cli.suggest.workspace.init": "Initialize the target folder as a SuccApp workspace.",
|
|
1466
|
+
"cli.suggest.workspace.status": "Inspect sync status, including deletions, moves and metadata changes; this does not resolve conflicts.",
|
|
1467
|
+
"cli.suggest.workspace.repair": "Preview workspace repair without applying changes.",
|
|
1468
|
+
"cli.suggest.workspace.dev": "Initialize workspace development support files.",
|
|
1469
|
+
"cli.suggest.remote.list": "Inspect servers configured in this workspace.",
|
|
1470
|
+
"cli.suggest.remote.add": "Add this server and make it the active workspace server.",
|
|
1471
|
+
"cli.suggest.remote.use": "Check how to switch the active workspace server.",
|
|
1472
|
+
"cli.suggest.lock.status": "Inspect lock holders and wait for the running process to finish.",
|
|
1473
|
+
"cli.suggest.project.sysdata": "Clone the sysdata project into the local workspace.",
|
|
1474
|
+
"cli.suggest.project.localList": "Inspect projects in the local workspace.",
|
|
1475
|
+
"cli.suggest.project.cloneHelp": "Inspect how to prepare the file's project locally and what will be downloaded.",
|
|
1476
|
+
"cli.suggest.project.list": "Inspect projects visible to the current login.",
|
|
1477
|
+
"cli.suggest.extension.templates": "Inspect available extension points and template names.",
|
|
1478
|
+
"cli.suggest.db.connectors": "Inspect available database connectors.",
|
|
1479
|
+
"cli.suggest.server.info": "Inspect target server information.",
|
|
1480
|
+
"cli.suggest.server.startupLogs": "Inspect the target server’s startup logs, resolve the reported cause, and restart the server. Ask its administrator if you cannot access the logs.",
|
|
1481
|
+
"cli.suggest.thread.show": "Inspect the current thread and cancellation serial.",
|
|
1482
|
+
"cli.suggest.thread.list": "Obtain a current thread snapshot.",
|
|
1483
|
+
"cli.suggest.cluster.list": "Inspect the current cluster snapshot.",
|
|
1484
|
+
"cli.suggest.logger.list": "Inspect current logger names and levels.",
|
|
1485
|
+
"cli.suggest.metadata.upgradePreview": "Before editing an older-format file, upgrade that file first. You may also upgrade the whole project as needed. The following command only previews the upgrade scope; it does not modify files.",
|
|
1486
|
+
"cli.suggest.metadata.dts": "Read the DTS for the reported error and location, then correct and recompile.",
|
|
1487
|
+
"cli.err.workspacePathOutOfScope": "Provide a local metadata path within the current workspace; relative paths use the execution directory. If the file belongs to another workspace, use -C to select that workspace or a subdirectory. Do not use a server metadata path as a local disk path.",
|
|
1488
|
+
"cli.ref.recoverChanges": "Recover lost changes",
|
|
1489
|
+
"cli.ref.compileMetadata": "Compile and validate metadata",
|
|
1490
|
+
"cli.ref.cloneProjects": "Connect and clone projects",
|
|
1491
|
+
"cli.ref.metadataChecks": "Static metadata checks",
|
|
1492
|
+
"cli.ref.syncChanges": "Edit, compare, pull and push",
|
|
1493
|
+
"cli.ref.initWorkspace": "Initialize a workspace",
|
|
1494
|
+
"cli.ref.displayFormats": "Manage display formats",
|
|
1495
|
+
"cli.ref.portalGuide": "Build application pages",
|
|
1496
|
+
"cli.ref.portalTypes": "Portal page types",
|
|
1497
|
+
"cli.ref.actionNodes": "Program flow node types",
|
|
1498
|
+
"cli.ref.cellTypes": "Cell types",
|
|
1499
|
+
"cli.ref.components": "Page component types",
|
|
1500
|
+
"cli.ref.systemSettingTypes": "System setting types",
|
|
1501
|
+
"cli.ref.systemSettings": "System settings",
|
|
1502
|
+
"cli.ref.dynamicSettingFields": "Dynamic settings types and fields",
|
|
1503
|
+
"cli.ref.settingsSecrets": "Secrets and update preservation rules",
|
|
1504
|
+
"cli.ref.businessLogic": "Implement business logic",
|
|
1505
|
+
"cli.ref.backendApi": "Backend API index",
|
|
1506
|
+
"cli.ref.metadataApi": "Backend metadata API",
|
|
1507
|
+
"cli.ref.rptTypes": "Report metadata type",
|
|
1508
|
+
"cli.ref.dashTypes": "Dashboard metadata type",
|
|
1509
|
+
"cli.ref.spgTypes": "SuperPage metadata type",
|
|
1510
|
+
"cli.ref.backendScripts": "Backend scripts and APIs",
|
|
1511
|
+
"cli.ref.extensions": "Extension development",
|
|
1512
|
+
"cli.ref.metadataTypes": "Metadata file type index",
|
|
1513
|
+
"cli.ref.fileOptions": "File option types",
|
|
1514
|
+
"cli.ref.fileInfo": "File metadata types",
|
|
1515
|
+
"cli.ref.typeReferences": "Obtain type and configuration references",
|
|
1516
|
+
"cli.ref.findResources": "Find metadata resources",
|
|
1517
|
+
"cli.ref.diagnostics": "System diagnostics",
|
|
1518
|
+
"cli.ref.styleValues": "Style value types",
|
|
1519
|
+
"cli.ref.componentStyle": "Component style types",
|
|
1520
|
+
"cli.ref.appearance": "Themes, styles and page appearance",
|
|
1521
|
+
"cli.ref.themeTypes": "Theme types and variables",
|
|
1522
|
+
"cli.ref.queryTypes": "Model query types",
|
|
1523
|
+
"cli.ref.dataSourceConfig": "Data source connection configuration type",
|
|
1524
|
+
"cli.ref.modelAnalysis": "Explore model data",
|
|
1525
|
+
"cli.ref.dataTransfer": "Import and export data",
|
|
1526
|
+
"cli.ref.databaseChanges": "Execute database changes",
|
|
1527
|
+
"cli.ref.databaseAnalysis": "Explore database data",
|
|
1528
|
+
"cli.ref.connectData": "Connect data",
|
|
1529
|
+
"cli.ref.taskIndex": "Use AI Agent",
|
|
1530
|
+
"cli.ref.cliGuide": "CLI guide",
|
|
1531
|
+
"cli.ref.authentication": "Authentication configuration",
|
|
1532
|
+
"cli.ref.projectSettingTypes": "Project setting types",
|
|
1533
|
+
"cli.ref.appSettingTypes": "Application setting types",
|
|
1534
|
+
"cli.ref.resourceReferences": "Page resource references",
|
|
1535
|
+
"cli.ref.imageFill": "Image fill types",
|
|
1536
|
+
"cli.ref.iconValue": "Icon value types",
|
|
1537
|
+
"cli.ref.mediaGuide": "Choose resources for pages",
|
|
1538
|
+
"cli.ref.modelTypes": "Model metadata types",
|
|
1539
|
+
"cli.ref.pageTemplates": "Choose page templates and resources",
|
|
1540
|
+
"cli.ref.techLogs": "Troubleshoot with technical logs",
|
|
1541
|
+
"cli.ref.componentCommands": "Component command declarations",
|
|
1542
|
+
"cli.ref.componentCommandArgs": "Command argument declarations",
|
|
1543
|
+
"cli.ref.executeComponentCommand": "Execute-command action metadata",
|
|
1544
|
+
"cli.ref.componentEvents": "Component event declarations",
|
|
1545
|
+
"cli.ref.componentEventMetadata": "Component interaction event metadata",
|
|
1546
|
+
"cli.ref.componentCapabilities": "Component capabilities and subcomponents",
|
|
1547
|
+
"cli.ref.commonRunEnv": "Execution environments",
|
|
1548
|
+
"cli.ref.layoutMetadata": "Layout metadata",
|
|
1549
|
+
"cli.ref.layoutCapabilities": "Layout capabilities and property definitions",
|
|
1550
|
+
"cli.out.resContext.group": "Recommendation",
|
|
1551
|
+
"cli.out.resContext.recommended": "Recommended",
|
|
1552
|
+
"cli.out.resContext.additional": "Additional",
|
|
1553
|
+
"cli.out.resContext.persist": "Save the value using the persistence type of {0}; recommended labels do not exclude other assets.",
|
|
1554
|
+
"cli.ref.imageValue": "Image property persistence type",
|
|
1555
|
+
"cli.out.dts.metadata": "Metadata assignment",
|
|
1556
|
+
"cli.out.dts.declaration": "Query declaration",
|
|
1557
|
+
"cli.out.dts.owner": "Owning component metadata",
|
|
1558
|
+
"cli.out.dts.member": "Find member: {0}",
|
|
1559
|
+
"cli.out.dts.note": "This query only checks local references. The read commands below retain the target server and prepare missing packages in Home. Declaration types are not metadata assignment schemas; locate local parts through their owning component catalog.",
|
|
1560
|
+
"cli.ref.themeMetadata": "Theme metadata",
|
|
1561
|
+
"cli.ref.displayFormatValue": "Display format reference value",
|
|
1562
|
+
"cli.ref.fontFamilyValue": "Font reference value",
|
|
1563
|
+
"cli.out.dts.component": "Component metadata",
|
|
1564
|
+
"cli.ref.directoryMetadata": "Directory resource metadata",
|
|
1565
|
+
"cli.ref.knowledgeBaseTypes": "Knowledge base configuration types",
|
|
1566
|
+
"cli.ref.fillValue": "Persisted fill property value",
|
|
1567
|
+
"cli.ref.imageSliceFill": "Persisted image slice fill value",
|
|
1568
|
+
"cli.out.scope.system": "Only system default resources are queried; project/application custom resources and overrides are not considered.",
|
|
1569
|
+
"cli.out.scope.systemWithTheme": "Only system default resources and media from the specified system theme are queried; project/application custom resources and overrides are not considered.",
|
|
1570
|
+
"cli.out.scope.systemThemeOnly": "Only media from the specified system theme is queried; project/application custom resources and overrides are not considered.",
|
|
1571
|
+
"cli.out.scope.specify": "To query effective resources at a specific location, specify a target path:",
|
|
1572
|
+
"cli.out.scope.global": "This is the global designer font catalog. The final font of a page and font installation in the runtime environment are not checked.",
|
|
1573
|
+
"cli.out.scope.next": "Replace <target> to query resources at a specific location on the same server with the current filters.",
|
|
1574
|
+
"cli.out.scope.path": "Replace with an actual server location supported by this command, not a local path.",
|
|
1575
|
+
"cli.out.scope.pageFontNotResolved": "The automatic option follows the theme; it does not identify the final font of a page.",
|
|
1576
|
+
"cli.out.scope.fontInstallationNotChecked": "Font installation in the browser, operating system and export environment is not checked.",
|
|
1577
|
+
"cli.out.scope.targetOverridesNotApplied": "Project/application custom resources and overrides are not considered.",
|
|
1578
|
+
"cli.out.scope.target": "Resources are queried at the specified server location; sources, overrides and applicability follow this command and individual entries.",
|
|
1579
|
+
"cli.out.scope.targetFilenameNotApplied": "Script content templates have not been matched against a target filename.",
|
|
1580
|
+
"cli.out.scope.themeMediaNotRequested": "No theme was requested; theme media is not included.",
|
|
1215
1581
|
"cli.err.context.exampleCommandServer": "succapp --server=<url> {commandName}",
|
|
1216
1582
|
"cli.err.context.exampleCommandUrl": "succapp {commandName} <url>",
|
|
1217
1583
|
"cli.err.context.exampleEnvUrl": "{envName}=<url> succapp {commandName}",
|
|
@@ -1240,7 +1606,7 @@
|
|
|
1240
1606
|
"cli.input.server": "server",
|
|
1241
1607
|
"cli.input.clusterNode": "cluster node",
|
|
1242
1608
|
"cli.input.threadId": "thread ID",
|
|
1243
|
-
"cli.input.cancelSerial": "
|
|
1609
|
+
"cli.input.cancelSerial": "cancellation serial",
|
|
1244
1610
|
"cli.input.techLogFile": "technical log file",
|
|
1245
1611
|
"cli.input.logger": "logger",
|
|
1246
1612
|
"cli.input.logLevel": "log level",
|
|
@@ -1290,7 +1656,7 @@
|
|
|
1290
1656
|
"vs.cmd.server.changeUrl.prompt": "Change server URL {0}?",
|
|
1291
1657
|
"vs.cmd.server.changeUrl.serverExists": "Server already exists",
|
|
1292
1658
|
"vs.cmd.server.changeUrl.serverUrlChanged": "Server URL changed: {0}",
|
|
1293
|
-
"vs.cmd.server.changeUrl.succAppWill": "SuccApp will only update the server configuration and move the local
|
|
1659
|
+
"vs.cmd.server.changeUrl.succAppWill": "SuccApp will only update the server configuration and move the local server synchronization baseline under .succapp/remote. Workspace project files and remote server projects will not be changed. You can change it back later if needed.",
|
|
1294
1660
|
"vs.cmd.server.connected": "Connected to {0}",
|
|
1295
1661
|
"vs.cmd.server.disconnect.disconnected": "Already disconnected",
|
|
1296
1662
|
"vs.cmd.server.disconnect.done": "Disconnected from server",
|
|
@@ -1363,6 +1729,7 @@
|
|
|
1363
1729
|
"vs.cmd.sync.push.serverHasNewer": "The server has newer changes. Return to the Changes view or command palette to pull or compare before pushing again.",
|
|
1364
1730
|
"vs.cmd.sync.push.showLogs": "Show Logs",
|
|
1365
1731
|
"vs.cmd.sync.push.successPushedFile": "Successfully pushed {0} file(s)",
|
|
1732
|
+
"vs.cmd.sync.push.upgradeRequired": "Upgrade {0} old metadata file(s) before pushing? Cancelling will stop this push.",
|
|
1366
1733
|
"vs.cmd.sync.removeProject.confirm": "Remove local project(s)?",
|
|
1367
1734
|
"vs.cmd.sync.removeProject.empty": "No local projects to remove",
|
|
1368
1735
|
"vs.cmd.sync.removeProject.localProjectS": "{0} local project(s) removed",
|
|
@@ -1372,11 +1739,11 @@
|
|
|
1372
1739
|
"vs.cmd.sync.repair.cannotRepairWorkspace": "Cannot repair workspace before connecting to the server. Connect or re-login to the server, then run Repair Workspace again.",
|
|
1373
1740
|
"vs.cmd.sync.repair.complete": "Workspace repair complete: {0} issue(s) repaired.",
|
|
1374
1741
|
"vs.cmd.sync.repair.completeClean": "Workspace repair complete: no changes needed.",
|
|
1375
|
-
"vs.cmd.sync.repair.fetched": "Workspace repair fetched from the current server, but local
|
|
1742
|
+
"vs.cmd.sync.repair.fetched": "Workspace repair fetched from the current server, but local synchronization baselines are still incomplete. See logs for details.",
|
|
1376
1743
|
"vs.cmd.sync.repair.finished": "Workspace repair finished: {0} repaired, {1} unresolved. See logs for details.",
|
|
1377
1744
|
"vs.cmd.sync.repair.ifServerConnected": "If the server is not connected, connect or re-login first, then repair again.",
|
|
1378
1745
|
"vs.cmd.sync.repair.moreFiles": "...and {0} more issue(s).",
|
|
1379
|
-
"vs.cmd.sync.repair.repairRefreshesLocal": "Current repair only refreshes local
|
|
1746
|
+
"vs.cmd.sync.repair.repairRefreshesLocal": "Current repair only refreshes local synchronization baselines and does not overwrite workspace files.",
|
|
1380
1747
|
"vs.cmd.sync.repair.repairWorkspace": "Repair Workspace",
|
|
1381
1748
|
"vs.cmd.sync.repair.repairWorkspaceIssue": "Repair {0} workspace issue(s)?",
|
|
1382
1749
|
"vs.cmd.sync.repair.showLogs": "Show Logs",
|
|
@@ -1398,7 +1765,6 @@
|
|
|
1398
1765
|
"vs.cmd.sync.upgradeMeta.result": "Metadata upgrade finished: {0} changed, {1} checked.",
|
|
1399
1766
|
"vs.cmd.sync.upgradeMeta.upgrade": "Upgrade",
|
|
1400
1767
|
"vs.cmd.sync.upgradeMeta.upgradeMetaFile": "Upgrade {0} metadata file(s) under this folder?",
|
|
1401
|
-
"vs.cmd.sync.push.upgradeRequired": "Upgrade {0} old metadata file(s) before pushing? Cancelling will stop this push.",
|
|
1402
1768
|
"vs.cmd.ext.create.cannotCreateExt": "Cannot create an extension because the sysdata project is not cloned in this workspace.",
|
|
1403
1769
|
"vs.cmd.ext.create.createdExt": "Created extension {0}.",
|
|
1404
1770
|
"vs.cmd.ext.create.dirNamedSame": "A directory named the same already exists under sysdata/extensions/.",
|
|
@@ -1481,17 +1847,17 @@
|
|
|
1481
1847
|
"vs.ui.error.retry": "Retry",
|
|
1482
1848
|
"vs.ui.error.showLogs": "Show Logs",
|
|
1483
1849
|
"vs.ui.error.unknownErrorOccurred": "An unknown error occurred",
|
|
1484
|
-
"vs.ui.login.login": "
|
|
1850
|
+
"vs.ui.login.login": "Log in to {0}",
|
|
1485
1851
|
"vs.ui.login.method": "Choose a login method",
|
|
1486
|
-
"vs.ui.login.oauth": "OAuth2",
|
|
1852
|
+
"vs.ui.login.oauth": "OAuth2 authorization",
|
|
1487
1853
|
"vs.ui.login.oauthDesc": "Open the browser and authorize SuccApp.",
|
|
1488
1854
|
"vs.ui.login.openingBrowser": "Opening browser",
|
|
1489
1855
|
"vs.ui.login.waitingForCallback": "Waiting for authorization",
|
|
1490
1856
|
"vs.ui.login.exchangingToken": "Signing in",
|
|
1491
1857
|
"vs.ui.login.oauthManualUrl": "Open this URL in your browser: {0}",
|
|
1492
|
-
"vs.ui.login.pat": "Personal
|
|
1858
|
+
"vs.ui.login.pat": "Personal access token (PAT)",
|
|
1493
1859
|
"vs.ui.login.patDesc": "Paste a PAT manually.",
|
|
1494
|
-
"vs.ui.login.patRequired": "Enter a
|
|
1860
|
+
"vs.ui.login.patRequired": "Enter a personal access token (PAT).",
|
|
1495
1861
|
"vs.ui.remote.remoteServerFiles": "Remote server files are read-only in the Servers view. Use sync commands to edit local workspace files.",
|
|
1496
1862
|
"vs.ui.status.clickReconnectOr": "Click to reconnect or switch servers",
|
|
1497
1863
|
"vs.ui.status.clickSwitchServers": "Click to switch servers",
|
|
@@ -1506,81 +1872,866 @@
|
|
|
1506
1872
|
"vs.ui.vfs.serverProvideVersioned": "The server does not provide a versioned delete API. Please delete files in sync mode.",
|
|
1507
1873
|
"vs.ui.vfs.workspaceBaselineAvailable": "No workspace baseline is available for {0}/{1}.",
|
|
1508
1874
|
"vs.ui.vfs.workspaceConfigRemote": "No workspace is configured for remote server {0}.",
|
|
1509
|
-
"vs.ui.workspaceProblem.baseline": "SuccApp detected an incomplete local
|
|
1510
|
-
"vs.ui.workspaceProblem.missingBaseline": "SuccApp detected a missing local
|
|
1875
|
+
"vs.ui.workspaceProblem.baseline": "SuccApp detected an incomplete local synchronization baseline. Some changes may be hidden or inaccurate.",
|
|
1876
|
+
"vs.ui.workspaceProblem.missingBaseline": "SuccApp detected a missing local synchronization baseline. Some changes may be hidden or inaccurate.",
|
|
1511
1877
|
"vs.ui.workspaceProblem.showLogs": "Show Logs",
|
|
1512
|
-
"vs.ui.workspaceProblem.staleBaseline": "SuccApp detected a stale local
|
|
1878
|
+
"vs.ui.workspaceProblem.staleBaseline": "SuccApp detected a stale local synchronization baseline. See logs for details before changing the workspace.",
|
|
1513
1879
|
"vs.ui.workspaceProblem.syncProblem": "SuccApp detected a workspace sync problem. See logs for details.",
|
|
1880
|
+
"cli.cmd.dev.dataflow.title": "Dataflow",
|
|
1881
|
+
"cli.cmd.dev.dataflow.summary": "Debug model dataflow node output.",
|
|
1882
|
+
"cli.cmd.dev.dataflow.desc": "Compile a model dataflow and inspect a node's data and SQL during development.",
|
|
1883
|
+
"cli.cmd.dev.dataflow.preview.summary": "Compile and preview a dataflow node's data and SQL.",
|
|
1884
|
+
"cli.cmd.dev.dataflow.preview.desc": "Preview data and SQL at a node in a .tbl dataflow to locate where processing results diverge from expectations.\n\nThe model source is checked before preview. Referenced models, companion scripts and connection settings use server versions; synchronize those dependencies first. Embedded dataflows and FetchData models are not supported.\n\nPreview does not save model definitions or update the synchronization baseline. It does execute the upstream processing needed by the node, which may run scripts, execute non-query SQL or create intermediate tables. Use Ctrl+C or SIGTERM to request cancellation of a running data preview.",
|
|
1885
|
+
"cli.cmd.dev.dataflow.preview.source": "Choose exactly one server model path or local file. Replace the model path and node ID in the examples with actual values.",
|
|
1886
|
+
"cli.cmd.dev.dataflow.preview.model": "Absolute server metadata path to a .tbl model, for example /DEMO/data/tables/sales.tbl. Reads the source currently saved on the server and requires model view permission. Outside a workspace, use the global --server option to select a connection.",
|
|
1887
|
+
"cli.cmd.dev.dataflow.preview.file": "One .tbl file within a SuccApp workspace, relative to the execution directory after -C or given as an absolute local path. Submits the current source for temporary preview without pushing it. Requires model view permission on the target path and access to referenced resources.",
|
|
1888
|
+
"cli.cmd.dev.dataflow.preview.node": "Case-sensitive node id from the model's dataFlow array; use the id, not its display name.",
|
|
1889
|
+
"cli.cmd.dev.dataflow.preview.step": "Zero-based index in a Select node's steps array, inclusive; -1 previews before the steps. Omit for final node output. Other node types do not accept this option.",
|
|
1890
|
+
"cli.cmd.dev.dataflow.preview.paramsSource": "Runtime parameter JSON object keyed by model parameter ID, with JSON values. Choose at most one of the three input sources; omitting them uses model defaults. Example: {\"startDate\":\"2026-01-01\",\"quantity\":10}.\n\nRuntime parameters apply to both node data and static SQL preview. When connecting to an older server, verify the actual records against the supplied values; a successful request or generated SQL alone does not confirm parameter application.",
|
|
1891
|
+
"cli.cmd.dev.dataflow.preview.params": "Inline runtime parameter JSON object.",
|
|
1892
|
+
"cli.cmd.dev.dataflow.preview.paramsFile": "Read the runtime parameter object from a UTF-8 JSON file.",
|
|
1893
|
+
"cli.cmd.dev.dataflow.preview.stdin": "Read the runtime parameter JSON object from standard input.",
|
|
1894
|
+
"cli.cmd.dev.dataflow.preview.maxRows": "Maximum number of rows to return. This is not the model total and does not bound upstream computation cost.",
|
|
1895
|
+
"cli.cmd.dev.dataflow.preview.offset": "Number of result rows to skip. Changing data or unstable ordering can change results between pages.",
|
|
1896
|
+
"cli.cmd.dev.dataflow.preview.dryRun": "Check the model source and generate statically available SQL only, without querying data, executing upstream scripts or creating intermediate tables. Reports a reason when static SQL is unavailable; does not simulate data.",
|
|
1897
|
+
"cli.cmd.dev.dataflow.preview.out": "Human output presents node information, a data table and SQL. --json emits one final result; task logs and progress are separate.\n\nOn success, model is the server model path and localPath appears only for local input. node and optional step identify the preview location; dryRun indicates SQL-only preview. Data previews include taskId to correlate the backend task.\n\nresult uses the same structure as model select/query and db query: fields is an array of field objects, currently providing name; rows is an array of objects keyed by field name. rowCount counts returned rows, maxRows is the return limit, truncated=true means more data exists, and optional elapsedMs is measured in milliseconds. Empty results retain fields and return empty rows; dry-run omits result.\n\nsqlInfos is an array of SQL info objects preserving sql text and available datasource/schema information. When SQL is unavailable, the array is empty and sqlUnavailable.reason explains why: requiresExecution (runtime dependency), requiresIntermediateTable (materialization), requiresDynamicSplit (dynamic splitting), or noSql (no query SQL). Unavailable SQL does not indicate compilation failure or invalidate returned data.\n\nCompilation failures use the same diagnostic structure as dev file compile: kind=result with validationComplete, summary and items[]. Failed items provide source diagnostics in error.properties.diagnostics, and the exit code is nonzero. Network, permission and execution errors use kind=error.",
|
|
1898
|
+
"cli.cmd.dev.dataflow.preview.heading": "Node: {0}",
|
|
1899
|
+
"cli.cmd.dev.dataflow.preview.notExecuted": "Mode: dry-run; data was not queried",
|
|
1900
|
+
"cli.out.dataflow.sql.runtime": "This flow depends on runtime results; static SQL is unavailable.",
|
|
1901
|
+
"cli.out.dataflow.sql.materialized": "This flow needs an intermediate table; static SQL is unavailable.",
|
|
1902
|
+
"cli.out.dataflow.sql.dynamicSplit": "This flow contains a split step requiring runtime data; static SQL is unavailable.",
|
|
1903
|
+
"cli.out.dataflow.sql.none": "This node has no query SQL to display.",
|
|
1904
|
+
"cli.ref.dataflowMetadata": "Dataflow nodes and steps",
|
|
1905
|
+
"cli.ref.dataflowVerification": "Verify dataflow results",
|
|
1906
|
+
"cli.cmd.dev.dataflow.preview.stepRequiresSelect": "Node {0} is not a Select node; --step is not supported.",
|
|
1907
|
+
"cli.cmd.dev.dataflow.preview.nodeNotFound": "Node {0} does not exist in the dataflow. Use a node id from the model content.",
|
|
1908
|
+
"cli.cmd.dev.dataflow.preview.stepOutOfRange": "--step for node {0} must be between -1 and {1}.",
|
|
1909
|
+
"cli.out.dataflow.datasource": "Data source: {0}",
|
|
1910
|
+
"cli.out.dataflow.schema": "Schema: {0}",
|
|
1911
|
+
"cli.out.dataflow.rows": "Data · {0} rows",
|
|
1912
|
+
"cli.out.dataflow.rowsTruncated": "Data · first {0} rows; more data is available",
|
|
1913
|
+
"cli.cmd.dev.title": "Development",
|
|
1914
|
+
"cli.cmd.dev.summary": "Discover resources and use low-code development tools.",
|
|
1915
|
+
"cli.cmd.dev.desc": "Discover low-code development resources, check files, develop extensions and execute backend scripts.\n\nSupports discovery of page components, layouts, appearance resources and expression functions, as well as workspace file inspection, metadata upgrades, extension development and backend script operations.\n\nResource queries use the selected server. Workspace-related commands use local context; consult each command for its requirements. Some operations write local files, upload extensions or execute server scripts.",
|
|
1916
|
+
"cli.cmd.dev.component.list.componentType": "List only the specified component, cell or node type, preserving its properties and templates.",
|
|
1917
|
+
"cli.cmd.dev.component.list.summary": "List component templates available for a page.",
|
|
1918
|
+
"cli.cmd.dev.component.list.target": "Server page path ending in rpt, dash, spg, fapp or afl; the page need not exist.",
|
|
1919
|
+
"cli.cmd.dev.component.list.desc": "List components available for a page type to choose page elements and creation templates.\n\nReports and form applications include page components and cell types; standalone program flows include nodes that can run on the server. Supports type, label and keyword filters.\n\nThe page need not exist. Container compatibility also depends on page configuration; reference declaration indexes do not replace these availability results.",
|
|
1920
|
+
"cli.cmd.dev.component.list.out": "Text lists creation templates beneath their component. JSON groups entries under components, cellTypes and actionComponents. Each type is identified by name; creation templates are in templates. Template content can provide initial configuration; add layout, data bindings and interactions for your page.\n\nEach resource has a JSON labels array such as [{\"id\":\"texture\",\"name\":\"Texture\"}]. name follows --locale, falling back to English and then the ID; resources without labels have [].\n\nComponents and entries in templates[] each carry labels.\n\nA component is retained when it or its creation templates match. If only templates match, only matching templates are retained. Initial configuration such as template content keeps its original format. Consult extension documentation when third-party extensions provide no DTS.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.",
|
|
1921
|
+
"cli.cmd.dev.component.title": "Components",
|
|
1922
|
+
"cli.cmd.dev.component.summary": "Discover available page components",
|
|
1923
|
+
"cli.cmd.dev.component.desc": "Inspect components, cell types and program flow nodes available for pages.\n\nShows creation templates, basic capabilities and subcomponent catalogs to help choose page elements.\n\nOnly reads server resources without changing page files.",
|
|
1924
|
+
"cli.cmd.dev.component.show.summary": "Show component capabilities and subcomponent catalogs.",
|
|
1925
|
+
"cli.cmd.dev.component.show.desc": "Inspect component capabilities and configurable subcomponents to plan page structure and further configuration.\n\nQuery a type before creating a page, or inspect an existing component in a saved server SPG or dashboard. Cell types and action nodes support type queries only.\n\nQueries use server component definitions and saved pages, without reading unpushed local changes, creating components or executing interactions.",
|
|
1926
|
+
"cli.cmd.dev.component.show.out": "Default text shows the component name, basic capabilities and subcomponent catalogs. JSON component contains type, caption and kind; description is provided when available. For page components only, component.capabilities.input, children and events indicate type support for input, ordinary children and interactions, without guaranteeing availability in the current page state. Catalog-specific parts do not imply support for ordinary children.\n\ncomponent.subcomponents[] groups parts by catalog. Each types[] item contains the metadata type for that catalog, caption, multiple, supportsAdd and optional maxCount. multiple=false disallows multiple parts of that type. supportsAdd indicates whether the designer offers an add operation; maxCount still limits the number of parts of that type. Consult the DTS to determine whether a catalog uses an object or array. definitionName identifies the component definition; local parts cannot be queried as global types. An empty list does not prove the component has no subcomponents.\n\ncomponent.layoutProperties lists layout selection properties and available defaults, not current values or selectable layouts. component.categories identifies data, style and layout categories. For action types, component.runEnv describes the environment in the type definition: 1 for server, 2 for database and 4 for browser. It does not determine the final environment of an action instance. Consult the matching types for combinations and environments that depend on configuration.\n\nPass queries[].argv as the argument array to succapp. Each query retains the server and component identity and includes --json. Query properties, methods, events or layouts before editing metadata; do not write the overview object into a page. Non-page components only provide a property query.\n\ncoverage.status is partial; coverage.limitations identifies gaps involving extension parts, data bindings or page state. source.content is server for instance queries and none for type queries. Current property values are not returned; compile and verify the edited page.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.",
|
|
1927
|
+
"cli.cmd.dev.component.show.identity": "Specify exactly one of --component or --component-type to query by component ID or component type.",
|
|
1928
|
+
"cli.cmd.dev.component.show.component": "Component ID in a saved server SPG or dashboard.",
|
|
1929
|
+
"cli.cmd.dev.component.show.componentType": "Type returned by dev component list for the selected --kind.",
|
|
1930
|
+
"cli.cmd.dev.component.show.kind": "Type category; cellType and actionComponent support type queries only.",
|
|
1931
|
+
"cli.cmd.dev.component.show.target": "Server page path ending in spg, dash, rpt, fapp or afl; type queries allow a nonexistent page. Replace /PROJECT/page.spg and componentId in instance examples with an existing page path and component ID.",
|
|
1932
|
+
"cli.out.component.type": "Type",
|
|
1933
|
+
"cli.out.component.cap.input": "Supports input",
|
|
1934
|
+
"cli.out.component.cap.children": "Supports ordinary children",
|
|
1935
|
+
"cli.out.component.cap.events": "Supports interactions",
|
|
1936
|
+
"cli.out.component.layoutProps": "Layout properties",
|
|
1937
|
+
"cli.out.component.subs": "Subcomponent catalogs",
|
|
1938
|
+
"cli.out.component.catalog": "Catalog",
|
|
1939
|
+
"cli.out.component.multiple": "Multiple parts of the same type",
|
|
1940
|
+
"cli.out.component.showNote": "Some parts and page-dependent configurations may be missing. Add --json for further queries and limits; consult the matching DTS before editing.",
|
|
1941
|
+
"cli.out.component.runEnv": "Execution environment",
|
|
1942
|
+
"cli.out.component.env.server": "Server",
|
|
1943
|
+
"cli.out.component.env.database": "Database",
|
|
1944
|
+
"cli.out.component.env.browser": "Browser",
|
|
1945
|
+
"cli.out.component.env.serverOrBrowser": "Server or browser",
|
|
1946
|
+
"cli.out.component.env.all": "Server, database or browser",
|
|
1947
|
+
"cli.out.component.env.cooperative": "Cooperative browser and server execution",
|
|
1948
|
+
"cli.out.component.env.other": "Other ({0}); consult the matching types",
|
|
1949
|
+
"cli.cmd.dev.theme.show.summary": "Show theme variables, palettes and icon sets.",
|
|
1950
|
+
"cli.cmd.dev.theme.show.desc": "Inspect resolved theme configuration to understand effective appearance values.\n\nIncludes colors, fonts, size variables, palettes and icon sets. Application themes take precedence over project themes, then system themes with the same name.",
|
|
1951
|
+
"cli.cmd.dev.theme.show.out": "Human output lists token names and values; objects and arrays use single-line JSON. Use --json for complete compiled information in the theme object. Variables are in theme.tokens.\n\nTheme variables are not the final style of a component: also consider component defaults, selected styles and page overrides. Keep variable references when applying styles. Metadata used to create or edit themes differs from this compiled information.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.\n\nqueryScope.kind is system, target or global. message describes the scope; limitations[] provides stable code and localized message values. For system queries, targetQuery.argvTemplate is an invocation template without the executable name; placeholders identifies <target>, which must be replaced before execution. Scope remains available for empty results; system queries also retain target navigation. --pretty-json changes formatting only.",
|
|
1952
|
+
"cli.cmd.dev.theme.show.theme": "Theme name, taken from name returned by dev theme list.",
|
|
1953
|
+
"cli.cmd.dev.theme.show.target": "Server target path of the file you plan to create, or a project name, application path or existing page path; not a local path.\nWhen omitted, shows the system default configuration of the specified theme.",
|
|
1954
|
+
"cli.cmd.dev.theme.title": "Theme",
|
|
1955
|
+
"cli.cmd.dev.theme.summary": "query available themes",
|
|
1956
|
+
"cli.cmd.dev.theme.desc": "Inspect available page themes and their resolved configuration.\n\nCompare themes and inspect resolved colors, fonts, size variables, palettes and icon sets to configure page appearance.\n\nOnly reads theme data without changing pages.",
|
|
1957
|
+
"cli.cmd.dev.theme.list.summary": "List available themes.",
|
|
1958
|
+
"cli.cmd.dev.theme.list.target": "Server target path of the file you plan to create, or a project name, application path or existing page path; not a local path.\nWhen omitted, lists system default themes.",
|
|
1959
|
+
"cli.cmd.dev.theme.list.empty": "No matching themes.",
|
|
1960
|
+
"cli.cmd.dev.theme.list.desc": "List themes available at a location to choose page color and sizing schemes.\n\nApplication themes take precedence over project themes, then system themes with the same name.",
|
|
1961
|
+
"cli.cmd.dev.theme.list.out": "Human output shows theme names, titles, descriptions and sources. Use --json for themes[]: name identifies the theme, desc is its title, description explains its use, location is its source and thumbnail is its preview URL. An absent location means a system theme. Descriptions and previews may be absent.\n\nInspect complete compiled information, including resolved variables and palettes:\n succapp dev theme show <target> --theme=<name> --json\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.\n\nqueryScope.kind is system, target or global. message describes the scope; limitations[] provides stable code and localized message values. For system queries, targetQuery.argvTemplate is an invocation template without the executable name; placeholders identifies <target>, which must be replaced before execution. Scope remains available for empty results; system queries also retain target navigation. --pretty-json changes formatting only.",
|
|
1962
|
+
"cli.cmd.dev.style.list.summaryOutput": "Keep style IDs, captions, descriptions, theme and page restrictions in JSON; omit style properties and resource references. Does not reduce server downloads.",
|
|
1963
|
+
"cli.cmd.dev.style.list.summary": "List available styles.",
|
|
1964
|
+
"cli.cmd.dev.style.list.target": "Server target path of the file you plan to create, or a project name, application path or existing page path; not a local path.\nWhen omitted, lists system default styles.",
|
|
1965
|
+
"cli.cmd.dev.style.list.empty": "No styles match the type, page and theme; this does not mean the type is unknown.",
|
|
1966
|
+
"cli.cmd.dev.style.list.desc": "List styles available at a location to help choose the appearance of components, cells or default subcomponents.\n\nInspect full style properties and filter by page type, component type, style type and theme. System and project styles are merged; project definitions take precedence for the same ID within the same style type and category.\n\nComponent ID queries read saved server SPG or dashboard pages, excluding local unpushed changes. Catalog and type queries do not require an existing page. Only reads resources; does not modify pages.",
|
|
1967
|
+
"cli.cmd.dev.style.list.out": "The default table lists style IDs, captions, descriptions, types, sources and applicability. --json returns full style definitions; --summary omits style properties and resource references.\n\nIn JSON, componentStyle, cellTypeStyle and conditionStyle map categories to style arrays, such as componentStyle.button[]; tooltipStyle is a flat array. Each entry's id identifies the style and content contains its properties. Style IDs are unique only within their style type and category.\n\nFor property queries, selection.property is the resolved property path and selection.rootProperty is its top-level property. selection.styleType and selection.styleCategory identify the candidate style type and category; selection.source identifies the effective property declaration origin, such as components:tree or cellTypes:buttonGroup. Candidates are in componentStyle[selection.styleCategory]. Use the selected entry's id as the property value, following the relevant type documentation for the assignment structure; do not write the entire result to a page. Subcomponents inside cells may also use component styles.\n\nInstance queries, property queries and type queries with --kind also return context and source. context identifies the actual component type, style category, scene and theme used for this query; theme is present only when theme filtering applies. source identifies the query data origin; source.content is server for instances and none for types, distinct from the property declaration origin in selection.source. For property queries, coverage.limitations describes extension capabilities not loaded and dynamic conditions not evaluated.\n\nWhen no candidates are available, empty.reason is notApplicable (not applicable to the target page), unsupported (the type does not support the requested styles), noMatches (no entries match the query) or emptyCollection (the catalog is empty). A resolved property with no matching styles still returns selection; this does not mean the property is invalid.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.\n\nqueryScope.kind is system, target or global. message describes the scope; limitations[] provides stable code and localized message values. For system queries, targetQuery.argvTemplate is an invocation template without the executable name; placeholders identifies <target>, which must be replaced before execution. Scope remains available for empty results; system queries also retain target navigation. --pretty-json changes formatting only.",
|
|
1968
|
+
"cli.cmd.dev.style.list.property": "Default subcomponent style property name or dot-separated path, such as buttonCompStyle. Requires --component or --component-type and a property of type defaultCompStyle; inspect declarations with dev component-property show. Filters component styles using the effective property category after inheritance and local overrides. Only --scene=componentStyle is compatible. Omit to query the component or cell itself.",
|
|
1969
|
+
"cli.cmd.dev.style.list.componentType": "Component or cell metadata type, such as button or number; discover types with dev component list <target>.",
|
|
1970
|
+
"cli.cmd.dev.style.list.kind": "Query object category. Component ID queries support component only; specify cellType for cell property queries. With --property, defaults to component; other type queries retain component and same-name cell-type style categories when omitted.",
|
|
1971
|
+
"cli.cmd.dev.style.list.scene": "Style type. With --property, only componentStyle is supported. Otherwise, when omitted, instance queries and type queries with --kind=component use componentStyle; type queries with --kind=cellType use cellTypeStyle. Type queries without --kind and catalog queries retain all style types. conditionStyle is for conditional styles; tooltipStyle is for tooltip styles.",
|
|
1972
|
+
"cli.cmd.dev.style.list.theme": "Theme ID. Keeps unthemed styles and styles for this theme. Instance queries default to the saved page theme, or default when unset; an explicit value overrides this query. Catalog and type queries do not filter by theme when omitted.",
|
|
1973
|
+
"cli.cmd.dev.style.title": "Style",
|
|
1974
|
+
"cli.cmd.dev.style.summary": "query available styles",
|
|
1975
|
+
"cli.cmd.dev.style.desc": "Inspect visual styles available for page creation.\n\nShows style properties, applicable components and sources to help choose component or cell appearance.",
|
|
1976
|
+
"cli.cmd.dev.ext.template.title": "Server extension template",
|
|
1977
|
+
"cli.cmd.dev.ext.template.summary": "inspect server extension templates",
|
|
1978
|
+
"cli.cmd.dev.ext.template.desc": "Inspect server extension templates.\n\nTemplates provide extension points and initial content and should match the server used for subsequent extension development.",
|
|
1979
|
+
"cli.cmd.dev.ext.template.list.summary": "List extension templates.",
|
|
1980
|
+
"cli.cmd.dev.ext.template.list.desc": "List available server extension templates to choose initial extension content.\n\nSupports extension-point, label and keyword filters.\n\nOnly reads template information; it does not create or install extensions.",
|
|
1981
|
+
"cli.cmd.dev.ext.template.list.out": "In JSON templates[], extensionPoint identifies the extension point and templateName identifies the template to use when creating an extension. name, desc and version are optional descriptive fields.\n\nEach resource has a JSON labels array such as [{\"id\":\"texture\",\"name\":\"Texture\"}]. name follows --locale, falling back to English and then the ID; resources without labels have [].",
|
|
1982
|
+
"cli.cmd.dev.ext.template.list.extensionPoint": "Only list templates for the given extension point.",
|
|
1983
|
+
"cli.cmd.dev.script.title": "Temporary backend scripts",
|
|
1984
|
+
"cli.cmd.dev.script.summary": "complete one-off server tasks with temporary scripts",
|
|
1985
|
+
"cli.cmd.dev.script.desc": "Use temporary backend scripts for one-off queries, calculations, changes, or other server operations not yet covered by the CLI.\n\nScripts are anonymous and are not saved as server metadata. Execution and compilation checks require administrator privileges. Execution may modify server resources; after interruption, inspect actual effects before retrying.\n\nFor business logic that must be maintained and published, use project backend scripts (.action.ts).",
|
|
1986
|
+
"cli.cmd.dev.script.done": "Script command completed.",
|
|
1987
|
+
"cli.cmd.dev.script.invalidJsonInput": "Invalid JSON input file: {0}",
|
|
1988
|
+
"cli.cmd.dev.script.exec.summary": "Execute a temporary backend script to complete a one-off server task.",
|
|
1989
|
+
"cli.cmd.dev.script.exec.desc": "Execute a temporary backend TypeScript script for a server query, calculation, or change without creating a dev script resource.\n\nCompilation is followed by execution by default. Compilation-only mode checks the source without running user code; it does not simulate business results or verify runtime dependencies, resource permissions, or business effects.\n\nAdministrator privileges are required. The script can access and modify server resources within its permissions. After a timeout or disconnection, inspect actual effects before retrying.",
|
|
1990
|
+
"cli.cmd.dev.script.exec.out": "With --json, source is file or stdin, and dryRun indicates compilation-only mode. File input includes inputPath (the original path) and localPath (the local absolute path); stdin omits both.\n\nSuccessful execution returns main's value in result, submitted string parameters in params ({} when none were supplied), and server execution time in elapsedMs (milliseconds) when supplied. The script defines result's business structure; text output reports completion, so use --json to reuse the return value.\n\nCompilation-only mode or a submitted-source compilation failure returns summary and items[]. Each item has compiler=typescript and status=passed or failed; a passed item has no error. Failed-item diagnostics are at items[].error.properties.diagnostics. Lines and columns are 1-based and refer to the original TypeScript; when a diagnostic omits file, use the item's localPath or stdin. relatedInformation retains related locations. Original stacks are available in debug logs.\n\nSource failures return exit code 1; missing or conflicting sources and blank scripts return 2. Connection, file access, internal compiler failures and runtime business failures use standard CLI errors. Verify both the return value and actual effects; compilation success alone does not establish business success.",
|
|
1991
|
+
"cli.cmd.dev.script.exec.source": "Supply UTF-8 script text through exactly one of <file> and explicit --stdin. Plain JavaScript is accepted; file extensions do not determine language or create a metadata resource. Empty or whitespace-only files and stdin are rejected as invalid input.\nUse a top-level synchronous ordinary function main(args) or export function main(args); its return value becomes result. Async functions, generators, and default exports are unsupported; Promise results are not awaited. request_main is a project HTTP entry point and does not apply here.\nScripts have no server file name or base directory. Neighboring local files do not become server modules. Import system modules by name; use absolute server paths for project modules and file or metadata APIs. Consult the target server's API declarations; Node.js fs, fetch and arbitrary npm packages are not assumed available.",
|
|
1992
|
+
"cli.cmd.dev.script.exec.stdin": "Read complete script text from stdin. Reads the script only; business input is supplied separately with --input.",
|
|
1993
|
+
"cli.cmd.dev.script.exec.dryRun": "Check TypeScript syntax, transpilation, a static main declaration and engine parsing without executing top-level code or main. Supports type annotations, import/export and const enums; still reads --input and checks file readability and JSON syntax. Does not perform full type checking, load runtime dependencies, validate business input semantics or simulate effects.",
|
|
1994
|
+
"cli.cmd.dev.script.exec.file": "A UTF-8 local temporary backend script, relative to the execution directory after -C. The file only supplies script text and is not uploaded as a dev script resource.\nRead-only API example (save as inspect.js; project count depends on the environment; result resembles {\"projectCount\":3}):\n var metadata = require(\"svr-api/metadata\");\n function main(args) {\n return { projectCount: metadata.getAllProjects().length };\n }\nRead the return value with dev script exec inspect.js --json. Follow the API index and server-matched DTS references for modules, permissions and result structures.",
|
|
1995
|
+
"cli.cmd.dev.script.exec.input": "A local UTF-8 input file, passed to main(args) as args.input. If trimmed content starts with { or [, parse it as a JSON object or array and reject invalid JSON. All other content remains the original string, including whitespace, 42, true, null and quoted strings. The file extension does not determine the type.\nFor file content {\"count\":2}, args.input.count is number 2; for true, args.input is string \"true\". --param=mode=preview supplies args.params.mode=\"preview\"; parameter values are always strings.\nEcho script and returned-value illustration:\n function main(args) { return { input: args.input, params: args.params }; }\n {\"result\":{\"input\":{\"count\":2},\"params\":{\"mode\":\"preview\"}}}",
|
|
1996
|
+
"cli.cmd.dev.script.exec.param": "Repeatable key=value string parameters passed as args.params, for example --param=mode=preview. Only the first equals sign separates key and value; values retain their text and whitespace.",
|
|
1997
|
+
"cli.cmd.dev.template.title": "File templates",
|
|
1998
|
+
"cli.cmd.dev.template.summary": "Inspect available file templates.",
|
|
1999
|
+
"cli.cmd.dev.template.desc": "Inspect file creation templates, content and related configuration descriptions at a target location.\n\nSupported types and sources depend on the server.",
|
|
2000
|
+
"cli.cmd.dev.template.list.summary": "List available file creation templates.",
|
|
2001
|
+
"cli.cmd.dev.template.list.desc": "List creation templates available at a location to compare purposes, labels and previews.\n\nSupports label and text filters.",
|
|
2002
|
+
"cli.cmd.dev.template.list.out": "JSON returns templates[]. id is the template identifier accepted by show --name, not its displayName; type is the file type. Source location, owning application template ownerTemplate, thumbnail, screenshots and other server summary fields are preserved.\n\ntemplates[].labels[] contains label id and localized name, falling back to the ID; unlabeled templates have []. Use label IDs in --label expressions. Repeated --label conditions use AND.\n\ntemplates=[] means no results. empty.reason=noMatches means the filters matched nothing; emptyCollection means the server returned no templates of that type. Server order is preserved by default.\n\nRead a selected template using the same server and query scope. For system queries, keep the file type used by list (SPG in this example) and replace $TEMPLATE_ID with an actual id returned by that list:\n succapp dev template show --file-type=spg --name=\"$TEMPLATE_ID\" --json\n\nFor location queries, replace <target> with the full server target filename used by list. Directory queries must also keep the same --file-type:\n succapp dev template show \"<target>\" --name=\"$TEMPLATE_ID\" --json\n\nYou can also create a file directly from the selected template; see:\n succapp server file create --help\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.\n\nqueryScope.kind is system, target or global. message describes the scope; limitations[] provides stable code and localized message values. For system queries, targetQuery.argvTemplate is an invocation template without the executable name; placeholders identifies <target>, which must be replaced before execution. Scope remains available for empty results; system queries also retain target navigation. --pretty-json changes formatting only.\n\nSystem template queries do not match script content templates against a target filename; provide a full target path when that initial content is needed.",
|
|
2003
|
+
"cli.cmd.dev.template.list.fileType": "Explicit file type, usually for a directory target, such as rpt, tbl, app or d.docx; validated by the server.\nRequired when the target is omitted or system.",
|
|
2004
|
+
"cli.cmd.dev.template.list.target": "Full absolute server path of the file you plan to create, or its parent directory with --file-type; not a local path. The full filename is forwarded for content-template matching; a file target uses its suffix by default.\nThe target file need not exist; a successful query does not prove that its directory exists or is writable. When omitted, lists system default creation templates.",
|
|
2005
|
+
"cli.cmd.dev.template.list.keyword": "Search template IDs, names, descriptions and labels without case sensitivity. Template text matches the complete input; label IDs, names and synonyms split on whitespace or English/Chinese commas, requiring all terms to match. Combine with other filters using AND.\nSort by relevance, preserving original order for ties; omit to keep server order.",
|
|
2006
|
+
"cli.cmd.dev.template.show.summary": "Read template content and complete details.",
|
|
2007
|
+
"cli.cmd.dev.template.show.desc": "Read a creation template and its configuration descriptions at a target location.",
|
|
2008
|
+
"cli.cmd.dev.template.show.out": "Plain output contains only the main body: text is written verbatim and objects as indented JSON. Directory templates display a file manifest; read each file's body separately.\n\nJSON returns template details including id, type, displayName, description, labels, location, ownerTemplate, thumbnail, screenshots, content and definitions. labels is a comma-separated list of label IDs; localized names are available from list templates[].labels[].\n\ncontent.kind distinguishes file, component and directory. The main body is content.value: write strings verbatim or serialize objects as JSON, rather than saving the whole result object.\n\ncontent.others maps related source subtypes to text or JSON objects. For monthly.dash, both ts and dash.ts identify monthly.dash.ts; remove an existing main-type prefix before appending, avoiding monthly.dash.dash.ts. Save associated sources with the main file.\n\nFor directory templates, content.files[] contains root-relative path, kind (file or directory), and the url for reading each file. Empty directories are retained; directory entries have no url. Read files with server http-get; see its help for usage.\n\ndefinitions[] contains configuration descriptions needed to edit the body, or [] when none apply. Entries contain id, kind, typeDescription and content; typeDescription points to the DTS for that description. portal describes supported portal nodes and properties as reference information, not content to save into the page.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.\n\nFor directory resources, references[].contentPath identifies the applicable configuration path or pattern relative to the queried resource directory: application settings use settings/settings.json and knowledge bases use settings.json. ../.meta refers to the resource entry in its parent directory. Special types without dedicated declarations provide a type index or resource-metadata reference; this does not mean their body can be edited as JSON.\n\nqueryScope.kind is system, target or global. message describes the scope; limitations[] provides stable code and localized message values. For system queries, targetQuery.argvTemplate is an invocation template without the executable name; placeholders identifies <target>, which must be replaced before execution. Scope remains available for empty results; system queries also retain target navigation. --pretty-json changes formatting only.\n\nIn human mode, scope and target navigation are written to stderr, including with --quiet; stdout remains the template body only.\n\nSystem template queries do not match script content templates against a target filename; provide a full target path when that initial content is needed.",
|
|
2009
|
+
"cli.cmd.dev.template.show.name": "Template ID from dev template list at the same location; omit to let the server select the default template.",
|
|
2010
|
+
"cli.cmd.dev.template.target": "Full absolute server path of the file you plan to create, or its parent directory with --file-type; not a local path.\nWhen omitted, reads a system default creation template.",
|
|
2011
|
+
"cli.cmd.dev.template.fileType": "Explicit file type, usually for directory queries; validated by the server.\nRequired when the target is omitted or system.",
|
|
2012
|
+
"cli.cmd.dev.displayFormat.title": "Display formats",
|
|
2013
|
+
"cli.cmd.dev.displayFormat.summary": "Query available server display formats",
|
|
2014
|
+
"cli.cmd.dev.displayFormat.desc": "Inspect available display formats to choose how pages present amounts, percentages, dates and other values.\n\nShows effective formats and their sources at a location; only reads resources without changing pages.",
|
|
2015
|
+
"cli.cmd.dev.displayFormat.list.summary": "List display formats merged by ID.",
|
|
2016
|
+
"cli.cmd.dev.displayFormat.list.target": "Server project name, application root or absolute path of an existing page containing the file context; not a local path. For a new file, specify its project or application instead of a page that does not exist yet.\nSupported pages: .rpt, .dash, .spg and .fapp. Directories cannot be page scopes. When omitted, lists system default display formats; nested applications use only the nearest application and its project.",
|
|
2017
|
+
"cli.cmd.dev.displayFormat.list.desc": "List available display formats to choose format identifiers.\n\nCombines applicable system, project, nearest application and page definitions. For identical IDs, precedence is page, application, project, then system. A component query adds its format property and recommended and additional formats; additional formats remain usable.\n\nPage-scoped queries read the saved server page, including for type queries, and exclude local unpushed content. Recommendations depending on bound fields or dynamic types may be unresolved. Only queries formats without changing pages.",
|
|
2018
|
+
"cli.cmd.dev.displayFormat.list.out": "Human output shows ID, caption, pattern, source scope and server location; component queries add the recommendation group. JSON returns language and displayFormats[]. Entries contain name, format, source (system/project/app/page), location and optional caption and desc. Reference formats by name; format is an Excel-style pattern. --locale selects system messages and custom format i18ns, falling back to base values without a nonempty override.\n\nComponent queries also return source, context, selection and recommendation. selection.property is the selector property path; type is the editor type. rootProperty and rootType identify the owning top-level property and its editor type. currentValue is its raw saved server value, not a decoded child-property value. currentSource is server or none; defaultValue is a declaration default and does not imply it is saved in the page. recommendation.recommended and recommendation.additional contain IDs from displayFormats; additional formats are not excluded. recommendation.status is available, noFeature or partial. With noFeature there is no targeted preference: system formats appear in recommended. This does not imply a bound field type; recommendation.limitations identifies complex formats and unsupported conditions. coverage.status is partial: some extension properties and page-state-dependent recommendations are not calculated.\n\nauto is not a fixed format definition. recommendation.automatic.value is auto; recommendation.automatic.suggestedFormat is a reference ID based on declared features, not the final automatic format after executing the page. Without features, recommendation.automatic.status is unresolved and suggestedFormat is absent. Save the format ID as required by the property persistence type, not the recommendation object.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.\n\nqueryScope.kind is system, target or global. message describes the scope; limitations[] provides stable code and localized message values. For system queries, targetQuery.argvTemplate is an invocation template without the executable name; placeholders identifies <target>, which must be replaced before execution. Scope remains available for empty results; system queries also retain target navigation. --pretty-json changes formatting only.",
|
|
2019
|
+
"cli.cmd.dev.icon.title": "Icons",
|
|
2020
|
+
"cli.cmd.dev.icon.summary": "Query icons",
|
|
2021
|
+
"cli.cmd.dev.icon.list.summary": "List icons.",
|
|
2022
|
+
"cli.cmd.dev.icon.list.desc": "List icons available at a location to choose page assets.\n\nSearch by label, keyword, source or theme, or inspect label recommendations for a component property. Recommendations guide selection without excluding other assets.\n\nThe scope includes system, project and applicable application assets, excluding page-private attachments. ID queries use saved server SPG or dashboard pages, excluding local unpushed changes. Only queries resources without downloading assets or changing pages.",
|
|
2023
|
+
"cli.cmd.dev.icon.list.out": "--json returns icons[] and summary. Items contain name, source location (sys/project/app/theme), optional extensionName and labels[]. Label id is used for filtering; name follows the current locale, falling back to English or the ID. Unlabeled items have [].\n\nrefValue identifies an image resource. Register it as targetPath in a page referenceResources entry, then assign its resource key. previewUrl is for preview only. Optional width and height are pixel dimensions and may be strings; pictureFillInfo provides fill configuration hints.\n\nThis example registers a project image as bg. Replace targetPath with the selected resource's refValue:\n {\"referenceResources\":{\"bg\":{\"targetPath\":\"$PROJECTIMG:/images/bg.svg\",\"targetType\":\"PROJECT\",\"refType\":\"link\"}}}\n\nFor font icons, save the returned $ICON: value directly. For image icons, save the IconValueString \"bg\". A static image-fill property uses ImageFillPersistValue {\"sourceType\":\"static\",\"image\":{\"path\":\"bg\"}}. Assign fragments to the appropriate component properties, not as complete pages.\n\nComponent queries also provide source, context, selection, recommendation and coverage. source.content is server for instances or none for types; coverage.status=partial indicates incomplete dynamic-property coverage. selection.property/type/typeArgs describe the selector; rootProperty/rootType identify the top-level property. currentValue is its saved server value, currentSource is server or none, and defaultValue is the declaration default.\n\nrecommendation.label is the recommended label expression, with status available or none. Item available=true only indicates a category match; recommended indicates a recommendation match and is omitted when there is no rule.\n\nsummary.matched, summary.returned and summary.hasMore indicate total matches, returned items and further results. empty.reason is noMatches, emptyCollection or notApplicable. Failure to read any source fails the whole query.\n\nreferences[] provides readDocument commands and symbol names for assignment DTS. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.\n\nqueryScope.kind is system, target or global. message describes the scope; limitations[] provides stable code and localized message values. For system queries, targetQuery.argvTemplate is an invocation template without the executable name; placeholders identifies <target>, which must be replaced before execution. Scope remains available for empty results; system queries also retain target navigation. --pretty-json changes formatting only.",
|
|
2024
|
+
"cli.cmd.dev.icon.desc": "Inspect server icon choices to select page assets.\n\nSupports lookup across sources, locations and labels. Font icons and image icons have different reference formats.\n\nOnly queries resources without changing pages.",
|
|
2025
|
+
"cli.cmd.dev.image.title": "Images",
|
|
2026
|
+
"cli.cmd.dev.image.summary": "Query images",
|
|
2027
|
+
"cli.cmd.dev.image.list.summary": "List images.",
|
|
2028
|
+
"cli.cmd.dev.image.list.desc": "List image assets available at a location to choose page assets.\n\nSearch by label, keyword, source or theme, or inspect label recommendations for a component property. Recommendations guide selection without excluding other assets.\n\nThe scope includes system, project and applicable application assets, excluding page-private attachments. ID queries use saved server SPG or dashboard pages, excluding local unpushed changes. Only queries resources without downloading assets or changing pages.",
|
|
2029
|
+
"cli.cmd.dev.image.list.out": "--json returns images[] and summary. Items contain name, source location (sys/project/app/theme), optional extensionName and labels[]. Label id is used for filtering; name follows the current locale, falling back to English or the ID. Unlabeled items have [].\n\nrefValue identifies an image resource. Register it as targetPath in a page referenceResources entry, then assign its resource key. previewUrl is for preview only. Optional width and height are pixel dimensions and may be strings; pictureFillInfo provides fill configuration hints.\n\nThis example registers a project image as bg. Replace targetPath with the selected resource's refValue:\n {\"referenceResources\":{\"bg\":{\"targetPath\":\"$PROJECTIMG:/images/bg.svg\",\"targetType\":\"PROJECT\",\"refType\":\"link\"}}}\n\nChoose the persisted value by selection.rootType and write it to selection.rootProperty:\n image → ImageString: \"url(bg)\"\n imageFill → ImageFillPersistValue: {\"sourceType\":\"static\",\"image\":{\"path\":\"bg\"}}\n imageSliceFill → ImageSliceFillPersistValue: {\"image\":\"bg\"}\n fill → FillPersistValue: {\"type\":\"image\",\"image\":{\"path\":\"bg\"}}\nFor panel fill.image, rootProperty=fill and rootType=fill: assign the FillPersistValue to panel.fill. These are property-value fragments, not complete pages.\n\nComponent queries also provide source, context, selection, recommendation and coverage. source.content is server for instances or none for types; coverage.status=partial indicates incomplete dynamic-property coverage. selection.property/type/typeArgs describe the selector; rootProperty/rootType identify the top-level property. currentValue is its saved server value, currentSource is server or none, and defaultValue is the declaration default.\n\nrecommendation.label is the recommended label expression, with status available or none. Item available=true only indicates a category match; recommended indicates a recommendation match and is omitted when there is no rule.\n\nsummary.matched, summary.returned and summary.hasMore indicate total matches, returned items and further results. empty.reason is noMatches, emptyCollection or notApplicable. Failure to read any source fails the whole query.\n\nreferences[] provides readDocument commands and symbol names for assignment DTS. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.\n\nqueryScope.kind is system, target or global. message describes the scope; limitations[] provides stable code and localized message values. For system queries, targetQuery.argvTemplate is an invocation template without the executable name; placeholders identifies <target>, which must be replaced before execution. Scope remains available for empty results; system queries also retain target navigation. --pretty-json changes formatting only.",
|
|
2030
|
+
"cli.cmd.dev.image.desc": "Inspect server image assets to choose pictures for pages.\n\nSupports lookup across sources, locations and labels. Preview URLs serve a different purpose from saved page resource references.\n\nOnly queries resources without uploading files or changing pages.",
|
|
2031
|
+
"cli.cmd.dev.font.title": "Fonts",
|
|
2032
|
+
"cli.cmd.dev.font.summary": "Query fonts",
|
|
2033
|
+
"cli.cmd.dev.font.list.summary": "List designer font options.",
|
|
2034
|
+
"cli.cmd.dev.font.list.desc": "List designer font choices to help select fonts for page text.\n\nIncludes presets for the current language, the automatic theme-based option and fonts from enabled extensions. Supports filtering by font value or name; identical values are merged while retaining all sources.\n\nDoes not verify font installation in browsers, operating systems or PDF export environments, or resolve the final font used by a page theme.",
|
|
2035
|
+
"cli.cmd.dev.font.list.out": "Human output shows font name, value and source. --json returns fonts[] with value, caption, kind, extensionName and sources. kind is preset (system preset), extension or themeVariable (Automatic). The Automatic value is fontFamily, meaning follow the page theme. sources retains every origin; extension origins include extensionName.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.\n\nqueryScope.kind=global describes the global font catalog and its limitations. Fonts have no location override semantics and do not return targetQuery. --pretty-json changes formatting only.",
|
|
2036
|
+
"cli.cmd.dev.font.list.contains": "Case-insensitive literal substring in font values and captions.",
|
|
2037
|
+
"cli.cmd.dev.font.desc": "Inspect designer font options to choose page fonts.\n\nIncludes current-language presets, the automatic theme-based option and fonts from enabled extensions.\n\nDoes not verify font installation in browsers, operating systems or PDF rendering environments.",
|
|
2038
|
+
"cli.cmd.dev.expression.title": "Expressions",
|
|
2039
|
+
"cli.cmd.dev.expression.summary": "Query expressions",
|
|
2040
|
+
"cli.cmd.dev.expression.function.title": "Expression functions",
|
|
2041
|
+
"cli.cmd.dev.expression.function.summary": "Query expression functions",
|
|
2042
|
+
"cli.cmd.dev.expression.function.list.summary": "List expression functions.",
|
|
2043
|
+
"cli.cmd.dev.expression.function.list.desc": "Inspect server expression functions to find functions for writing expressions.\n\nCombines active registration information with the server-provided manual to show names, categories, descriptions and sources, with filtering and pagination. Does not enumerate all page- or model-context functions.\n\nRequires server support for this query; if unavailable, confirm that CLI and server versions are compatible.",
|
|
2044
|
+
"cli.cmd.dev.expression.function.list.out": "The default table shows names, descriptions, groups, sources, registration status and execution environments. --json returns functions[], coverage and summary. Entries contain name, source, registered and available description, group, extensionName, argument and return type information. For complete argument field meanings, see dev expression function show --help.\n\nsource is global (globally registered), extension (effective extension) or documentation (manual only). registered=false means no registration information was found, not that the function is unavailable; argument, return type and environment metadata are then omitted. Global functions take priority over effective extensions with the same name; shadowedSources lists overridden extension sources. Manuals do not override registration metadata or attach another implementation's same-name documentation to an extension function.\n\nreturnType and argument type use int, number, string, boolean, date, any, array, json or geo; any is a variant type and unknown types are omitted. evalEnv is an array of svr (server), db (database) and browser; a single environment is still an array. [] means no executable environment is declared; unrecognized environments cause the field to be omitted. A database flag does not guarantee support in a particular database; validate expressions where they will be used.\n\ncoverage.registeredFunctions indicates registration coverage, coverage.documentationIndex indicates a retrieved manual index, and coverage.contextSpecific=false means context functions are not exhaustively listed. Missing manual indexes still allow registered results; permission, network and parse errors fail the query.\n\nsummary.matched, summary.returned and summary.hasMore give the match count, returned count and whether more results exist. empty.reason is noMatches or emptyCollection.",
|
|
2045
|
+
"cli.cmd.dev.expression.function.show.summary": "Show function parameters, return types and help.",
|
|
2046
|
+
"cli.cmd.dev.expression.function.show.desc": "Inspect expression function parameters, return types, execution environments and help.\n\nHelps confirm signatures and usage boundaries. The catalog does not establish availability in a specific page or model context.\n\nRequires server support for this query; if unavailable, confirm that CLI and server versions are compatible.",
|
|
2047
|
+
"cli.cmd.dev.expression.function.show.out": "--json returns function, coverage and documentation. function.name identifies the function; source is global (globally registered), extension (effective extension) or documentation (manual only), and registered indicates whether registration information was found. Available fields also include description, group, extensionName and shadowedSources. Manual-only entries do not invent argument, return type or environment metadata and do not imply the function is unavailable.\n\nfunction.arguments[] describes parameters: name may be absent, type is the parameter type, and optional and repeatable indicate optional and repeated parameters. A nonnegative argumentsCount is the maximum argument count; -1 means variable arity. minArgumentsCount is the minimum count. returnType is the static return type; when present, returnArgType identifies the argument used to determine the return type, counting from 0. constrained=true means evaluation depends on backend constraints and API support. anaFuncType names an analysis function type, not a usage scenario.\n\nreturnType and argument type use int, number, string, boolean, date, any, array, json or geo; any is a variant type and unknown types are omitted. evalEnv is an array of svr (server), db (database) and browser; a single environment is still an array. [] means no executable environment is declared; unrecognized environments cause the field to be omitted. Validate actual types and availability with the arguments, current page or model, and specific database.\n\ncoverage.registeredFunctions indicates registration coverage, coverage.documentationIndex indicates a retrieved manual index, and coverage.contextSpecific=false means context functions are not exhaustively listed. When documentation.status is available, content is the help text and path is its address. unavailable means no readable help; existing function information remains usable. Permission and other read errors fail the query.",
|
|
2048
|
+
"cli.cmd.dev.expression.function.desc": "Find expression functions and inspect their usage information.\n\nSupports filtering by name, description, group and extension, and inspecting parameters, return types, execution environments and help.",
|
|
2049
|
+
"cli.cmd.dev.expression.desc": "Inspect server expression functions to help write expressions.\n\nSupports function lookup and inspection of signatures, execution environments and help. Actual use also depends on fields, variables and data types in the page or model.",
|
|
2050
|
+
"cli.cmd.media.target": "Full absolute server path of the file you plan to create, or an existing page or directory path; not a local path. The parent directory of a new page must exist.\nOmitting the target or using system queries system default media; other locations merge system, project and applicable application media by default.",
|
|
2051
|
+
"cli.cmd.media.keyword": "Search names, descriptions, label IDs, titles and synonyms. Names and descriptions match the whole input; labels split on spaces or commas and require all terms. Sort by relevance; omission preserves source order.",
|
|
2052
|
+
"cli.cmd.media.contains": "Case-insensitive literal substring in names, descriptions or label titles.",
|
|
2053
|
+
"cli.cmd.media.location": "Filter by source category; theme requires --theme.",
|
|
2054
|
+
"cli.cmd.media.extension": "Filter by extension name; queries system assets only and cannot combine with --theme.",
|
|
2055
|
+
"cli.cmd.media.theme": "Explicit theme name, resolved nearest to target without inferring the current page theme. Adds theme resources; theme resources are not queried by default.\n\nWith --theme, --location must be omitted or theme; sys, project and app are incompatible, as is --extension.",
|
|
2056
|
+
"cli.cmd.media.offset": "Starting offset after sorting, counted from 0; add the returned count to read the next page.",
|
|
2057
|
+
"cli.cmd.media.limit": "Maximum results; 0 returns all remaining matches.",
|
|
2058
|
+
"cli.cmd.media.label": "Case-sensitive label ID or expression: & means all, | means either, and ! excludes. & precedes |; parentheses are unsupported and unlabeled assets do not match.\nProtect expressions with shell quotes, for example --label='input&!chart'; repeatable. All --label, --keyword, --contains and other filters intersect before pagination. Omission leaves labels unrestricted; no match does not relax filters.\nFor component properties, recommendations come from recommendation.label or @mediaLabelFilter in matching DTS; they do not restrict which assets can be saved.",
|
|
2059
|
+
"cli.cmd.dev.file.title": "Workspace file",
|
|
2060
|
+
"cli.cmd.dev.file.summary": "inspect workspace files",
|
|
2061
|
+
"cli.cmd.dev.file.desc": "Inspect, validate and handle workspace metadata files.\n\nProvides path resolution, content and history inspection, comparisons, compilation checks, version upgrades and browser access.\n\nLocal edits and upgrades are not automatically synchronized to the server.",
|
|
2062
|
+
"cli.cmd.dev.file.resolve.summary": "Resolve a workspace file path.",
|
|
2063
|
+
"cli.cmd.dev.file.resolve.desc": "Resolve local paths, server paths and browser URLs for workspace files.\n\nHelps identify the corresponding server resource.\n\nOnly resolves the target; it does not upload files, open a browser or verify page accessibility.",
|
|
2064
|
+
"cli.cmd.dev.file.resolve.out": "Key JSON fields: inputPath preserves the original path input, localPath is an absolute local path, and remotePath is the server resource path. viewUrl/editUrl are the view and edit links. --url affects text output only and does not remove JSON fields.",
|
|
2065
|
+
"cli.cmd.dev.file.resolve.url": "Only print the view or edit URL in human mode.",
|
|
2066
|
+
"cli.cmd.dev.file.resolve.badUrl": "Invalid value for --url: {0}",
|
|
2067
|
+
"cli.cmd.dev.file.resolve.editUrl": "Edit URL: {0}",
|
|
2068
|
+
"cli.cmd.dev.file.resolve.localPath": "Local path: {0}",
|
|
2069
|
+
"cli.cmd.dev.file.resolve.path": "Path: {0}",
|
|
2070
|
+
"cli.cmd.dev.file.resolve.remote": "Remote path: {0}",
|
|
2071
|
+
"cli.cmd.dev.file.resolve.viewUrl": "View URL: {0}",
|
|
2072
|
+
"cli.cmd.dev.file.open.summary": "Open the server file page.",
|
|
2073
|
+
"cli.cmd.dev.file.open.desc": "Open the server page corresponding to a workspace file in the system browser.\n\nSupports viewing, editing and URL-only lookup, with the appropriate editor for visual and code files.\n\nUses server content without pushing local changes. Local change checks cover only the target file, not referenced templates, scripts or other dependencies.",
|
|
2074
|
+
"cli.cmd.dev.file.open.out": "In JSON, url is the selected server page, edit indicates edit mode, and opened indicates that browser launch was requested; opened=true does not establish that the page loaded successfully. localChanged indicates unpushed changes to the local target. --no-open returns url with opened=false.",
|
|
2075
|
+
"cli.cmd.dev.file.open.edit": "Open the server edit page instead of the view page.",
|
|
2076
|
+
"cli.cmd.dev.file.open.noOpen": "Return the page URL without launching the system browser.",
|
|
2077
|
+
"cli.cmd.dev.file.open.path": "Local workspace path, relative to the execution directory after -C, or an absolute disk path within the workspace.\n\nThe local target must exist and be a regular file.",
|
|
2078
|
+
"cli.cmd.dev.file.open.force": "Open the server page even when the local file has unpushed changes.\n\nThis option does not push local changes.",
|
|
2079
|
+
"cli.cmd.dev.file.open.localChangedForce": "The local file has unpushed changes. This link points to the server version of {0} and does not include unpushed local changes.",
|
|
2080
|
+
"cli.cmd.dev.file.open.openedEdit": "Opened server edit page: {0}",
|
|
2081
|
+
"cli.cmd.dev.file.open.openedView": "Opened server view page: {0}",
|
|
2082
|
+
"cli.cmd.dev.file.show.summary": "Show file content.",
|
|
2083
|
+
"cli.cmd.dev.file.show.desc": "Read workspace file content saved on the server or in the local synchronization baseline.\n\nSupports current server content, historical server versions and local synchronization baseline content. Does not read the current working file.",
|
|
2084
|
+
"cli.cmd.dev.file.show.out": "Human output is raw content. For known text types with valid UTF-8, JSON returns the text in content with encoding=utf8; binary data, unknown types and invalid UTF-8 use Base64 in content with encoding=base64.",
|
|
2085
|
+
"cli.cmd.dev.file.show.source": "Content source: server for the current server, mirror for the local synchronization baseline; --revision applies only to server.",
|
|
2086
|
+
"cli.cmd.dev.file.show.revision": "Read a historical server version.",
|
|
2087
|
+
"cli.cmd.dev.file.show.badRev": "Invalid value for --revision: {0}",
|
|
2088
|
+
"cli.cmd.dev.file.show.badSource": "Invalid value for --source: {0}",
|
|
2089
|
+
"cli.cmd.dev.file.show.revSource": "--revision is only supported with --source=server.",
|
|
2090
|
+
"cli.cmd.dev.file.diff.summary": "Show workspace diff against server.",
|
|
2091
|
+
"cli.cmd.dev.file.diff.desc": "Compare local workspace metadata with server content to review changes.\n\nSupports individual and batch comparisons, including files deleted locally that still exist on the server.\n\nDoes not modify local or server files. Files missing on both sides are reported as errors.",
|
|
2092
|
+
"cli.cmd.dev.file.diff.out": "JSON patches[] contains per-file results: changed indicates differences, workspaceExists distinguishes a missing local file from an empty one, binary identifies binary content, and patch contains displayable diff text. For binary=true, an empty patch does not imply identical files. Differences alone still exit 0; scripts should inspect summary.changed or patches[].changed.",
|
|
2093
|
+
"cli.cmd.dev.file.diff.source": "Compare against server content.",
|
|
2094
|
+
"cli.cmd.dev.file.diff.badSource": "Invalid value for --source: {0}",
|
|
2095
|
+
"cli.cmd.dev.file.history.summary": "Show server file history.",
|
|
2096
|
+
"cli.cmd.dev.file.history.desc": "Inspect the version history of a workspace file on the active server.\n\nRecords come from the server and are distinct from local Git history.",
|
|
2097
|
+
"cli.cmd.dev.file.history.out": "JSON histories[] contains server history records. Pass revision to dev file show --revision=<n>; modifyTime is a Unix timestamp in milliseconds, and remotePath is the server resource path. When no history can be returned, histories is empty and empty.reason=emptyCollection is present.",
|
|
2098
|
+
"cli.cmd.dev.file.history.limit": "Limit the number of history records.",
|
|
2099
|
+
"cli.cmd.dev.file.check.rootObject": "Metadata file must be a JSON object.",
|
|
2100
|
+
"cli.cmd.dev.file.check.versionRequired": "Metadata file is missing the version field.",
|
|
2101
|
+
"cli.cmd.dev.file.check.versionOlder": "File version is older than the target server’s required version “{0}”. Upgrade the metadata and check again.",
|
|
2102
|
+
"cli.cmd.dev.file.check.versionNewer": "File version is newer than the target server’s supported version “{0}”. Connect to a matching server or upgrade the server, then check again.",
|
|
2103
|
+
"cli.cmd.dev.file.check.versionUnrecognized": "Cannot determine how the file version compares with the target server. Expected version is “{0}”. Consult the metadata DTS and verify the file’s origin and target server.",
|
|
2104
|
+
"cli.cmd.dev.file.check.upgradeHint": "Preview the upgrade for these files, review the changes, then upgrade and check again. This preview does not modify files.",
|
|
2105
|
+
"cli.cmd.dev.file.check.summary": "Validate workspace metadata and source files.",
|
|
2106
|
+
"cli.cmd.dev.file.check.desc": "Validate local workspace metadata and source files to find problems before pushing.\n\nCheck metadata format, versions, fields and expressions, and find syntax or compilation errors in FTL, TypeScript and Less. Metadata versions must match the target server's requirements. TypeScript checks do not include full type checking.\n\nValidation requires a connection to the target server. Other resources and settings the file depends on are read from the server. Push any pending local changes to those dependencies before compiling; the file being checked does not need to be pushed first.\n\nDoes not execute templates or scripts and never modifies server resources; local files are only written when auto-fix is on. Passing validation does not establish that referenced resources, data, permissions or business behavior are correct.",
|
|
2107
|
+
"cli.cmd.dev.file.check.out": "Text shows per-file results and error locations; AI agents should use --json. This excerpt shows an SPG expression error, omitting other fields. Comments explain the example; actual output is strict JSON:\n {\n \"kind\": \"result\", // Invalid source still produces result with a nonzero exit code\n \"validationComplete\": true, // All targets were checked; this does not mean they passed\n \"summary\": { \"total\": 1, \"passed\": 0, \"failed\": 1, \"skipped\": 0 },\n \"items\": [{\n \"localPath\": \"/work/DEMO/app/page.spg\", // Absolute local path\n \"status\": \"failed\", // This file has a source error\n \"error\": {\n \"errorCode\": \"err.base.sourceInvalid\",\n \"properties\": {\n \"diagnostics\": [{ // Detailed diagnostics\n \"code\": \"err.exp.operandMissing\",\n \"message\": \"An operand is missing\",\n \"jsonPath\": \"$.body.canvas.children[0].visibleExp\"\n }]\n }\n }\n }]\n }\n\nRead the summary and file statuses first, then error.properties.diagnostics for failed files. status is passed, failed (invalid source), skipped, or executionFailed (the check could not complete). Inspect skipReason for skipped items: exit 0 does not mean every file passed. summary.failed includes execution failures. kind=error indicates a failure of the checking process; handle connection, file access, or compiler service problems first. properties.partialResults, when present, retains file results already obtained.\n\nLocate issues using diagnostic reasons, jsonPath, or available file positions. Use expected values and related locations to repair, then check again. line/column are 1-based; a diagnostic without file inherits its file item. Interpret other position fields only according to their explicitly declared coordinate bases. Native warn severity also indicates a problem and produces a nonzero exit code. For version mismatches, follow the guidance to upgrade older files or resolve server compatibility; do not just change the version declaration.\n\nWith --autofix, every item carries fixStatus: fixed means problems were fixed and the content was written back to the local file, unchanged means there was nothing to fix or the file type does not support fixing, and failed means fixing or writing the file failed, with the reason in fixErrorMessage. A fixed item also carries fixedProblems (what this call fixed, with code, message and properties.jsonPath); the content is either re-serialized the way the designer saves it or the original text with reference entries added, and is not checked a second time. An item whose problems remain is still status failed and the exit code rule is unchanged; a failed write is status executionFailed. No backup is kept: use version control to roll back.",
|
|
2108
|
+
"cli.cmd.dev.file.check.done": "Validated {0} workspace metadata file(s).",
|
|
2109
|
+
"cli.cmd.dev.file.check.autofix": "After checking, fix problems whose fix is already determined and write the content back to the local file; metadata file types only, source errors are not fixed.",
|
|
2110
|
+
"cli.cmd.dev.file.check.writeFailed": "Failed to write the local file: {0}",
|
|
2111
|
+
"cli.cmd.dev.file.check.running": "Validating workspace metadata files",
|
|
2112
|
+
"cli.cmd.dev.file.check.schemaFailed": "Metadata validation failed.",
|
|
2113
|
+
"cli.cmd.dev.file.check.schemaFailedMsg": "Metadata validation failed: {0}",
|
|
2114
|
+
"cli.cmd.dev.file.check.upgradeRequired": "{0} file(s) require a metadata upgrade. Run `{1}` with the same pathspec, then validate again.",
|
|
2115
|
+
"cli.cmd.dev.file.check.pathspec": "Workspace local paths: files, recursive directories or quoted globs, relative to the execution directory after -C or absolute disk paths within the workspace. Every input must match; filenames and suffixes are case-sensitive.\nText must be UTF-8. JSON metadata uses strict JSON without comments or trailing commas, including .jsonc. FTL, .action.ts, frontend .ts and Less use source checks; .d.ts is not compiled as a runtime script.",
|
|
2116
|
+
"cli.cmd.dev.file.upgrade.summary": "Upgrade old SuccApp metadata files.",
|
|
2117
|
+
"cli.cmd.dev.file.upgrade.desc": "Preview or upgrade older SuccApp metadata files in a local workspace.\n\nSupports individual files and batch processing; previews identify candidates and failures.\n\nActual upgrades modify local files without automatically pushing to the server.",
|
|
2118
|
+
"cli.cmd.dev.file.upgrade.out": "JSON candidates[] lists upgrade candidates, changed[] lists actual updates, and skipped[]/failures[] list skipped and failed items. --dry-run reports candidates without updating files. Failures cause exit 1; candidates and skipped items alone do not. Inspect summary and item reasons before choosing the next action.",
|
|
2119
|
+
"cli.cmd.dev.file.upgrade.dryRun": "Preview upgrade candidates without changing files.",
|
|
2120
|
+
"cli.cmd.dev.file.upgrade.cands": "Upgrade candidates: {0}",
|
|
2121
|
+
"cli.cmd.dev.file.upgrade.dryRunRes": "Metadata upgrade dry-run: {0} checked, {1} candidate(s), {2} skipped, {3} failed",
|
|
2122
|
+
"cli.cmd.dev.file.upgrade.failed": "Failed files: {0}",
|
|
2123
|
+
"cli.cmd.dev.file.upgrade.reason": "Reason",
|
|
2124
|
+
"cli.cmd.dev.file.upgrade.result": "Metadata upgrade result: {0} checked, {1} changed, {2} skipped, {3} failed",
|
|
2125
|
+
"cli.cmd.dev.file.upgrade.skipped": "Skipped files: {0}",
|
|
2126
|
+
"cli.cmd.dev.file.upgrade.upgraded": "Upgraded files: {0}",
|
|
2127
|
+
"cli.cmd.dev.file.upgrade.pathspec": "Workspace local paths: files, recursive directories or quoted globs, relative to the execution directory after -C or absolute disk paths within the workspace. Omit to process all local projects.",
|
|
2128
|
+
"cli.cmd.dev.file.*.pathspec": "Local workspace path, relative to the execution directory after -C, or an absolute disk path within the workspace. Directories recurse; quote globs. Globs also use the execution directory as their base.",
|
|
2129
|
+
"cli.cmd.dev.file.*.path": "Local workspace path, relative to the execution directory after -C, or an absolute disk path within the workspace.",
|
|
2130
|
+
"cli.cmd.dev.ext.title": "Workspace extension",
|
|
2131
|
+
"cli.cmd.dev.ext.summary": "create and publish workspace extensions",
|
|
2132
|
+
"cli.cmd.dev.ext.desc": "Create and publish workspace extensions.\n\nSupports inspecting local extensions, creating extension directories from server templates, and uploading to the active server.\n\nCreation writes local files; publishing affects server extensions.",
|
|
2133
|
+
"cli.cmd.dev.ext.dirNamedSame": "A directory named the same already exists under sysdata/extensions/.",
|
|
2134
|
+
"cli.cmd.dev.ext.extNameMust": "Extension name must follow the pattern {0}.",
|
|
2135
|
+
"cli.cmd.dev.ext.extNameRequired": "Extension name is required.",
|
|
2136
|
+
"cli.cmd.dev.ext.invalidExtName": "Invalid extension name.",
|
|
2137
|
+
"cli.cmd.dev.ext.middleSegmentMust": "The middle segment must equal \"{0}\" (current: \"{1}\").",
|
|
2138
|
+
"cli.cmd.dev.ext.list.summary": "List local extensions.",
|
|
2139
|
+
"cli.cmd.dev.ext.list.desc": "List local extensions in the workspace sysdata project.\n\nUses local extension directories, not the server installed-extension list.",
|
|
2140
|
+
"cli.cmd.dev.ext.list.out": "JSON extensions[] is an array of extension-name strings, not extension-description objects. Pass a name directly to dev extension push. With no local extensions, the array is empty and empty.reason=emptyCollection is present.",
|
|
2141
|
+
"cli.cmd.dev.ext.create.summary": "Create a local extension.",
|
|
2142
|
+
"cli.cmd.dev.ext.create.desc": "Create a local extension directory from a server template.\n\nRequires an active server, a cloned sysdata project and server connectivity. The target extension directory must not exist.\n\nGenerates local files without automatically publishing to the server.",
|
|
2143
|
+
"cli.cmd.dev.ext.create.out": "JSON returns extensionName, extensionPoint and templateName, plus absolute local paths extensionRoot and packageJsonPath. Successful creation prepares local files; it does not mean the extension has been published or activated on the server.",
|
|
2144
|
+
"cli.cmd.dev.ext.create.extTemplate": "Extension template not found: {0}/{1}",
|
|
2145
|
+
"cli.cmd.dev.ext.create.name": "New extension name: lowercase letters, digits and hyphens, at least three segments; the second must match the extension point, for example succ-component-card.",
|
|
2146
|
+
"cli.cmd.dev.ext.push.summary": "Push a local extension.",
|
|
2147
|
+
"cli.cmd.dev.ext.push.desc": "Upload a local extension to the active server.\n\nWrites to the server and affects the extension. Overwriting an existing extension may replace remote changes.",
|
|
2148
|
+
"cli.cmd.dev.ext.push.out": "JSON pushed[], rejected[] and failures[] list submitted files, conflict rejections and other failures; metadataVersionSuggestions[] provides version guidance. Partial success is possible: rejected items cause exit 6; otherwise failures cause exit 1. kind=result does not mean every file was uploaded successfully.",
|
|
2149
|
+
"cli.cmd.dev.ext.push.path": "Resolve the extension from a local path under sysdata/extensions; relative paths use the execution directory after -C.\n\nChoose exactly one of --path and <name>.",
|
|
2150
|
+
"cli.cmd.dev.ext.push.force": "Allow local extension files to overwrite remote changes.",
|
|
2151
|
+
"cli.cmd.dev.ext.push.needNamePath": "Pass an extension name or --path=<path>.",
|
|
2152
|
+
"cli.cmd.dev.ext.push.onlyOne": "Use either <name> or --path=<path>, not both.",
|
|
2153
|
+
"cli.cmd.dev.ext.push.name": "Extension name returned by dev extension list; choose this or --path.",
|
|
2154
|
+
"cli.cmd.dev.ext.*.extensionPoint": "Extension point returned by dev extension template list.",
|
|
2155
|
+
"cli.cmd.dev.ext.*.template": "Template name within the selected extension point, from dev extension template list.",
|
|
2156
|
+
"cli.cmd.dev.componentProperty.title": "Component properties",
|
|
2157
|
+
"cli.cmd.dev.componentProperty.summary": "Find configurable and readable component properties",
|
|
2158
|
+
"cli.cmd.dev.componentProperty.desc": "Find properties to set in interactions, use in metadata or read in expressions.\n\nQueries use server component definitions and saved pages, without reading unpushed local pages.",
|
|
2159
|
+
"cli.cmd.dev.componentProperty.list.summary": "List component properties for a usage.",
|
|
2160
|
+
"cli.cmd.dev.componentProperty.list.desc": "Find component properties for interaction assignments, metadata or expressions.\n\nQueries use server component definitions and saved pages without reading unpushed local changes.",
|
|
2161
|
+
"cli.cmd.dev.componentProperty.list.out": "Default text shows a property overview. JSON properties[] contains name, caption, editor type, source, readonly and declaration flags. Queries by component ID also return declarations, not current instance property values. Use a returned name with component-property show, keeping the same component identity and usage.\n\ncoverage.status is partial: some extension properties and properties that depend on page state may be missing; conditions and dynamic candidate values are not evaluated. coverage.limitations lists specific limits, and data-* custom properties are outside this finite list. An empty filtered list does not prove that a property is illegal. summary.hasMore=false means there are no further pages.\n\nsource.content is server for instance queries and none for type queries. Editor type is not a persisted JSON value schema; consult the matching DTS before writing a value.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.",
|
|
2162
|
+
"cli.cmd.dev.componentProperty.show.summary": "Show the type and options of a component property.",
|
|
2163
|
+
"cli.cmd.dev.componentProperty.show.desc": "Show a property type, default value and options to help assign a value.\n\nQueries use server component definitions and saved pages without reading unpushed local changes.",
|
|
2164
|
+
"cli.cmd.dev.componentProperty.show.out": "Human output shows basic property details, static options and child properties. Use --json for complete structured values.\n\nJSON property contains the declared name, caption, editor type, typeArgs, source, readonly and conditional flags. Queries by component ID do not return current instance property values. defaultValue is a declaration default, not a value that must be written. property.options preserves static string, number and boolean values; property.valueProvider retains a dynamic candidate definition without evaluating its values.\n\nNested properties are listed recursively in property.subProperties. For example, show fill and read image from subProperties. Editor type does not define the persisted representation; consult the matching DTS before assigning a value.\n\ncoverage.status is partial; coverage.limitations lists missing extensions, page context and other limits. Conditions and dynamic candidate values are not evaluated. source.content is server for instance queries and none for type queries.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references. member is a field to look up, not a guarantee that it can be persisted; verify expression and runtime properties against the relevant runtime interface.",
|
|
2165
|
+
"cli.cmd.dev.componentProperty.target": "Server page path ending in spg, dash, rpt, fapp or afl; type queries allow a nonexistent page. Replace /PROJECT/page.spg and componentId in instance examples with an existing page path and component ID.",
|
|
2166
|
+
"cli.cmd.dev.componentProperty.identity": "Specify exactly one of --component or --component-type to query by component ID or component type.",
|
|
2167
|
+
"cli.cmd.dev.componentProperty.component": "Component ID in an existing server SPG or dashboard.",
|
|
2168
|
+
"cli.cmd.dev.componentProperty.componentType": "Type matching kind from dev component list. Only reads type definitions, not page content.",
|
|
2169
|
+
"cli.cmd.dev.componentProperty.kind": "Type category; cellType and actionComponent currently support type queries only.",
|
|
2170
|
+
"cli.cmd.dev.componentProperty.usage": "set-property returns non-readonly and explicitly disabled properties regardless of property-editor visibility; metadata includes readonly declarations; expression selects properties readable by expressions.",
|
|
2171
|
+
"cli.cmd.dev.componentProperty.contains": "Literal substring of a property name or localized caption.",
|
|
2172
|
+
"cli.cmd.dev.componentProperty.property": "Exact top-level property name from component-property list for the same component and usage; nested paths such as fill.image are not accepted. Show fill to inspect its image child property.",
|
|
2173
|
+
"cli.out.property.coverage": "Some properties may be missing, and conditions or dynamic candidates are not evaluated. Add --json to this command to inspect source and coverage.limitations; consult the matching DTS for assignments.",
|
|
2174
|
+
"cli.out.property.name": "Name",
|
|
2175
|
+
"cli.out.property.type": "Editor type",
|
|
2176
|
+
"cli.out.property.source": "Source",
|
|
2177
|
+
"cli.cmd.dev.componentMethod.title": "Component methods",
|
|
2178
|
+
"cli.cmd.dev.componentMethod.summary": "Find methods callable in component interactions",
|
|
2179
|
+
"cli.cmd.dev.componentMethod.desc": "Find component methods for execute-command interactions and learn their purpose and arguments.\n\nUses server component definitions without reading unpushed local pages. Queries by component ID use the saved server page; type queries do not read page content. Queries do not execute methods.",
|
|
2180
|
+
"cli.cmd.dev.componentMethod.list.summary": "List methods callable in component interactions.",
|
|
2181
|
+
"cli.cmd.dev.componentMethod.list.desc": "Find component methods for execute-command interactions to choose an operation. Other script methods on component objects are not included.\n\nQueries use server component definitions and saved pages without reading unpushed local changes. Queries do not execute methods.",
|
|
2182
|
+
"cli.cmd.dev.componentMethod.list.out": "System commands whose IDs start with _ are excluded.\n\nDefault text shows a method overview; use component-method show for argument details. JSON methods[] contains method and argument declarations. Use methods[].id as the command value of an execute-command action; do not write the entire result object into the page.\n\nmethods[].source identifies the method source to help locate the corresponding component definition. Top-level source identifies the server and page used by this query.\n\nWhen methods[].parameters.status is declared, methods[].parameters.items preserves argument declarations and any required flags or static options. An empty array explicitly declares zero arguments; undeclared does not mean zero arguments. methods[].availability.status is notEvaluated and only retains enable conditions; methods[].returns.status is undeclared, which does not mean void.\n\ncoverage.status is partial; coverage.limitations lists gaps that may involve extensions, cell methods or embedded-page commands. Current browser state is not checked: finding a declaration does not guarantee current availability, and an empty filtered list does not prove a method cannot be called. source.content is server for instance queries and none for type queries. summary.hasMore=false means there are no further pages.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.",
|
|
2183
|
+
"cli.cmd.dev.componentMethod.show.summary": "Show a component method purpose and arguments.",
|
|
2184
|
+
"cli.cmd.dev.componentMethod.show.desc": "Show the purpose and arguments of an execute-command component method to help configure an action. Other script methods on component objects are not included.\n\nQueries use server component definitions and saved pages without reading unpushed local changes. Queries do not execute methods.",
|
|
2185
|
+
"cli.cmd.dev.componentMethod.show.out": "Default text shows method information and an itemized argument list. Use JSON method.id as the command value of an execute-command action. Follow the Execute-command action metadata reference for argument assignments; do not write the entire method or parameters object into the page.\n\nWhen method.parameters.status is declared, method.parameters.items contains argument names, captions, descriptions and available optionCaptions. Each argument retains string, number and boolean options; multiple marks multiselect. An empty items array explicitly declares zero arguments; undeclared does not mean zero arguments. An editor control type is not an argument data type.\n\nmethod.source identifies the method source. Top-level source identifies the server and page used by this query; source.content is server for instance queries and none for type queries.\n\ncoverage.status is partial and coverage.limitations lists gaps. method.availability.status is notEvaluated; method.availability.condition retains an enable condition when present, without guaranteeing current availability. method.returns.status is undeclared, which does not mean void.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.",
|
|
2186
|
+
"cli.cmd.dev.componentMethod.target": "Server page path ending in spg, dash, rpt, fapp or afl; type queries allow a nonexistent page. Replace /PROJECT/page.spg and componentId in instance examples with an existing page path and component ID.",
|
|
2187
|
+
"cli.cmd.dev.componentMethod.identity": "Specify exactly one of --component or --component-type to query by component ID or component type.",
|
|
2188
|
+
"cli.cmd.dev.componentMethod.component": "Component ID in an existing server SPG or dashboard.",
|
|
2189
|
+
"cli.cmd.dev.componentMethod.componentType": "Page component type from dev component list. Only reads type definitions, not page content.",
|
|
2190
|
+
"cli.cmd.dev.componentMethod.contains": "Literal substring of a command ID or localized caption.",
|
|
2191
|
+
"cli.cmd.dev.componentMethod.method": "Exact command ID returned by component-method list for the same component; system commands whose IDs start with _ are not supported.",
|
|
2192
|
+
"cli.out.method.id": "Method ID",
|
|
2193
|
+
"cli.out.method.coverage": "Queries do not execute methods. Argument information may be incomplete; consult the matching DTS for argument assignments.",
|
|
2194
|
+
"cli.out.method.undeclared": "Undeclared",
|
|
2195
|
+
"cli.out.method.condition": "Enable condition",
|
|
2196
|
+
"cli.out.method.argsUndeclared": "Parameters undeclared; this does not imply zero parameters.",
|
|
2197
|
+
"cli.out.method.noArgs": "Explicitly declared with no parameters.",
|
|
2198
|
+
"cli.out.method.parameters": "Parameters",
|
|
2199
|
+
"cli.out.method.required": "Required",
|
|
2200
|
+
"cli.out.method.yes": "Yes",
|
|
2201
|
+
"cli.out.method.no": "No",
|
|
2202
|
+
"cli.out.method.description": "Description",
|
|
2203
|
+
"cli.out.property.querySource": "Query source: server component declarations; target: {target}; page content: {content}",
|
|
2204
|
+
"cli.out.property.serverContent": "saved server content",
|
|
2205
|
+
"cli.out.property.typeContent": "not read (type query)",
|
|
2206
|
+
"cli.cmd.dev.componentEvent.title": "Component events",
|
|
2207
|
+
"cli.cmd.dev.componentEvent.summary": "Discover configurable component interaction events",
|
|
2208
|
+
"cli.cmd.dev.componentEvent.desc": "Find configurable component events to choose when an interaction runs.\n\nQueries use server component definitions and saved pages, without reading unpushed local pages. Queries do not trigger events or execute interactions.",
|
|
2209
|
+
"cli.cmd.dev.componentEvent.list.summary": "List configurable component events.",
|
|
2210
|
+
"cli.cmd.dev.componentEvent.list.desc": "Find configurable component events, such as clicks and value changes, to choose when an interaction runs.\n\nQueries use server component definitions and saved pages without reading unpushed local changes. Queries do not trigger events or execute interactions.",
|
|
2211
|
+
"cli.cmd.dev.componentEvent.list.out": "Default text shows an event overview. JSON events[] contains declarations and bindingTemplate; write events[].id to the event field of a component events[] item. Use component-event show with the same component identity for details.\n\nsupportsEvents=false means the component does not support interactions and events[] is empty. events[].source identifies the event source to help locate the corresponding component definition.\n\nFor instance queries, configuredEvents.status is read and items preserves all existing server component events and actions, including events outside the candidates. --contains does not filter these items. Type queries use notRead, which does not mean no events are configured. Preserve existing configuration and merge the intended event; do not replace component events[] with a candidate list.\n\ncoverage.status is partial and coverage.limitations lists gaps. Some extension and cell events may be missing; the query does not check whether an event can trigger in the current page state. Undeclared event parameter types do not mean zero parameters; consult matching event and action types. source.content is server for instance queries and none for type queries. summary.hasMore=false means there are no further pages; an empty filtered list does not prove an event is illegal.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.",
|
|
2212
|
+
"cli.cmd.dev.componentEvent.show.summary": "Show an event description and configuration template.",
|
|
2213
|
+
"cli.cmd.dev.componentEvent.show.desc": "Show an event description and configuration template to add or edit a component interaction.\n\nQueries use server component definitions and saved pages without reading unpushed local changes. Queries do not trigger events or execute interactions.",
|
|
2214
|
+
"cli.cmd.dev.componentEvent.show.out": "Default text shows event information and the configuration location. JSON event.id maps to the event field in component events[]. event.bindingTemplate has the form {\"event\":\"<event ID>\",\"actions\":[]}. Fill actions using the action type references and merge into the target component. Do not write the whole query result into the page or overwrite existing actions with an empty array.\n\nFor instance queries, configuredEvents.status is read and items contains only existing configurations of this event in the saved server page. Type queries use notRead. Start from items when editing existing interactions and preserve other fields. event.originEvent, repeating, repeatingStrategy, startEvent and endEvent are returned only when declared. repeatingStrategy is a recommendation from the event declaration, not the effective instance execution strategy.\n\nevent.parameters.status is undeclared when event parameter types are not provided; this does not mean zero parameters. Consult the corresponding event and action type references when configuring an interaction. coverage.status is partial and coverage.limitations explains possible missing events and limits on trigger checks. source.content is server for instance queries and none for type queries. A declaration does not guarantee browser triggering; compile the edited page and verify its behavior.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.",
|
|
2215
|
+
"cli.cmd.dev.componentEvent.target": "Server page path ending in spg, dash, rpt, fapp or afl; type queries allow a nonexistent page. Replace /PROJECT/page.spg and componentId in instance examples with an existing page path and component ID.",
|
|
2216
|
+
"cli.cmd.dev.componentEvent.identity": "Specify exactly one of --component or --component-type to query by component ID or component type.",
|
|
2217
|
+
"cli.cmd.dev.componentEvent.component": "Component ID in a saved server SPG or dashboard.",
|
|
2218
|
+
"cli.cmd.dev.componentEvent.componentType": "Page component type from dev component list. Only reads type definitions, not page content.",
|
|
2219
|
+
"cli.cmd.dev.componentEvent.contains": "Case-insensitive literal substring of an event ID or localized caption; does not filter existing page configurations.",
|
|
2220
|
+
"cli.cmd.dev.componentEvent.event": "Exact event ID returned by component-event list for the same component.",
|
|
2221
|
+
"cli.out.event.id": "Event ID",
|
|
2222
|
+
"cli.out.event.binding": "New configuration: component events[]; event={0}, configure actions in actions[].",
|
|
2223
|
+
"cli.out.event.parameters": "Event parameter types are undeclared; consult the matching event and action type references.",
|
|
2224
|
+
"cli.out.event.configured": "Existing server event configurations: {0} (use --json to inspect).",
|
|
2225
|
+
"cli.out.event.notRead": "Type query: existing page event configurations were not read.",
|
|
2226
|
+
"cli.out.event.coverage": "Queries do not trigger events. Add --json to view the configuration template and limits.",
|
|
2227
|
+
"cli.cmd.dev.layout.title": "Layouts",
|
|
2228
|
+
"cli.cmd.dev.layout.summary": "Query component layouts and layout properties",
|
|
2229
|
+
"cli.cmd.dev.layout.desc": "Find component layouts and their properties to arrange containers and child components.\n\nQuery a component type or an existing component in a server SPG or dashboard. Queries use server definitions and saved pages without reading unpushed local changes.\n\nQueries do not switch layouts or modify pages.",
|
|
2230
|
+
"cli.cmd.dev.layout.list.summary": "List layouts available for a component.",
|
|
2231
|
+
"cli.cmd.dev.layout.list.desc": "Find layouts available to a component to choose how its children are arranged.\n\nChoices depend on the component and page type; explicitly restricted component choices take precedence. By default, SPG canvases offer flex, dashboard canvases offer tile, ppt and gravity, and ordinary containers offer layouts available on the server.\n\nQueries use server definitions and saved pages without reading unpushed local changes, switching layouts or modifying pages.",
|
|
2232
|
+
"cli.cmd.dev.layout.list.out": "Default text lists layout IDs, names and whether details are available. JSON layouts[] contains id, caption, definitionAvailable and optional description. Run dev layout show with the same component identity, layout property and a returned id. definitionAvailable=false means the server has not provided a layout definition; check the corresponding extension before relying on that layout.\n\nselection.property names the layout property to write. selection.currentValue comes from the saved server instance or a definition default; currentSource is server, default or none, with currentValue omitted for none. defaultValue is not mandatory to write. Type queries cannot determine the current layout of an instance. context.isCanvas indicates canvas rules: type canvas represents the target page canvas; instance queries use the actual page position.\n\nselection.status=available means candidates can be queried for the property; unsupported means the component has no layout selection property; unresolved means its dynamic candidates cannot be determined. Empty results use empty.reason=noLayoutProperty, unresolvedOptions, noMatches or emptyCollection. summary.hasMore=false means there are no further pages.\n\ncoverage.status is partial; coverage.limitations describes gaps involving extensions or page-dependent configuration. Conditions and custom dynamic candidates are not evaluated. source.content is server for instance queries and none for type queries. Candidates do not guarantee a suitable result; compile and verify the edited page.\n\nreferences[] provides DTS readDocument commands and symbol names. purpose=metadata identifies metadata assignment references; declaration identifies query declarations, which are not interchangeable. Commands use the server selected for this query. This query does not download references; when local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references.",
|
|
2233
|
+
"cli.cmd.dev.layout.show.summary": "Show container and child properties for a layout.",
|
|
2234
|
+
"cli.cmd.dev.layout.show.desc": "Inspect layout properties and where to write them to configure container and child sizes, spacing and positions.\n\nQueries use server definitions and saved pages without reading unpushed local changes. Queries do not switch layouts or convert existing component positions and sizes.",
|
|
2235
|
+
"cli.cmd.dev.layout.show.out": "Default text lists container and child properties separately. JSON layout.id is the layout ID. Write layout.properties[] fields on the container itself and layout.childProperties[] fields on its direct children. Both arrays provide name, caption and editor type; defaults, static options and nested properties are returned when defined. options preserves original value types; valueProvider identifies a dynamic option source without computed results. An empty array means no corresponding properties were provided. Editor types do not define persisted JSON value formats.\n\nlayout.assignment is a minimal layout assignment, such as {\"layoutType\":\"flex\"}. Merge it into the target container while preserving existing content; do not write the entire layout or query result into a page. layout.capabilities.drag, drop and group indicate support for dragging, adding by drag-and-drop and grouping, without guaranteeing availability in the current page state.\n\nselection.property identifies the layout property. currentValue and currentSource distinguish saved server configuration, definition defaults and missing values; currentValue is omitted when currentSource=none. Type queries do not return current instance values. Defaults are reference information, not values that must all be written.\n\ncoverage.status is partial. Conditions and dynamic options are not evaluated, and size constraints of specific children are not checked. Query existing children by ID with component-property list --usage=metadata to inspect properties under the saved server layout; this does not reflect a new layout in unpushed local changes. Absolutely positioned children may use different layout properties. When switching an existing layout, check container properties and child positions and sizes rather than treating a changed layout ID as completion. source.content is server for instance queries and none for type queries. Compile and verify the actual arrangement after editing.\nreferences[] provides readDocument commands and symbol names for the layout and common DTS; commands use the server selected for this query. This query does not download references. When local.available=true, read local.path directly or search local.root; otherwise, run readDocument to obtain and read the references. TypeMap[layout ID] identifies container properties; ChildTypeMap[layout ID] identifies direct-child properties.",
|
|
2236
|
+
"cli.cmd.dev.layout.identity": "Specify exactly one of --component or --component-type to query by component ID or component type.",
|
|
2237
|
+
"cli.cmd.dev.layout.component": "Container component ID in a saved server SPG or dashboard; the canvas can also be queried by ID.",
|
|
2238
|
+
"cli.cmd.dev.layout.componentType": "Page component type confirmed through dev component list or dev component show; canvas represents the target page canvas. Only reads type definitions, not page content.",
|
|
2239
|
+
"cli.cmd.dev.layout.property": "Layout property name from dev component show layoutProperties. Selected automatically when there is exactly one; required when there are multiple.",
|
|
2240
|
+
"cli.cmd.dev.layout.contains": "Case-insensitive literal substring of a layout ID or localized caption.",
|
|
2241
|
+
"cli.cmd.dev.layout.layout": "Exact layout ID from dev layout list for the same component and layout property.",
|
|
2242
|
+
"cli.cmd.dev.layout.target": "Server page path ending in spg, dash, rpt, fapp or afl; type queries allow a nonexistent page. Replace /PROJECT/page.spg and componentId in instance examples with an existing page path and container component ID.",
|
|
2243
|
+
"cli.out.layout.id": "Layout ID",
|
|
2244
|
+
"cli.out.layout.definition": "Details available",
|
|
2245
|
+
"cli.out.layout.default": "Default",
|
|
2246
|
+
"cli.out.layout.properties": "Properties on the container",
|
|
2247
|
+
"cli.out.layout.childProperties": "Properties on direct children",
|
|
2248
|
+
"cli.out.layout.noProperties": "No properties provided.",
|
|
2249
|
+
"cli.out.layout.assignment": "Layout assignment: {0}={1}, written on the target container.",
|
|
2250
|
+
"cli.out.layout.containerType": "Container property type",
|
|
2251
|
+
"cli.out.layout.childType": "Direct-child property type",
|
|
2252
|
+
"cli.out.layout.referenceNote": "This query only checks local references. The read commands below retain the target server and prepare missing packages in Home.",
|
|
2253
|
+
"cli.out.layout.showNote": "Queries do not convert existing positions or sizes. Configure using the matching types, then compile and verify the arrangement. Add --json for complete options and limits.",
|
|
2254
|
+
"cli.out.layout.listNote": "Add --json for the layout property, current configuration source and limits; use dev layout show for the selected layout properties.",
|
|
2255
|
+
"cli.out.layout.empty.noLayoutProperty": "The component has no layout selection property.",
|
|
2256
|
+
"cli.out.layout.empty.unresolvedOptions": "Dynamic candidates cannot be determined for this layout property; consult the matching types and designer.",
|
|
2257
|
+
"cli.out.layout.empty.noMatches": "No matching layouts.",
|
|
2258
|
+
"cli.out.layout.empty.emptyCollection": "The property has no layout candidates.",
|
|
2259
|
+
"cli.cmd.resContext.component": "Component ID in a saved server SPG or dashboard. Local unpushed changes are not read.",
|
|
2260
|
+
"cli.cmd.resContext.componentType": "Component or cell type at the target page location. --kind selects its category.",
|
|
2261
|
+
"cli.cmd.resContext.kind": "Type category, component when omitted. cellType supports type queries only.",
|
|
2262
|
+
"cli.cmd.resContext.property": "Selector property path matching the resource category. Omit to select the sole matching position; choose explicitly when several positions match. Child paths locate selectors; save values according to the owning top-level property persistence type.",
|
|
2263
|
+
"cli.cmd.resContext.identity": "Omit identities to query the resource catalog. Component queries use a server page path. --property and --kind require a component identity. Replace /PROJECT/page.spg and componentId in examples with an existing page and component ID.",
|
|
2264
|
+
"cli.cmd.resContext.styleIdentity": "Omit component identities to query the style catalog. --property and --kind require --component or --component-type. Component ID queries require a server page path. Replace /PROJECT/page.spg and componentId in examples with an existing page path and component ID.",
|
|
2265
|
+
"cli.out.property.readonly": "Read-only",
|
|
2266
|
+
"cli.out.property.expressionAccessible": "Readable in expressions",
|
|
2267
|
+
"cli.out.property.enable": "Enabled",
|
|
2268
|
+
"cli.out.property.visible": "Visible in property panel",
|
|
2269
|
+
"cli.out.property.options": "Static options",
|
|
2270
|
+
"cli.out.property.value": "Value",
|
|
2271
|
+
"cli.out.property.noOptions": "No static options are declared.",
|
|
2272
|
+
"cli.out.property.children": "Child properties",
|
|
2273
|
+
"cli.out.property.conditions": "Enablement or visibility conditions are not evaluated; actual state depends on the page.",
|
|
2274
|
+
"cli.out.property.dynamic": "Dynamic options are not evaluated; add --json to inspect the declaration.",
|
|
2275
|
+
"cli.out.property.composite": "Structured value; add --json to inspect.",
|
|
2276
|
+
"cli.out.property.default": "Default value",
|
|
2277
|
+
"cli.cmd.dev.color.title": "Colors",
|
|
2278
|
+
"cli.cmd.dev.color.summary": "Query available colors and theme references",
|
|
2279
|
+
"cli.cmd.dev.color.desc": "List theme solid colors, gradients and standard colors with references for page metadata.",
|
|
2280
|
+
"cli.cmd.dev.color.list.summary": "List available colors and their theme references.",
|
|
2281
|
+
"cli.cmd.dev.color.list.desc": "List theme solid colors, gradients and standard colors grouped by purpose to choose text, fill, border and series colors for pages.\n\nReads saved server pages and themes without changing pages. Returns preset colors without enumerating arbitrary custom values or reflecting runtime external theme overrides. Gradient support depends on the target property. Missing themes and read permission errors fail the command.",
|
|
2282
|
+
"cli.cmd.dev.color.list.target": "Server project name, absolute application path or absolute path of an existing page (spg, dash, rpt or fapp); not a local path. For a new file, you may specify its project or application.\nWhen omitted, queries default colors from the specified system theme. Replace /PROJECT/home.spg with an existing page and /PROJECT/app/demo.app with an actual application.",
|
|
2283
|
+
"cli.cmd.dev.color.list.theme": "Theme name from name in dev theme list. For pages, omission reads settings.theme and uses default when unset. Required for system, project and application targets. An explicit theme avoids reading page content.\nAlso required when the target location is omitted.",
|
|
2284
|
+
"cli.cmd.dev.color.list.type": "Return only solid colors or gradients; omission returns both types.",
|
|
2285
|
+
"cli.cmd.dev.color.list.group": "Return one color group; colorPrimary is brand, gradient is theme gradients, standard is fixed standard colors. Combined with --type, returns their intersection.",
|
|
2286
|
+
"cli.cmd.dev.color.list.out": "--json returns theme (name, location, selection), colors[], missingTokens[] and filters. theme.selection is explicit, page or default (page theme unset). location is the actual theme source; system means a system theme. Human output shows group, type, name, reference value and resolved value.\n\ncolors[] includes group, groupCaption, caption, type (pure/gradient), source (theme/standard), value and resolvedValue; theme colors also have themeVar. value is a persisted ColorString such as colorPrimary, gradientColor1 or #C00400, suitable for properties declared as ColorString in DTS. resolvedValue is a compiled CSS solid color or gradient definition for preview; preserve theme references when assigning. Consult the target DTS for other property structures.\n\nmissingTokens[] lists variables missing from the theme within the selected filters; these colors are omitted. Empty results return colors=[] and empty.reason=noMatches with exit code 0. Successful JSON output does not verify the resulting page appearance.\n\nqueryScope.kind is system, target or global. message describes the scope; limitations[] provides stable code and localized message values. For system queries, targetQuery.argvTemplate is an invocation template without the executable name; placeholders identifies <target>, which must be replaced before execution. Scope remains available for empty results; system queries also retain target navigation. --pretty-json changes formatting only.",
|
|
2287
|
+
"cli.out.color.group": "Group",
|
|
2288
|
+
"cli.out.color.type": "Type",
|
|
2289
|
+
"cli.out.color.name": "Name",
|
|
2290
|
+
"cli.out.color.value": "Reference value",
|
|
2291
|
+
"cli.out.color.resolved": "Resolved value",
|
|
2292
|
+
"cli.ref.colorValue": "Persisted color value type",
|
|
2293
|
+
"cli.out.color.missing": "Missing theme variables (omitted): {0}",
|
|
2294
|
+
"cli.cmd.dev.colorPalette.title": "Color palettes",
|
|
2295
|
+
"cli.cmd.dev.colorPalette.summary": "Query available theme palettes",
|
|
2296
|
+
"cli.cmd.dev.colorPalette.desc": "List theme palettes and ordered colors to choose chart series color combinations.",
|
|
2297
|
+
"cli.cmd.dev.colorPalette.list.summary": "List palette IDs, names and ordered colors.",
|
|
2298
|
+
"cli.cmd.dev.colorPalette.list.desc": "List theme palettes available at the specified location to choose chart series color schemes. Each palette contains ordered colors and can combine solid colors and gradients.\n\nOnly reads saved server pages and themes without changing pages. Local unpushed changes, runtime external theme overrides and final colors assigned to dynamic data are excluded. Missing themes, read permission errors and invalid catalogs fail the command.",
|
|
2299
|
+
"cli.cmd.dev.colorPalette.list.target": "Server project name, absolute application path or absolute path of an existing page (spg, dash, rpt or fapp); not a local path. For a new file, you may specify its project or application.\nWhen omitted, queries default color palettes from the specified system theme. Replace /PROJECT/home.spg with an existing page and PROJECT with an actual project name.",
|
|
2300
|
+
"cli.cmd.dev.colorPalette.list.theme": "Theme name from name in dev theme list. For pages, omission reads settings.theme and uses default when unset. Required for system, project and application targets. An explicit theme avoids reading page content. Application themes take precedence over project and system themes with the same name.\nAlso required when the target location is omitted.",
|
|
2301
|
+
"cli.cmd.dev.colorPalette.list.out": "Human output shows the theme source, palette IDs, names and ordered colors; gradients use JSON definitions. --json returns theme (name, location, selection) and colorPalettes[]. theme.selection is explicit, page or default (page theme unset). location is the actual theme source; system means a system theme.\n\ncolorPalettes[] includes id, caption and paletteData. Names prefer configured captions, then current-language names, then IDs. paletteData preserves server-compiled CSS solid color strings and gradient objects in palette definition order. Gradients contain type, deg (optional linear gradient angle) and value stops; each stop is [color string, position from 0 to 1].\n\nAssign the id string to properties declared as ColorPaletteString in DTS, for example \"colorPalette\": \"default1\". Do not assign caption, the entire palette object or paletteData to such properties. Consult the target DTS for other structures. Palette colors are already resolved for comparison; retaining palette IDs follows theme changes. Components and data determine actual color assignment, so verify the resulting appearance.\n\nWhen the theme provides no palettes, returns colorPalettes=[] and empty.reason=emptyCollection with exit code 0. Errors do not fall back to partial catalogs.\n\nqueryScope.kind is system, target or global. message describes the scope; limitations[] provides stable code and localized message values. For system queries, targetQuery.argvTemplate is an invocation template without the executable name; placeholders identifies <target>, which must be replaced before execution. Scope remains available for empty results; system queries also retain target navigation. --pretty-json changes formatting only.",
|
|
2302
|
+
"cli.cmd.dev.colorPalette.list.empty": "The current theme has no color palettes.",
|
|
2303
|
+
"cli.out.colorPalette.id": "Palette ID",
|
|
2304
|
+
"cli.out.colorPalette.name": "Name",
|
|
2305
|
+
"cli.out.colorPalette.colors": "Ordered colors",
|
|
2306
|
+
"cli.ref.colorPaletteValue": "Persisted palette property type",
|
|
2307
|
+
"cli.cmd.docs.title": "References",
|
|
2308
|
+
"cli.cmd.docs.summary": "Discover, read and manage manuals and server references.",
|
|
2309
|
+
"cli.cmd.docs.desc": "Manage SuccApp manuals, type declarations (DTS) and JSON Schema for local reading and AI Agents.\n\nManuals come from the official documentation site; type declarations and JSON Schema match the target application server. No workspace initialization or project cloning is required.",
|
|
2310
|
+
"cli.cmd.docs.install.summary": "Install the official documentation Skill into a specified directory for an AI client to load.",
|
|
2311
|
+
"cli.cmd.docs.install.desc": "Install the succapp-docs official documentation Skill with Markdown, indexes, attachments and examples for AI Agents.\n\nNo server, login or workspace is required. Reinstallation updates managed references and preserves unrelated files.",
|
|
2312
|
+
"cli.cmd.docs.install.out": "output is the installation directory and entrypoint is SKILL.md, both absolute local paths. complete=true means installation is complete according to the indexes, excluding images and videos. status is installed, updated or up-to-date. Installation does not mean the Agent has loaded the Skill.\n\nAfter success, read entrypoint. To read this installation with docs read/locate, pass output as --directory; default reads do not discover arbitrary installation directories. Obtain server DTS and JSON Schema separately with docs download.",
|
|
2313
|
+
"cli.cmd.docs.install.done": "Skill {0}: {1}",
|
|
2314
|
+
"cli.cmd.docs.install.name": "Official Skill name; currently succapp-docs.",
|
|
2315
|
+
"cli.cmd.docs.install.output": "Final Skill directory containing SKILL.md; relative to the execution directory after -C, or an absolute path. Choose it according to your agent directory conventions.",
|
|
2316
|
+
"cli.cmd.docs.install.force": "Allow overwriting local modifications or conflicting files with the same name; preserve unrelated files.",
|
|
2317
|
+
"cli.cmd.docs.list.summary": "Find indexed manual, DTS and JSON Schema files by path prefix.",
|
|
2318
|
+
"cli.cmd.docs.list.desc": "List the local reference index to discover manuals, type declarations and JSON Schema.",
|
|
2319
|
+
"cli.cmd.docs.locate.summary": "Return a reference file’s absolute local path for editors or local tools.",
|
|
2320
|
+
"cli.cmd.docs.locate.desc": "Find a reference file’s local location and source for further reading and searching with an editor or local tools.",
|
|
2321
|
+
"cli.cmd.docs.read.summary": "Output reference text; automatically download missing packages to Home.",
|
|
2322
|
+
"cli.cmd.docs.read.desc": "Output a reference file’s text for people or AI Agents.\n\nSupports UTF-8 text; binary attachments can be located and opened with an appropriate tool.",
|
|
2323
|
+
"cli.cmd.docs.download.summary": "Download manuals or server references to ~/.succapp/ or a specified directory.",
|
|
2324
|
+
"cli.cmd.docs.download.desc": "Download manuals, type declarations and JSON Schema for local and offline reading.",
|
|
2325
|
+
"cli.cmd.docs.update.summary": "Refresh downloaded references in Home or a specified directory.",
|
|
2326
|
+
"cli.cmd.docs.update.desc": "Refresh downloaded references with the latest content from their site or server, preserving unrelated files and checking local modification conflicts.",
|
|
2327
|
+
"cli.cmd.docs.list.path": "Path prefix within a package, such as guide/ai/analysis/. Omit for manuals; dev-types/ and json-schemas/ select declarations and Schema from the target server.",
|
|
2328
|
+
"cli.cmd.docs.*.path": "POSIX path within a reference package, such as guide/ai/README.md or dev-types/types/meta/file-types/query.d.ts. Absolute paths, URLs and .. are rejected. Reading dev-types/ or json-schemas/ requires a target server.",
|
|
2329
|
+
"cli.cmd.docs.*.directory": "Read only this reference root, without preparation or fallback. Server packages are under dev-types/ or json-schemas/. Relative local paths use the execution directory after -C.",
|
|
2330
|
+
"cli.cmd.docs.*.offline": "Disable networking and fail if references are missing. When omitted, reuse available matching workspace references, then Home copies; download missing packages to Home without modifying the workspace.",
|
|
2331
|
+
"cli.cmd.docs.*.symbol": "Include the DTS type or member to consult; does not extract its body.",
|
|
2332
|
+
"cli.cmd.docs.*.anchor": "Include a section anchor without #; does not extract the section.",
|
|
2333
|
+
"cli.cmd.docs.read.maxChars": "Maximum text length (JavaScript UTF-16 units). Longer text is marked truncated with the full local file location.",
|
|
2334
|
+
"cli.cmd.docs.*.scope": "Select packages repeatedly or comma-separated. manual contains website text manuals, attachments and examples, excluding images and videos; server contains the target server’s complete DTS and JSON Schema, downloaded and updated together. all selects both packages and cannot be combined with other values.",
|
|
2335
|
+
"cli.cmd.docs.*.output": "Reference root. Defaults: ~/.succapp/docs/manual for manuals and ~/.succapp/servers/<server>/support for server references. Relative paths use the execution directory after -C.",
|
|
2336
|
+
"cli.cmd.docs.update.scope": "Select packages repeatedly or comma-separated: manual for website manuals, server for the target server’s complete DTS and Schema, or all for both, which cannot be combined with other values. Omit to check both, skipping server references without a selected server. Explicit server scope requires a target server. Skip packages not downloaded; fail if none can be updated.",
|
|
2337
|
+
"cli.cmd.docs.update.output": "Reference root to update. Defaults to Home references only, without automatically selecting a workspace: ~/.succapp/docs/manual for manuals and ~/.succapp/servers/<server>/support for server references. Relative paths use the execution directory after -C.",
|
|
2338
|
+
"cli.cmd.docs.*.force": "Allow overwriting local changes, without rebinding a directory to another source.",
|
|
2339
|
+
"cli.cmd.docs.list.out": "Lists the local index without inspecting each file; entries[] contains logical relativePath and absolute local path; count is the number of matches, including zero. root is the local reference root and source identifies the origin. Continue reading with local tools after locating the directory.",
|
|
2340
|
+
"cli.cmd.docs.locate.out": "relativePath is the logical path; path is the absolute local file; root is the reference root. source.kind is manual or server and source.url identifies the origin. source.version records the version of a completely downloaded server bundle and is omitted for legacy caches without a confirmed complete version. Reads do not check remote updates. symbol and anchor are reading hints. Read path directly or search root.",
|
|
2341
|
+
"cli.cmd.docs.read.out": "Default text output includes the body followed by local locations; --quiet hides these hints. JSON includes relativePath, path, root and source, plus content, truncated and totalChars. source identifies the origin and the version of the completed server bundle, omitted for legacy caches without a confirmed complete version. Reads do not check remote updates.\n\ntruncated=true requires reading the full local path; totalChars is the full UTF-16 length. symbol and anchor are hints, not extracted sections. Continue reading within root using local tools.",
|
|
2342
|
+
"cli.cmd.docs.download.out": "results[] lists preparation results for each reference package with absolute output roots. Manual results include entrypoint; server results include the matching serverVersion, the absolute local bundle statePath, and both scopes[].path. completedScopes lists finished scopes; complete=true means the selected packages are complete according to their indexes. Website materials exclude images and videos.\n\nFor custom directories, pass the corresponding result output as --directory to docs read/locate. Server references still require the same target server.\n\nmanual and server are processed independently. Within server, DTS and JSON Schema are prepared together, and the new version is recorded only after the complete bundle succeeds. Failure returns a nonzero exit code with completedScopes, failedScopes, pendingScopes and results in error properties; previously completed reference scopes are not rolled back.",
|
|
2343
|
+
"cli.cmd.docs.update.out": "results[] and completedScopes list packages actually updated; skippedScopes lists uninitialized scopes or scopes skipped without a target server. Server results include the matching serverVersion and the absolute local bundle statePath. complete=true means all selected initialized packages were processed, excluding skipped scopes.\n\nUpdating Home does not change workspace references or default read priority. To read the updated copy, pass the corresponding results[] output as --directory to docs read/locate.\n\nmanual and server are processed independently. Within server, DTS and JSON Schema are updated together, and the new version is recorded only after the complete bundle succeeds. Failure returns a nonzero exit code with completedScopes, failedScopes, pendingScopes, skippedScopes and results in error properties; previously completed reference scopes are not rolled back.",
|
|
2344
|
+
"cli.docs.empty": "No matching references.",
|
|
2345
|
+
"cli.docs.preparing": "Preparing local references: {0}",
|
|
2346
|
+
"cli.docs.truncated": "Text truncated. Read the full local file: {0}",
|
|
2347
|
+
"cli.docs.localRoot": "Local reference directory: {0}. Search and read files directly in this directory.",
|
|
2348
|
+
"cli.docs.localFile": "Local file:\n {0}\nReference directory:\n {1}\n\nRead the file directly or search within the reference directory.",
|
|
2349
|
+
"cli.docs.referenceLocal": "Local file: {1}; reference directory: {0}. Read or search directly.",
|
|
2350
|
+
"cli.docs.referenceMissing": "Default reference directory for this server: {0}. No usable local copy of the target file; this query did not download references. Use the read command to obtain them.",
|
|
1514
2351
|
"cli.cmd.model.title": "Model",
|
|
1515
2352
|
"cli.cmd.model.summary": "inspect and query semantic data models",
|
|
1516
|
-
"cli.cmd.model.desc": "Inspect and query SuccApp semantic data models.\n\
|
|
2353
|
+
"cli.cmd.model.desc": "Inspect and query SuccApp semantic data models.\n\nProvides model search, metadata and field structure, index declarations, model and field profiles, data previews and CSV exports. Supports single-model filtering, aggregation and multi-model joins.",
|
|
1517
2354
|
"cli.cmd.model.search.summary": "Search semantic models.",
|
|
1518
|
-
"cli.cmd.model.search.desc": "Search
|
|
1519
|
-
"cli.cmd.model.search.
|
|
2355
|
+
"cli.cmd.model.search.desc": "Search .tbl semantic models visible to the current user to find data for an analysis task.\n\nSupports exact path lookup and combined location, model-property and field-property filters. Results are limited by user permissions and result limits.",
|
|
2356
|
+
"cli.cmd.model.search.out": "results[] is ordered by relevance. Each item contains a model summary, matched fields[], score, and matchedOn evidence. Use results[].model.path in subsequent commands; fields[] is not the full model field list.\n\nsummary.returned counts returned models; summary.hasMore indicates more matching models; summary.matchedFields counts only returned matched fields. No matches produce results=[] and empty.reason=noMatches.",
|
|
2357
|
+
"cli.cmd.model.search.query": "Starts with '/': full model path or path glob. Contains '*' or '?': model file name glob. Otherwise uses the keyword to broadly search model metadata or metadata of fields visible by default.",
|
|
1520
2358
|
"cli.cmd.model.search.path": "Search by an absolute model metadata path glob; a project root searches recursively. Can be combined with a keyword <query>, but not with a path <query>, --project, --parent-dir, or --name.",
|
|
1521
2359
|
"cli.cmd.model.search.name": "Search by a model file name glob; without wildcards, matches exactly. Can be combined with a keyword <query>, --project, and --parent-dir, but not with a glob <query> or --path.",
|
|
1522
2360
|
"cli.cmd.model.search.parentDir": "Search one absolute directory scope recursively. Glob wildcards are not supported; use --path='/DIR/*' for direct children. With --project, its first path segment must match the project name.",
|
|
1523
|
-
"cli.cmd.model.search.project": "Match one project name. Can be combined with --parent-dir and --name.",
|
|
2361
|
+
"cli.cmd.model.search.project": "Match one project name exactly. Can be combined with --parent-dir and --name.",
|
|
1524
2362
|
"cli.cmd.model.search.type": "Match Table.tableType values. Repeat or use comma-separated values; values are ORed.",
|
|
1525
|
-
"cli.cmd.model.search.contains": "Require every value to match a model name, description, or physical table name (AND). Plain text uses case-insensitive contains; /pattern/flags uses regex with i (case-insensitive), m (multiline), and g (compatibility only; no effect).",
|
|
1526
|
-
"cli.cmd.model.search.containsAny": "Match when any value matches a model name, description, or physical table name (OR). Plain text uses case-insensitive contains; /pattern/flags uses regex with i, m, and g (compatibility only; no effect).",
|
|
1527
|
-
"cli.cmd.model.search.fieldContains": "Require every value to match a field name, description, physical name, or keyword (AND). Plain text uses case-insensitive contains; /pattern/flags uses regex with i (case-insensitive), m (multiline), and g (compatibility only; no effect).",
|
|
1528
|
-
"cli.cmd.model.search.fieldContainsAny": "Match when any value matches a field name, description, physical name, or keyword (OR). Plain text uses case-insensitive contains; /pattern/flags uses regex with i, m, and g (compatibility only; no effect).",
|
|
1529
|
-
"cli.cmd.model.search.fieldMatch": "
|
|
2363
|
+
"cli.cmd.model.search.contains": "Require every value to match a model name, description, or physical table name (AND). Plain text uses case-insensitive contains; /pattern/flags uses regex with i (case-insensitive), m (multiline), and g (compatibility only; no effect). Repeat the option for multiple values; commas within a value are literal text.",
|
|
2364
|
+
"cli.cmd.model.search.containsAny": "Match when any value matches a model name, description, or physical table name (OR). Plain text uses case-insensitive contains; /pattern/flags uses regex with i, m, and g (compatibility only; no effect). Repeat the option for multiple values; commas within a value are literal text.",
|
|
2365
|
+
"cli.cmd.model.search.fieldContains": "Require every value to match a field name, description, physical name, or keyword (AND). Plain text uses case-insensitive contains; /pattern/flags uses regex with i (case-insensitive), m (multiline), and g (compatibility only; no effect). Repeat the option for multiple values; commas within a value are literal text.",
|
|
2366
|
+
"cli.cmd.model.search.fieldContainsAny": "Match when any value matches a field name, description, physical name, or keyword (OR). Plain text uses case-insensitive contains; /pattern/flags uses regex with i, m, and g (compatibility only; no effect). Repeat the option for multiple values; commas within a value are literal text.",
|
|
2367
|
+
"cli.cmd.model.search.fieldMatch": "Restrict the field roles searched: dim for dimensions, measure for measures, all for all roles (default).",
|
|
1530
2368
|
"cli.cmd.model.search.allFields": "Include hidden and extended fields in field-text matching.",
|
|
1531
|
-
"cli.cmd.model.search.fieldLimit": "Maximum
|
|
1532
|
-
"cli.cmd.model.search.limit": "
|
|
2369
|
+
"cli.cmd.model.search.fieldLimit": "Maximum matching fields per model; defaults to 5 when omitted.",
|
|
2370
|
+
"cli.cmd.model.search.limit": "Maximum number of most relevant models; defaults to 50 when omitted.",
|
|
1533
2371
|
"cli.cmd.model.search.empty": "No matching models.",
|
|
1534
2372
|
"cli.cmd.model.search.pathHint": "'{0}' is an exact model path. Use '{1}' to search recursively.",
|
|
1535
2373
|
"cli.cmd.model.search.nameHint": "Model names match exactly without wildcards; wildcards and the .tbl suffix are not added automatically.",
|
|
1536
2374
|
"cli.cmd.model.search.hasMore": "Only the {0} most relevant models are shown; add a project, directory, type, or more specific keyword to narrow the search.",
|
|
1537
2375
|
"cli.cmd.model.show.summary": "Show model metadata summary.",
|
|
1538
|
-
"cli.cmd.model.show.desc": "
|
|
2376
|
+
"cli.cmd.model.show.desc": "Inspect a semantic model metadata summary, including its type, field count and key declarations.\n\nDoes not query model data rows.",
|
|
2377
|
+
"cli.cmd.model.show.out": "model is a summary object containing path, tableType, fieldCount, primaryKeys, and businessKeys, rather than a model path string. Key and index metadata does not establish data uniqueness.",
|
|
1539
2378
|
"cli.cmd.model.profile.summary": "Profile one semantic model.",
|
|
1540
|
-
"cli.cmd.model.profile.desc": "
|
|
2379
|
+
"cli.cmd.model.profile.desc": "Inspect a model summary, full current-version metadata and actual physical table row count.\n\nProvides an overview of model structure and data volume, without field-level statistical distributions.\n\nCounting rows accesses the data source and may be affected by permissions or connectivity.",
|
|
2380
|
+
"cli.cmd.model.profile.out": "model contains the summary; fullMetadata contains the complete current-version metadata (succ.meta.dw.Table). Use --json for full metadata. dataRowCount.value is the actual row count; dataRowCount.errorInfo explains counting failures. Missing or failed counts do not mean 0.",
|
|
1541
2381
|
"cli.cmd.model.fieldProfile.summary": "Profile selected model fields.",
|
|
1542
|
-
"cli.cmd.model.fieldProfile.desc": "Inspect
|
|
1543
|
-
"cli.cmd.model.fieldProfile.
|
|
1544
|
-
"cli.cmd.model.fieldProfile.
|
|
1545
|
-
"cli.cmd.model.fieldProfile.
|
|
1546
|
-
"cli.cmd.model.fieldProfile.
|
|
1547
|
-
"cli.cmd.model.fieldProfile.
|
|
1548
|
-
"cli.cmd.model.fieldProfile.
|
|
2382
|
+
"cli.cmd.model.fieldProfile.desc": "Inspect model field profiles to understand field semantics, analytical roles, dimension attributes and data distributions.\n\nSupports structure-only inspection and on-demand statistics. Available capabilities depend on field types, data sources, data volume, permissions and masking settings.\n\nData statistics may scan the data source and incur query costs.",
|
|
2383
|
+
"cli.cmd.model.fieldProfile.out": "fields[] contains the selected field profiles, identified by fieldPath. role/inferredRole describe analytical roles; dataProfile holds requested statistics. Missing statistics do not mean 0; unavailable calculations are listed in fields[].dataProfile.unavailableProperties. The dimension, dimensionAttributes, and dataProfile properties below belong to each fields[] item.\n\ndimension describes the associated dimension table and display field; dimensionAttributes[].fieldPath provides queryable attribute paths. topValues returns raw values and does not guarantee display labels.\n\nCapability depends on field type, data source, data volume, permissions, and masking. nullCount/nullRate apply to queryable fields. Numeric fields can use distinctCount, minValue, maxValue, sum, avg, zeroCount, negativeCount, topValues, and sampleValues. String/date fields can use distinctCount, minValue, maxValue, topValues, and sampleValues; boolean fields can use distinctCount, topValues, and sampleValues. median, p90, and p95 are accepted for protocol compatibility but currently return unsupported. Check dataProfile.unavailableProperties for the actual result. For unknown-size models, distinctCount/topValues run only after the visible row count is confirmed at 100,000 or less; million-scale models return costLimit. JSON sum/avg values are decimal strings to preserve precision.",
|
|
2384
|
+
"cli.cmd.model.fieldProfile.field": "Field physical name, business name, or fieldPath. Repeat to select up to 20 fields; equivalent names are deduplicated by fieldPath.\n\nSelect at least one field.",
|
|
2385
|
+
"cli.cmd.model.fieldProfile.dataProperty": "Statistics to compute; repeat or separate with commas. Omit to calculate nullCount, nullRate, distinctCount, minValue and maxValue.",
|
|
2386
|
+
"cli.cmd.model.fieldProfile.noData": "Do not scan field data; return field semantics and dimension attributes only. Cannot be combined with --data-property.",
|
|
2387
|
+
"cli.cmd.model.fieldProfile.topN": "Maximum topValues entries; defaults to 20 when omitted.",
|
|
2388
|
+
"cli.cmd.model.fieldProfile.sampleLimit": "Maximum sampleValues entries; defaults to 10 when omitted.",
|
|
2389
|
+
"cli.cmd.model.fieldProfile.dimensionAttributeDepth": "Dimension attribute expansion depth; defaults to 1 when omitted.",
|
|
1549
2390
|
"cli.cmd.model.fields.summary": "List model fields.",
|
|
1550
|
-
"cli.cmd.model.fields.desc": "List semantic model fields
|
|
2391
|
+
"cli.cmd.model.fields.desc": "List semantic model fields to identify query fields and their types.\n\nSupports field-property and name filtering without calculating statistical distributions.",
|
|
2392
|
+
"cli.cmd.model.fields.out": "fields[] describes model fields. name is the stable model field name, not a guarantee of a physical column with the same name; computed and linked fields require their model definitions. Use expVarName for expression references, falling back to name when absent. dataType is the type, dim marks dimension keys and hidden marks hidden fields. Confirm physical SQL column names against the actual table instead of copying every model field. No matches returns fields=[] and empty.reason=noMatches.",
|
|
1551
2393
|
"cli.cmd.model.fields.all": "Include hidden fields and extended properties.",
|
|
1552
|
-
"cli.cmd.model.fields.contains": "Match fields by name, title, or
|
|
2394
|
+
"cli.cmd.model.fields.contains": "Match model fields by name, title, description, or keywords. Plain text uses case-insensitive contains; /pattern/flags uses regex with i, m, and g (compatibility only; no effect).",
|
|
1553
2395
|
"cli.cmd.model.fields.dim": "Only list dimension-key fields.",
|
|
1554
2396
|
"cli.cmd.model.fields.measure": "Only list measure fields.",
|
|
1555
2397
|
"cli.cmd.model.fields.empty": "No matching fields found.",
|
|
1556
2398
|
"cli.cmd.model.indexes.summary": "List model indexes.",
|
|
1557
|
-
"cli.cmd.model.indexes.desc": "List primary keys, business keys
|
|
2399
|
+
"cli.cmd.model.indexes.desc": "List primary keys, business keys and index declarations for a semantic model.\n\nDeclarations do not verify data uniqueness; the command does not create or rebuild database indexes.",
|
|
2400
|
+
"cli.cmd.model.indexes.out": "indexes[] contains index declarations. kind identifies the key or index category; fields[] lists its fields; unique and enabled describe declared uniqueness and enabled state. No indexes produce indexes=[] and empty.reason=emptyCollection.",
|
|
1558
2401
|
"cli.cmd.model.indexes.empty": "This model has no indexes.",
|
|
1559
2402
|
"cli.cmd.model.*.select": "Select fields, separated by commas. Can be repeated.",
|
|
1560
|
-
"cli.cmd.model.*.maxRows": "Maximum preview
|
|
1561
|
-
"cli.cmd.model.*.
|
|
1562
|
-
"cli.cmd.model
|
|
1563
|
-
"cli.cmd.model
|
|
1564
|
-
"cli.cmd.model.select.
|
|
1565
|
-
"cli.cmd.model.select.
|
|
1566
|
-
"cli.cmd.model.select.where": "Filter expression, for example STATUS='ACTIVE'.",
|
|
2403
|
+
"cli.cmd.model.*.maxRows": "Maximum preview rows. The matching server defaults to 100 with a maximum of 1000; actual limits depend on the target server.",
|
|
2404
|
+
"cli.cmd.model.*.model": "A .tbl model path returned by model search, e.g. /DEMO/data/tables/customer.tbl.",
|
|
2405
|
+
"cli.cmd.model.select.summary": "Query data from one model on the server.",
|
|
2406
|
+
"cli.cmd.model.select.desc": "Query data from one .tbl model on the server to inspect detail records and check sample data.\n\nUse SuccApp expressions for filtering and sorting. Queries use the model definition saved on the server; they do not read or upload unsynchronized local .tbl content.\n\nReturned results are subject to the target server's preview row limit and cannot establish the complete data set or total counts.",
|
|
2407
|
+
"cli.cmd.model.select.out": "Key JSON output example (common result fields omitted; comments explain fields; actual output is strict JSON):\n {\n \"model\": \"/project/data/orders.tbl\", // Target model path\n \"result\": { // Query result\n \"fields\": [ // Field metadata in column order\n {\n \"name\": \"id\", // Key used in result.rows records\n \"dataType\": \"string\", // Data type\n \"sqlType\": \"VARCHAR\" // SQL type; optional\n }\n ],\n \"rows\": [ // Record array; [] when empty\n {\n \"id\": \"A001\" // Read actual JSON types; distinguish null and \"\"\n }\n ],\n \"rowCount\": 1, // Returned rows, not total; if absent, use result.rows.length\n \"maxRows\": 100, // Actual preview cap; optional\n \"truncated\": false, // Truncated by the preview cap; optional\n \"elapsedMs\": 12, // Elapsed milliseconds; optional\n \"timeoutMs\": 30000 // Timeout in milliseconds; optional\n }\n }\n\nAn absent truncated does not mean false; even false does not remove the query's own row limit.",
|
|
2408
|
+
"cli.cmd.model.select.where": "Filter expression, for example STATUS='ACTIVE'.\n\nUse a SuccApp expression, not a SQL statement. This filters query results; it does not assign model parameters. Use source parameter assignments in model query for parameterized queries.",
|
|
1567
2409
|
"cli.cmd.model.select.order": "Sort expression, for example CREATE_TIME desc.",
|
|
1568
|
-
"cli.cmd.model.
|
|
1569
|
-
"cli.cmd.model.query.
|
|
1570
|
-
"cli.cmd.model.query.
|
|
2410
|
+
"cli.cmd.model.query.summary": "Run complex semantic-layer queries on the server.",
|
|
2411
|
+
"cli.cmd.model.query.desc": "Run complex semantic-layer queries on the server against one or more .tbl models.\n\nSupports detail queries, calculated fields, filtering, sorting, grouping and aggregation, multi-model joins, and source model parameter assignments. Use Query DSL to organize the required query logic, with SuccApp expressions for field calculations and conditions.\n\nModels referenced by path or ID use definitions saved on the server; a query file describes a request, not a local .tbl file to execute.\n\nQueries do not write model data. Returned results are subject to the target server's preview row limit.",
|
|
2412
|
+
"cli.cmd.model.query.out": "Key JSON output example (common result fields omitted; comments explain fields; actual output is strict JSON):\n {\n \"result\": { // Query result\n \"fields\": [ // Field metadata in column order\n {\n \"name\": \"id\", // Output key; uses alias when specified\n \"dataType\": \"string\", // Data type\n \"sqlType\": \"VARCHAR\" // SQL type; optional\n }\n ],\n \"rows\": [ // Record array; [] when empty\n {\n \"id\": \"A001\" // Read actual JSON types; distinguish null and \"\"\n }\n ],\n \"rowCount\": 1, // Returned rows, not total; if absent, use result.rows.length\n \"maxRows\": 100, // Actual preview cap; optional\n \"truncated\": false, // Truncated by the preview cap; optional\n \"elapsedMs\": 12, // Elapsed milliseconds; optional\n \"timeoutMs\": 30000 // Timeout in milliseconds; optional\n }\n }\n\nAn absent truncated does not mean false; even false does not remove the query's own row limit.",
|
|
1571
2413
|
"cli.cmd.model.query.empty": "Query succeeded; 0 rows returned.",
|
|
2414
|
+
"cli.cmd.model.query.maxRows": "Maximum preview rows; the matching server defaults to 100 with a maximum of 1000.",
|
|
2415
|
+
"cli.cmd.model.query.input": "Choose exactly one of --query, --query-file and --stdin.\n\nInput uses succ.meta.dw.Query as strict JSON: double-quoted keys and strings, no comments or trailing commas. Field and condition expressions use SuccApp expressions; see the references for guidance. Prefer a file or standard input for complex content.\n\nSee the referenced Query DTS for the full structure, source model parameter assignments and query parameter declarations.\n\nOmitting groupFields with no field marked group:true requests detail rows; setting it to [] requests an overall aggregate.\n\nMinimal input example (replace the model path and ID field with confirmed, accessible values; save as query.json):\n {\n \"sources\": [\"/DEMO/data/tables/customer.tbl\"],\n \"fields\": [{ \"alias\": \"id\", \"exp\": \"ID\" }],\n \"options\": { \"limit\": 10 }\n }",
|
|
2416
|
+
"cli.cmd.model.query.query": "Pass a Query DSL JSON object directly.",
|
|
2417
|
+
"cli.cmd.model.query.queryFile": "A UTF-8 Query DSL JSON file.",
|
|
2418
|
+
"cli.cmd.model.query.stdin": "Read Query DSL JSON from standard input.",
|
|
1572
2419
|
"cli.cmd.model.export.summary": "Export model query results as CSV.",
|
|
1573
|
-
"cli.cmd.model.export.desc": "Export
|
|
1574
|
-
"cli.cmd.model.export.
|
|
2420
|
+
"cli.cmd.model.export.desc": "Export single-model or Query DSL query results to a local CSV file.\n\nSupports single-model field selection, filtering and ordering, as well as aggregate and join queries. Results are subject to query conditions, DSL capabilities and access permissions.\n\nWrites a local file without modifying model data.",
|
|
2421
|
+
"cli.cmd.model.export.out": "Key JSON output example (common result fields omitted; comments explain fields; actual output is strict JSON):\n {\n \"model\": \"/project/data/orders.tbl\", // Single-model mode; DSL mode uses \"query\": true\n \"output\": \"/work/orders.csv\", // Absolute local path receiving the CSV content\n \"size\": 128 // File size in bytes\n }\n\nThe current companion server produces UTF-8 CSV without a BOM, using commas and LF. Fields containing commas, quotes or line breaks are quoted, with internal quotes doubled: 中文,\"引号\" becomes \"中文,\"\"引号\"\"\". Null and empty strings may both be empty fields; CSV does not preserve all types. The first row contains result field names. Binary values are length tags, not raw content.",
|
|
2422
|
+
"cli.cmd.model.export.where": "A SuccApp filter expression for single-model exports, not a SQL statement; has no effect in Query DSL mode.",
|
|
1575
2423
|
"cli.cmd.model.export.order": "Sort expression for single-model export.",
|
|
1576
|
-
"cli.cmd.model.export.output": "
|
|
1577
|
-
"cli.cmd.model.export.force": "
|
|
2424
|
+
"cli.cmd.model.export.output": "Local CSV output file; overwriting an existing file requires --force.",
|
|
2425
|
+
"cli.cmd.model.export.force": "Allow overwriting an existing local output file.",
|
|
1578
2426
|
"cli.cmd.model.export.exportedData": "Exported data to {0}",
|
|
1579
|
-
"cli.cmd.model
|
|
2427
|
+
"cli.cmd.model.export.input": "Choose exactly one input: <model>, --query, --query-file or --stdin. --select, --where and --order apply only in single-model mode.\n\nQuery DSL input uses succ.meta.dw.Query as strict JSON: double-quoted keys and strings, no comments or trailing commas. Prefer a file or standard input for complex content.\nMinimal input example (replace the model path and ID field with confirmed, accessible values; save as query.json):\n {\n \"sources\": [\"/DEMO/data/tables/customer.tbl\"],\n \"fields\": [{ \"alias\": \"id\", \"exp\": \"ID\" }],\n \"options\": { \"limit\": 10 }\n }",
|
|
2428
|
+
"cli.cmd.model.export.query": "Pass a Query DSL JSON object directly.",
|
|
2429
|
+
"cli.cmd.model.export.queryFile": "A UTF-8 Query DSL JSON file.",
|
|
2430
|
+
"cli.cmd.model.export.stdin": "Read Query DSL JSON from standard input.",
|
|
2431
|
+
"cli.cmd.model.export.model": "A .tbl model path returned by model search, for example /DEMO/data/tables/customer.tbl.",
|
|
2432
|
+
"cli.cmd.server.schedule.title": "System schedules",
|
|
2433
|
+
"cli.cmd.server.schedule.summary": "Manage system schedules and categories.",
|
|
2434
|
+
"cli.cmd.server.schedule.desc": "Manage system scheduling on the selected server without a local workspace or project argument.",
|
|
2435
|
+
"cli.cmd.server.schedule.*.name": "Match names containing this text.",
|
|
2436
|
+
"cli.cmd.server.schedule.*.enabled": "Only enabled schedules; mutually exclusive with --disabled.",
|
|
2437
|
+
"cli.cmd.server.schedule.*.disabled": "Only disabled schedules; mutually exclusive with --enabled.",
|
|
2438
|
+
"cli.cmd.server.schedule.*.categoryId": "Filter by category id, without selecting category management mode.",
|
|
2439
|
+
"cli.cmd.server.schedule.*.resource": "Absolute path of an existing server resource, resolved to its metadata id.",
|
|
2440
|
+
"cli.cmd.server.schedule.*.state": "Comma-separated states, trimming whitespace and duplicates; do not repeat this flag. UNKNOWN, WAITING, RUNNING, SUCCESS, ERROR, TIMEOUT, SKIP, BLOCK, CANCEL.",
|
|
2441
|
+
"cli.cmd.server.schedule.*.offset": "Offset within matching records.",
|
|
2442
|
+
"cli.cmd.server.schedule.*.limit": "Page size for matching records.",
|
|
2443
|
+
"cli.cmd.server.schedule.*.force": "Confirm deletion; does not bypass server permissions or running-state restrictions.",
|
|
2444
|
+
"cli.cmd.server.schedule.*.retry": "Historical schedule run id; retry failed or blocked tasks.",
|
|
2445
|
+
"cli.cmd.server.schedule.*.ignoreTaskCondition": "Explicitly bypass task conditions, which are honored by default.",
|
|
2446
|
+
"cli.cmd.server.schedule.*.run": "Exact schedule run id, exclusive with --latest.",
|
|
2447
|
+
"cli.cmd.server.schedule.*.latest": "Resolve the latest run once; it is not proof of correlation with the last run request.",
|
|
2448
|
+
"cli.cmd.server.schedule.*.startTime": "startTime >= the specified date-time (for example 2026-10-23 12:34:56.789; milliseconds also accepted). Unzoned strings use the server time zone.",
|
|
2449
|
+
"cli.cmd.server.schedule.*.endTime": "endTime < the specified date-time (for example 2026-10-23 12:34:56.789; milliseconds also accepted); unfinished records are excluded. Unzoned strings use the server time zone.",
|
|
2450
|
+
"cli.cmd.server.schedule.*.minDuration": "Seconds: >= when alone; both min/max use inclusive BETWEEN.",
|
|
2451
|
+
"cli.cmd.server.schedule.*.maxDuration": "Seconds: < when alone; both min/max use inclusive BETWEEN.",
|
|
2452
|
+
"cli.cmd.server.schedule.list.summary": "List system schedules or categories.",
|
|
2453
|
+
"cli.cmd.server.schedule.list.desc": "Find schedules by name, enabled state, category or referenced resource for inspection and execution.\n\nRequires login and system schedule view permission; resource filtering also requires access to the referenced resource.",
|
|
2454
|
+
"cli.cmd.server.schedule.list.out": "schedules contains ScheduleQueryInfo records: current configuration and query metadata, with fields from the latest associated run; categories contains ScheduleCategory records. Configuration may have changed since that run. totalCount is the matching count.\n\nHuman output is a summary; use --json or --pretty-json for all fields. See the complete query and runtime references for identities, counters, result states and time units. Accurate filtering may read all matching data; changing data has no snapshot guarantee. Date-time strings include the server offset.",
|
|
2455
|
+
"cli.cmd.server.schedule.list.category": "Boolean switch to list categories, not a category id. Lists schedules by default; this switch returns the full category list and rejects schedule filters.",
|
|
2456
|
+
"cli.cmd.server.schedule.show.summary": "Inspect a schedule or category.",
|
|
2457
|
+
"cli.cmd.server.schedule.show.desc": "Read the configuration of a schedule or category to inspect or prepare an update.\n\nReading does not run the schedule. Query task configurations with server task list and run records with server schedule history.\n\nRequires login and permission to view the target schedule or its categories.",
|
|
2458
|
+
"cli.cmd.server.schedule.show.out": "schedule is a ScheduleQueryInfo record combining current configuration and the latest associated run; category is a ScheduleCategory record. The configuration is not an execution-time snapshot. Extract it into a JSON file for update; do not submit the result envelope. Missing targets fail. See the extraction example; edit schedule-patch.json and submit it with server schedule update --schedule=./schedule-patch.json --json.\n\nHuman output shows business settings and available task counts, creation/modification information and state. Use --json or --pretty-json for all fields. Date-time strings include the server offset; preserve them when resubmitting.",
|
|
2459
|
+
"cli.cmd.server.schedule.show.schedule": "Schedule id; mutually exclusive with --category. Specify once.",
|
|
2460
|
+
"cli.cmd.server.schedule.show.category": "Schedule category id; mutually exclusive with --schedule.",
|
|
2461
|
+
"cli.cmd.server.schedule.create.summary": "Create a schedule or schedule category.",
|
|
2462
|
+
"cli.cmd.server.schedule.create.desc": "Create one system schedule or schedule category. Add tasks with server task create.\n\nRequires login and system schedule management permission.",
|
|
2463
|
+
"cli.cmd.server.schedule.create.out": "id identifies the saved object; schedule or category contains the complete API object read back after saving. Failures retain confirmed effects, without automatic retries. If enabling fails, the created schedule and confirmed steps are retained.",
|
|
2464
|
+
"cli.cmd.server.schedule.create.input": "UTF-8 JSON object file or - for stdin; choose exactly one of --schedule and --category. Object fields use camelCase API names; enableRetry accepts only true/false or numeric 0/1. Other booleans follow server conversion rules. See the DTS references for fields, types and units.",
|
|
2465
|
+
"cli.cmd.server.schedule.create.schedule": "Requires scheduleName; omit scheduleId. scheduleType supports common/data/sub and defaults to common; enabled defaults to false. For a recurring schedule also configure its scheduleType, cron and other business settings; see ScheduleInfo in the DTS. Add tasks separately with server task create. Set enabled to choose the initial enabled state.",
|
|
2466
|
+
"cli.cmd.server.schedule.create.category": "Requires caption; id is optional (max 32 characters).",
|
|
2467
|
+
"cli.cmd.server.schedule.update.summary": "Patch a schedule or category from JSON.",
|
|
2468
|
+
"cli.cmd.server.schedule.update.desc": "Change scheduling, enabled state and classification, or rename a schedule category.\n\nRequires login and management permission for the target schedule.",
|
|
2469
|
+
"cli.cmd.server.schedule.update.out": "Single results return id and a complete schedule or category. Batch results contain id/status/schedule per target. Confirmed business rejections continue; connection, authentication or uncertain submissions stop processing, leaving remaining targets notStarted. Partial business failure exits 1, invalid input 2, network/authentication 5. There is no cross-schedule transaction or automatic retry.",
|
|
2470
|
+
"cli.cmd.server.schedule.update.input": "UTF-8 JSON object file or - for stdin; choose exactly one of --schedule and --category. Omitted fields stay unchanged. Submit a API-field patch or a complete API object extracted from show/list; do not submit the result envelope. See the DTS references for field definitions. Read/merge/write has no concurrency protection.",
|
|
2471
|
+
"cli.cmd.server.schedule.update.schedule": "A single patch requires scheduleId; also accepts a {\"schedules\":[...]} batch root. IDs must be unique; all targets are checked for existence before per-request server validation and writes. enabled:false disables the schedule rather than toggling its state. Set scheduleStartTime/scheduleEndTime to null to clear the date; omission preserves it.",
|
|
2472
|
+
"cli.cmd.server.schedule.update.category": "Requires id and caption; supports renaming only.",
|
|
2473
|
+
"cli.cmd.server.schedule.run.summary": "Run a complete schedule or retry a run.",
|
|
2474
|
+
"cli.cmd.server.schedule.run.desc": "Execute a complete schedule or retry failed or blocked tasks from a historical run. Use server task run to execute selected tasks.\n\nExecution can change business data. Manual runs bypass schedule timing and conditions but honor task conditions by default. Requests are not retried; success means acceptance only.\n\nRequires login and permission to use the target schedule.",
|
|
2475
|
+
"cli.cmd.server.schedule.run.out": "accepted:true only confirms acceptance; mode is schedule/retry. No new run id is returned. Use history to verify actual runs; --wait is not supported.",
|
|
2476
|
+
"cli.cmd.server.schedule.run.schedule": "Exact schedule id. group schedules and schedules containing workflow/sub/check/schedule task types are unsupported.",
|
|
2477
|
+
"cli.cmd.server.schedule.stop.summary": "Stop a running schedule.",
|
|
2478
|
+
"cli.cmd.server.schedule.stop.desc": "Request cancellation of a running schedule without changing its enabled state.\n\nCompleted task effects are not rolled back, and acceptance does not mean every task has already exited.\n\nRequires login and permission to use the target schedule.",
|
|
2479
|
+
"cli.cmd.server.schedule.stop.out": "accepted confirms cancellation acceptance, not a terminal state.",
|
|
2480
|
+
"cli.cmd.server.schedule.stop.schedule": "Exact schedule id.",
|
|
2481
|
+
"cli.cmd.server.schedule.history.summary": "Query schedule run records.",
|
|
2482
|
+
"cli.cmd.server.schedule.history.desc": "Query schedule run records or select one exact run. Use server task history for task results and server schedule dependencies for dependency snapshots, and server schedule logs/server task logs for logs.\n\nRequires login and permission to view the target schedule.",
|
|
2483
|
+
"cli.cmd.server.schedule.history.out": "runs is an array of ScheduleQueryInfo records; totalCount is the matching total. Each scheduleRunId identifies the selected historical run. Associated current configuration is only available while that run is still the schedule's latest run; older runs may omit it. It is never a historical configuration snapshot. taskCount counts current configured tasks; taskRunCount and result counts belong to that run.\n\n--run/--latest returns at most one record without page metadata. See the complete query and runtime references for all fields and states. Accurate totals may scan all matching pages; live data has no snapshot guarantee. Date-time strings include the server offset.",
|
|
2484
|
+
"cli.cmd.server.schedule.history.run": "Schedule run id, mutually exclusive with --latest. Either run selector rejects --state, --failed, --start-time, --end-time, --min-duration, --max-duration, --offset, --limit and --all.",
|
|
2485
|
+
"cli.cmd.server.schedule.history.latest": "Resolve the latest run once; the same filter and pagination restrictions as --run apply. This does not prove correlation with the last execution request.",
|
|
2486
|
+
"cli.cmd.server.schedule.history.schedule": "Exact schedule id.",
|
|
2487
|
+
"cli.cmd.server.schedule.history.offset": "Record offset in the schedule run list; exclusive with --run/--latest.",
|
|
2488
|
+
"cli.cmd.server.schedule.history.limit": "Page size in the schedule run list; exclusive with --run/--latest.",
|
|
2489
|
+
"cli.cmd.server.schedule.remove.summary": "Delete schedules or schedule categories.",
|
|
2490
|
+
"cli.cmd.server.schedule.remove.desc": "Delete selected system schedules and their tasks, or schedule categories.\n\nExplicit confirmation is required. Child category handling follows server rules. Referenced scripts and models are not deleted.\n\nRequires login and management permission for the target schedules or system schedule categories.",
|
|
2491
|
+
"cli.cmd.server.schedule.remove.out": "ids identifies the requested targets; success and results report removal verification for each target.",
|
|
2492
|
+
"cli.cmd.server.schedule.remove.schedule": "Schedule id; choose exactly one object type. Repeatable for deletion.",
|
|
2493
|
+
"cli.cmd.server.schedule.remove.category": "Schedule category IDs to delete; repeat for multiple categories. Mutually exclusive with --schedule.",
|
|
2494
|
+
"cli.cmd.server.task.title": "Schedule tasks",
|
|
2495
|
+
"cli.cmd.server.task.summary": "Manage tasks and categories within schedules.",
|
|
2496
|
+
"cli.cmd.server.task.desc": "Manage system scheduling on the selected server without a local workspace or project argument.",
|
|
2497
|
+
"cli.cmd.server.task.*.name": "Contains match on associated resource NAME or desc, not task IDs.",
|
|
2498
|
+
"cli.cmd.server.task.*.categoryId": "Match current tasks in this category and its descendants; does not select category directory mode.",
|
|
2499
|
+
"cli.cmd.server.task.*.resource": "Absolute path of an existing server resource, resolved to its metadata id.",
|
|
2500
|
+
"cli.cmd.server.task.*.type": "Task type such as script, etl, afl or kdb. Queries may use the raw type of an existing record.",
|
|
2501
|
+
"cli.cmd.server.task.*.creator": "Creator id.",
|
|
2502
|
+
"cli.cmd.server.task.*.state": "Comma-separated states, trimming whitespace and duplicates; do not repeat this flag. UNKNOWN, WAITING, RUNNING, SUCCESS, ERROR, TIMEOUT, SKIP, BLOCK, CANCEL.",
|
|
2503
|
+
"cli.cmd.server.task.*.priority": "Filter current tasks by effective priority, including category and schedule inheritance.",
|
|
2504
|
+
"cli.cmd.server.task.*.offset": "Record offset within matching tasks or task runs.",
|
|
2505
|
+
"cli.cmd.server.task.*.limit": "Page size for matching tasks or task runs.",
|
|
2506
|
+
"cli.cmd.server.task.*.force": "Confirm deletion; does not bypass server permissions or running-state restrictions.",
|
|
2507
|
+
"cli.cmd.server.task.list.summary": "List system tasks or task categories within a schedule.",
|
|
2508
|
+
"cli.cmd.server.task.list.desc": "Find current tasks or categories.\n\nAccurate totals, filtering and stable sorting may scan all matching pages, using network, CPU and memory; changing data has no snapshot guarantee.\n\nRequires login and view permission.",
|
|
2509
|
+
"cli.cmd.server.task.list.out": "tasks contains TaskQueryInfo records: own configuration, latest run fields and current resource information; categories contains TaskCategory records. Missing inheritable settings do not mean no effective setting exists. schedules contains current ScheduleQueryInfo records associated with this page, deduplicated by scheduleId. totalCount is the matching count.\n\nHuman output is a summary; use --json or --pretty-json for all fields and full paths. See the complete query and runtime references for field meanings. Accurate filtering may read all matching pages; changing data has no snapshot guarantee. Date-time strings include the server offset.",
|
|
2510
|
+
"cli.cmd.server.task.list.schedule": "Exact schedule id; optional for cross-schedule task listing, required in category mode.",
|
|
2511
|
+
"cli.cmd.server.task.list.category": "Boolean switch to list categories, not a category id. Requires --schedule; returns the complete category directory and rejects task filters and pagination.",
|
|
2512
|
+
"cli.cmd.server.task.create.summary": "Add tasks to a schedule or create a category.",
|
|
2513
|
+
"cli.cmd.server.task.create.desc": "Add existing server resources as tasks to one system schedule, or create a task category within it.\n\nThis command does not upload resources or enable the schedule. Adding a resource already in the schedule may reuse its task and update submitted configuration. Read back the task before retrying; verified does not prove a new task was created.\n\nRequires login and permission to use the target schedule, plus access to referenced resources.",
|
|
2514
|
+
"cli.cmd.server.task.create.out": "tasks contains complete task objects read back after saving; categories return id and a complete category. results reports per-task verification; verified confirms a matching target, not necessarily a newly created one. Failures retain confirmed effects, without automatic retry.",
|
|
2515
|
+
"cli.cmd.server.task.create.schedule": "Exact parent schedule id, required.",
|
|
2516
|
+
"cli.cmd.server.task.create.input": "UTF-8 JSON object file or - for stdin; choose exactly one of --task and --category. Object fields use camelCase API names; use true/false or 0/1 for booleans; other values follow server conversion rules. See the DTS references for fields, types and units.",
|
|
2517
|
+
"cli.cmd.server.task.create.task": "Requires a nonempty {\"tasks\":[...]} root. Each item requires taskType and exactly one of resid or resPath (an existing absolute server path); omit taskId. An optional scheduleId must match --schedule. enabled defaults to true. Ordinary resource types are script/etl/afl/kdb; see TASK_TYPE for internal business tasks and system tasks. workflow/sub/check/schedule task types are unsupported.",
|
|
2518
|
+
"cli.cmd.server.task.create.category": "Requires caption; id is optional (max 32 characters). enableTaskConfs defaults to false on create, inheriting ancestor category or schedule settings; true enables this category's own defaults. See the reference for inheritance rules.",
|
|
2519
|
+
"cli.cmd.server.task.update.summary": "Patch tasks or a task category.",
|
|
2520
|
+
"cli.cmd.server.task.update.desc": "Update tasks in one schedule, or change a task category name, parent, ordering and default execution settings.\n\nRequires login and permission to use the target schedule.",
|
|
2521
|
+
"cli.cmd.server.task.update.out": "tasks contains complete task objects read back after saving, with per-task verification in results; category updates return id and a complete category. Failures retain confirmed effects, without automatic retry.",
|
|
2522
|
+
"cli.cmd.server.task.update.schedule": "Exact parent schedule id, required.",
|
|
2523
|
+
"cli.cmd.server.task.update.input": "UTF-8 JSON object file or - for stdin; choose exactly one of --task and --category. Omitted fields stay unchanged. Submit a API-field patch or a complete API object extracted from show/list; do not submit the result envelope. Read/merge/write has no version protection. See the DTS references for field definitions.",
|
|
2524
|
+
"cli.cmd.server.task.update.task": "Requires a nonempty {\"tasks\":[...]} root. Each item requires taskId. Resource, taskType and parent schedule are immutable; workflow/sub/check/schedule task types cannot be updated. priority:null and timeout:null restore inheritance.",
|
|
2525
|
+
"cli.cmd.server.task.update.category": "Requires id; omitted fields stay unchanged. Clear priority/timeout with null, conditions and execution time restrictions with empty strings, and retryStrategies with an empty array. Category updates maintain inheritance sources for affected descendants. See the reference for inheritance rules.",
|
|
2526
|
+
"cli.cmd.server.task.remove.summary": "Remove tasks or categories from a schedule.",
|
|
2527
|
+
"cli.cmd.server.task.remove.desc": "Remove selected tasks, or delete task categories and descendants according to server rules.\n\nExplicit confirmation is required. All targets must belong to the schedule. Referenced resources are not deleted.\n\nRequires login and permission to use the target schedule.",
|
|
2528
|
+
"cli.cmd.server.task.remove.out": "ids identifies the requested targets; success and results report removal verification for each target.",
|
|
2529
|
+
"cli.cmd.server.task.remove.schedule": "Exact schedule id.",
|
|
2530
|
+
"cli.cmd.server.task.remove.category": "Task category IDs to delete; repeat for multiple categories. Must belong to --schedule and are mutually exclusive with --task.",
|
|
2531
|
+
"cli.cmd.server.task.remove.task": "Task IDs to remove from the schedule; repeat for multiple tasks. Mutually exclusive with --category; referenced resources are retained.",
|
|
2532
|
+
"cli.out.schedule.schedules": "Schedules",
|
|
2533
|
+
"cli.out.schedule.tasks": "Tasks",
|
|
2534
|
+
"cli.out.schedule.categories": "Categories",
|
|
2535
|
+
"cli.out.schedule.config": "Configuration",
|
|
2536
|
+
"cli.out.schedule.runs": "Runs",
|
|
2537
|
+
"cli.out.schedule.id": "id",
|
|
2538
|
+
"cli.out.schedule.ids": "Target IDs",
|
|
2539
|
+
"cli.out.schedule.objectType": "Object type",
|
|
2540
|
+
"cli.out.schedule.accepted": "Request accepted",
|
|
2541
|
+
"cli.out.schedule.mode": "Execution mode",
|
|
2542
|
+
"cli.out.schedule.success": "Operation confirmed",
|
|
2543
|
+
"cli.out.schedule.scheduleId": "Schedule",
|
|
2544
|
+
"cli.out.schedule.offset": "Offset",
|
|
2545
|
+
"cli.out.schedule.limit": "Page size",
|
|
2546
|
+
"cli.out.schedule.totalCount": "Total count",
|
|
2547
|
+
"cli.out.schedule.counts": "Counts",
|
|
2548
|
+
"cli.out.schedule.taskPage": "Task page scope",
|
|
2549
|
+
"cli.out.schedule.taskRun": "Task run state",
|
|
2550
|
+
"cli.out.schedule.logs": "Schedule logs",
|
|
2551
|
+
"cli.out.schedule.dependencies": "Dependency graph",
|
|
2552
|
+
"cli.out.schedule.field": "Field",
|
|
2553
|
+
"cli.out.schedule.value": "Value",
|
|
2554
|
+
"cli.out.schedule.empty": "No matching records, 0 total",
|
|
2555
|
+
"cli.ref.scheduleConfig": "Schedule configuration fields",
|
|
2556
|
+
"cli.ref.scheduleTaskConfig": "Task configuration fields",
|
|
2557
|
+
"cli.ref.scheduleTaskCategory": "Native task category fields",
|
|
2558
|
+
"cli.out.schedule.name": "Name",
|
|
2559
|
+
"cli.out.schedule.type": "Type",
|
|
2560
|
+
"cli.out.schedule.enabled": "Enabled",
|
|
2561
|
+
"cli.out.schedule.priority": "Priority",
|
|
2562
|
+
"cli.out.schedule.categoryId": "Category",
|
|
2563
|
+
"cli.out.schedule.parentId": "Parent category",
|
|
2564
|
+
"cli.out.schedule.order": "Order",
|
|
2565
|
+
"cli.out.schedule.independent": "Independent task defaults",
|
|
2566
|
+
"cli.out.schedule.resourceId": "Resource id",
|
|
2567
|
+
"cli.out.schedule.scheduleRunId": "Schedule run id",
|
|
2568
|
+
"cli.out.schedule.scheduleName": "Schedule name",
|
|
2569
|
+
"cli.out.schedule.taskId": "Task id",
|
|
2570
|
+
"cli.out.schedule.taskRunId": "Task run id",
|
|
2571
|
+
"cli.out.schedule.runState": "Run state",
|
|
2572
|
+
"cli.out.schedule.startTime": "Start time",
|
|
2573
|
+
"cli.out.schedule.endTime": "End time",
|
|
2574
|
+
"cli.out.schedule.step": "Step",
|
|
2575
|
+
"cli.out.schedule.status": "Confirmation",
|
|
2576
|
+
"cli.out.schedule.status.success": "Confirmed",
|
|
2577
|
+
"cli.out.schedule.status.failed": "Failed",
|
|
2578
|
+
"cli.out.schedule.status.unknown": "Result unknown",
|
|
2579
|
+
"cli.input.scheduleConfig": "scheduling JSON configuration",
|
|
2580
|
+
"cli.input.scheduleObject": "scheduling target",
|
|
2581
|
+
"cli.ref.scheduleCategory": "Native schedule category fields",
|
|
2582
|
+
"cli.cmd.server.schedule.*.failed": "Equivalent to --state=ERROR,TIMEOUT; mutually exclusive with --state. BLOCK is separate.",
|
|
2583
|
+
"cli.cmd.server.schedule.*.all": "Traverse all matching pages; exclusive with explicit --offset/--limit.",
|
|
2584
|
+
"cli.cmd.server.schedule.*.toTime": "Log upper bound in Date-time string or milliseconds, logTime <; filtered by the server, which interprets unzoned strings in its own time zone.",
|
|
2585
|
+
"cli.cmd.server.schedule.*.keyword": "Match log body or separate details locally; human output still shows the body only.",
|
|
2586
|
+
"cli.cmd.server.schedule.*.level": "Exact log level: OFF=0, FATAL=1, ERROR=2, WARN=3, IMPT=4, INFO=5, DEBUG=6, TRACE=7. Filtered locally.",
|
|
2587
|
+
"cli.cmd.server.schedule.*.logType": "Exact numeric log type, filtered locally. First query without --log-type using --json, inspect logs[].logType, then reuse the desired value. This is a log category, not the severity selected by --level.",
|
|
2588
|
+
"cli.cmd.server.schedule.*.tail": "Keep the last N matching logs after reading all logs from the lower bound; not server pagination.",
|
|
2589
|
+
"cli.cmd.server.schedule.*.groupBy": "One explicit grouping field. Totals and groups cover the same filtered set; see output for supported modes.",
|
|
2590
|
+
"cli.cmd.server.task.*.failed": "Equivalent to --state=ERROR,TIMEOUT; mutually exclusive with --state. BLOCK is separate.",
|
|
2591
|
+
"cli.cmd.server.task.*.all": "Traverse all matching pages; exclusive with explicit --offset/--limit.",
|
|
2592
|
+
"cli.cmd.server.task.*.startTime": "startTime >= the specified date-time (for example 2026-10-23 12:34:56.789; milliseconds also accepted). Unzoned strings use the server time zone.",
|
|
2593
|
+
"cli.cmd.server.task.*.endTime": "endTime < the specified date-time (for example 2026-10-23 12:34:56.789; milliseconds also accepted); unfinished records are excluded. Unzoned strings use the server time zone.",
|
|
2594
|
+
"cli.cmd.server.task.*.minDuration": "Seconds: >= when alone; both min/max use inclusive BETWEEN.",
|
|
2595
|
+
"cli.cmd.server.task.*.maxDuration": "Seconds: < when alone; both min/max use inclusive BETWEEN.",
|
|
2596
|
+
"cli.cmd.server.task.*.fromTime": "Date-time string or milliseconds; lastUpdateTime strictly > this value. Zero means no update lower bound.",
|
|
2597
|
+
"cli.cmd.server.task.*.toTime": "Log upper bound in Date-time string or milliseconds, logTime <; filtered by the server, which interprets unzoned strings in its own time zone.",
|
|
2598
|
+
"cli.cmd.server.task.*.keyword": "Match log body or separate details locally; human output still shows the body only.",
|
|
2599
|
+
"cli.cmd.server.task.*.level": "Exact log level: OFF=0, FATAL=1, ERROR=2, WARN=3, IMPT=4, INFO=5, DEBUG=6, TRACE=7. Filtered locally.",
|
|
2600
|
+
"cli.cmd.server.task.*.logType": "Exact numeric log type, filtered locally. First query without --log-type using --json, inspect logs[].logType, then reuse the desired value. This is a log category, not the severity selected by --level.",
|
|
2601
|
+
"cli.cmd.server.task.*.tail": "Keep the last N matching logs after reading all logs from the lower bound; not server pagination.",
|
|
2602
|
+
"cli.cmd.server.task.*.groupBy": "One explicit grouping field. Totals and groups cover the same filtered set; see output for supported modes.",
|
|
2603
|
+
"cli.cmd.server.task.*.run": "Exact schedule run id, exclusive with --latest.",
|
|
2604
|
+
"cli.cmd.server.task.*.latest": "Resolve the latest run once; it is not proof of correlation with the last run request.",
|
|
2605
|
+
"cli.cmd.server.task.*.schedule": "Parent schedule id; required for categories and run/latest scope.",
|
|
2606
|
+
"cli.cmd.server.task.*.task": "Task configuration IDs; repeat to select multiple tasks.",
|
|
2607
|
+
"cli.cmd.server.task.*.parentDir": "Match the exact resource parent directory.",
|
|
2608
|
+
"cli.cmd.server.task.*.rootDir": "Resource directory prefix, including descendants using server prefix rules.",
|
|
2609
|
+
"cli.cmd.server.task.*.order": "Sort direction, requires --order-by.",
|
|
2610
|
+
"cli.cmd.server.task.*.orderBy": "Sort tasks by taskId, createTime, modifiedTime, priority, resName, taskType, startTime, endTime or runState; unique id breaks ties.",
|
|
2611
|
+
"cli.cmd.server.task.*.taskRun": "Exact task run id, not a task configuration id.",
|
|
2612
|
+
"cli.cmd.server.task.*.withInherited": "Merge effective defaults into task and return sources; resubmission freezes inherited values.",
|
|
2613
|
+
"cli.cmd.server.schedule.enable.summary": "Enable automatic scheduling.",
|
|
2614
|
+
"cli.cmd.server.schedule.enable.desc": "Enable future automatic scheduling for selected schedules without running them immediately. Prechecks all targets, submits one batch, then verifies state by reading back; no cross-schedule transaction.\n\nRequires login and permissions for the target scope.",
|
|
2615
|
+
"cli.cmd.server.schedule.disable.summary": "Disable automatic scheduling.",
|
|
2616
|
+
"cli.cmd.server.schedule.disable.desc": "Disable future automatic scheduling for selected schedules; existing runs continue.\n\nRequires login and permissions for the target scope.",
|
|
2617
|
+
"cli.cmd.server.schedule.count.summary": "Count schedules, categories or historical runs.",
|
|
2618
|
+
"cli.cmd.server.schedule.count.desc": "Count schedules by default, or count the category directory or run history of one schedule.\n\nRequires login and permissions for the target scope.\n\nAccurate totals, filtering and stable sorting may scan all matching pages, using network, CPU and memory; changing data has no snapshot guarantee.",
|
|
2619
|
+
"cli.cmd.server.task.count.summary": "Count current tasks, categories or task runs.",
|
|
2620
|
+
"cli.cmd.server.task.count.desc": "Count current tasks, categories or tasks in one schedule run. For cross-run history, use totalCount from task history.\n\nRequires login and permissions for the target scope.\n\nAccurate totals, filtering and stable sorting may scan all matching pages, using network, CPU and memory; changing data has no snapshot guarantee.",
|
|
2621
|
+
"cli.cmd.server.task.show.summary": "Inspect own or inherited task settings.",
|
|
2622
|
+
"cli.cmd.server.task.show.desc": "Read own task settings and read-only server information for inspection and update preparation, optionally merging category and schedule defaults with their sources.\n\nRequires login and permissions for the target scope.",
|
|
2623
|
+
"cli.cmd.server.task.history.summary": "Query task results from selected or bounded multiple runs.",
|
|
2624
|
+
"cli.cmd.server.task.history.desc": "Query task results in a selected run or bounded cross-run history for specified tasks.\n\nRequires login and permissions for the target scope.\n\nAccurate totals, filtering and stable sorting may scan all matching pages, using network, CPU and memory; changing data has no snapshot guarantee.",
|
|
2625
|
+
"cli.cmd.server.schedule.logs.summary": "Read logs of one schedule run.",
|
|
2626
|
+
"cli.cmd.server.schedule.logs.desc": "Read logs of a selected schedule run.\n\nRequires login and permissions for the target scope.",
|
|
2627
|
+
"cli.cmd.server.task.logs.summary": "Read logs of one task run.",
|
|
2628
|
+
"cli.cmd.server.task.logs.desc": "Read logs of a selected task run.\n\nRequires login and permissions for the target scope.",
|
|
2629
|
+
"cli.cmd.server.schedule.enable.schedule": "Schedule IDs; repeat for multiple targets. Deduplicated; all targets must exist before any write.",
|
|
2630
|
+
"cli.cmd.server.schedule.enable.out": "ids, enabled, success and per-target results; status=verified means read-back state is correct, not proof of a new transition. Unknown results are not retried.",
|
|
2631
|
+
"cli.cmd.server.schedule.disable.schedule": "Schedule IDs; repeat for multiple targets. Deduplicated; all targets must exist before any write.",
|
|
2632
|
+
"cli.cmd.server.schedule.disable.out": "ids, enabled, success and per-target results; status=verified means read-back state is correct, not proof of a new transition. Unknown results are not retried.",
|
|
2633
|
+
"cli.cmd.server.schedule.count.history": "Explicitly count run history; requires --schedule and rejects configuration-only filters.",
|
|
2634
|
+
"cli.cmd.server.schedule.count.category": "Count schedule categories only; incompatible with other filters.",
|
|
2635
|
+
"cli.cmd.server.task.count.schedule": "Parent schedule id; current task counts may omit it to span schedules. Required with --run/--latest to count that run, or with --category. Time and duration filters apply only to run counts; --resource/--type/--creator apply only to current task counts. Category counts reject task and run filters.",
|
|
2636
|
+
"cli.cmd.server.task.count.priority": "Filter current tasks by effective priority; run counts use the priority saved on each run record.",
|
|
2637
|
+
"cli.cmd.server.task.count.categoryId": "For current tasks, match this category and descendants. Run counts match the category saved on each run record, without recalculating current category ancestry.",
|
|
2638
|
+
"cli.cmd.server.task.count.category": "Count task categories; requires --schedule and rejects task/run filters.",
|
|
2639
|
+
"cli.cmd.server.schedule.count.out": "totalCount counts all matches. --group-by: configuration category/type/enabled; history state; categories cannot be grouped. groups is an array of {value,count}; null is the unassigned group.",
|
|
2640
|
+
"cli.cmd.server.task.count.out": "totalCount counts all matches; --group-by=category/priority/state groups the same set. Current-task priority groups use effective priority; run groups use saved values. Category directory counts cannot be grouped. Null groups retain unset values.",
|
|
2641
|
+
"cli.cmd.server.task.show.out": "task is a TaskQueryInfo record combining own settings, latest run fields and current resource information; schedules contains associated ScheduleQueryInfo records. For updates, wrap task in {\"tasks\":[task]} and pass it to task update --task with --schedule set to the parent schedule. Read-only query fields are ignored when saving.\n\nOrdinary show returns own settings. --with-inherited includes effective values and sources; resubmitting these values turns inherited settings into explicit overrides. Retry times are in seconds. Human output shows the task name, identity, path and business settings; use --json or --pretty-json for all fields. Date-time strings include the server offset.",
|
|
2642
|
+
"cli.cmd.server.task.show.schedule": "Optional parent schedule id; validates task membership when supplied. Otherwise finds the task by its id.",
|
|
2643
|
+
"cli.cmd.server.task.show.task": "One exact task configuration id, not a task run id.",
|
|
2644
|
+
"cli.cmd.server.task.history.out": "runs is always an array of TaskQueryInfo records with totalCount; each item includes scheduleId/scheduleRunId/taskId/taskRunId and available task names and resource paths. --task-run returns one item without runPage. List queries return scheduleId and runPage (offset/limit/truncated), including empty --latest results.\n\nCross-run and empty results omit the root scheduleRunId; use each item's scheduleRunId. schedules contains the current schedule information associated with this page, deduplicated by scheduleId, or [] when empty; it is not an execution-time snapshot. Human output shows task names, state and elapsed seconds. Date-time strings include the server offset.",
|
|
2645
|
+
"cli.cmd.server.schedule.logs.out": "A single query returns logs (an array), totalCount (matches before --tail) and truncated (whether --tail omitted rows). Each log is a ScheduleLog record preserving all fields, including logContent2; logTime is a Unix timestamp in milliseconds. Human output shows UTC time, level and the original body; use --json or --pretty-json for separate details. No logs does not imply success.\n\nWith --follow --json, stdout contains one JSON object per line with kind=result and event=snapshot/log/end. State is in snapshot (plan run information); each log event carries one entry in log, not a logs array. Events include an increasing sequence and fixed scheduleId/scheduleRunId. The end event includes the final snapshot, reason=terminal/timeout/interrupted and logCompleteness=unknown. Terminal observation exits 0, timeout 124 and interruption 130; request failures produce kind=error. --quiet preserves these result events.",
|
|
2646
|
+
"cli.cmd.server.task.logs.out": "A single query returns logs (an array), totalCount (matches before --tail) and truncated (whether --tail omitted rows). Each log is a ScheduleTaskLog record preserving all fields, including logContent2; logTime is a Unix timestamp in milliseconds. Human output shows UTC time, level and the original body; use --json or --pretty-json for separate details. No logs does not imply success.\n\nWith --follow --json, stdout contains one JSON object per line with kind=result and event=snapshot/log/end. Task state is in snapshot.run (TaskRunStateInfo), with snapshot.terminal indicating completion; each log event carries one entry in log, not a logs array. Events include an increasing sequence and fixed scheduleId/scheduleRunId/taskRunId. The end event includes the final snapshot, reason=terminal/timeout/interrupted and logCompleteness=unknown. Terminal observation exits 0, timeout 124 and interruption 130; request failures produce kind=error. --quiet preserves these result events.",
|
|
2647
|
+
"cli.cmd.server.task.logs.schedule": "Parent schedule id; locating logs by task configuration requires --task and --run/--latest together. Mutually exclusive with --task-run.",
|
|
2648
|
+
"cli.cmd.server.task.logs.run": "Schedule run id; without --task-run, specify exactly one of --run and --latest.",
|
|
2649
|
+
"cli.cmd.server.task.logs.task": "One task configuration id within the selected schedule run.",
|
|
2650
|
+
"cli.cmd.server.task.logs.taskRun": "Task run id alone, exclusive with schedule/run/latest/task; parent identities are resolved automatically.",
|
|
2651
|
+
"cli.out.schedule.noLogs": "No logs yet",
|
|
2652
|
+
"cli.out.schedule.logDetails": "Separate details: --pretty-json",
|
|
2653
|
+
"cli.out.schedule.fullValues": "Full values: --pretty-json",
|
|
2654
|
+
"cli.out.schedule.unknown": "Unknown",
|
|
2655
|
+
"cli.out.schedule.source": "Source",
|
|
2656
|
+
"cli.out.schedule.runPage": "Run page",
|
|
2657
|
+
"cli.out.schedule.results": "Results",
|
|
2658
|
+
"cli.out.schedule.groups": "Groups",
|
|
2659
|
+
"cli.out.schedule.count": "Count",
|
|
2660
|
+
"cli.out.schedule.resourcePath": "Resource path",
|
|
2661
|
+
"cli.out.schedule.elapsedMs": "Duration",
|
|
2662
|
+
"cli.out.schedule.pageSummary": "{count} records on this page, {total} matching records.",
|
|
2663
|
+
"cli.out.schedule.status.verified": "Verified",
|
|
2664
|
+
"cli.cmd.server.schedule.count.schedule": "Schedule id for --history counts; configuration counts do not accept this flag.",
|
|
2665
|
+
"cli.cmd.server.schedule.logs.run": "Schedule run id; specify exactly one of --run and --latest.",
|
|
2666
|
+
"cli.cmd.server.schedule.logs.latest": "Resolve the latest run once, instead of --run. A one-time read without a run returns empty logs; this does not prove correlation with the last execution request.",
|
|
2667
|
+
"cli.cmd.server.schedule.logs.schedule": "Parent schedule id for these logs, required.",
|
|
2668
|
+
"cli.out.schedule.default": "Default",
|
|
2669
|
+
"cli.cmd.server.task.run.summary": "Submit selected schedule tasks.",
|
|
2670
|
+
"cli.cmd.server.task.run.desc": "Submit one or more existing tasks within a schedule.\n\nExecution can modify business data, ignores schedule conditions and honors task conditions by default. Requests are not retried.\n\nRequires login, schedule use permission and applicable resource permissions.",
|
|
2671
|
+
"cli.cmd.server.task.run.out": "accepted confirms acceptance only; mode=tasks and taskIds identify the request. No new run id is returned; use history to locate a run before status/logs. latest cannot prove correlation.",
|
|
2672
|
+
"cli.cmd.server.task.run.schedule": "Exact parent schedule id, required. group schedules and schedules containing workflow/sub/check/schedule task types are unsupported.",
|
|
2673
|
+
"cli.cmd.server.task.run.task": "Task configuration IDs; repeat to select multiple tasks. All tasks must belong to the selected schedule.",
|
|
2674
|
+
"cli.cmd.server.task.run.includeDepends": "Include dependencies of the selected tasks.",
|
|
2675
|
+
"cli.cmd.server.task.run.includeImpacts": "Include tasks impacted by the selected tasks.",
|
|
2676
|
+
"cli.cmd.server.task.run.excludeSelected": "Exclude selected tasks themselves; requires dependencies or impacts.",
|
|
2677
|
+
"cli.cmd.server.task.run.ignoreTaskCondition": "Explicitly bypass task conditions, which are honored by default.",
|
|
2678
|
+
"cli.cmd.server.schedule.status.summary": "Inspect the latest or a selected run of one schedule.",
|
|
2679
|
+
"cli.cmd.server.schedule.status.desc": "Inspect the latest or a selected schedule run, including state, server duration and task counts.\n\nRequires login and schedule view permission.",
|
|
2680
|
+
"cli.cmd.server.schedule.status.out": "A single query returns run (a ScheduleQueryInfo record), counts.total/byState, elapsedMs and terminal. See the query, runtime and result-state references for all nested fields. counts describes observed task records; when no run exists, run/counts/elapsedMs are null. elapsedMs is milliseconds calculated from server timestamps, or null when unavailable; human output shows seconds with an s suffix.\n\nWith --watch --json, stdout contains one JSON object per line with kind=result and event=snapshot/end. Snapshot events carry the status in snapshot. Events have an increasing sequence and fixed scheduleId/scheduleRunId. The end event includes the final snapshot and reason=terminal/timeout/interrupted. Terminal observation exits 0 even for a failed business run; timeout exits 124, interruption 130. Request failures produce kind=error. Date-time strings in run include the server offset.",
|
|
2681
|
+
"cli.cmd.server.schedule.*.follow": "Follow a fixed run; conflicts with --pretty-json. Re-read the original time range, deduplicating logId; this costs network and memory. After terminal, perform two quiet reads; no EOF guarantee, logCompleteness=unknown.",
|
|
2682
|
+
"cli.cmd.server.schedule.*.interval": "Observation interval in milliseconds; --follow only.",
|
|
2683
|
+
"cli.cmd.server.schedule.*.timeout": "Observation deadline in milliseconds; 0 means unlimited. Includes requests and final reads; --follow only. Timeout exits 124; interruption exits 130.",
|
|
2684
|
+
"cli.cmd.server.task.*.follow": "Follow a fixed run; conflicts with --pretty-json. Re-read the original time range, deduplicating logId; this costs network and memory. After terminal, perform two quiet reads; no EOF guarantee, logCompleteness=unknown. Task follow conservatively waits for the parent run to end to avoid treating a retry as terminal.",
|
|
2685
|
+
"cli.cmd.server.task.*.interval": "Observation interval in milliseconds; --follow only.",
|
|
2686
|
+
"cli.cmd.server.task.*.timeout": "Observation deadline in milliseconds; 0 means unlimited. Includes requests and final reads; --follow only. Timeout exits 124; interruption exits 130.",
|
|
2687
|
+
"cli.cmd.server.schedule.status.interval": "Observation interval in milliseconds; --watch only.",
|
|
2688
|
+
"cli.cmd.server.schedule.status.timeout": "Observation deadline in milliseconds; 0 means unlimited. Includes requests and final reads; --watch only. Timeout exits 124; interruption exits 130.",
|
|
2689
|
+
"cli.cmd.server.schedule.status.watch": "Observe a fixed run; conflicts with --pretty-json. JSON emits NDJSON business events on stdout. Requires an existing run, fixes the first resolved identity and finishes when terminal state is confirmed. Counts scan all task-run pages on each refresh.",
|
|
2690
|
+
"cli.out.schedule.observationEnd": "Observation ended: {reason}",
|
|
2691
|
+
"cli.out.schedule.run": "Run",
|
|
2692
|
+
"cli.out.schedule.snapshot": "Snapshot",
|
|
2693
|
+
"cli.out.schedule.terminal": "Confirmed terminal",
|
|
2694
|
+
"cli.cmd.server.schedule.status.schedule": "Exact parent schedule id, required. By default, reads the last run recorded on the schedule; schedules without run records have empty state.",
|
|
2695
|
+
"cli.cmd.server.task.history.orderBy": "Sort task runs by taskRunId, taskRunOrder, startTime, endTime, priority, runState, resName, errorTimes or taskId; unique id breaks ties.",
|
|
2696
|
+
"cli.cmd.server.task.history.priority": "Match the priority saved on each task run record; current configuration and inheritance are not recalculated.",
|
|
2697
|
+
"cli.cmd.server.task.history.categoryId": "Exact category id saved on each run record; includes deleted categories, does not recalculate current category ancestry.",
|
|
2698
|
+
"cli.out.schedule.status.notStarted": "Not started",
|
|
2699
|
+
"cli.cmd.server.task.history.schedule": "Parent schedule id; required for run/latest and bounded cross-run queries. Optional with exact task-run; when supplied it must match run membership.\nModes: single-run lists require --schedule and --run/--latest. Bounded cross-run queries omit run/latest and require --schedule, at least one --task, and both --start-time/--end-time with end greater than start. Exact --task-run only accepts optional --schedule and --run to check membership; filters, pagination and --latest are rejected.",
|
|
2700
|
+
"cli.cmd.server.schedule.logs.fromTime": "Inclusive log time lower bound as a standard date-time string or milliseconds: logTime >=. Time bounds are applied by the server; unzoned strings use its time zone. Other filters are applied locally, and --tail does not reduce server reads.",
|
|
2701
|
+
"cli.cmd.server.task.logs.fromTime": "Inclusive log time lower bound as a standard date-time string or milliseconds: logTime >=. Time bounds are applied by the server; unzoned strings use its time zone. Other filters are applied locally, and --tail does not reduce server reads.",
|
|
2702
|
+
"cli.cmd.server.schedule.dependencies.summary": "Query current task dependencies or a historical snapshot.",
|
|
2703
|
+
"cli.cmd.server.schedule.dependencies.desc": "Query the complete task dependency graph of one schedule, using current configuration or a snapshot saved during execution.\n\nRead-only; requires login and schedule view permission. Historical relationships come from the saved snapshot; task descriptions are joined from the same run records, as in the WebUI. Reading and displaying large graphs requires additional network and memory.",
|
|
2704
|
+
"cli.cmd.server.schedule.dependencies.schedule": "Exact parent schedule id, required. Reads current configuration when --run/--latest is omitted; use --run or --latest for a historical snapshot.",
|
|
2705
|
+
"cli.cmd.server.schedule.dependencies.run": "Exact historical schedule run id; must belong to the selected schedule. Exclusive with --latest.",
|
|
2706
|
+
"cli.cmd.server.schedule.dependencies.latest": "Read the snapshot saved for the latest run. Fails when no run exists; never falls back to the current graph.",
|
|
2707
|
+
"cli.cmd.server.schedule.dependencies.out": "scheduleId identifies the schedule; dependencySource is current/historical. Historical results also include scheduleRunId. dependencies is always an array of taskId, dependsOn, resourceId and resourcePath, with name and removedDependsOn when available. Current graphs include resource IDs and full resource paths. Historical graphs join task records from the same run by taskId: resourceId comes from the run record; name and resourcePath use the returned task descriptions. Names and paths are joined from current resources, may change after renaming or moving, and are not execution-time snapshots. Snapshot nodes remain even when run records or resources are missing; unavailable resource fields are null, and human output falls back to task IDs when names are missing. Tasks in dependsOn must finish first.\nname resolves captions using server language bundles and custom overrides; captions without a translation stay unchanged, and system backup tasks without a caption use the default title. Human output starts at downstream endpoints and recursively expands prerequisites, including isolated tasks. (*) marks a repeated subtree, not repeated execution; (cycle) marks a cycle and (missing) a referenced task absent from the graph. Removed dependencies are listed separately; JSON preserves the full relationships.\nAn empty historical array cannot distinguish no tasks from an unavailable snapshot. It does not establish snapshot completeness and never causes fallback to current configuration. Task filtering, pagination and cross-run merging are not supported.",
|
|
2708
|
+
"cli.out.schedule.dependencySource": "Dependency source",
|
|
2709
|
+
"cli.out.schedule.dependenciesCurrent": "Current configuration",
|
|
2710
|
+
"cli.out.schedule.dependenciesHistorical": "Historical snapshot",
|
|
2711
|
+
"cli.out.schedule.dependenciesEmpty": "No dependency records returned.",
|
|
2712
|
+
"cli.out.schedule.dependenciesDirection": "Direction: children are prerequisites of their parent task and must finish first.",
|
|
2713
|
+
"cli.out.schedule.dependenciesRepeated": "(*) This dependency subtree was expanded above; it does not mean repeated execution.",
|
|
2714
|
+
"cli.out.schedule.dependenciesCycle": "(cycle) A cycle in the current path was not expanded.",
|
|
2715
|
+
"cli.out.schedule.dependenciesMissing": "(missing) The referenced task is absent from the returned graph.",
|
|
2716
|
+
"cli.out.schedule.dependenciesRemoved": "Removed dependencies (not active relationships):",
|
|
2717
|
+
"cli.out.schedule.schedule": "Schedule",
|
|
2718
|
+
"cli.out.schedule.task": "Task",
|
|
2719
|
+
"cli.out.schedule.category": "Category",
|
|
2720
|
+
"cli.out.schedule.scheduleStartTime": "Active from",
|
|
2721
|
+
"cli.out.schedule.scheduleEndTime": "Active until",
|
|
2722
|
+
"cli.ref.scheduleOperations": "Schedule workflows: creation, updates and verification",
|
|
2723
|
+
"cli.ref.scheduleQuery": "Complete schedule query record",
|
|
2724
|
+
"cli.ref.taskQuery": "Complete task query record",
|
|
2725
|
+
"cli.ref.scheduleRuntime": "Schedule runtime, counts and times",
|
|
2726
|
+
"cli.ref.taskRuntime": "Task runtime and dependencies",
|
|
2727
|
+
"cli.ref.scheduleRunState": "Schedule and task result states",
|
|
2728
|
+
"cli.ref.scheduleLog": "Schedule log fields",
|
|
2729
|
+
"cli.ref.taskLog": "Task log fields",
|
|
2730
|
+
"cli.ref.taskRunState": "Task run state record",
|
|
1580
2731
|
"vs.cmd.title.addServer": "Add Server",
|
|
1581
2732
|
"vs.cmd.title.useServer": "Use Server",
|
|
1582
|
-
"vs.cmd.title.loginServer": "
|
|
1583
|
-
"vs.cmd.title.disconnectServer": "Disconnect Server",
|
|
2733
|
+
"vs.cmd.title.loginServer": "Log in to Server",
|
|
2734
|
+
"vs.cmd.title.disconnectServer": "Disconnect from Server",
|
|
1584
2735
|
"vs.cmd.title.removeServer": "Remove Server",
|
|
1585
2736
|
"vs.cmd.title.setServerUrl": "Set Server URL",
|
|
1586
2737
|
"vs.cmd.title.openServerConfig": "Open Server Config",
|
|
@@ -1629,7 +2780,7 @@
|
|
|
1629
2780
|
"vs.cmd.title.views.mergeChange": "Merge Changes",
|
|
1630
2781
|
"vs.cmd.title.views.acceptServerChange": "Use Server Version",
|
|
1631
2782
|
"vs.cmd.title.views.restoreLocalChange": "Restore Local Version",
|
|
2783
|
+
"vs.cmd.title.views.resetProjectFromServer": "Reset Local Project from Server",
|
|
1632
2784
|
"vs.cmd.title.openServerSource": "Open Server Source",
|
|
1633
|
-
"vs.cmd.title.showServerFileHistory": "Show Server File History"
|
|
1634
|
-
"vs.cmd.title.views.resetProjectFromServer": "Reset Local Project from Server"
|
|
2785
|
+
"vs.cmd.title.showServerFileHistory": "Show Server File History"
|
|
1635
2786
|
}
|