deepline 0.3.369 → 0.3.371
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/bundling-sources/sdk/src/client.ts +8 -8
- package/dist/bundling-sources/sdk/src/release.ts +1 -7
- package/dist/bundling-sources/sdk/src/runs/overview.ts +7 -7
- package/dist/bundling-sources/sdk/src/tool-output.ts +5 -1
- package/dist/bundling-sources/sdk/src/types.ts +2 -2
- package/dist/bundling-sources/shared_libs/monitors/fleets/errors.ts +5 -5
- package/dist/bundling-sources/shared_libs/monitors/fleets/limits.ts +4 -2
- package/dist/bundling-sources/shared_libs/monitors/http-error-response.ts +18 -18
- package/dist/bundling-sources/shared_libs/monitors/provider-monitor-capability.ts +1 -1
- package/dist/bundling-sources/shared_libs/play-runtime/context.ts +2 -2
- package/dist/bundling-sources/shared_libs/play-runtime/dataset-lifecycle-log.ts +1 -1
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +1 -1
- package/dist/bundling-sources/shared_libs/plays/launch/input-contract.ts +34 -9
- package/dist/cli/auth-DQVK3ZI6.js +33 -0
- package/dist/cli/{auth-F5YPFL6L.mjs → auth-LCSEXQA2.mjs} +4 -4
- package/dist/cli/{billing-3HHLCETY.js → billing-KISDL67A.js} +148 -148
- package/dist/cli/{billing-LNO6FPPM.mjs → billing-Z7PLJC5C.mjs} +79 -79
- package/dist/cli/{chunk-MX53GIOB.js → chunk-2JRRXXTA.js} +2 -2
- package/dist/cli/{chunk-COEBGYBW.mjs → chunk-2L6LBJVC.mjs} +193 -187
- package/dist/cli/{chunk-H4N6FMJ5.mjs → chunk-3FTYFVYN.mjs} +5 -5
- package/dist/cli/{chunk-Z6B4UPM4.mjs → chunk-3GK3SH3G.mjs} +2 -2
- package/dist/cli/{chunk-KGZRUGL7.js → chunk-44SHFHA3.js} +17 -17
- package/dist/cli/{chunk-QFBHEQCQ.mjs → chunk-46JCJ7FT.mjs} +56 -97
- package/dist/cli/{chunk-6A3GNWSU.js → chunk-5BCVKWLV.js} +17 -17
- package/dist/cli/{chunk-TRRFXE4X.mjs → chunk-5S525TQV.mjs} +2 -2
- package/dist/cli/{chunk-X6FNDFTD.js → chunk-5Z7JFUNX.js} +26 -26
- package/dist/cli/{chunk-JGLIB4JN.mjs → chunk-73NIXYKH.mjs} +90 -50
- package/dist/cli/{chunk-2AENFV3B.js → chunk-A7X7KFXX.js} +4 -4
- package/dist/cli/{chunk-KU4X5TWN.mjs → chunk-AIZKDTFF.mjs} +11 -11
- package/dist/cli/{chunk-ERMXQOIV.js → chunk-BO3ADIBV.js} +8 -8
- package/dist/cli/{chunk-FXVRQHJC.js → chunk-C3IPN4E6.js} +17 -17
- package/dist/cli/{chunk-LH3BV773.js → chunk-C553OZGG.js} +10 -10
- package/dist/cli/{chunk-EJC3INZD.mjs → chunk-DOXAN2I7.mjs} +3 -3
- package/dist/cli/{chunk-XH3EIQAZ.js → chunk-DPVBWLBF.js} +419 -413
- package/dist/cli/{chunk-PRMAO43X.js → chunk-DQMTJXLK.js} +145 -105
- package/dist/cli/{chunk-NXDRDJ4K.js → chunk-E5UD3JDQ.js} +3 -1
- package/dist/cli/{chunk-U5VEW7LL.mjs → chunk-IWY7T6MR.mjs} +1 -1
- package/dist/cli/{chunk-MIMASXO4.mjs → chunk-JB6ERQUV.mjs} +3 -1
- package/dist/cli/{chunk-QILHWZFP.js → chunk-JSK6GUY6.js} +56 -97
- package/dist/cli/{chunk-VUYCB2RY.mjs → chunk-KBJO7HIF.mjs} +9 -9
- package/dist/cli/{chunk-SDOPEZYS.mjs → chunk-KGRAQ4OR.mjs} +6 -6
- package/dist/cli/{chunk-5IXQ6VP4.mjs → chunk-KKRRIFR3.mjs} +1 -1
- package/dist/cli/{chunk-74XTRGY5.js → chunk-N34UX4TW.js} +2 -2
- package/dist/cli/{chunk-KR5NWPWI.js → chunk-NMDNUOVI.js} +1 -6
- package/dist/cli/{chunk-YCLPW7QO.mjs → chunk-SEDS6ZVR.mjs} +10 -10
- package/dist/cli/{chunk-RIT4UED6.mjs → chunk-SENW5J4O.mjs} +5 -5
- package/dist/cli/{chunk-P7W5OMQ6.js → chunk-TT2YWFYW.js} +53 -53
- package/dist/cli/{chunk-OEQC4QLU.js → chunk-YENBXYUH.js} +68 -68
- package/dist/cli/{chunk-4RVNJQ7D.mjs → chunk-YYFLULK7.mjs} +1 -6
- package/dist/cli/client-JFSRNUVD.js +20 -0
- package/dist/cli/{client-HURLYTDV.mjs → client-Z3Z5EDDJ.mjs} +3 -3
- package/dist/cli/command-docs.js +2 -2
- package/dist/cli/command-docs.mjs +1 -1
- package/dist/cli/{csv-ZECPS6DF.mjs → csv-TEVHLGGA.mjs} +3 -3
- package/dist/cli/{csv-BZ7QNGLU.js → csv-XGFXV7JE.js} +12 -12
- package/dist/cli/{db-JXLCCIML.js → db-LLZJ7UH5.js} +42 -43
- package/dist/cli/{db-EUNDS5UG.mjs → db-OB7PMWSZ.mjs} +17 -18
- package/dist/cli/{describe-L6LADCXI.mjs → describe-GZIRANUZ.mjs} +12 -12
- package/dist/cli/{describe-DNDL3TC6.js → describe-NWU7LI3I.js} +28 -28
- package/dist/cli/{executions-GPKPWEHO.js → executions-64YZGSOW.js} +6 -6
- package/dist/cli/{executions-GRCD2GHT.mjs → executions-7UZ3ZGJ3.mjs} +4 -4
- package/dist/cli/{feedback-5WG2HNZ6.mjs → feedback-2WRQRW3U.mjs} +8 -8
- package/dist/cli/{feedback-VJCNBYVQ.js → feedback-MN5CXULH.js} +12 -12
- package/dist/cli/{git-3G5Q4TPI.mjs → git-BPYVLLTY.mjs} +4 -4
- package/dist/cli/git-TJIPVSAE.js +23 -0
- package/dist/cli/index.js +98 -109
- package/dist/cli/index.mjs +46 -57
- package/dist/cli/{legacy-noops-YAO3LDPI.js → legacy-noops-VMXJPLMW.js} +9 -9
- package/dist/cli/{legacy-noops-7WLCNXLD.mjs → legacy-noops-ZRPWEPX6.mjs} +6 -6
- package/dist/cli/{monitors-NRQN7M3A.mjs → monitors-5BRTBL7E.mjs} +59 -59
- package/dist/cli/{monitors-MQ6KNDOH.js → monitors-OQSI2VOL.js} +140 -140
- package/dist/cli/{org-TGKGLAB4.js → org-F5QS3HG4.js} +88 -87
- package/dist/cli/{org-X46ICV24.mjs → org-SMZ7AGR3.mjs} +28 -27
- package/dist/cli/{play-PCLCMTVK.mjs → play-CJZNLQL7.mjs} +10 -8
- package/dist/cli/play-K7HE4LBB.js +155 -0
- package/dist/cli/{providers-T2S532QL.mjs → providers-CBWXJRDG.mjs} +7 -7
- package/dist/cli/{providers-IPH3TV6J.js → providers-SH2HYOVR.js} +10 -10
- package/dist/cli/{quickstart-6CO5FGYE.mjs → quickstart-342ENF6Q.mjs} +4 -4
- package/dist/cli/{quickstart-GXFHMZL7.js → quickstart-B6EL7WDG.js} +6 -6
- package/dist/cli/{search-6HML4FB2.mjs → search-E7DKH3SI.mjs} +5 -5
- package/dist/cli/search-SEEYCQED.js +26 -0
- package/dist/cli/{secrets-KCNIINW5.mjs → secrets-FSYIPRVS.mjs} +5 -5
- package/dist/cli/{secrets-J6T743DQ.js → secrets-M2AW5RGE.js} +14 -14
- package/dist/cli/{sessions-ABXL2OZV.js → sessions-AFE4C3FQ.js} +5 -5
- package/dist/cli/{sessions-FQHM34TD.mjs → sessions-DJPGWPNA.mjs} +4 -4
- package/dist/cli/{settings-3UXXWUZ3.mjs → settings-KLN2A3PQ.mjs} +10 -10
- package/dist/cli/{settings-HB5DSAUW.js → settings-VUWBNATC.js} +77 -77
- package/dist/cli/{setup-2MOBCKAB.mjs → setup-BE6N5YV6.mjs} +15 -15
- package/dist/cli/{setup-TMJJLEYX.js → setup-I5IMTQCX.js} +50 -50
- package/dist/cli/skills-7XH5GMZB.js +28 -0
- package/dist/cli/{skills-LWS7PNTF.mjs → skills-GSNPQDUG.mjs} +4 -4
- package/dist/cli/tools-JCL4ABAF.js +40 -0
- package/dist/cli/{tools-TIUE2AK7.mjs → tools-ORCGHV4P.mjs} +8 -8
- package/dist/cli/{update-IYXAP5MI.mjs → update-UXEUWVWS.mjs} +6 -6
- package/dist/cli/update-YNZOS77Z.js +28 -0
- package/dist/cli/{workflow-3CVYOEKJ.mjs → workflow-JBQY7JJN.mjs} +7 -7
- package/dist/cli/{workflow-SGF3DFKJ.js → workflow-R7SDICTU.js} +17 -17
- package/dist/{client-CjHv4K6D.d.mts → client-CZFMQEgO.d.mts} +6 -6
- package/dist/{client-rTuhNN-x.d.ts → client-CgSwpnb-.d.ts} +6 -6
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +15 -15
- package/dist/index.mjs +4 -4
- package/dist/install-integrity.json +82 -82
- package/dist/plays/run-request.d.mts +1 -1
- package/dist/plays/run-request.d.ts +1 -1
- package/dist/release.d.mts +1 -5
- package/dist/release.d.ts +1 -5
- package/dist/release.js +2 -2
- package/dist/release.mjs +1 -1
- package/package.json +1 -1
- package/dist/cli/auth-L3ZF67G5.js +0 -33
- package/dist/cli/client-HL2AHZPQ.js +0 -20
- package/dist/cli/git-MSJ6SFLT.js +0 -23
- package/dist/cli/play-TJBPVFUK.js +0 -153
- package/dist/cli/search-34MPYWVW.js +0 -26
- package/dist/cli/skills-D3IIQSUK.js +0 -28
- package/dist/cli/tools-XWUSCNVK.js +0 -40
- package/dist/cli/update-7O5MXP5K.js +0 -28
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
argsWantJson,
|
|
3
3
|
openInBrowser,
|
|
4
4
|
printCommandEnvelope
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-DOXAN2I7.mjs";
|
|
6
6
|
import {
|
|
7
7
|
ACTIVE_ORG_ID_ENV,
|
|
8
8
|
ACTIVE_ORG_NAME_ENV,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
saveHostEnvValues,
|
|
26
26
|
saveProjectDeeplineEnvValues,
|
|
27
27
|
storedHostApiKey
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-KKRRIFR3.mjs";
|
|
29
29
|
|
|
30
30
|
// src/cli/commands/auth.ts
|
|
31
31
|
import {
|
|
@@ -825,7 +825,7 @@ Common commands:
|
|
|
825
825
|
deepline auth register
|
|
826
826
|
deepline auth wait --timeout 300
|
|
827
827
|
deepline auth status
|
|
828
|
-
deepline auth status
|
|
828
|
+
deepline auth status
|
|
829
829
|
|
|
830
830
|
Notes:
|
|
831
831
|
Auth status shows the target host and active workspace without printing secrets.
|
|
@@ -909,12 +909,12 @@ Notes:
|
|
|
909
909
|
Examples:
|
|
910
910
|
deepline auth status
|
|
911
911
|
deepline auth status --auth-scope folder
|
|
912
|
-
deepline auth status
|
|
912
|
+
deepline auth status
|
|
913
913
|
`
|
|
914
914
|
).option(
|
|
915
915
|
"--reveal",
|
|
916
916
|
"Persist the revealed API key back to the host auth file"
|
|
917
|
-
).option("--auth-scope <scope>", "Read only folder or global auth").option("--json", "Emit JSON output
|
|
917
|
+
).option("--auth-scope <scope>", "Read only folder or global auth").option("--json", "Emit JSON output").action(async (options) => {
|
|
918
918
|
process.exitCode = await handleStatus([
|
|
919
919
|
...options.reveal ? ["--reveal"] : [],
|
|
920
920
|
...options.authScope ? ["--auth-scope", String(options.authScope)] : [],
|
|
@@ -314,11 +314,11 @@ function examples(described, options) {
|
|
|
314
314
|
}
|
|
315
315
|
var EXPLANATIONS = {
|
|
316
316
|
tool: {
|
|
317
|
-
cli: "--input takes a JSON object or @file.json. The result prints when the call finishes
|
|
317
|
+
cli: "--input takes a JSON object or @file.json. The result prints when the call finishes.",
|
|
318
318
|
play: "id names the step and must stay stable. Read a declared output with its getter; every other provider field is in result.toolResponse.rawV2."
|
|
319
319
|
},
|
|
320
320
|
play: {
|
|
321
|
-
cli: "--input takes a JSON object or @file.json. The run waits and prints its output;
|
|
321
|
+
cli: "--input takes a JSON object or @file.json. The run waits and prints its output; read it later with deepline runs get <run-id>.",
|
|
322
322
|
play: "The first argument is a stable key for the child run. The call waits and returns the output object."
|
|
323
323
|
},
|
|
324
324
|
monitor: {
|
|
@@ -21,7 +21,7 @@ var _chunkLA46MMTLjs = require('./chunk-LA46MMTL.js');
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _chunkA7X7KFXXjs = require('./chunk-A7X7KFXX.js');
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
@@ -167,7 +167,7 @@ async function queryCustomerDatabase(http, input) {
|
|
|
167
167
|
if (error instanceof _chunk7P5AA3SNjs.DeeplineError && (_optionalChain([error, 'access', _2 => _2.code, 'optionalAccess', _3 => _3.startsWith, 'call', _4 => _4("NETWORK_")]) || // Older API readers return PostgreSQL errors as HTTP 400, including
|
|
168
168
|
// lost connections and explicitly unknown transaction resolution.
|
|
169
169
|
/^08[A-Z0-9]{3}$/.test(_nullishCoalesce(error.code, () => ( ""))) || ["57P01", "57P02", "57P03"].includes(_nullishCoalesce(error.code, () => ( ""))) || error.statusCode === 408 || (_nullishCoalesce(error.statusCode, () => ( 0))) >= 500)) {
|
|
170
|
-
throw new (0,
|
|
170
|
+
throw new (0, _chunkA7X7KFXXjs.CustomerDbQueryOutcomeUnknownError)(
|
|
171
171
|
error,
|
|
172
172
|
plan.request.body.operation_key
|
|
173
173
|
);
|
|
@@ -175,7 +175,7 @@ async function queryCustomerDatabase(http, input) {
|
|
|
175
175
|
throw error;
|
|
176
176
|
}
|
|
177
177
|
if (!result || typeof result !== "object" || Array.isArray(result) || typeof result.command !== "string" || !Array.isArray(result.columns) || !Array.isArray(result.rows) || typeof result.truncated !== "boolean" || result.row_count !== null && (!Number.isSafeInteger(result.row_count) || result.row_count < 0) || !Number.isSafeInteger(result.row_count_returned) || result.row_count_returned < 0) {
|
|
178
|
-
throw new (0,
|
|
178
|
+
throw new (0, _chunkA7X7KFXXjs.CustomerDbQueryOutcomeUnknownError)(
|
|
179
179
|
new (0, _chunk7P5AA3SNjs.DeeplineError)(
|
|
180
180
|
"The SQL response did not contain a valid result.",
|
|
181
181
|
200,
|
|
@@ -186,7 +186,7 @@ async function queryCustomerDatabase(http, input) {
|
|
|
186
186
|
}
|
|
187
187
|
const operation = result.operation;
|
|
188
188
|
if (input.operationKey !== void 0 && (!operation || operation.operation_key !== input.operationKey || !Number.isSafeInteger(operation.completed_at_ms) || operation.completed_at_ms < 0 || !["executed", "operation_recovery"].includes(operation.source))) {
|
|
189
|
-
throw new (0,
|
|
189
|
+
throw new (0, _chunkA7X7KFXXjs.CustomerDbQueryOutcomeUnknownError)(
|
|
190
190
|
new (0, _chunk7P5AA3SNjs.DeeplineError)(
|
|
191
191
|
"The server did not confirm the original atomic SQL operation.",
|
|
192
192
|
200,
|
|
@@ -2910,8 +2910,8 @@ function runtimeSelectionHeaders(runtime) {
|
|
|
2910
2910
|
}
|
|
2911
2911
|
const receivers = _optionalChain([process, 'access', _104 => _104.env, 'access', _105 => _105.DEEPLINE_RUNTIME_RETAINED_PIPELINE_RECEIVERS, 'optionalAccess', _106 => _106.trim, 'call', _107 => _107()]);
|
|
2912
2912
|
return {
|
|
2913
|
-
[
|
|
2914
|
-
...receivers ? { [
|
|
2913
|
+
[_chunkA7X7KFXXjs.RUNTIME_ENVIRONMENT_TOKEN_HEADER]: token,
|
|
2914
|
+
...receivers ? { [_chunkA7X7KFXXjs.RETAINED_PIPELINE_RECEIVERS_HEADER]: receivers } : {}
|
|
2915
2915
|
};
|
|
2916
2916
|
}
|
|
2917
2917
|
function isolatedCiRuntimeEventReadHeaders() {
|
|
@@ -2927,7 +2927,7 @@ function isolatedCiRuntimeEventReadHeaders() {
|
|
|
2927
2927
|
"RUNTIME_EVENT_INTERNAL_TOKEN_REQUIRED"
|
|
2928
2928
|
);
|
|
2929
2929
|
}
|
|
2930
|
-
return { [
|
|
2930
|
+
return { [_chunkA7X7KFXXjs.COORDINATOR_INTERNAL_TOKEN_HEADER]: token };
|
|
2931
2931
|
}
|
|
2932
2932
|
function normalizeTestPolicyOverrides(value, source) {
|
|
2933
2933
|
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
@@ -3217,8 +3217,8 @@ var DeeplineClient = (_class = class _DeeplineClient {
|
|
|
3217
3217
|
* @throws {@link ConfigError} if no API key can be resolved from any source.
|
|
3218
3218
|
*/
|
|
3219
3219
|
constructor(options) {
|
|
3220
|
-
this.config =
|
|
3221
|
-
this.http = new (0,
|
|
3220
|
+
this.config = _chunkA7X7KFXXjs.resolveConfig.call(void 0, options);
|
|
3221
|
+
this.http = new (0, _chunkA7X7KFXXjs.HttpClient)(this.config);
|
|
3222
3222
|
this.toolCalls = new ToolCalls(
|
|
3223
3223
|
this.http,
|
|
3224
3224
|
this.config.timeout,
|
|
@@ -3409,7 +3409,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
|
|
|
3409
3409
|
const cloneEditStarter = this.playCloneEditStarter(play);
|
|
3410
3410
|
return {
|
|
3411
3411
|
name: play.name,
|
|
3412
|
-
// playKey and triggerStatus were projected away here, so `
|
|
3412
|
+
// playKey and triggerStatus were projected away here, so `describe`
|
|
3413
3413
|
// was strictly less informative than `plays list` for the same play — no
|
|
3414
3414
|
// stable key, and no way to see that a cron was armed.
|
|
3415
3415
|
...play.playKey ? { playKey: play.playKey } : {},
|
|
@@ -4313,7 +4313,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
|
|
|
4313
4313
|
* This is the SDK equivalent of:
|
|
4314
4314
|
*
|
|
4315
4315
|
* ```bash
|
|
4316
|
-
* deepline runs get <run-id>
|
|
4316
|
+
* deepline runs get <run-id>
|
|
4317
4317
|
* ```
|
|
4318
4318
|
*/
|
|
4319
4319
|
async getRunStatus(runId, options) {
|
|
@@ -4350,7 +4350,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
|
|
|
4350
4350
|
});
|
|
4351
4351
|
} catch (error) {
|
|
4352
4352
|
failedLogsLoaded = false;
|
|
4353
|
-
const retryCommand = `deepline runs logs ${runId} --failed
|
|
4353
|
+
const retryCommand = `deepline runs logs ${runId} --failed`;
|
|
4354
4354
|
const reason = error instanceof Error && error.message.trim() ? ` (${error.message.trim().slice(0, 500)})` : "";
|
|
4355
4355
|
failedLogs = {
|
|
4356
4356
|
runId,
|
|
@@ -4417,7 +4417,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
|
|
|
4417
4417
|
* This is the SDK equivalent of:
|
|
4418
4418
|
*
|
|
4419
4419
|
* ```bash
|
|
4420
|
-
* deepline runs list --play <play-name> --status failed
|
|
4420
|
+
* deepline runs list --play <play-name> --status failed
|
|
4421
4421
|
* ```
|
|
4422
4422
|
*/
|
|
4423
4423
|
async listRuns(options) {
|
|
@@ -4555,7 +4555,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
|
|
|
4555
4555
|
* This is the SDK equivalent of:
|
|
4556
4556
|
*
|
|
4557
4557
|
* ```bash
|
|
4558
|
-
* deepline runs logs <run-id> --limit 200
|
|
4558
|
+
* deepline runs logs <run-id> --limit 200
|
|
4559
4559
|
* ```
|
|
4560
4560
|
*/
|
|
4561
4561
|
async getRunLogs(runId, options) {
|
|
@@ -4847,7 +4847,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
|
|
|
4847
4847
|
* This is the SDK equivalent of:
|
|
4848
4848
|
*
|
|
4849
4849
|
* ```bash
|
|
4850
|
-
* deepline runs stop <run-id> --reason "stale lock"
|
|
4850
|
+
* deepline runs stop <run-id> --reason "stale lock"
|
|
4851
4851
|
* ```
|
|
4852
4852
|
*/
|
|
4853
4853
|
async stopRun(runId, options) {
|
|
@@ -4863,8 +4863,8 @@ var DeeplineClient = (_class = class _DeeplineClient {
|
|
|
4863
4863
|
* This is the SDK equivalent of:
|
|
4864
4864
|
*
|
|
4865
4865
|
* ```bash
|
|
4866
|
-
* deepline runs stop-all --dry-run
|
|
4867
|
-
* deepline runs stop-all --reason "stale lock"
|
|
4866
|
+
* deepline runs stop-all --dry-run
|
|
4867
|
+
* deepline runs stop-all --reason "stale lock"
|
|
4868
4868
|
* ```
|
|
4869
4869
|
*
|
|
4870
4870
|
* Use this when a failed parent run left child or waiting runs active and you
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// src/cli/command-docs.ts
|
|
2
2
|
var CONVENTIONS = `
|
|
3
3
|
Conventions (apply to every command):
|
|
4
|
-
Output mode:
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
Output mode: readable text by default. --json prints JSON. tools execute
|
|
5
|
+
is the exception: it prints JSON; --output-format csv prints a readable
|
|
6
|
+
summary and writes the rows to a CSV file.
|
|
7
7
|
Streams: stdout carries only the command result. Progress, update notices,
|
|
8
8
|
skills-sync notes, and warnings go to stderr.
|
|
9
|
-
Piping JSON:
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
Piping JSON: pass --json only when a program parses the output, and parse
|
|
10
|
+
stdout alone. 2>&1 puts stderr text in front of the JSON, so the parse
|
|
11
|
+
fails and the real error is hidden; | head and | tail cut the document.
|
|
12
12
|
JSON envelope: most payloads include render.sections[].lines (the human
|
|
13
13
|
summary as text), next.* (exact follow-up commands; run commands name
|
|
14
14
|
them actions.*Cmd), and command_context.
|
|
@@ -43,7 +43,7 @@ What Deepline is for:
|
|
|
43
43
|
priced per call. Discover with search, inspect with tools
|
|
44
44
|
describe, call with tools execute.
|
|
45
45
|
plays a durable workflow, usually a prebuilt waterfall over a CSV. Discover
|
|
46
|
-
with search, read the contract with
|
|
46
|
+
with search, read the contract with describe, start with
|
|
47
47
|
plays run.
|
|
48
48
|
runs one execution of a play: status, rows, logs, cost, and export.
|
|
49
49
|
Inspect with runs get, download rows with runs export.
|
|
@@ -51,11 +51,11 @@ What Deepline is for:
|
|
|
51
51
|
The agent path for a typical task:
|
|
52
52
|
deepline --help prints the CLI version and the auth state on its first two
|
|
53
53
|
lines, checked live. Do not run version or auth status as well.
|
|
54
|
-
1. deepline
|
|
54
|
+
1. deepline billing balance only when you need the credit balance
|
|
55
55
|
2. deepline search "<input you have -> result you need>"
|
|
56
56
|
one search over prebuilt plays, tools, your
|
|
57
57
|
workspace's plays, and monitor types
|
|
58
|
-
3. deepline
|
|
58
|
+
3. deepline describe <ref> read required input, CSV columns, output
|
|
59
59
|
4. deepline plays run <ref> --input '{"csv":"file.csv"}' waits, prints run id
|
|
60
60
|
5. deepline runs export <run-id> --out result.csv rows as CSV
|
|
61
61
|
6. deepline billing usage --run-id <run-id> what it cost
|
|
@@ -75,7 +75,7 @@ Working rules:
|
|
|
75
75
|
domain, so do not split the file or run a second pass. Phones: a known
|
|
76
76
|
person -> person-to-phone-batch.
|
|
77
77
|
The balance is a ceiling, not a budget to use up. Before each paid call,
|
|
78
|
-
estimate its cost: the price from
|
|
78
|
+
estimate its cost: the price from describe <tool> or
|
|
79
79
|
plays list --show-cost, times the results or rows you will request. Take
|
|
80
80
|
the cheapest route that can answer and test it with the smallest limit.
|
|
81
81
|
If one tool call would cost more than about 5 credits, lower its limit or
|
|
@@ -108,50 +108,7 @@ Auth in non-interactive shells:
|
|
|
108
108
|
Skills:
|
|
109
109
|
The bare skills command reinstalls the Deepline skill files on disk. To see
|
|
110
110
|
which skills are installed without changing anything, run
|
|
111
|
-
skills --dry-run
|
|
112
|
-
`
|
|
113
|
-
},
|
|
114
|
-
preflight: {
|
|
115
|
-
core: `
|
|
116
|
-
Purpose:
|
|
117
|
-
One read-only call that reports server health, whether this shell is
|
|
118
|
-
authenticated, and the workspace's Deepline credit balance.
|
|
119
|
-
When:
|
|
120
|
-
Once at the start of a task, before the first paid call. Its balance is the
|
|
121
|
-
balance for the whole task; do not repeat preflight, auth status, or billing
|
|
122
|
-
balance later unless a command fails with an auth or balance error.
|
|
123
|
-
Input:
|
|
124
|
-
No arguments. --json forces JSON in a terminal (automatic when piped).
|
|
125
|
-
Output (JSON):
|
|
126
|
-
status ("ok" or "error"), cli_version, host, health.status, auth.connected
|
|
127
|
-
(boolean),
|
|
128
|
-
auth.org_name, billing.balance (number of Deepline credits),
|
|
129
|
-
billing.balance_display, billing.balance_status, and render.sections with
|
|
130
|
-
the four-line human summary.
|
|
131
|
-
Cost:
|
|
132
|
-
Free. Makes no provider calls.
|
|
133
|
-
Avoid:
|
|
134
|
-
Do not treat auth.connected false as something to fix with auth register in
|
|
135
|
-
an unattended shell; report it instead.
|
|
136
|
-
`,
|
|
137
|
-
verbose: `
|
|
138
|
-
Output fields:
|
|
139
|
-
health.status "ok" when the API answered; anything else means the host
|
|
140
|
-
is unreachable or degraded and paid work should not start.
|
|
141
|
-
health.version API version string, currently "v2".
|
|
142
|
-
auth.status "claimed" for a working key; auth.connected mirrors it as
|
|
143
|
-
a boolean and is the field to branch on.
|
|
144
|
-
auth.org_id/org_name the workspace every following command will bill.
|
|
145
|
-
auth.rate_limit_tier informational.
|
|
146
|
-
billing.balance Deepline credits available now. Compare it with a play's
|
|
147
|
-
cost estimate (plays list --show-cost) times the row
|
|
148
|
-
count before running a large file.
|
|
149
|
-
billing.rough_usd_balance the same balance in approximate USD.
|
|
150
|
-
billing.balance_status "active" normally; other values mean the workspace
|
|
151
|
-
cannot spend and runs will fail with a balance error.
|
|
152
|
-
Related:
|
|
153
|
-
health (server only), auth status (identity only), billing balance (credits
|
|
154
|
-
only). preflight is the union and is the one to prefer.
|
|
111
|
+
skills --dry-run and read the plan.
|
|
155
112
|
`
|
|
156
113
|
},
|
|
157
114
|
health: {
|
|
@@ -159,7 +116,7 @@ Related:
|
|
|
159
116
|
Purpose:
|
|
160
117
|
Read-only connectivity check that prints the server's raw health payload.
|
|
161
118
|
When:
|
|
162
|
-
Only when
|
|
119
|
+
Only when a command cannot reach the server and you want the raw payload,
|
|
163
120
|
or with --play-runner to prove the whole play execution plane works.
|
|
164
121
|
Input:
|
|
165
122
|
No arguments. --play-runner runs a tiny no-provider play end to end.
|
|
@@ -169,7 +126,8 @@ Output (JSON):
|
|
|
169
126
|
Cost:
|
|
170
127
|
Free. --play-runner uses no providers.
|
|
171
128
|
Avoid:
|
|
172
|
-
Do not use health to check auth or balance;
|
|
129
|
+
Do not use health to check auth or balance; use auth status or billing
|
|
130
|
+
balance.
|
|
173
131
|
`
|
|
174
132
|
},
|
|
175
133
|
"auth status": {
|
|
@@ -179,7 +137,7 @@ Purpose:
|
|
|
179
137
|
as, without changing anything.
|
|
180
138
|
When:
|
|
181
139
|
When you need the workspace name or id, or to confirm auth after a 3 exit
|
|
182
|
-
code.
|
|
140
|
+
code.
|
|
183
141
|
Input:
|
|
184
142
|
No arguments. --auth-scope folder|global reads one auth store only.
|
|
185
143
|
--reveal persists the API key into the local auth file; do not use it.
|
|
@@ -234,9 +192,8 @@ Cost:
|
|
|
234
192
|
Purpose:
|
|
235
193
|
Read the workspace's current Deepline credit balance.
|
|
236
194
|
When:
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
includes this number; do not call both at the start of a task.
|
|
195
|
+
Once at the start of a task, before the first paid call, and after a run
|
|
196
|
+
reports a balance or insufficient-credits error.
|
|
240
197
|
Input:
|
|
241
198
|
No arguments. Prints one line, "Balance: N credits". --verbose adds
|
|
242
199
|
reservations and usage awaiting settlement; --json returns the full record.
|
|
@@ -259,7 +216,7 @@ When:
|
|
|
259
216
|
include cost unless you pass --full.
|
|
260
217
|
Input:
|
|
261
218
|
--run-id <run-id> scopes the spend to one play run. --limit and --cursor
|
|
262
|
-
page the recent-call list. --json
|
|
219
|
+
page the recent-call list. --json prints JSON.
|
|
263
220
|
Output (JSON):
|
|
264
221
|
balance, usage.last_30_days_usage_credits, usage.month_spent_credits, and
|
|
265
222
|
with --run-id: run.spent_credits, run.rough_usd_spent, run.event_count.
|
|
@@ -271,7 +228,7 @@ Avoid:
|
|
|
271
228
|
`,
|
|
272
229
|
verbose: `
|
|
273
230
|
Output fields:
|
|
274
|
-
balance, balance_display, rough_usd_balance
|
|
231
|
+
balance, balance_display, rough_usd_balance credits available now.
|
|
275
232
|
plan.usd_per_credit conversion used for rough USD.
|
|
276
233
|
usage.month_spent_credits spend in the current period.
|
|
277
234
|
usage.last_30_days_usage_credits trailing-30-day spend.
|
|
@@ -308,7 +265,7 @@ Input:
|
|
|
308
265
|
comma-separated list. --categories <a,b> and --search_terms <a,b> filter
|
|
309
266
|
tools and work without a task. --limit (1-50) and --offset page.
|
|
310
267
|
Output:
|
|
311
|
-
A readable ranked list by default
|
|
268
|
+
A readable ranked list by default; read that form. With
|
|
312
269
|
--json: results[] where each item has id, kind (tool, prebuilt_play,
|
|
313
270
|
custom_play, monitor_type), displayName, and description. A tool adds
|
|
314
271
|
provider, categories, inputFields, pricing, connected, and executeCommand;
|
|
@@ -344,15 +301,11 @@ Input:
|
|
|
344
301
|
A play your workspace created is shown instead of a Deepline tool or
|
|
345
302
|
prebuilt play of the same name; --prebuilt shows the Deepline one.
|
|
346
303
|
Output:
|
|
347
|
-
Readable text by default
|
|
304
|
+
Readable text by default; read that form. With --json:
|
|
348
305
|
kind, id, displayName, description, cost, inputs[], outputs[], and
|
|
349
|
-
runExamples {cli, play}, plus the
|
|
350
|
-
returns for that kind.
|
|
306
|
+
runExamples {cli, play}, plus the kind's own fields.
|
|
351
307
|
Cost:
|
|
352
308
|
Free.
|
|
353
|
-
Avoid:
|
|
354
|
-
tools describe and plays describe are this command limited to one kind and
|
|
355
|
-
keep their own flags (--pricing-only, --examples-only, --getters-only).
|
|
356
309
|
`
|
|
357
310
|
},
|
|
358
311
|
tools: {
|
|
@@ -366,11 +319,11 @@ When:
|
|
|
366
319
|
reuse completed rows, and export.
|
|
367
320
|
The sequence:
|
|
368
321
|
search <words> ranked tools and plays for an intent
|
|
369
|
-
|
|
322
|
+
describe <id> required input fields, pricing, output shape
|
|
370
323
|
tools execute <id> --input '{...}' run it
|
|
371
324
|
Cost:
|
|
372
325
|
search, describe, list, and grep are free. execute can spend credits; the
|
|
373
|
-
price is in
|
|
326
|
+
price is in describe <id>.
|
|
374
327
|
`
|
|
375
328
|
},
|
|
376
329
|
"tools grep": {
|
|
@@ -398,7 +351,7 @@ When:
|
|
|
398
351
|
To see what kinds of tools exist (bare tools list) or to enumerate one
|
|
399
352
|
category without ranking (tools list email_finder).
|
|
400
353
|
Input:
|
|
401
|
-
Optional positional category. --json
|
|
354
|
+
Optional positional category. --json prints JSON.
|
|
402
355
|
Output (JSON):
|
|
403
356
|
Bare: one entry per category with its tool count. With a category: one row
|
|
404
357
|
per tool with required inputs and a pricing hint. Never truncated.
|
|
@@ -415,9 +368,10 @@ When:
|
|
|
415
368
|
Always before paying for an unfamiliar tool; the input schema is the only
|
|
416
369
|
reliable source of field names.
|
|
417
370
|
Input:
|
|
418
|
-
The tool id. Prints readable text by default
|
|
371
|
+
The tool id. Prints readable text by default; read that
|
|
419
372
|
form and pass --json only for a program. --pricing-only, --schema-only,
|
|
420
|
-
--examples-only, --getters-only print one section. --
|
|
373
|
+
--examples-only, --getters-only print one section. --byok prints only
|
|
374
|
+
whether you can use your own provider credentials and how to connect them. --out <path> saves the
|
|
421
375
|
output to a file. get is an alias of describe, and deepline describe <id>
|
|
422
376
|
is the same read for a tool, a play, or a monitor type.
|
|
423
377
|
Output (JSON):
|
|
@@ -456,6 +410,11 @@ Output fields:
|
|
|
456
410
|
connected false means the provider needs a connected account or
|
|
457
411
|
key in this workspace; execute will fail with 3.
|
|
458
412
|
credentialStatus detail for connected false.
|
|
413
|
+
byok only with --byok. supported: you can connect your
|
|
414
|
+
own provider credentials; required: the tool runs
|
|
415
|
+
only on them. setup and setupUrl say where to
|
|
416
|
+
connect them. With byok optional and nothing
|
|
417
|
+
connected, Deepline's managed credentials are used.
|
|
459
418
|
extractors / targetGetters JSON paths the CLI uses to turn the raw provider
|
|
460
419
|
response into rows; the same paths appear in tools
|
|
461
420
|
execute output as output_preview.listSourcePath.
|
|
@@ -485,17 +444,17 @@ Output (JSON):
|
|
|
485
444
|
listSourcePath}, summary, next, render.sections. Errors return a non-zero
|
|
486
445
|
exit code and an error object, not a completed status.
|
|
487
446
|
Cost:
|
|
488
|
-
Spends Deepline credits per call at the price in
|
|
447
|
+
Spends Deepline credits per call at the price in describe. A search
|
|
489
448
|
with limit N is one call; it is not billed per result.
|
|
490
449
|
Avoid:
|
|
491
450
|
Do not wrap the result in shell parsing to find rows; output_preview
|
|
492
451
|
already lists the row path and the first rows, and --out writes the CSV.
|
|
493
|
-
Do not add 2>&1 when you parse
|
|
452
|
+
Do not add 2>&1 when you parse the JSON: stderr text breaks the parse. A
|
|
494
453
|
failed call prints its error as JSON on stdout.
|
|
495
454
|
`,
|
|
496
455
|
verbose: `
|
|
497
456
|
Input rules:
|
|
498
|
-
The object must match inputSchema.fields from
|
|
457
|
+
The object must match inputSchema.fields from describe. Extra keys
|
|
499
458
|
are rejected by most providers. Nested filter objects (for example
|
|
500
459
|
crustdata_v3_* filters) must be passed as JSON, so use --input, not -p.
|
|
501
460
|
An @path value is read relative to the current directory.
|
|
@@ -508,12 +467,12 @@ Output fields:
|
|
|
508
467
|
toolResponse, for example toolResponse.raw.companies.
|
|
509
468
|
output_preview.preview a bounded sample of rows; the full array is at the
|
|
510
469
|
listSourcePath, and --out writes all of it as CSV.
|
|
511
|
-
next.inspect
|
|
470
|
+
next.inspect a read-only command that inspects the call, for debugging.
|
|
512
471
|
Cases:
|
|
513
472
|
Insufficient credits fail before the provider is called, with an
|
|
514
|
-
insufficient-credits error; check
|
|
473
|
+
insufficient-credits error; check billing balance first.
|
|
515
474
|
A provider that needs a connected account fails with an auth or permission
|
|
516
|
-
error;
|
|
475
|
+
error; describe shows connected false beforehand.
|
|
517
476
|
Free tools (run_javascript, free_* ids) never charge.
|
|
518
477
|
Related:
|
|
519
478
|
To run the same operation over many rows, put the rows in a CSV and use a
|
|
@@ -532,7 +491,7 @@ When:
|
|
|
532
491
|
rows on rerun, so a failed run can be resumed instead of repaid.
|
|
533
492
|
The sequence:
|
|
534
493
|
search "<input you have -> result you need>" find the play
|
|
535
|
-
|
|
494
|
+
describe <ref> required input, CSV columns, output fields
|
|
536
495
|
plays list --show-cost per-row or per-run credit estimate
|
|
537
496
|
plays run <ref> --input '{"csv":"file.csv"}' start and wait
|
|
538
497
|
runs export <run-id> --out out.csv rows
|
|
@@ -546,7 +505,7 @@ Writing a play:
|
|
|
546
505
|
The file is: export default definePlay('name', async (ctx, input) => {...}).
|
|
547
506
|
--help --verbose lists the authoring rules.
|
|
548
507
|
Auditing plays:
|
|
549
|
-
plays list
|
|
508
|
+
plays list every saved play
|
|
550
509
|
plays versions --name <play> its revisions, and which one is live
|
|
551
510
|
plays get <play> --source --out <dir> a revision's source (--live,
|
|
552
511
|
--working, or --revision <n>)
|
|
@@ -576,7 +535,7 @@ Authoring rules:
|
|
|
576
535
|
rows.peek(n), rows.materialize(n), or for await. Array methods on a
|
|
577
536
|
handle fail plays check.
|
|
578
537
|
Tool calls: rowCtx.tools.execute({ id, tool, input, description }). Read
|
|
579
|
-
results through the getters
|
|
538
|
+
results through the getters describe lists:
|
|
580
539
|
result.extractedValues.<name>.get() and
|
|
581
540
|
result.extractedLists.<name>.get(). A field with no getter is under
|
|
582
541
|
result.toolResponse.rawV2 with the provider's nesting kept.
|
|
@@ -616,7 +575,7 @@ Purpose:
|
|
|
616
575
|
When:
|
|
617
576
|
Finding a saved play by a phrase in its source or description.
|
|
618
577
|
Input:
|
|
619
|
-
A query. --json
|
|
578
|
+
A query. --json prints JSON.
|
|
620
579
|
Output (JSON):
|
|
621
580
|
Matching owned plays with the matched fields and terms.
|
|
622
581
|
Cost:
|
|
@@ -633,7 +592,7 @@ When:
|
|
|
633
592
|
cost estimate line for the play, or costEstimate in JSON.
|
|
634
593
|
Input:
|
|
635
594
|
--show-cost adds estimates. --limit and --cursor page. --categories
|
|
636
|
-
filters by tool category. --json
|
|
595
|
+
filters by tool category. --json prints JSON.
|
|
637
596
|
Output (JSON):
|
|
638
597
|
plays[] with playKey, reference, displayName, description, origin,
|
|
639
598
|
runCount, lastRun, and with --show-cost costEstimate {status, unit ("row"
|
|
@@ -644,13 +603,13 @@ Output (JSON):
|
|
|
644
603
|
Cost:
|
|
645
604
|
Free.
|
|
646
605
|
Avoid:
|
|
647
|
-
|
|
606
|
+
describe does not include a cost estimate; this command does.
|
|
648
607
|
`,
|
|
649
608
|
verbose: `
|
|
650
609
|
Pricing a run:
|
|
651
610
|
Multiply lowCredits..highCredits by the row count when unit is "row", or
|
|
652
|
-
use it directly when unit is "run". Compare with billing.
|
|
653
|
-
|
|
611
|
+
use it directly when unit is "run". Compare with the billing balance.
|
|
612
|
+
When the estimate is unavailable, run a two-row slice first and
|
|
654
613
|
read its actual spend with billing usage --run-id <run-id>.
|
|
655
614
|
Output fields:
|
|
656
615
|
costEstimate.source "observed" (from past runs; shown with ~) or
|
|
@@ -670,7 +629,7 @@ When:
|
|
|
670
629
|
reliable source of the input field and column names.
|
|
671
630
|
Input:
|
|
672
631
|
The play reference from search (prebuilt/... or <workspace>/...).
|
|
673
|
-
--compact shortens schemas. --json
|
|
632
|
+
--compact shortens schemas. --json prints JSON.
|
|
674
633
|
Output (JSON):
|
|
675
634
|
name, reference, displayName, description, inputSchema (JSON Schema plus
|
|
676
635
|
fields[] {name, required, type}), outputSchema, csvInput {inputField,
|
|
@@ -733,7 +692,7 @@ When:
|
|
|
733
692
|
Before running a local play file, and after editing one. Free, so run it
|
|
734
693
|
every time.
|
|
735
694
|
Input:
|
|
736
|
-
A local path ending in .play.ts, or a play reference. --json
|
|
695
|
+
A local path ending in .play.ts, or a play reference. --json prints JSON.
|
|
737
696
|
Output (JSON):
|
|
738
697
|
valid (boolean), target, name, reference, inputSchema, outputSchema,
|
|
739
698
|
runtimeLimit, note, and for local files any errors or warnings with the
|
|
@@ -908,7 +867,7 @@ Input:
|
|
|
908
867
|
The run id. --full resolves a full-only result and adds diagnostics with
|
|
909
868
|
billing and timeline (large). --log-failed attaches the failure log window.
|
|
910
869
|
--input prints the original input (may contain customer data). --json
|
|
911
|
-
|
|
870
|
+
prints JSON; --json run.status,datasets.name selects fields.
|
|
912
871
|
Output (JSON):
|
|
913
872
|
kind "run_overview", run {id, playName, status, startedAt, finishedAt,
|
|
914
873
|
durationMs}, steps[] {id, kind, status, label, progress {total, executed,
|
|
@@ -1048,7 +1007,7 @@ When:
|
|
|
1048
1007
|
log. Without a run id it searches events: which runs or steps failed
|
|
1049
1008
|
(--kind run.failed, --kind step.failed), with --payloads for the details.
|
|
1050
1009
|
To read what a tool call in a run returned: runs logs <run-id> --kind
|
|
1051
|
-
receipt.completed --payloads
|
|
1010
|
+
receipt.completed --payloads, then one exact result by its eventId
|
|
1052
1011
|
with --where.
|
|
1053
1012
|
Input:
|
|
1054
1013
|
A run id alone reads text logs; no run id, or any search flag, searches
|
|
@@ -1074,7 +1033,7 @@ Purpose:
|
|
|
1074
1033
|
When:
|
|
1075
1034
|
A row of a run's output records a receipt key and you need what that tool
|
|
1076
1035
|
call returned. Without a key, find the call first with runs logs <run-id>
|
|
1077
|
-
--kind receipt.completed --payloads
|
|
1036
|
+
--kind receipt.completed --payloads.
|
|
1078
1037
|
Input:
|
|
1079
1038
|
The run id, then --key <key> (repeatable) or --keys <file> with one key
|
|
1080
1039
|
per line (--keys - reads stdin). --out <file> writes the JSON to a new
|
|
@@ -1120,7 +1079,7 @@ When:
|
|
|
1120
1079
|
running lists them. Completed work is kept and reused by a later run of the
|
|
1121
1080
|
same play and input.
|
|
1122
1081
|
Input:
|
|
1123
|
-
The run id and --reason "<text>". --json
|
|
1082
|
+
The run id and --reason "<text>". --json prints JSON.
|
|
1124
1083
|
Output (JSON):
|
|
1125
1084
|
The run's new status; cancellation is asynchronous, so poll runs get.
|
|
1126
1085
|
Cost:
|
|
@@ -1304,7 +1263,7 @@ Purpose:
|
|
|
1304
1263
|
from the current release. It writes to disk.
|
|
1305
1264
|
When:
|
|
1306
1265
|
Only when asked to install or update skills. To see what is installed
|
|
1307
|
-
without changing anything, use --dry-run
|
|
1266
|
+
without changing anything, use --dry-run and read the plan.
|
|
1308
1267
|
Input:
|
|
1309
1268
|
--scope global|local, --agent <target>, --dry-run, --json.
|
|
1310
1269
|
Output (JSON):
|
|
@@ -1339,8 +1298,8 @@ Purpose:
|
|
|
1339
1298
|
Read-only diagnosis of the local install: CLI version, skills, auth,
|
|
1340
1299
|
workspace, and API connectivity, with suggested repairs.
|
|
1341
1300
|
When:
|
|
1342
|
-
When something local is wrong (skills missing, auth file odd).
|
|
1343
|
-
|
|
1301
|
+
When something local is wrong (skills missing, auth file odd). Doctor is
|
|
1302
|
+
stricter and exits 7
|
|
1344
1303
|
when any check fails, which is common in sandboxes with no skills on disk.
|
|
1345
1304
|
Input:
|
|
1346
1305
|
--scope global|local. --json.
|