deepline 0.3.370 → 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/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-RIH4S7NC.mjs → auth-LCSEXQA2.mjs} +4 -4
- package/dist/cli/{billing-Q65H5GJM.js → billing-KISDL67A.js} +148 -148
- package/dist/cli/{billing-ERNGN6WK.mjs → billing-Z7PLJC5C.mjs} +79 -79
- package/dist/cli/{chunk-MX53GIOB.js → chunk-2JRRXXTA.js} +2 -2
- package/dist/cli/{chunk-BKHNCIQD.mjs → chunk-2L6LBJVC.mjs} +193 -187
- package/dist/cli/{chunk-IDBLJSLL.mjs → chunk-3FTYFVYN.mjs} +5 -5
- package/dist/cli/{chunk-Z6B4UPM4.mjs → chunk-3GK3SH3G.mjs} +2 -2
- package/dist/cli/{chunk-4Y5UDYQK.js → chunk-44SHFHA3.js} +17 -17
- package/dist/cli/{chunk-RLXMRC6P.mjs → chunk-46JCJ7FT.mjs} +49 -96
- package/dist/cli/{chunk-XTKVXHGD.js → chunk-5BCVKWLV.js} +17 -17
- package/dist/cli/{chunk-A5RFERJQ.mjs → chunk-5S525TQV.mjs} +2 -2
- package/dist/cli/{chunk-WQZ22EQU.js → chunk-5Z7JFUNX.js} +26 -26
- package/dist/cli/{chunk-T64NZ2A7.mjs → chunk-73NIXYKH.mjs} +46 -47
- package/dist/cli/{chunk-SFI7U6CA.js → chunk-A7X7KFXX.js} +4 -4
- package/dist/cli/{chunk-YQMUTC2H.mjs → chunk-AIZKDTFF.mjs} +11 -11
- package/dist/cli/{chunk-MKFHZDBO.js → chunk-BO3ADIBV.js} +8 -8
- package/dist/cli/{chunk-NHB3UWTZ.js → chunk-C3IPN4E6.js} +17 -17
- package/dist/cli/{chunk-A4OX52RV.js → chunk-C553OZGG.js} +10 -10
- package/dist/cli/{chunk-GGRVNAOH.mjs → chunk-DOXAN2I7.mjs} +3 -3
- package/dist/cli/{chunk-YEEESF2T.js → chunk-DPVBWLBF.js} +419 -413
- package/dist/cli/{chunk-R7AAYFDQ.js → chunk-DQMTJXLK.js} +102 -103
- package/dist/cli/{chunk-NXDRDJ4K.js → chunk-E5UD3JDQ.js} +3 -1
- package/dist/cli/{chunk-LNEBKWXM.mjs → chunk-IWY7T6MR.mjs} +1 -1
- package/dist/cli/{chunk-MIMASXO4.mjs → chunk-JB6ERQUV.mjs} +3 -1
- package/dist/cli/{chunk-CTMA3C3N.js → chunk-JSK6GUY6.js} +49 -96
- package/dist/cli/{chunk-H4IQJRFC.mjs → chunk-KBJO7HIF.mjs} +9 -9
- package/dist/cli/{chunk-HHH4MPFY.mjs → chunk-KGRAQ4OR.mjs} +6 -6
- package/dist/cli/{chunk-LJWOPNJJ.mjs → chunk-KKRRIFR3.mjs} +1 -1
- package/dist/cli/{chunk-DFJDVQMH.js → chunk-N34UX4TW.js} +2 -2
- package/dist/cli/{chunk-666HPUIZ.js → chunk-NMDNUOVI.js} +1 -6
- package/dist/cli/{chunk-5DUTNG37.mjs → chunk-SEDS6ZVR.mjs} +10 -10
- package/dist/cli/{chunk-BGXG3GEI.mjs → chunk-SENW5J4O.mjs} +5 -5
- package/dist/cli/{chunk-Y2B56VN7.js → chunk-TT2YWFYW.js} +53 -53
- package/dist/cli/{chunk-A6DJC2RC.js → chunk-YENBXYUH.js} +68 -68
- package/dist/cli/{chunk-NEY2M4EZ.mjs → chunk-YYFLULK7.mjs} +1 -6
- package/dist/cli/client-JFSRNUVD.js +20 -0
- package/dist/cli/{client-QXOERIFI.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-V7UKQ7AC.mjs → csv-TEVHLGGA.mjs} +3 -3
- package/dist/cli/{csv-ZKIUSDIV.js → csv-XGFXV7JE.js} +12 -12
- package/dist/cli/{db-GWKRVHKS.js → db-LLZJ7UH5.js} +42 -43
- package/dist/cli/{db-QQ4BYMPY.mjs → db-OB7PMWSZ.mjs} +17 -18
- package/dist/cli/{describe-XMWXEFMS.mjs → describe-GZIRANUZ.mjs} +12 -12
- package/dist/cli/{describe-3AJI2BOS.js → describe-NWU7LI3I.js} +28 -28
- package/dist/cli/{executions-2IMCCV34.js → executions-64YZGSOW.js} +6 -6
- package/dist/cli/{executions-QV7UE5YG.mjs → executions-7UZ3ZGJ3.mjs} +4 -4
- package/dist/cli/{feedback-K6WNXZDB.mjs → feedback-2WRQRW3U.mjs} +8 -8
- package/dist/cli/{feedback-7SSJ7VPF.js → feedback-MN5CXULH.js} +12 -12
- package/dist/cli/{git-UOE2K2XQ.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-GC43OSXL.js → legacy-noops-VMXJPLMW.js} +9 -9
- package/dist/cli/{legacy-noops-SOYPIA2X.mjs → legacy-noops-ZRPWEPX6.mjs} +6 -6
- package/dist/cli/{monitors-FLCGMXVH.mjs → monitors-5BRTBL7E.mjs} +59 -59
- package/dist/cli/{monitors-AXANB6WK.js → monitors-OQSI2VOL.js} +140 -140
- package/dist/cli/{org-MXD4BTQI.js → org-F5QS3HG4.js} +88 -87
- package/dist/cli/{org-Q7EDNZMN.mjs → org-SMZ7AGR3.mjs} +28 -27
- package/dist/cli/{play-TZROCF7E.mjs → play-CJZNLQL7.mjs} +10 -8
- package/dist/cli/play-K7HE4LBB.js +155 -0
- package/dist/cli/{providers-JEY4FTWG.mjs → providers-CBWXJRDG.mjs} +7 -7
- package/dist/cli/{providers-LOS4MHAG.js → providers-SH2HYOVR.js} +10 -10
- package/dist/cli/{quickstart-WO5KVVER.mjs → quickstart-342ENF6Q.mjs} +4 -4
- package/dist/cli/{quickstart-27UQGHEH.js → quickstart-B6EL7WDG.js} +6 -6
- package/dist/cli/{search-LZHWXC2C.mjs → search-E7DKH3SI.mjs} +5 -5
- package/dist/cli/search-SEEYCQED.js +26 -0
- package/dist/cli/{secrets-AVJGZABR.mjs → secrets-FSYIPRVS.mjs} +5 -5
- package/dist/cli/{secrets-PE7P4L7N.js → secrets-M2AW5RGE.js} +14 -14
- package/dist/cli/{sessions-I6UDBN7M.js → sessions-AFE4C3FQ.js} +5 -5
- package/dist/cli/{sessions-ZDSZTYZV.mjs → sessions-DJPGWPNA.mjs} +4 -4
- package/dist/cli/{settings-SPWH3FET.mjs → settings-KLN2A3PQ.mjs} +10 -10
- package/dist/cli/{settings-3SLMJHJ2.js → settings-VUWBNATC.js} +77 -77
- package/dist/cli/{setup-Q3CJ4T2Q.mjs → setup-BE6N5YV6.mjs} +15 -15
- package/dist/cli/{setup-R4LUWQE4.js → setup-I5IMTQCX.js} +50 -50
- package/dist/cli/skills-7XH5GMZB.js +28 -0
- package/dist/cli/{skills-FGXH432G.mjs → skills-GSNPQDUG.mjs} +4 -4
- package/dist/cli/tools-JCL4ABAF.js +40 -0
- package/dist/cli/{tools-O7C6PFF2.mjs → tools-ORCGHV4P.mjs} +8 -8
- package/dist/cli/{update-PPCQV3CD.mjs → update-UXEUWVWS.mjs} +6 -6
- package/dist/cli/update-YNZOS77Z.js +28 -0
- package/dist/cli/{workflow-Z2KYQ2JE.mjs → workflow-JBQY7JJN.mjs} +7 -7
- package/dist/cli/{workflow-ALKU4ZFD.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-DD3PVIRQ.js +0 -33
- package/dist/cli/client-DNAFHKWV.js +0 -20
- package/dist/cli/git-EBSF3254.js +0 -23
- package/dist/cli/play-YWQXVOBT.js +0 -153
- package/dist/cli/search-OQ3OEFUA.js +0 -26
- package/dist/cli/skills-IDXBBOUW.js +0 -28
- package/dist/cli/tools-WHLD4Y4O.js +0 -40
- package/dist/cli/update-K6HE3XKO.js +0 -28
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
addDescribeOptions,
|
|
3
3
|
recordPlayTermination,
|
|
4
4
|
schemaFields
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3GK3SH3G.mjs";
|
|
6
6
|
import {
|
|
7
7
|
shellQuote
|
|
8
8
|
} from "./chunk-OVDNJAJN.mjs";
|
|
@@ -19,11 +19,11 @@ import {
|
|
|
19
19
|
} from "./chunk-EDWJY6T4.mjs";
|
|
20
20
|
import {
|
|
21
21
|
registerDeprecatedSearchCommand
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-SENW5J4O.mjs";
|
|
23
23
|
import {
|
|
24
24
|
handleDeploymentGet,
|
|
25
25
|
handleDeploymentsList
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-5S525TQV.mjs";
|
|
27
27
|
import {
|
|
28
28
|
pinLocalPlayImports,
|
|
29
29
|
planLocalPlayExecution
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
normalizeRunEventOperationRequest,
|
|
43
43
|
parseLogLevel,
|
|
44
44
|
playInputExampleArgs
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-KBJO7HIF.mjs";
|
|
46
46
|
import {
|
|
47
47
|
CSV_DATA_INPUT_KEY,
|
|
48
48
|
buildNamedPlayRunRequest,
|
|
@@ -75,10 +75,10 @@ import {
|
|
|
75
75
|
printJsonError,
|
|
76
76
|
renderCommandEnvelopeText,
|
|
77
77
|
shouldEmitJson
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-DOXAN2I7.mjs";
|
|
79
79
|
import {
|
|
80
80
|
fetchWithDeploymentProtection
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-KKRRIFR3.mjs";
|
|
82
82
|
import {
|
|
83
83
|
DeeplineError
|
|
84
84
|
} from "./chunk-NXGCO4JB.mjs";
|
|
@@ -2038,13 +2038,13 @@ Roots:
|
|
|
2038
2038
|
${PLAY_LOCATION_ROOTS.map((root) => ` ${root.value}: ${root.description}`).join("\n")}
|
|
2039
2039
|
|
|
2040
2040
|
Examples:
|
|
2041
|
-
deepline plays settings describe --name path
|
|
2042
|
-
deepline plays settings get --play company-research
|
|
2041
|
+
deepline plays settings describe --name path
|
|
2042
|
+
deepline plays settings get --play company-research
|
|
2043
2043
|
deepline plays settings get --play company-research --name path
|
|
2044
2044
|
deepline plays settings set --play company-research --name path --value person/Research/ICP
|
|
2045
2045
|
deepline plays settings set --play company-research --name path --value team/Research
|
|
2046
2046
|
deepline plays settings reset --play company-research --name path
|
|
2047
|
-
deepline plays settings paths --root team
|
|
2047
|
+
deepline plays settings paths --root team
|
|
2048
2048
|
deepline plays settings move-folder --from team/Research --to team/Archive/Research
|
|
2049
2049
|
deepline plays settings move-folder --from person/ICP --to person/Accounts --dry-run
|
|
2050
2050
|
|
|
@@ -2095,7 +2095,7 @@ function registerPlaySettingsCommands(plays) {
|
|
|
2095
2095
|
).option(
|
|
2096
2096
|
"--name <setting>",
|
|
2097
2097
|
`Describe one setting. Available: ${fields.map(([key]) => key).join(", ")}`
|
|
2098
|
-
).option("--json", "Emit JSON
|
|
2098
|
+
).option("--json", "Emit JSON").addHelpText("after", help).action((options, command) => {
|
|
2099
2099
|
if (options.name !== void 0) resolveField(options.name, command);
|
|
2100
2100
|
const descriptions = fields.filter(([name]) => !options.name || options.name === name).map(([name, field]) => ({
|
|
2101
2101
|
key: name,
|
|
@@ -2127,7 +2127,7 @@ function registerPlaySettingsCommands(plays) {
|
|
|
2127
2127
|
settings.command("get").usage("--play <play> [--name <setting>] [options]").description("Read all settings, or one setting selected with --name.").requiredOption("--play <play>", "Play to read").option(
|
|
2128
2128
|
"--name <setting>",
|
|
2129
2129
|
`Read one setting. Available: ${fields.map(([key]) => key).join(", ")}`
|
|
2130
|
-
).option("--json", "Emit JSON
|
|
2130
|
+
).option("--json", "Emit JSON").addHelpText("after", help).action(
|
|
2131
2131
|
async (options, command) => {
|
|
2132
2132
|
if (options.name !== void 0) resolveField(options.name, command);
|
|
2133
2133
|
printSettings(
|
|
@@ -2191,7 +2191,7 @@ function registerPlaySettingsCommands(plays) {
|
|
|
2191
2191
|
[set, false],
|
|
2192
2192
|
[reset, true]
|
|
2193
2193
|
])
|
|
2194
|
-
command.option("--dry-run", "Show the patch without changing settings").option("--json", "Emit JSON
|
|
2194
|
+
command.option("--dry-run", "Show the patch without changing settings").option("--json", "Emit JSON").addHelpText("after", help).action(
|
|
2195
2195
|
(options) => change(
|
|
2196
2196
|
command,
|
|
2197
2197
|
options.play,
|
|
@@ -2201,7 +2201,7 @@ function registerPlaySettingsCommands(plays) {
|
|
|
2201
2201
|
resetting
|
|
2202
2202
|
)
|
|
2203
2203
|
);
|
|
2204
|
-
settings.command("paths").description("List existing locations (one bounded page).").option("--root <person|team>", "Filter by root").option("--limit <n>", "Plays to inspect, 1\u2013100", "50").option("--cursor <cursor>", "Continue from a previous page").option("--json", "Emit JSON
|
|
2204
|
+
settings.command("paths").description("List existing locations (one bounded page).").option("--root <person|team>", "Filter by root").option("--limit <n>", "Plays to inspect, 1\u2013100", "50").option("--cursor <cursor>", "Continue from a previous page").option("--json", "Emit JSON").addHelpText("after", help).action(
|
|
2205
2205
|
async (options, command) => {
|
|
2206
2206
|
const limit = Number(options.limit);
|
|
2207
2207
|
if (options.root !== void 0 && options.root !== "person" && options.root !== "team" || !Number.isInteger(limit) || limit < 1 || limit > 100)
|
|
@@ -2214,7 +2214,7 @@ function registerPlaySettingsCommands(plays) {
|
|
|
2214
2214
|
limit,
|
|
2215
2215
|
cursor: options.cursor
|
|
2216
2216
|
});
|
|
2217
|
-
const nextCommand = page.hasMore ? `deepline plays settings paths --cursor '${page.cursor}'${options.root ? ` --root ${options.root}` : ""}
|
|
2217
|
+
const nextCommand = page.hasMore ? `deepline plays settings paths --cursor '${page.cursor}'${options.root ? ` --root ${options.root}` : ""}` : null;
|
|
2218
2218
|
printCommandEnvelope(
|
|
2219
2219
|
{
|
|
2220
2220
|
...page,
|
|
@@ -2245,7 +2245,7 @@ function registerPlaySettingsCommands(plays) {
|
|
|
2245
2245
|
).option(
|
|
2246
2246
|
"--owner <user-id>",
|
|
2247
2247
|
"Personal-root owner, when several people have the --from folder or --to is person"
|
|
2248
|
-
).option("--dry-run", "Show the planned moves without changing settings").option("--json", "Emit JSON
|
|
2248
|
+
).option("--dry-run", "Show the planned moves without changing settings").option("--json", "Emit JSON").addHelpText("after", help).action(
|
|
2249
2249
|
async (options, command) => {
|
|
2250
2250
|
let fromPath;
|
|
2251
2251
|
let toPath;
|
|
@@ -2427,7 +2427,7 @@ already live does nothing. Git-deployed Plays are read-only here: change the
|
|
|
2427
2427
|
trigger in the repository.
|
|
2428
2428
|
|
|
2429
2429
|
Examples:
|
|
2430
|
-
deepline plays trigger get --play daily-sync
|
|
2430
|
+
deepline plays trigger get --play daily-sync
|
|
2431
2431
|
deepline plays trigger set-cron --play daily-sync --schedule "0 9 * * 1-5" --timezone America/New_York
|
|
2432
2432
|
deepline plays trigger set-cron --play daily-sync --schedule "0 * * * *" --input '{"domain":"example.com"}'
|
|
2433
2433
|
deepline plays trigger clear-cron --play daily-sync
|
|
@@ -2526,7 +2526,7 @@ function withMutationOptions(command) {
|
|
|
2526
2526
|
return command.requiredOption("--play <play>", "Play to change").option(
|
|
2527
2527
|
"--expected-revision <id>",
|
|
2528
2528
|
"Refuse the change if the live revision is no longer this one"
|
|
2529
|
-
).option("--dry-run", "Show the change without publishing").option("--json", "Emit JSON
|
|
2529
|
+
).option("--dry-run", "Show the change without publishing").option("--json", "Emit JSON").addHelpText("after", help2);
|
|
2530
2530
|
}
|
|
2531
2531
|
function parseInput(command, raw) {
|
|
2532
2532
|
let parsed;
|
|
@@ -2549,7 +2549,7 @@ function registerPlayTriggerConfigCommands(plays) {
|
|
|
2549
2549
|
if (error.exitCode !== 0) error.exitCode = 2;
|
|
2550
2550
|
throw error;
|
|
2551
2551
|
}).addHelpText("after", help2);
|
|
2552
|
-
trigger.command("get").description("Show the cron and webhook triggers of a Play.").requiredOption("--play <play>", "Play to read").option("--json", "Emit JSON
|
|
2552
|
+
trigger.command("get").description("Show the cron and webhook triggers of a Play.").requiredOption("--play <play>", "Play to read").option("--json", "Emit JSON").addHelpText("after", help2).action(async (options) => {
|
|
2553
2553
|
printView(
|
|
2554
2554
|
await new DeeplineClient().getPlayTriggerConfig(options.play),
|
|
2555
2555
|
options.json
|
|
@@ -2683,35 +2683,35 @@ var READ_EXAMPLES = [
|
|
|
2683
2683
|
var FILTER_EXAMPLES = [
|
|
2684
2684
|
{
|
|
2685
2685
|
label: "Failed work with saved details",
|
|
2686
|
-
command: `deepline runs logs --kind receipt.failed --where '$.status == "failed"' --payloads
|
|
2686
|
+
command: `deepline runs logs --kind receipt.failed --where '$.status == "failed"' --payloads`
|
|
2687
2687
|
},
|
|
2688
2688
|
{
|
|
2689
2689
|
label: "One failed step",
|
|
2690
|
-
command: `deepline runs logs --kind step.failed --where '$.stepId == "company-lookup"' --payloads
|
|
2690
|
+
command: `deepline runs logs --kind step.failed --where '$.stepId == "company-lookup"' --payloads`
|
|
2691
2691
|
},
|
|
2692
2692
|
{
|
|
2693
2693
|
label: "Provider and operation",
|
|
2694
|
-
command: `deepline runs logs --kind activity.observed --where '$.provider == "apollo" && $.operation == "company_lookup"'
|
|
2694
|
+
command: `deepline runs logs --kind activity.observed --where '$.provider == "apollo" && $.operation == "company_lookup"'`
|
|
2695
2695
|
},
|
|
2696
2696
|
{
|
|
2697
2697
|
label: "Failed dataset",
|
|
2698
|
-
command: `deepline runs logs --kind dataset.lifecycle --where '$.datasetId == "companies" && $.phase == "failed"' --payloads
|
|
2698
|
+
command: `deepline runs logs --kind dataset.lifecycle --where '$.datasetId == "companies" && $.phase == "failed"' --payloads`
|
|
2699
2699
|
},
|
|
2700
2700
|
{
|
|
2701
2701
|
label: "String log context",
|
|
2702
|
-
command: `deepline runs logs --kind log.appended --where '$.context.companyId == "acme_123"'
|
|
2702
|
+
command: `deepline runs logs --kind log.appended --where '$.context.companyId == "acme_123"'`
|
|
2703
2703
|
},
|
|
2704
2704
|
{
|
|
2705
2705
|
label: "Number and boolean log context",
|
|
2706
|
-
command: "deepline runs logs --kind log.appended --where '$.context.attempt == 2 && $.context.cached == false'
|
|
2706
|
+
command: "deepline runs logs --kind log.appended --where '$.context.attempt == 2 && $.context.cached == false'"
|
|
2707
2707
|
},
|
|
2708
2708
|
{
|
|
2709
2709
|
label: "One run and step",
|
|
2710
|
-
command: `deepline runs logs '<run-id>' --where '$.stepId == "company-lookup"'
|
|
2710
|
+
command: `deepline runs logs '<run-id>' --where '$.stepId == "company-lookup"'`
|
|
2711
2711
|
},
|
|
2712
2712
|
{
|
|
2713
2713
|
label: "Error logs for one step",
|
|
2714
|
-
command: `deepline runs logs --kind log.appended --where '$.level == "error" && $.stepId == "company-lookup"' --payloads
|
|
2714
|
+
command: `deepline runs logs --kind log.appended --where '$.level == "error" && $.stepId == "company-lookup"' --payloads`
|
|
2715
2715
|
}
|
|
2716
2716
|
];
|
|
2717
2717
|
function wrapParagraph(text) {
|
|
@@ -2733,9 +2733,9 @@ function renderRunLogsHelp() {
|
|
|
2733
2733
|
"Examples:",
|
|
2734
2734
|
` ${READ_EXAMPLES[0]}`,
|
|
2735
2735
|
" deepline runs logs '<run-id>' --step company-lookup --level warn --since 1h",
|
|
2736
|
-
" deepline runs logs '<run-id>' --query timeout --count
|
|
2737
|
-
` deepline runs logs --where '$.eventId == "receipt:5a32ee1a-46cf-4853-b72b-5f1d782ffab4"' --payloads
|
|
2738
|
-
" deepline runs logs --kind run.failed
|
|
2736
|
+
" deepline runs logs '<run-id>' --query timeout --count",
|
|
2737
|
+
` deepline runs logs --where '$.eventId == "receipt:5a32ee1a-46cf-4853-b72b-5f1d782ffab4"' --payloads`,
|
|
2738
|
+
" deepline runs logs --kind run.failed",
|
|
2739
2739
|
...[
|
|
2740
2740
|
FILTER_EXAMPLES[1],
|
|
2741
2741
|
FILTER_EXAMPLES[2],
|
|
@@ -3002,8 +3002,7 @@ function continuation(parsed, query, cursor) {
|
|
|
3002
3002
|
"--limit",
|
|
3003
3003
|
String("limit" in request ? request.limit : ""),
|
|
3004
3004
|
"--cursor",
|
|
3005
|
-
shellQuote2(cursor)
|
|
3006
|
-
"--json"
|
|
3005
|
+
shellQuote2(cursor)
|
|
3007
3006
|
].join(" ");
|
|
3008
3007
|
}
|
|
3009
3008
|
async function handleRunEventQuery(args, resource = "logs") {
|
|
@@ -3116,7 +3115,7 @@ function registerRunEventsCommand(runs) {
|
|
|
3116
3115
|
"Count and sum numeric values; repeatable, optionally grouped",
|
|
3117
3116
|
(field, previous) => [...previous, field],
|
|
3118
3117
|
[]
|
|
3119
|
-
).option("--fields", "Discover filter fields, types and operators").option("--limit <count>", "Rows or groups per page (maximum 200)").option("--cursor <token>", "Continue the exact preceding query").option("--payloads", "Include saved details: at most 10 events and 16 MiB").option("--json", "JSON output
|
|
3118
|
+
).option("--fields", "Discover filter fields, types and operators").option("--limit <count>", "Rows or groups per page (maximum 200)").option("--cursor <token>", "Continue the exact preceding query").option("--payloads", "Include saved details: at most 10 events and 16 MiB").option("--json", "JSON output").addOption(
|
|
3120
3119
|
new Option(
|
|
3121
3120
|
"--runtime-namespace <name>",
|
|
3122
3121
|
"Authorized Preview namespace"
|
|
@@ -3128,7 +3127,7 @@ function registerRunEventsCommand(runs) {
|
|
|
3128
3127
|
).hideHelp()
|
|
3129
3128
|
).addHelpText(
|
|
3130
3129
|
"after",
|
|
3131
|
-
"\nExamples:\n deepline runs events --kind step.failed --since 1h
|
|
3130
|
+
"\nExamples:\n deepline runs events --kind step.failed --since 1h\n deepline runs events --group-by kind --since 1h\n deepline runs events --fields\n"
|
|
3132
3131
|
).action(async (runId, options) => {
|
|
3133
3132
|
const args = runId ? [runId] : [];
|
|
3134
3133
|
for (const [key, flag] of [
|
|
@@ -3505,9 +3504,9 @@ function excludePreviewMetadata(value) {
|
|
|
3505
3504
|
}
|
|
3506
3505
|
function lifecycleActions(status, id, state) {
|
|
3507
3506
|
return {
|
|
3508
|
-
...["started", "queued", "running", "waiting"].includes(state ?? "") ? { stopRunCmd: `deepline runs stop ${id}
|
|
3507
|
+
...["started", "queued", "running", "waiting"].includes(state ?? "") ? { stopRunCmd: `deepline runs stop ${id}` } : {},
|
|
3509
3508
|
...state === "failed" ? {
|
|
3510
|
-
getFailedLogsCmd: `deepline runs logs ${id} --failed
|
|
3509
|
+
getFailedLogsCmd: `deepline runs logs ${id} --failed`,
|
|
3511
3510
|
...status.rerunCommand ? { rerunCmd: status.rerunCommand } : {}
|
|
3512
3511
|
} : {}
|
|
3513
3512
|
};
|
|
@@ -3639,7 +3638,7 @@ function buildRunOverview(status, fullStatus) {
|
|
|
3639
3638
|
const pkg = inspectedStatus.package;
|
|
3640
3639
|
if (!pkg) {
|
|
3641
3640
|
throw new Error(
|
|
3642
|
-
"This server did not return a run package; use runs get --full
|
|
3641
|
+
"This server did not return a run package; use runs get --full."
|
|
3643
3642
|
);
|
|
3644
3643
|
}
|
|
3645
3644
|
const outputs = Object.entries(pkg.outputs);
|
|
@@ -3806,7 +3805,7 @@ function buildRunOverview(status, fullStatus) {
|
|
|
3806
3805
|
function receiptAction(id) {
|
|
3807
3806
|
const quotedId = `'${id.replace(/'/g, "'\\''")}'`;
|
|
3808
3807
|
return {
|
|
3809
|
-
getReceiptCmd: `deepline runs logs ${quotedId} --kind receipt.completed --payloads
|
|
3808
|
+
getReceiptCmd: `deepline runs logs ${quotedId} --kind receipt.completed --payloads`
|
|
3810
3809
|
};
|
|
3811
3810
|
}
|
|
3812
3811
|
function buildRunNavigation(status) {
|
|
@@ -3821,9 +3820,9 @@ function buildRunNavigation(status) {
|
|
|
3821
3820
|
datasets: [],
|
|
3822
3821
|
actions: {
|
|
3823
3822
|
...lifecycleActions(status, id, status.status),
|
|
3824
|
-
getRunCmd: `deepline runs get ${id}
|
|
3825
|
-
getFullRunCmd: `deepline runs get ${id} --full
|
|
3826
|
-
getLogsCmd: `deepline runs logs ${id} --limit 100
|
|
3823
|
+
getRunCmd: `deepline runs get ${id}`,
|
|
3824
|
+
getFullRunCmd: `deepline runs get ${id} --full`,
|
|
3825
|
+
getLogsCmd: `deepline runs logs ${id} --limit 100`,
|
|
3827
3826
|
...receiptAction(id)
|
|
3828
3827
|
}
|
|
3829
3828
|
};
|
|
@@ -3925,8 +3924,8 @@ function checkedRunExample(plays, target) {
|
|
|
3925
3924
|
const quote = (value) => `'${value.replace(/'/g, `'\\''`)}'`;
|
|
3926
3925
|
const base = `deepline plays run --file ${quote(target)}`;
|
|
3927
3926
|
return {
|
|
3928
|
-
command: `${base}${playInputExampleArgs(schema)}
|
|
3929
|
-
note: "Runs the local file without publishing and may spend credits. Supply the indicated file; JSON input must match inputSchema.
|
|
3927
|
+
command: `${base}${playInputExampleArgs(schema)}`,
|
|
3928
|
+
note: "Runs the local file without publishing and may spend credits. Supply the indicated file; JSON input must match inputSchema."
|
|
3930
3929
|
};
|
|
3931
3930
|
}
|
|
3932
3931
|
function buildPlayCheckOutput(input) {
|
|
@@ -4003,7 +4002,7 @@ function registerRunReceiptCommand(runs) {
|
|
|
4003
4002
|
"after",
|
|
4004
4003
|
`
|
|
4005
4004
|
Examples:
|
|
4006
|
-
deepline runs logs <run-id> --kind receipt.completed --payloads
|
|
4005
|
+
deepline runs logs <run-id> --kind receipt.completed --payloads
|
|
4007
4006
|
|
|
4008
4007
|
Returns one outcome per key, preserving order and duplicates. A missing or
|
|
4009
4008
|
unavailable result is explicit; other keys are still returned. Exit 4 means
|
|
@@ -4065,12 +4064,12 @@ function registerRunChildrenCommand(runs) {
|
|
|
4065
4064
|
).requiredOption(
|
|
4066
4065
|
"--launch-key <key>",
|
|
4067
4066
|
"Authored ctx.runPlayAsync launch key"
|
|
4068
|
-
).option("--cursor <cursor>", "Opaque cursor from the previous page").option("--limit <number>", "Rows to request (1\u201350; default 50)", "50").option("--json", "Emit JSON output
|
|
4067
|
+
).option("--cursor <cursor>", "Opaque cursor from the previous page").option("--limit <number>", "Rows to request (1\u201350; default 50)", "50").option("--json", "Emit JSON output").addHelpText(
|
|
4069
4068
|
"after",
|
|
4070
4069
|
`
|
|
4071
4070
|
Examples:
|
|
4072
|
-
deepline runs children 'play/demo/run/parent' --launch-key approval
|
|
4073
|
-
deepline runs children 'play/demo/run/parent' --launch-key approval --cursor '<cursor>' --limit 25
|
|
4071
|
+
deepline runs children 'play/demo/run/parent' --launch-key approval
|
|
4072
|
+
deepline runs children 'play/demo/run/parent' --launch-key approval --cursor '<cursor>' --limit 25
|
|
4074
4073
|
|
|
4075
4074
|
The command is read-only. Each response contains at most 50 child Runs and
|
|
4076
4075
|
includes nextCommand when another page is available.
|
|
@@ -4097,8 +4096,7 @@ includes nextCommand when another page is available.
|
|
|
4097
4096
|
"--cursor",
|
|
4098
4097
|
shellQuote3(page.nextCursor),
|
|
4099
4098
|
"--limit",
|
|
4100
|
-
String(limit)
|
|
4101
|
-
"--json"
|
|
4099
|
+
String(limit)
|
|
4102
4100
|
].join(" ") : null;
|
|
4103
4101
|
printCommandEnvelope(
|
|
4104
4102
|
{
|
|
@@ -4170,9 +4168,9 @@ function registerRunHistoryCommand(runs) {
|
|
|
4170
4168
|
).option(
|
|
4171
4169
|
"--org <id>",
|
|
4172
4170
|
"Workspace ID (must match the authenticated workspace)"
|
|
4173
|
-
).option("--json", "Emit JSON output
|
|
4171
|
+
).option("--json", "Emit JSON output").addHelpText(
|
|
4174
4172
|
"after",
|
|
4175
|
-
"\nUse the opaque --cursor returned by the previous page to continue.\n\nExample:\n deepline runs history --limit 100
|
|
4173
|
+
"\nUse the opaque --cursor returned by the previous page to continue.\n\nExample:\n deepline runs history --limit 100\n"
|
|
4176
4174
|
).action(handleRunsHistory);
|
|
4177
4175
|
}
|
|
4178
4176
|
|
|
@@ -4216,7 +4214,7 @@ async function runRunsRerunCommand(runId, options) {
|
|
|
4216
4214
|
Rerun already exists for ${runId} (matched by idempotency key): ${result.runId}` : `
|
|
4217
4215
|
Rerun started from ${runId}${inputOverrides ? " with input overrides" : ""}.`
|
|
4218
4216
|
);
|
|
4219
|
-
console.log(` inspect: deepline runs get ${result.runId}
|
|
4217
|
+
console.log(` inspect: deepline runs get ${result.runId}`);
|
|
4220
4218
|
console.log(` original input: deepline runs get ${result.runId} --input`);
|
|
4221
4219
|
console.log(
|
|
4222
4220
|
result.deduplicated === true ? " No new run was started. Use a different --idempotency-key to start another rerun." : ` This is a fresh run using the original input${inputOverrides ? " with the supplied field overrides" : ""} and pinned revision. Normal tool receipt reuse still applies.`
|
|
@@ -7976,6 +7974,14 @@ async function loadPlayBundler() {
|
|
|
7976
7974
|
})();
|
|
7977
7975
|
return playBundlerPromise;
|
|
7978
7976
|
}
|
|
7977
|
+
function liveMaxCreditsPerRun(sourceCode) {
|
|
7978
|
+
if (!sourceCode) return "source unavailable";
|
|
7979
|
+
if (!/\bmaxCreditsPerRun\b/.test(sourceCode)) return "not set";
|
|
7980
|
+
const literal = /\bmaxCreditsPerRun\s*:\s*([0-9][0-9_]*(?:\.[0-9]+)?)\b/.exec(
|
|
7981
|
+
sourceCode
|
|
7982
|
+
);
|
|
7983
|
+
return literal ? literal[1].replace(/_/g, "") : "not a literal (read it with plays get --source --live)";
|
|
7984
|
+
}
|
|
7979
7985
|
function resolveEvalIntegrationMode() {
|
|
7980
7986
|
const mode = process.env.DEEPLINE_EVAL_INTEGRATION_MODE;
|
|
7981
7987
|
if (mode === "live" || mode === "eval_stub" || mode === "fixture") {
|
|
@@ -8265,12 +8271,12 @@ function buildPlayReferenceNotFoundMessage(input) {
|
|
|
8265
8271
|
` deepline plays run ${suggestion.reference} --input '{...}'`
|
|
8266
8272
|
);
|
|
8267
8273
|
} else if (input.command === "get") {
|
|
8268
|
-
lines.push(` deepline plays get ${suggestion.reference}
|
|
8274
|
+
lines.push(` deepline plays get ${suggestion.reference}`);
|
|
8269
8275
|
} else if (input.command === "check") {
|
|
8270
|
-
lines.push(` deepline plays check ${suggestion.reference}
|
|
8276
|
+
lines.push(` deepline plays check ${suggestion.reference}`);
|
|
8271
8277
|
} else if (input.command === "versions") {
|
|
8272
8278
|
lines.push(
|
|
8273
|
-
` deepline plays versions --name ${suggestion.reference}
|
|
8279
|
+
` deepline plays versions --name ${suggestion.reference}`
|
|
8274
8280
|
);
|
|
8275
8281
|
} else {
|
|
8276
8282
|
lines.push(` deepline describe ${suggestion.reference}`);
|
|
@@ -8282,7 +8288,7 @@ function buildPlayReferenceNotFoundMessage(input) {
|
|
|
8282
8288
|
lines.push(
|
|
8283
8289
|
"",
|
|
8284
8290
|
"Search visible plays:",
|
|
8285
|
-
` deepline search --type plays ${shellQuote(searchQuery)}
|
|
8291
|
+
` deepline search --type plays ${shellQuote(searchQuery)}`
|
|
8286
8292
|
);
|
|
8287
8293
|
}
|
|
8288
8294
|
return lines.join("\n");
|
|
@@ -8496,8 +8502,8 @@ function looksLikeRunId(target) {
|
|
|
8496
8502
|
function formatPlayCommandReceivedRunIdError(input) {
|
|
8497
8503
|
return `\`deepline plays ${input.command} <run-id>\` expects a play name, but this looks like a run id.
|
|
8498
8504
|
Use:
|
|
8499
|
-
deepline runs get ${input.runId}
|
|
8500
|
-
deepline runs logs ${input.runId}
|
|
8505
|
+
deepline runs get ${input.runId}
|
|
8506
|
+
deepline runs logs ${input.runId}
|
|
8501
8507
|
deepline runs export ${input.runId} --out output.csv`;
|
|
8502
8508
|
}
|
|
8503
8509
|
function looksLikeFilePath2(target) {
|
|
@@ -9018,7 +9024,7 @@ function getRunLifecycleHint(input) {
|
|
|
9018
9024
|
}
|
|
9019
9025
|
const activity = getLiveRunActivity(input.event);
|
|
9020
9026
|
const activityConflictsWithDurableWait = status === "waiting" && activity?.observation.state.kind === "active" && activity.observation.target.kind !== "runner";
|
|
9021
|
-
const inspect = `'deepline runs get ${runId} --full
|
|
9027
|
+
const inspect = `'deepline runs get ${runId} --full'`;
|
|
9022
9028
|
const sleepState = activity?.observation.state.kind === "scheduled" && activity.observation.state.reason === "sleep" ? activity.observation.state : null;
|
|
9023
9029
|
if (status === "waiting" && (sleepState !== null || getLiveRunStringField(input.event, "waitKind") === "sleep")) {
|
|
9024
9030
|
const recordedWake = readLiveRunField(input.event, "waitUntil");
|
|
@@ -9124,7 +9130,7 @@ function getLogLinesFromLiveEvent(event) {
|
|
|
9124
9130
|
return Array.isArray(lines) ? lines.filter((line) => typeof line === "string") : [];
|
|
9125
9131
|
}
|
|
9126
9132
|
function buildRunInspectCommand(runId) {
|
|
9127
|
-
return `deepline runs get ${runId} --full
|
|
9133
|
+
return `deepline runs get ${runId} --full`;
|
|
9128
9134
|
}
|
|
9129
9135
|
function extractTableNamespaceFromLiveEvent(event) {
|
|
9130
9136
|
const payload = getEventPayload(event);
|
|
@@ -9449,7 +9455,7 @@ function assertPlayWaitNotTimedOut(input) {
|
|
|
9449
9455
|
if (input.waitTimeoutMs !== null && Date.now() - input.startedAt >= input.waitTimeoutMs) {
|
|
9450
9456
|
const hasRealRunId = input.workflowId.length > 0 && input.workflowId !== "pending";
|
|
9451
9457
|
const phaseSuffix = input.lastPhase && input.lastPhase.trim() ? ` (last observed phase: ${input.lastPhase.trim()})` : "";
|
|
9452
|
-
const tailHint = hasRealRunId ? ` The CLI stopped waiting; it did not cancel the run. Check its current state with 'deepline runs get ${input.workflowId}
|
|
9458
|
+
const tailHint = hasRealRunId ? ` The CLI stopped waiting; it did not cancel the run. Check its current state with 'deepline runs get ${input.workflowId}', or reattach with 'deepline runs watch ${input.workflowId}'. Do not start another run just to retrieve results.` : ` No run id was received, so acceptance is unknown. Check recent runs with 'deepline runs list --play <play-name>' before submitting again.`;
|
|
9453
9459
|
throw new DeeplineError(
|
|
9454
9460
|
`Timed out waiting for play ${hasRealRunId ? input.workflowId : "<no run id>"} after ${Math.ceil(input.waitTimeoutMs / 1e3)}s${phaseSuffix}.${tailHint}`,
|
|
9455
9461
|
void 0,
|
|
@@ -9985,7 +9991,7 @@ async function startAndWaitForPlayCompletionByStreamOnce(input) {
|
|
|
9985
9991
|
const phaseSuffix = lastPhase && lastPhase.trim() ? ` (last observed phase: ${lastPhase.trim()})` : "";
|
|
9986
9992
|
const idSuffix = lastKnownWorkflowId ? ` runId=${lastKnownWorkflowId}` : "";
|
|
9987
9993
|
throw new DeeplineError(
|
|
9988
|
-
`Play start request ended before terminal status was observed${idSuffix}${phaseSuffix}. If a run id was printed, inspect it with 'deepline runs get <run-id> --full
|
|
9994
|
+
`Play start request ended before terminal status was observed${idSuffix}${phaseSuffix}. If a run id was printed, inspect it with 'deepline runs get <run-id> --full' or continue watching with 'deepline runs watch <run-id>'.`,
|
|
9989
9995
|
void 0,
|
|
9990
9996
|
"PLAY_START_STREAM_ENDED",
|
|
9991
9997
|
{
|
|
@@ -10290,28 +10296,28 @@ function buildRunNextCommands(status) {
|
|
|
10290
10296
|
if (!runId) {
|
|
10291
10297
|
const playName = extractRunPlayName(status);
|
|
10292
10298
|
return playName ? {
|
|
10293
|
-
list: `deepline runs list --play ${playName}
|
|
10299
|
+
list: `deepline runs list --play ${playName}`
|
|
10294
10300
|
} : {
|
|
10295
|
-
list: "deepline runs list
|
|
10301
|
+
list: "deepline runs list"
|
|
10296
10302
|
};
|
|
10297
10303
|
}
|
|
10298
10304
|
const actions2 = buildRunNavigation(status).actions;
|
|
10299
10305
|
const exportDatasetCmds = Array.isArray(actions2.exportDatasetCmds) ? actions2.exportDatasetCmds : !status.package && extractCanonicalRowsInfo(status) ? [`deepline runs export ${runId} --out output.csv`] : [];
|
|
10300
10306
|
const commands = {
|
|
10301
|
-
get: String(actions2.getRunCmd ?? `deepline runs get ${runId}
|
|
10307
|
+
get: String(actions2.getRunCmd ?? `deepline runs get ${runId}`),
|
|
10302
10308
|
full: String(
|
|
10303
|
-
actions2.getFullRunCmd ?? `deepline runs get ${runId} --full
|
|
10309
|
+
actions2.getFullRunCmd ?? `deepline runs get ${runId} --full`
|
|
10304
10310
|
),
|
|
10305
10311
|
...exportDatasetCmds.length === 1 ? { export: String(exportDatasetCmds[0]) } : {},
|
|
10306
10312
|
logs: String(
|
|
10307
|
-
!status.package ? `deepline runs logs ${runId} --out run.log
|
|
10313
|
+
!status.package ? `deepline runs logs ${runId} --out run.log` : actions2.getLogsCmd ?? `deepline runs logs ${runId} --limit 100`
|
|
10308
10314
|
)
|
|
10309
10315
|
};
|
|
10310
10316
|
if (["started", "queued", "running", "waiting"].includes(status.status ?? "")) {
|
|
10311
|
-
commands.stop = `deepline runs stop ${runId}
|
|
10317
|
+
commands.stop = `deepline runs stop ${runId}`;
|
|
10312
10318
|
}
|
|
10313
10319
|
if (status.status === "failed") {
|
|
10314
|
-
commands.failedLogs = `deepline runs logs ${runId} --failed
|
|
10320
|
+
commands.failedLogs = `deepline runs logs ${runId} --failed`;
|
|
10315
10321
|
if (status.rerunCommand) commands.run = status.rerunCommand;
|
|
10316
10322
|
}
|
|
10317
10323
|
if (status.dashboardUrl) {
|
|
@@ -10379,8 +10385,8 @@ function insufficientCreditsRecoveryCommands(billing) {
|
|
|
10379
10385
|
billing.recommended_add_credits ?? billing.needed_credits
|
|
10380
10386
|
);
|
|
10381
10387
|
return {
|
|
10382
|
-
topUp: `deepline billing top-up ${topUpCredits}
|
|
10383
|
-
checkout: `deepline billing checkout --credits ${topUpCredits} --no-open
|
|
10388
|
+
topUp: `deepline billing top-up ${topUpCredits}`,
|
|
10389
|
+
checkout: `deepline billing checkout --credits ${topUpCredits} --no-open`
|
|
10384
10390
|
};
|
|
10385
10391
|
}
|
|
10386
10392
|
function extractJsonObjectFromText(text) {
|
|
@@ -10508,7 +10514,7 @@ function buildInsufficientCreditsSummaryLines(input) {
|
|
|
10508
10514
|
lines.push(` checkout fallback: ${recovery.checkout}`);
|
|
10509
10515
|
const runId = input.status.runId?.trim();
|
|
10510
10516
|
if (runId) {
|
|
10511
|
-
lines.push(` inspect: deepline runs get ${runId}
|
|
10517
|
+
lines.push(` inspect: deepline runs get ${runId}`);
|
|
10512
10518
|
lines.push(
|
|
10513
10519
|
` export partial: deepline runs export ${runId} --out output.csv`
|
|
10514
10520
|
);
|
|
@@ -10744,7 +10750,7 @@ function compactPlayStatus(status) {
|
|
|
10744
10750
|
next: {
|
|
10745
10751
|
...readRecord(packaged.next) ?? {},
|
|
10746
10752
|
...status.failedLogs ? {
|
|
10747
|
-
failedLogs: `deepline runs logs ${status.runId} --failed
|
|
10753
|
+
failedLogs: `deepline runs logs ${status.runId} --failed`
|
|
10748
10754
|
} : {},
|
|
10749
10755
|
...status.rerunCommand ? { run: status.rerunCommand } : {}
|
|
10750
10756
|
}
|
|
@@ -10757,14 +10763,14 @@ function compactPlayStatus(status) {
|
|
|
10757
10763
|
...status.failedLogs ? {
|
|
10758
10764
|
next: {
|
|
10759
10765
|
...readRecord(packaged.next) ?? {},
|
|
10760
|
-
failedLogs: `deepline runs logs ${status.runId} --failed
|
|
10766
|
+
failedLogs: `deepline runs logs ${status.runId} --failed`
|
|
10761
10767
|
}
|
|
10762
10768
|
} : {},
|
|
10763
10769
|
...status.rerunCommand ? {
|
|
10764
10770
|
next: {
|
|
10765
10771
|
...readRecord(packaged.next) ?? {},
|
|
10766
10772
|
...status.failedLogs ? {
|
|
10767
|
-
failedLogs: `deepline runs logs ${status.runId} --failed
|
|
10773
|
+
failedLogs: `deepline runs logs ${status.runId} --failed`
|
|
10768
10774
|
} : {},
|
|
10769
10775
|
run: status.rerunCommand
|
|
10770
10776
|
}
|
|
@@ -10925,13 +10931,13 @@ function actionToCommand(action) {
|
|
|
10925
10931
|
return record3.command.trim();
|
|
10926
10932
|
}
|
|
10927
10933
|
if (record3.kind === "deepline_run_inspect" && typeof record3.runId === "string") {
|
|
10928
|
-
return `deepline runs get ${record3.runId}
|
|
10934
|
+
return `deepline runs get ${record3.runId}`;
|
|
10929
10935
|
}
|
|
10930
10936
|
if (record3.kind === "deepline_run_full" && typeof record3.runId === "string") {
|
|
10931
|
-
return `deepline runs get ${record3.runId} --full
|
|
10937
|
+
return `deepline runs get ${record3.runId} --full`;
|
|
10932
10938
|
}
|
|
10933
10939
|
if (record3.kind === "deepline_run_billing" && typeof record3.runId === "string") {
|
|
10934
|
-
return `deepline billing usage --run-id ${record3.runId}
|
|
10940
|
+
return `deepline billing usage --run-id ${record3.runId}`;
|
|
10935
10941
|
}
|
|
10936
10942
|
if (record3.kind === "deepline_run_export" && typeof record3.runId === "string" && typeof record3.datasetPath === "string") {
|
|
10937
10943
|
return `deepline runs export ${record3.runId} --dataset ${shellQuote(
|
|
@@ -10943,12 +10949,12 @@ function actionToCommand(action) {
|
|
|
10943
10949
|
return record3.command;
|
|
10944
10950
|
}
|
|
10945
10951
|
if (typeof record3.runId === "string") {
|
|
10946
|
-
return record3.view === "failed" ? `deepline runs logs ${record3.runId} --failed
|
|
10952
|
+
return record3.view === "failed" ? `deepline runs logs ${record3.runId} --failed` : `deepline runs logs ${record3.runId}`;
|
|
10947
10953
|
}
|
|
10948
10954
|
}
|
|
10949
10955
|
if (record3.kind === "deepline_db_query" && typeof record3.sql === "string") {
|
|
10950
10956
|
const maxRows = typeof record3.maxRows === "number" && Number.isFinite(record3.maxRows) ? Math.trunc(record3.maxRows) : 20;
|
|
10951
|
-
return `deepline db query --sql ${shellQuote(record3.sql)} --max-rows ${maxRows}
|
|
10957
|
+
return `deepline db query --sql ${shellQuote(record3.sql)} --max-rows ${maxRows}`;
|
|
10952
10958
|
}
|
|
10953
10959
|
return null;
|
|
10954
10960
|
}
|
|
@@ -11690,7 +11696,7 @@ function writePlayResult(status, jsonOutput, options) {
|
|
|
11690
11696
|
)
|
|
11691
11697
|
);
|
|
11692
11698
|
if (status.status === "failed") {
|
|
11693
|
-
lines.push(` failed logs: deepline runs logs ${runId} --failed
|
|
11699
|
+
lines.push(` failed logs: deepline runs logs ${runId} --failed`);
|
|
11694
11700
|
if (status.rerunCommand) {
|
|
11695
11701
|
lines.push(" run again (completed work is reused):");
|
|
11696
11702
|
lines.push(` ${status.rerunCommand}`);
|
|
@@ -12012,7 +12018,7 @@ function assertDatasetHasExportableRows(input) {
|
|
|
12012
12018
|
input.rowsInfo.rows.length
|
|
12013
12019
|
);
|
|
12014
12020
|
const terminalRunWithMissingAdvertisedRows = advertisedRows > 0 && (runStatus === "completed" || runStatus === "failed" || runStatus === "cancelled");
|
|
12015
|
-
const inspectCommand = `deepline runs get ${input.status.runId} --full
|
|
12021
|
+
const inspectCommand = `deepline runs get ${input.status.runId} --full`;
|
|
12016
12022
|
const retryCommand = runExportRetryCommand(
|
|
12017
12023
|
input.status.runId,
|
|
12018
12024
|
input.outPath ?? "output.csv",
|
|
@@ -12290,9 +12296,9 @@ function formatActiveRunConflictError(input) {
|
|
|
12290
12296
|
lines.push(
|
|
12291
12297
|
` active: ${runId}${status ? ` status=${status}` : ""}${startedAt ? ` startedAt=${startedAt}` : ""}`
|
|
12292
12298
|
);
|
|
12293
|
-
lines.push(` get: deepline runs get ${runId}
|
|
12299
|
+
lines.push(` get: deepline runs get ${runId}`);
|
|
12294
12300
|
lines.push(
|
|
12295
|
-
` stop: deepline runs stop ${runId} --reason "stale lock"
|
|
12301
|
+
` stop: deepline runs stop ${runId} --reason "stale lock"`
|
|
12296
12302
|
);
|
|
12297
12303
|
}
|
|
12298
12304
|
lines.push(
|
|
@@ -12528,7 +12534,7 @@ function writeStartedPlayRun(input) {
|
|
|
12528
12534
|
`Logs: deepline runs logs ${shellQuote(input.runId)}`,
|
|
12529
12535
|
...["started", "queued", "running", "waiting"].includes(
|
|
12530
12536
|
input.status ?? "started"
|
|
12531
|
-
) ? [`Stop: deepline runs stop ${shellQuote(input.runId)}
|
|
12537
|
+
) ? [`Stop: deepline runs stop ${shellQuote(input.runId)}`] : []
|
|
12532
12538
|
];
|
|
12533
12539
|
if (input.jsonOutput) {
|
|
12534
12540
|
printCommandEnvelope(payload, { json: true, fields: input.jsonFields });
|
|
@@ -12916,7 +12922,7 @@ async function handlePlayCheck(args) {
|
|
|
12916
12922
|
runtimeLimit: play.runtimeLimit ?? null,
|
|
12917
12923
|
activeScheduledPlays: play.activeScheduledPlays ?? null,
|
|
12918
12924
|
actions: {
|
|
12919
|
-
getFullCheckCmd: `deepline plays check ${shellQuote(options.target)} --full
|
|
12925
|
+
getFullCheckCmd: `deepline plays check ${shellQuote(options.target)} --full`,
|
|
12920
12926
|
...play.runCommand ? { runCmd: play.runCommand } : {}
|
|
12921
12927
|
},
|
|
12922
12928
|
...options.full ? { diagnostics: { staticPipeline: play.staticPipeline ?? null } } : {}
|
|
@@ -12970,7 +12976,7 @@ async function handlePlayCheck(args) {
|
|
|
12970
12976
|
outcomes,
|
|
12971
12977
|
target: options.target,
|
|
12972
12978
|
full: options.full,
|
|
12973
|
-
detailsCommand: `deepline plays check ${shellQuote(options.target)} --full
|
|
12979
|
+
detailsCommand: `deepline plays check ${shellQuote(options.target)} --full`,
|
|
12974
12980
|
publishCommand: primary?.result.artifactHash ? `deepline plays publish ${shellQuote(options.target)} --expected-artifact ${primary.result.artifactHash}` : void 0
|
|
12975
12981
|
});
|
|
12976
12982
|
printCommandEnvelope(output, {
|
|
@@ -13487,7 +13493,7 @@ async function handlePlayRun(args, hooks) {
|
|
|
13487
13493
|
await writePlayRunIdFile(options.runIdFile, runId);
|
|
13488
13494
|
} catch (error) {
|
|
13489
13495
|
throw new Error(
|
|
13490
|
-
`Run ${runId} was accepted, but its identity could not be persisted to ${options.runIdFile}: ${error instanceof Error ? error.message : String(error)}. Inspect it with 'deepline runs get ${runId} --full
|
|
13496
|
+
`Run ${runId} was accepted, but its identity could not be persisted to ${options.runIdFile}: ${error instanceof Error ? error.message : String(error)}. Inspect it with 'deepline runs get ${runId} --full'; do not submit a replacement run.`,
|
|
13491
13497
|
{ cause: error }
|
|
13492
13498
|
);
|
|
13493
13499
|
}
|
|
@@ -13500,7 +13506,7 @@ async function handlePlayRun(args, hooks) {
|
|
|
13500
13506
|
});
|
|
13501
13507
|
} catch (error) {
|
|
13502
13508
|
throw new Error(
|
|
13503
|
-
`Run ${runId} was admitted, but its confirmation could not be persisted to ${options.runIdFile}: ${error instanceof Error ? error.message : String(error)}. Inspect it with 'deepline runs get ${runId}
|
|
13509
|
+
`Run ${runId} was admitted, but its confirmation could not be persisted to ${options.runIdFile}: ${error instanceof Error ? error.message : String(error)}. Inspect it with 'deepline runs get ${runId}'; do not submit a replacement run.`,
|
|
13504
13510
|
{ cause: error }
|
|
13505
13511
|
);
|
|
13506
13512
|
}
|
|
@@ -13967,8 +13973,8 @@ async function handleRunsList(args) {
|
|
|
13967
13973
|
if (!playName && !statusFilter) {
|
|
13968
13974
|
const message = "runs list requires --play or --status.";
|
|
13969
13975
|
const next = {
|
|
13970
|
-
discover: "deepline plays list
|
|
13971
|
-
running: "deepline runs list --status running
|
|
13976
|
+
discover: "deepline plays list",
|
|
13977
|
+
running: "deepline runs list --status running"
|
|
13972
13978
|
};
|
|
13973
13979
|
console.error(
|
|
13974
13980
|
`${message}
|
|
@@ -14034,7 +14040,7 @@ Active runs: ${next.running}`
|
|
|
14034
14040
|
` started: ${formatTimestamp(run.startedAt)}`,
|
|
14035
14041
|
` finished: ${formatTimestamp(run.finishedAt)}`,
|
|
14036
14042
|
` credits: ${typeof run.billingTotalCredits === "number" && Number.isFinite(run.billingTotalCredits) ? formatCreditAmount2(run.billingTotalCredits) : "\u2014"}`,
|
|
14037
|
-
` inspect: deepline runs get ${run.id}
|
|
14043
|
+
` inspect: deepline runs get ${run.id}`
|
|
14038
14044
|
];
|
|
14039
14045
|
if (run.parentRunId) lines2.push(` parent: ${run.parentRunId}`);
|
|
14040
14046
|
if (run.rootRunId) lines2.push(` root: ${run.rootRunId}`);
|
|
@@ -14054,7 +14060,7 @@ Active runs: ${next.running}`
|
|
|
14054
14060
|
return lines2.join("\n");
|
|
14055
14061
|
});
|
|
14056
14062
|
const nextOffset = (page.offset ?? offset ?? 0) + runs.length;
|
|
14057
|
-
const nextPage = page.hasMore && playName ? `deepline runs list --play ${shellQuote(playName)}${statusFilter ? ` --status ${shellQuote(statusFilter)}` : ""} --limit ${page.limit ?? limit ?? 20} --offset ${nextOffset}
|
|
14063
|
+
const nextPage = page.hasMore && playName ? `deepline runs list --play ${shellQuote(playName)}${statusFilter ? ` --status ${shellQuote(statusFilter)}` : ""} --limit ${page.limit ?? limit ?? 20} --offset ${nextOffset}` : null;
|
|
14058
14064
|
if (page.hasMore) {
|
|
14059
14065
|
lines.push("List truncated \u2014 more runs match this filter.");
|
|
14060
14066
|
lines.push(
|
|
@@ -14071,7 +14077,7 @@ Active runs: ${next.running}`
|
|
|
14071
14077
|
...page.hasMore !== void 0 ? { has_more: page.hasMore, is_truncated: page.hasMore } : {},
|
|
14072
14078
|
next: {
|
|
14073
14079
|
page: nextPage,
|
|
14074
|
-
get: runs[0]?.id ? `deepline runs get ${runs[0].id}
|
|
14080
|
+
get: runs[0]?.id ? `deepline runs get ${runs[0].id}` : null
|
|
14075
14081
|
},
|
|
14076
14082
|
render: { sections: [{ title: "runs", lines }] }
|
|
14077
14083
|
},
|
|
@@ -14352,7 +14358,7 @@ async function handleRunLogs(args) {
|
|
|
14352
14358
|
nextCursor: void 0
|
|
14353
14359
|
} : selectRunLogTailPage(result, logLevel, limit);
|
|
14354
14360
|
const entries = page.entries;
|
|
14355
|
-
const nextPage = page.nextCursor ? `deepline runs logs ${result.runId} --limit ${limit}${logLevel === "debug" ? "" : ` --log-level ${logLevel}`} --cursor ${page.nextCursor}
|
|
14361
|
+
const nextPage = page.nextCursor ? `deepline runs logs ${result.runId} --limit ${limit}${logLevel === "debug" ? "" : ` --log-level ${logLevel}`} --cursor ${page.nextCursor}` : null;
|
|
14356
14362
|
const filteredResult = {
|
|
14357
14363
|
...result,
|
|
14358
14364
|
entries,
|
|
@@ -14362,7 +14368,7 @@ async function handleRunLogs(args) {
|
|
|
14362
14368
|
view: failed ? result.view : "tail",
|
|
14363
14369
|
next: {
|
|
14364
14370
|
...result.next ?? {},
|
|
14365
|
-
logs: `deepline runs logs ${result.runId} --out run.log --log-level ${logLevel}
|
|
14371
|
+
logs: `deepline runs logs ${result.runId} --out run.log --log-level ${logLevel}`
|
|
14366
14372
|
}
|
|
14367
14373
|
};
|
|
14368
14374
|
const text = buildRunLogsText(filteredResult);
|
|
@@ -14385,7 +14391,7 @@ async function handleRunLogs(args) {
|
|
|
14385
14391
|
next: {
|
|
14386
14392
|
...result.next ?? {},
|
|
14387
14393
|
...nextPage ? { page: nextPage } : {},
|
|
14388
|
-
export: `deepline runs logs ${result.runId} --out run.log --log-level ${logLevel}
|
|
14394
|
+
export: `deepline runs logs ${result.runId} --out run.log --log-level ${logLevel}`
|
|
14389
14395
|
},
|
|
14390
14396
|
render: { sections: [{ title: "run logs", lines: entries }] }
|
|
14391
14397
|
},
|
|
@@ -14561,8 +14567,7 @@ ${renderedDetails}` : ""}`;
|
|
|
14561
14567
|
"--cursor",
|
|
14562
14568
|
shellQuote(result.nextCursor),
|
|
14563
14569
|
"--limit",
|
|
14564
|
-
String(limit)
|
|
14565
|
-
"--json"
|
|
14570
|
+
String(limit)
|
|
14566
14571
|
].join(" ") : null;
|
|
14567
14572
|
printCommandEnvelope(
|
|
14568
14573
|
{
|
|
@@ -14587,7 +14592,7 @@ function buildRunLogsText(result) {
|
|
|
14587
14592
|
if (lines.length > 0) lines.push("");
|
|
14588
14593
|
lines.push(`warning: ${result.warning}`);
|
|
14589
14594
|
lines.push(
|
|
14590
|
-
`retained logs: ${result.next?.logs ?? `deepline runs logs ${result.runId} --out run.log
|
|
14595
|
+
`retained logs: ${result.next?.logs ?? `deepline runs logs ${result.runId} --out run.log`}`
|
|
14591
14596
|
);
|
|
14592
14597
|
}
|
|
14593
14598
|
return `${lines.join("\n")}${lines.length > 0 ? "\n" : ""}`;
|
|
@@ -14629,7 +14634,7 @@ async function handleRunStop(args) {
|
|
|
14629
14634
|
const lines2 = [
|
|
14630
14635
|
`Cancelling run ${result.runId || runId}; sandbox cleanup and the final run update are pending.`,
|
|
14631
14636
|
...result.hitlCancelledCount > 0 ? [`cancelled HITL waits: ${result.hitlCancelledCount}`] : [],
|
|
14632
|
-
`inspect: deepline runs get ${runId} --full
|
|
14637
|
+
`inspect: deepline runs get ${runId} --full`
|
|
14633
14638
|
];
|
|
14634
14639
|
printCommandEnvelope(
|
|
14635
14640
|
{
|
|
@@ -14659,7 +14664,7 @@ async function handleRunStop(args) {
|
|
|
14659
14664
|
"warning: HITL cancellation or same-card Slack refresh is still pending"
|
|
14660
14665
|
] : [],
|
|
14661
14666
|
`retry: deepline runs stop ${runId}`,
|
|
14662
|
-
`inspect: deepline runs get ${runId} --full
|
|
14667
|
+
`inspect: deepline runs get ${runId} --full`
|
|
14663
14668
|
];
|
|
14664
14669
|
process.stderr.write(`${lines2.join("\n")}
|
|
14665
14670
|
`);
|
|
@@ -14874,7 +14879,7 @@ async function handleRunExport(args) {
|
|
|
14874
14879
|
const currentTableNotice = exportResult?.currentTable ? {
|
|
14875
14880
|
code: "CURRENT_SHARED_DATASET",
|
|
14876
14881
|
message: "This export is the current shared dataset and may include writes from another run.",
|
|
14877
|
-
full_run_output_command: `deepline runs get ${status.runId} --full
|
|
14882
|
+
full_run_output_command: `deepline runs get ${status.runId} --full`
|
|
14878
14883
|
} : null;
|
|
14879
14884
|
const navigation = buildRunNavigation(status);
|
|
14880
14885
|
const resolved = exportResult?.datasetInfo;
|
|
@@ -14893,7 +14898,7 @@ async function handleRunExport(args) {
|
|
|
14893
14898
|
const rowFailures = exportedRowOutcomes && exportedRowOutcomes.failed > 0 ? {
|
|
14894
14899
|
count: exportedRowOutcomes.failed,
|
|
14895
14900
|
message: "Failed rows can retain values from stages that completed earlier; those values do not prove the row succeeded.",
|
|
14896
|
-
inspectCommand: `deepline runs get ${status.runId}
|
|
14901
|
+
inspectCommand: `deepline runs get ${status.runId}`
|
|
14897
14902
|
} : null;
|
|
14898
14903
|
const payload = {
|
|
14899
14904
|
runId: status.runId,
|
|
@@ -14924,7 +14929,7 @@ async function handleRunExport(args) {
|
|
|
14924
14929
|
`Partial export: run is ${status.status}; more rows may be saved.`,
|
|
14925
14930
|
`Export after completion: ${exportCommand} --wait`
|
|
14926
14931
|
] : status.status === "failed" || status.status === "cancelled" ? [
|
|
14927
|
-
`Saved rows from a ${status.status} run. Inspect: deepline runs get ${status.runId}
|
|
14932
|
+
`Saved rows from a ${status.status} run. Inspect: deepline runs get ${status.runId}`
|
|
14928
14933
|
] : [],
|
|
14929
14934
|
...currentTableNotice ? [
|
|
14930
14935
|
"Current shared dataset: this export may include writes from another run.",
|
|
@@ -15075,6 +15080,11 @@ async function handlePlayGet(args) {
|
|
|
15075
15080
|
`Working version: ${detail.play.workingRevision?.version ?? "\u2014"}`
|
|
15076
15081
|
);
|
|
15077
15082
|
console.log(`Live version: ${detail.play.liveRevision?.version ?? "\u2014"}`);
|
|
15083
|
+
if (detail.play.liveRevision) {
|
|
15084
|
+
console.log(
|
|
15085
|
+
`Live max credits per run: ${liveMaxCreditsPerRun(detail.play.liveRevision.sourceCode)}`
|
|
15086
|
+
);
|
|
15087
|
+
}
|
|
15078
15088
|
console.log(`Draft dirty: ${detail.play.isDraftDirty ? "yes" : "no"}`);
|
|
15079
15089
|
if (detail.play.isDraftDirty && detail.play.liveRevision?.version) {
|
|
15080
15090
|
console.log(
|
|
@@ -15203,7 +15213,7 @@ async function handlePlayList(args) {
|
|
|
15203
15213
|
);
|
|
15204
15214
|
return 1;
|
|
15205
15215
|
}
|
|
15206
|
-
const nextPage = page.hasMore && page.cursor ? `deepline plays list${categories ? ` --categories ${shellQuote(categories)}` : ""}${tags.map((tag) => ` --tag ${shellQuote(tag)}`).join("")}${limit ? ` --limit ${limit}` : ""}${showCost ? " --show-cost" : ""} --cursor ${shellQuote(page.cursor)}
|
|
15216
|
+
const nextPage = page.hasMore && page.cursor ? `deepline plays list${categories ? ` --categories ${shellQuote(categories)}` : ""}${tags.map((tag) => ` --tag ${shellQuote(tag)}`).join("")}${limit ? ` --limit ${limit}` : ""}${showCost ? " --show-cost" : ""} --cursor ${shellQuote(page.cursor)}` : null;
|
|
15207
15217
|
if (page.hasMore && !nextPage) {
|
|
15208
15218
|
throw new Error(
|
|
15209
15219
|
"Play list reported more results without a continuation cursor"
|
|
@@ -16024,12 +16034,12 @@ Concepts:
|
|
|
16024
16034
|
New Plays start at person; publishing moves them to team, preserving folders.
|
|
16025
16035
|
|
|
16026
16036
|
Run and retrieve results:
|
|
16027
|
-
1. Discover a Play: deepline plays search email
|
|
16037
|
+
1. Discover a Play: deepline plays search email
|
|
16028
16038
|
Inspect its input contract: deepline describe <play-name>
|
|
16029
16039
|
2. Start and follow a new run: deepline plays run workflow.play.ts --csv contacts.csv
|
|
16030
16040
|
This example requires input.csv. Use the selected Play's actual input fields.
|
|
16031
16041
|
Run waits and shows progress by default; --no-wait returns immediately.
|
|
16032
|
-
3. Read its overview: deepline runs get <run-id>
|
|
16042
|
+
3. Read its overview: deepline runs get <run-id>
|
|
16033
16043
|
4. Export complete rows: deepline runs export <run-id> --dataset <returned-selector> --out results.csv
|
|
16034
16044
|
If disconnected, attach to the SAME run with deepline runs tail <run-id>.
|
|
16035
16045
|
Repeating plays run starts another run; tail does not.
|
|
@@ -16059,11 +16069,11 @@ Authoring:
|
|
|
16059
16069
|
Play work unless the caller explicitly asks to leave the inferred graph.
|
|
16060
16070
|
|
|
16061
16071
|
Common commands:
|
|
16062
|
-
deepline search "name and company domain -> work email" --type prebuilts
|
|
16072
|
+
deepline search "name and company domain -> work email" --type prebuilts
|
|
16063
16073
|
deepline describe prebuilt/person-linkedin-to-email
|
|
16064
16074
|
deepline plays check prebuilt/name-and-domain-to-email-waterfall-batch
|
|
16065
16075
|
deepline plays run prebuilt/person-linkedin-to-email --input '{"linkedin_url":"..."}'
|
|
16066
|
-
deepline plays get prebuilt/person-linkedin-to-email
|
|
16076
|
+
deepline plays get prebuilt/person-linkedin-to-email
|
|
16067
16077
|
`
|
|
16068
16078
|
);
|
|
16069
16079
|
play.command("check <target>").description("Check a local play file or named/prebuilt play contract.").addHelpText(
|
|
@@ -16082,10 +16092,9 @@ Notes:
|
|
|
16082
16092
|
|
|
16083
16093
|
Examples:
|
|
16084
16094
|
deepline plays check prebuilt/name-and-domain-to-email-waterfall-batch
|
|
16085
|
-
deepline plays check my-play
|
|
16086
|
-
deepline plays check my.play.ts
|
|
16087
|
-
deepline plays check my.play.ts --
|
|
16088
|
-
deepline plays check my.play.ts --full --json
|
|
16095
|
+
deepline plays check my-play
|
|
16096
|
+
deepline plays check my.play.ts
|
|
16097
|
+
deepline plays check my.play.ts --full
|
|
16089
16098
|
`
|
|
16090
16099
|
).option("--full", "Include compiler diagnostics").option(
|
|
16091
16100
|
"--json [fields]",
|
|
@@ -16178,7 +16187,7 @@ Examples:
|
|
|
16178
16187
|
deepline plays run my.play.ts --input '{"domain":"stripe.com"}' --log-level debug
|
|
16179
16188
|
deepline plays run my.play.ts --profile absurd
|
|
16180
16189
|
deepline plays run my.play.ts --max-concurrent-external-calls 20
|
|
16181
|
-
deepline plays run my.play.ts --input @input.json
|
|
16190
|
+
deepline plays run my.play.ts --input @input.json
|
|
16182
16191
|
deepline plays run cto-search.play.ts --limit 5
|
|
16183
16192
|
deepline runs export <run-id> --out output.csv
|
|
16184
16193
|
deepline runs get <run-id>
|
|
@@ -16291,12 +16300,11 @@ Notes:
|
|
|
16291
16300
|
|
|
16292
16301
|
Examples:
|
|
16293
16302
|
deepline plays get prebuilt/person-linkedin-to-email
|
|
16294
|
-
deepline plays get prebuilt/person-linkedin-to-email --json | jq '.play.liveRevision'
|
|
16295
16303
|
deepline plays get prebuilt/name-and-domain-to-email-waterfall-batch --source > email-waterfall.play.ts
|
|
16296
16304
|
deepline plays get my-play --source --out ./my-play/ --working
|
|
16297
16305
|
deepline plays get my-play --source --out ./my-play-v3/ --revision 3
|
|
16298
16306
|
`
|
|
16299
|
-
).option("--json", "Emit JSON output
|
|
16307
|
+
).option("--json", "Emit JSON output").option(
|
|
16300
16308
|
"--source",
|
|
16301
16309
|
"Read source; prints single-file Plays or combines with --out to write the full bundle"
|
|
16302
16310
|
).option(
|
|
@@ -16333,7 +16341,7 @@ Examples:
|
|
|
16333
16341
|
});
|
|
16334
16342
|
printCompactJson({
|
|
16335
16343
|
...result,
|
|
16336
|
-
next: result.isDone ? null : `deepline plays triggers --cursor ${JSON.stringify(result.continueCursor)}
|
|
16344
|
+
next: result.isDone ? null : `deepline plays triggers --cursor ${JSON.stringify(result.continueCursor)}`
|
|
16337
16345
|
});
|
|
16338
16346
|
});
|
|
16339
16347
|
play.command("list").description("List saved and prebuilt plays.").addHelpText(
|
|
@@ -16351,10 +16359,10 @@ Notes:
|
|
|
16351
16359
|
|
|
16352
16360
|
Examples:
|
|
16353
16361
|
deepline plays list
|
|
16354
|
-
deepline plays list --tag smb
|
|
16355
|
-
deepline search "name and company domain -> work email" --type prebuilts
|
|
16362
|
+
deepline plays list --tag smb
|
|
16363
|
+
deepline search "name and company domain -> work email" --type prebuilts
|
|
16356
16364
|
`
|
|
16357
|
-
).option("--limit <count>", "Page size").option("--cursor <cursor>", "Continue a previous page").option("--show-cost", "Include the per-row or per-run cost estimate").option("--json", "Emit JSON output
|
|
16365
|
+
).option("--limit <count>", "Page size").option("--cursor <cursor>", "Continue a previous page").option("--show-cost", "Include the per-row or per-run cost estimate").option("--json", "Emit JSON output").option(
|
|
16358
16366
|
"--categories <categories>",
|
|
16359
16367
|
"Filter by comma-separated canonical tool categories"
|
|
16360
16368
|
).option(
|
|
@@ -16395,7 +16403,7 @@ Examples:
|
|
|
16395
16403
|
printCommandEnvelope(
|
|
16396
16404
|
{ ...result },
|
|
16397
16405
|
{
|
|
16398
|
-
json: options.json
|
|
16406
|
+
json: Boolean(options.json),
|
|
16399
16407
|
text: `${lines.join("\n")}
|
|
16400
16408
|
`
|
|
16401
16409
|
}
|
|
@@ -16435,10 +16443,10 @@ Notes:
|
|
|
16435
16443
|
Prebuilt and archived Plays are not part of this index.
|
|
16436
16444
|
|
|
16437
16445
|
Examples:
|
|
16438
|
-
deepline plays grep email
|
|
16446
|
+
deepline plays grep email
|
|
16439
16447
|
deepline describe prebuilt/company-to-contact
|
|
16440
16448
|
`
|
|
16441
|
-
).option("--json", "Emit JSON output
|
|
16449
|
+
).option("--json", "Emit JSON output").action(async (query, options) => {
|
|
16442
16450
|
process.exitCode = await handlePlayGrep([
|
|
16443
16451
|
query,
|
|
16444
16452
|
...options.json ? ["--json"] : []
|
|
@@ -16454,9 +16462,8 @@ Notes:
|
|
|
16454
16462
|
Use \`get\` when you need full metadata, revisions, source fields, or latest runs.
|
|
16455
16463
|
|
|
16456
16464
|
Examples:
|
|
16457
|
-
deepline
|
|
16458
|
-
deepline
|
|
16459
|
-
deepline plays describe prebuilt/person-linkedin-to-email --json inputSchema,runCommand
|
|
16465
|
+
deepline describe prebuilt/person-linkedin-to-email
|
|
16466
|
+
deepline describe prebuilt/person-linkedin-to-email
|
|
16460
16467
|
deepline plays get prebuilt/person-linkedin-to-email --source --out ./person-linkedin-to-email.play.ts
|
|
16461
16468
|
`
|
|
16462
16469
|
).option("--compact", "Emit compact schemas").option(
|
|
@@ -16476,7 +16483,7 @@ Examples:
|
|
|
16476
16483
|
process.exitCode = await ownView();
|
|
16477
16484
|
return;
|
|
16478
16485
|
}
|
|
16479
|
-
const { describeAnything } = await import("./describe-
|
|
16486
|
+
const { describeAnything } = await import("./describe-GZIRANUZ.mjs");
|
|
16480
16487
|
process.exitCode = await describeAnything(
|
|
16481
16488
|
name,
|
|
16482
16489
|
{
|
|
@@ -16498,10 +16505,10 @@ Notes:
|
|
|
16498
16505
|
|
|
16499
16506
|
Examples:
|
|
16500
16507
|
deepline plays versions --name my-play
|
|
16501
|
-
deepline plays versions --name my-play
|
|
16508
|
+
deepline plays versions --name my-play
|
|
16502
16509
|
deepline plays run my-play --revision-id <revision-id>
|
|
16503
16510
|
`
|
|
16504
|
-
).option("--name <name>", "Saved play name").option("--json", "Emit JSON output
|
|
16511
|
+
).option("--name <name>", "Saved play name").option("--json", "Emit JSON output").action(async (options) => {
|
|
16505
16512
|
process.exitCode = await handlePlayVersions([
|
|
16506
16513
|
...options.name ? ["--name", options.name] : [],
|
|
16507
16514
|
...options.json ? ["--json"] : []
|
|
@@ -16519,13 +16526,13 @@ Notes:
|
|
|
16519
16526
|
|
|
16520
16527
|
Examples:
|
|
16521
16528
|
deepline plays save ./company-research.play.ts
|
|
16522
|
-
deepline plays save ./company-research.play.ts --dry-run
|
|
16529
|
+
deepline plays save ./company-research.play.ts --dry-run
|
|
16523
16530
|
deepline plays publish ./company-research.play.ts
|
|
16524
16531
|
`
|
|
16525
16532
|
).option("--expected-artifact <hash>", "Require the checked artifact hash").option(
|
|
16526
16533
|
"--dry-run",
|
|
16527
16534
|
"Bundle and show the planned draft save without mutation"
|
|
16528
|
-
).option("--json", "Emit JSON output
|
|
16535
|
+
).option("--json", "Emit JSON output").action(async (file, options) => {
|
|
16529
16536
|
process.exitCode = await handlePlaySave([
|
|
16530
16537
|
file,
|
|
16531
16538
|
...options.expectedArtifact ? ["--expected-artifact", options.expectedArtifact] : [],
|
|
@@ -16548,13 +16555,13 @@ Notes:
|
|
|
16548
16555
|
Change location with: deepline plays settings set --play <play> --name path --value team/Research
|
|
16549
16556
|
|
|
16550
16557
|
Examples:
|
|
16551
|
-
deepline plays set-live my-play --latest
|
|
16552
|
-
deepline plays set-live my-play --revision-id <revision-id>
|
|
16553
|
-
deepline plays set-live my.play.ts
|
|
16554
|
-
deepline plays publish my.play.ts
|
|
16558
|
+
deepline plays set-live my-play --latest
|
|
16559
|
+
deepline plays set-live my-play --revision-id <revision-id>
|
|
16560
|
+
deepline plays set-live my.play.ts
|
|
16561
|
+
deepline plays publish my.play.ts
|
|
16555
16562
|
deepline plays check my.play.ts
|
|
16556
16563
|
deepline plays publish my.play.ts --expected-artifact <artifact-hash>
|
|
16557
|
-
deepline plays publish my.play.ts --dry-run
|
|
16564
|
+
deepline plays publish my.play.ts --dry-run
|
|
16558
16565
|
`
|
|
16559
16566
|
);
|
|
16560
16567
|
play.command("deploy [directory]").description(
|
|
@@ -16576,7 +16583,7 @@ Examples:
|
|
|
16576
16583
|
).option(
|
|
16577
16584
|
"--manifest <file>",
|
|
16578
16585
|
"Manifest file name in the directory (default: deepline.json)"
|
|
16579
|
-
).option("--repo <owner/name>", "Repository to record on the deployment").option("--ref <ref>", "Branch or ref to record on the deployment").option("--commit <sha>", "Commit to record on the deployment").option("--json", "Emit JSON output
|
|
16586
|
+
).option("--repo <owner/name>", "Repository to record on the deployment").option("--ref <ref>", "Branch or ref to record on the deployment").option("--commit <sha>", "Commit to record on the deployment").option("--json", "Emit JSON output").action(
|
|
16580
16587
|
async (directory, options) => handlePlaysDeploy(directory, options)
|
|
16581
16588
|
);
|
|
16582
16589
|
play.command("deployments [id]").description(
|
|
@@ -16592,7 +16599,7 @@ Examples:
|
|
|
16592
16599
|
deepline plays deployments
|
|
16593
16600
|
deepline plays deployments <deployment-id>
|
|
16594
16601
|
`
|
|
16595
|
-
).option("--limit <n>", "Max rows (default 50)").option("--json", "Emit JSON output
|
|
16602
|
+
).option("--limit <n>", "Max rows (default 50)").option("--json", "Emit JSON output").action(
|
|
16596
16603
|
async (id, options) => id ? handleDeploymentGet(id, options) : handleDeploymentsList(options)
|
|
16597
16604
|
);
|
|
16598
16605
|
addPublishHelp(
|
|
@@ -16602,7 +16609,7 @@ Examples:
|
|
|
16602
16609
|
).option("--latest", "Promote the newest saved revision").option("--revision-id <id>", "Revision to promote").option(
|
|
16603
16610
|
"--expected-artifact <hash>",
|
|
16604
16611
|
"Require the local file to produce this checked artifact hash"
|
|
16605
|
-
).option("--dry-run", "Bundle and show the planned publish without mutation").option("--json", "Emit JSON output
|
|
16612
|
+
).option("--dry-run", "Bundle and show the planned publish without mutation").option("--json", "Emit JSON output").action(async (target, options) => {
|
|
16606
16613
|
process.exitCode = await handlePlayPublish([
|
|
16607
16614
|
target,
|
|
16608
16615
|
...options.latest ? ["--latest"] : [],
|
|
@@ -16617,7 +16624,7 @@ Examples:
|
|
|
16617
16624
|
).option("--latest", "Promote the newest saved revision").option("--revision-id <id>", "Revision to promote").option(
|
|
16618
16625
|
"--expected-artifact <hash>",
|
|
16619
16626
|
"Require the local file to produce this checked artifact hash"
|
|
16620
|
-
).option("--dry-run", "Bundle and show the planned publish without mutation").option("--json", "Emit JSON output
|
|
16627
|
+
).option("--dry-run", "Bundle and show the planned publish without mutation").option("--json", "Emit JSON output").action(async (target, options) => {
|
|
16621
16628
|
process.exitCode = await handlePlayPublish([
|
|
16622
16629
|
target,
|
|
16623
16630
|
...options.latest ? ["--latest"] : [],
|
|
@@ -16637,10 +16644,10 @@ Notes:
|
|
|
16637
16644
|
|
|
16638
16645
|
Examples:
|
|
16639
16646
|
deepline plays delete my-play --yes
|
|
16640
|
-
deepline plays delete my-play --yes
|
|
16641
|
-
deepline plays delete my-play --yes --dry-run
|
|
16647
|
+
deepline plays delete my-play --yes
|
|
16648
|
+
deepline plays delete my-play --yes --dry-run
|
|
16642
16649
|
`
|
|
16643
|
-
).option("-y, --yes", "Confirm deletion").option("--dry-run", "Show the planned archive without mutating the play").option("--json", "Emit JSON output
|
|
16650
|
+
).option("-y, --yes", "Confirm deletion").option("--dry-run", "Show the planned archive without mutating the play").option("--json", "Emit JSON output").action(async (target, options) => {
|
|
16644
16651
|
process.exitCode = await handlePlayDelete([
|
|
16645
16652
|
target,
|
|
16646
16653
|
...options.yes ? ["--yes"] : [],
|
|
@@ -16656,9 +16663,9 @@ Notes:
|
|
|
16656
16663
|
|
|
16657
16664
|
Examples:
|
|
16658
16665
|
deepline plays restore my-play
|
|
16659
|
-
deepline plays restore my-play
|
|
16666
|
+
deepline plays restore my-play
|
|
16660
16667
|
`
|
|
16661
|
-
).option("--json", "Emit JSON output
|
|
16668
|
+
).option("--json", "Emit JSON output").action(async (target, options) => {
|
|
16662
16669
|
process.exitCode = await handlePlayRestore([
|
|
16663
16670
|
target,
|
|
16664
16671
|
...options.json ? ["--json"] : []
|
|
@@ -16677,8 +16684,8 @@ Concepts:
|
|
|
16677
16684
|
stop requests cancellation. rerun starts new work and may spend credits.
|
|
16678
16685
|
|
|
16679
16686
|
Retrieve results:
|
|
16680
|
-
deepline runs get <run-id>
|
|
16681
|
-
deepline runs children <parent-run-id> --launch-key approval
|
|
16687
|
+
deepline runs get <run-id>
|
|
16688
|
+
deepline runs children <parent-run-id> --launch-key approval
|
|
16682
16689
|
deepline runs export <run-id> --dataset <returned-selector> --out results.csv
|
|
16683
16690
|
Choose the selector returned by get, not a guessed internal table name.
|
|
16684
16691
|
Overview previews are samples, not complete rows. --full adds diagnostics,
|
|
@@ -16700,17 +16707,17 @@ More options:
|
|
|
16700
16707
|
|
|
16701
16708
|
Debug a run:
|
|
16702
16709
|
Active: deepline runs watch <run-id> --log-level debug
|
|
16703
|
-
Historical: deepline runs logs <run-id> --out run.log --log-level debug
|
|
16704
|
-
Full state: deepline runs get <run-id> --full
|
|
16710
|
+
Historical: deepline runs logs <run-id> --out run.log --log-level debug
|
|
16711
|
+
Full state: deepline runs get <run-id> --full
|
|
16705
16712
|
|
|
16706
16713
|
Examples:
|
|
16707
|
-
deepline runs get play/my-play/run/20260501t000000-000
|
|
16714
|
+
deepline runs get play/my-play/run/20260501t000000-000
|
|
16708
16715
|
deepline runs watch play/my-play/run/20260501t000000-000
|
|
16709
|
-
deepline runs logs play/my-play/run/20260501t000000-000 --out run.log --log-level debug
|
|
16710
|
-
deepline runs list --play my-play --status failed
|
|
16711
|
-
deepline runs list --status running
|
|
16712
|
-
deepline runs stop play/my-play/run/20260501t000000-000 --reason "stale lock"
|
|
16713
|
-
deepline runs stop-all --reason "unjam workspace"
|
|
16716
|
+
deepline runs logs play/my-play/run/20260501t000000-000 --out run.log --log-level debug
|
|
16717
|
+
deepline runs list --play my-play --status failed
|
|
16718
|
+
deepline runs list --status running
|
|
16719
|
+
deepline runs stop play/my-play/run/20260501t000000-000 --reason "stale lock"
|
|
16720
|
+
deepline runs stop-all --reason "unjam workspace"
|
|
16714
16721
|
deepline runs export play/my-play/run/20260501t000000-000 --out output.csv
|
|
16715
16722
|
`
|
|
16716
16723
|
);
|
|
@@ -16720,7 +16727,7 @@ Examples:
|
|
|
16720
16727
|
registerRunEventsCommand(runs);
|
|
16721
16728
|
runs.command("status <runId>").description(
|
|
16722
16729
|
"Legacy scalar-only read. Use runs get for canonical status, progress, logs, and results."
|
|
16723
|
-
).option("--json", "Emit JSON output
|
|
16730
|
+
).option("--json", "Emit JSON output").action(async (runId, options) => {
|
|
16724
16731
|
process.exitCode = await handleRunLifecycleStatus([
|
|
16725
16732
|
runId,
|
|
16726
16733
|
...options.json ? ["--json"] : []
|
|
@@ -16732,7 +16739,7 @@ Examples:
|
|
|
16732
16739
|
"after",
|
|
16733
16740
|
`
|
|
16734
16741
|
Notes:
|
|
16735
|
-
Shows a readable overview
|
|
16742
|
+
Shows a readable overview; --json emits JSON.
|
|
16736
16743
|
Both views use the same overview with one entry per dataset, summaries,
|
|
16737
16744
|
labeled previews, the retained result, and top-level command hints. If a
|
|
16738
16745
|
result requires full retrieval, resultState is available_in_full and result
|
|
@@ -16749,12 +16756,11 @@ Notes:
|
|
|
16749
16756
|
|
|
16750
16757
|
Examples:
|
|
16751
16758
|
deepline runs get play/my-play/run/20260501t000000-000
|
|
16752
|
-
deepline runs get play/my-play/run/20260501t000000-000
|
|
16753
|
-
deepline runs
|
|
16754
|
-
deepline runs
|
|
16755
|
-
deepline runs get play/my-play/run/20260501t000000-000 --full --json
|
|
16759
|
+
deepline runs get play/my-play/run/20260501t000000-000
|
|
16760
|
+
deepline runs logs play/my-play/run/20260501t000000-000 --failed
|
|
16761
|
+
deepline runs get play/my-play/run/20260501t000000-000 --full
|
|
16756
16762
|
deepline runs get play/my-play/run/20260501t000000-000 --input
|
|
16757
|
-
deepline runs get play/my-play/run/20260501t000000-000 --config
|
|
16763
|
+
deepline runs get play/my-play/run/20260501t000000-000 --config
|
|
16758
16764
|
`
|
|
16759
16765
|
).option(
|
|
16760
16766
|
"--json [fields]",
|
|
@@ -16797,9 +16803,9 @@ Notes:
|
|
|
16797
16803
|
started. A different key intentionally starts another rerun.
|
|
16798
16804
|
|
|
16799
16805
|
Examples:
|
|
16800
|
-
deepline runs rerun play/my-play/webhook/abc
|
|
16801
|
-
deepline runs rerun play/my-play/webhook/abc --idempotency-key incident-42
|
|
16802
|
-
deepline runs rerun play/my-play/webhook/abc --input-overrides '{"domain":"example.com"}'
|
|
16806
|
+
deepline runs rerun play/my-play/webhook/abc
|
|
16807
|
+
deepline runs rerun play/my-play/webhook/abc --idempotency-key incident-42
|
|
16808
|
+
deepline runs rerun play/my-play/webhook/abc --input-overrides '{"domain":"example.com"}'
|
|
16803
16809
|
`
|
|
16804
16810
|
).option(
|
|
16805
16811
|
"--idempotency-key <key>",
|
|
@@ -16807,14 +16813,14 @@ Examples:
|
|
|
16807
16813
|
).option(
|
|
16808
16814
|
"--input-overrides <json>",
|
|
16809
16815
|
"Override existing scalar fields in the retained input for this rerun"
|
|
16810
|
-
).option("--json", "Emit JSON output
|
|
16816
|
+
).option("--json", "Emit JSON output").action(async (runId, options) => {
|
|
16811
16817
|
process.exitCode = await runRunsRerunCommand(runId, options);
|
|
16812
16818
|
});
|
|
16813
16819
|
runs.command("list").description("List play runs.").addHelpText(
|
|
16814
16820
|
"after",
|
|
16815
16821
|
`
|
|
16816
16822
|
Notes:
|
|
16817
|
-
Requires --play or --status. Discover Play references with deepline plays list
|
|
16823
|
+
Requires --play or --status. Discover Play references with deepline plays list.
|
|
16818
16824
|
Bounded inventory for a play's recent runs. Use --compact for agent loops.
|
|
16819
16825
|
Use the exact qualified Play reference, such as workspace/my-play or prebuilt/my-play.
|
|
16820
16826
|
--offset requires --play; narrow status-only lists with a Play reference to paginate.
|
|
@@ -16825,11 +16831,11 @@ Notes:
|
|
|
16825
16831
|
|
|
16826
16832
|
Examples:
|
|
16827
16833
|
deepline runs list --play my-play
|
|
16828
|
-
deepline runs list --play workspace/my-play
|
|
16829
|
-
deepline runs list --play my-play --status failed --compact
|
|
16830
|
-
deepline runs list --status running --compact
|
|
16834
|
+
deepline runs list --play workspace/my-play
|
|
16835
|
+
deepline runs list --play my-play --status failed --compact
|
|
16836
|
+
deepline runs list --status running --compact
|
|
16831
16837
|
`
|
|
16832
|
-
).option("--play <name>", "Play name to filter runs").option("--status <status>", "Filter by run status").option("--limit <count>", "Maximum runs to return").option("--offset <count>", "Zero-based page offset (requires --play)").option("--compact", "Drop verbose fields from JSON output").option("--json", "Emit JSON output
|
|
16838
|
+
).option("--play <name>", "Play name to filter runs").option("--status <status>", "Filter by run status").option("--limit <count>", "Maximum runs to return").option("--offset <count>", "Zero-based page offset (requires --play)").option("--compact", "Drop verbose fields from JSON output").option("--json", "Emit JSON output").action(async (options) => {
|
|
16833
16839
|
process.exitCode = await handleRunsList([
|
|
16834
16840
|
...options.play ? ["--play", options.play] : [],
|
|
16835
16841
|
...options.status ? ["--status", options.status] : [],
|
|
@@ -16851,14 +16857,13 @@ Notes:
|
|
|
16851
16857
|
|
|
16852
16858
|
Examples:
|
|
16853
16859
|
deepline runs stop-all --dry-run
|
|
16854
|
-
deepline runs stop-all --dry-run --json
|
|
16855
16860
|
deepline runs stop-all --reason "unjam workspace"
|
|
16856
|
-
deepline runs stop-all
|
|
16861
|
+
deepline runs stop-all
|
|
16857
16862
|
`
|
|
16858
16863
|
).option("--reason <text>", "Reason to include with each stop request").option(
|
|
16859
16864
|
"--dry-run",
|
|
16860
16865
|
"List the runs that would be stopped without cancelling anything"
|
|
16861
|
-
).option("--json", "Emit JSON output
|
|
16866
|
+
).option("--json", "Emit JSON output").action(async (options) => {
|
|
16862
16867
|
process.exitCode = await handleRunStopAll([
|
|
16863
16868
|
...options.reason ? ["--reason", options.reason] : [],
|
|
16864
16869
|
...options.dryRun ? ["--dry-run"] : [],
|
|
@@ -16939,7 +16944,7 @@ Examples:
|
|
|
16939
16944
|
"--debug",
|
|
16940
16945
|
"Compatibility alias for --log-level debug"
|
|
16941
16946
|
).hideHelp()
|
|
16942
|
-
).option("--json", "JSON output
|
|
16947
|
+
).option("--json", "JSON output").option("--since <timestamp>", "Search from this UTC time").option("--until <timestamp>", "Search before this UTC time").option("--play <name>", "Filter by Play").option("--kind <kind>", "Filter by event kind").option("--where <filter>", "Match event fields; examples below").option("--payloads", "Include available details or saved results").option(
|
|
16943
16948
|
"--cursor <token>",
|
|
16944
16949
|
"Continue to older logs or the next events page"
|
|
16945
16950
|
).addOption(
|
|
@@ -16990,9 +16995,9 @@ Notes:
|
|
|
16990
16995
|
|
|
16991
16996
|
Examples:
|
|
16992
16997
|
deepline runs stop play/my-play/run/20260501t000000-000 --reason "stale lock"
|
|
16993
|
-
deepline runs stop play/my-play/run/20260501t000000-000
|
|
16998
|
+
deepline runs stop play/my-play/run/20260501t000000-000
|
|
16994
16999
|
`
|
|
16995
|
-
).option("--reason <text>", "Reason to include with the stop request").option("--json", "Emit JSON output
|
|
17000
|
+
).option("--reason <text>", "Reason to include with the stop request").option("--json", "Emit JSON output").action(async (runId, options) => {
|
|
16996
17001
|
process.exitCode = await handleRunStop([
|
|
16997
17002
|
runId,
|
|
16998
17003
|
...options.reason ? ["--reason", options.reason] : [],
|
|
@@ -17024,7 +17029,7 @@ Examples:
|
|
|
17024
17029
|
deepline runs export play/my-play/run/20260501t000000-000 --out output.csv
|
|
17025
17030
|
deepline runs export play/my-play/run/20260501t000000-000 --dataset result.rows --out output.csv
|
|
17026
17031
|
deepline runs export play/my-play/run/20260501t000000-000 --out output.csv --metadata-out output.meta.json
|
|
17027
|
-
deepline runs export play/my-play/run/20260501t000000-000 --out output.csv
|
|
17032
|
+
deepline runs export play/my-play/run/20260501t000000-000 --out output.csv
|
|
17028
17033
|
deepline runs export play/my-play/run/20260501t000000-000 --format json --out rows.json
|
|
17029
17034
|
deepline runs export play/my-play/run/20260501t000000-000 --out rows.csv --wait --timeout-ms 600000
|
|
17030
17035
|
`
|
|
@@ -17077,15 +17082,15 @@ What is exposed:
|
|
|
17077
17082
|
--seo noindex to keep the page out of search engines if you must share it.
|
|
17078
17083
|
|
|
17079
17084
|
Examples:
|
|
17080
|
-
deepline plays share status company-to-contact
|
|
17085
|
+
deepline plays share status company-to-contact
|
|
17081
17086
|
deepline plays share publish company-to-contact --yes
|
|
17082
17087
|
deepline plays share publish company-to-contact --version 3 --seo noindex --yes
|
|
17083
|
-
deepline plays share update company-to-contact --show-latency
|
|
17084
|
-
deepline plays share regenerate company-to-contact
|
|
17088
|
+
deepline plays share update company-to-contact --show-latency
|
|
17089
|
+
deepline plays share regenerate company-to-contact
|
|
17085
17090
|
deepline plays share unpublish company-to-contact --yes
|
|
17086
17091
|
`
|
|
17087
17092
|
);
|
|
17088
|
-
share.command("status <play>").description("Show a play's share-page status and revision picker.").option("--json", "Emit JSON output
|
|
17093
|
+
share.command("status <play>").description("Show a play's share-page status and revision picker.").option("--json", "Emit JSON output").action(async (playName, options) => {
|
|
17089
17094
|
process.exitCode = await handlePlayShareStatus([
|
|
17090
17095
|
playName,
|
|
17091
17096
|
...options.json ? ["--json"] : []
|
|
@@ -17096,7 +17101,7 @@ Examples:
|
|
|
17096
17101
|
).option("--latest", "Publish the newest revision (default).").option("--version <n>", "Publish a specific version number.").option("--revision-id <id>", "Publish a specific revision id.").option("--seo <mode>", "SEO indexing: index | noindex.").option("--show-cost", "Show average Deepline credit cost on the page.").option("--show-latency", "Show average latency on the page.").option("--no-run-check", 'Skip the "must have a completed run" gate.').option(
|
|
17097
17102
|
"-y, --yes",
|
|
17098
17103
|
"Confirm public exposure of the play code/structure (required)."
|
|
17099
|
-
).option("--dry-run", "Show the planned publish without writing.").option("--json", "Emit JSON output
|
|
17104
|
+
).option("--dry-run", "Show the planned publish without writing.").option("--json", "Emit JSON output").addHelpText(
|
|
17100
17105
|
"after",
|
|
17101
17106
|
`
|
|
17102
17107
|
WARNING \u2014 not recommended by default.
|
|
@@ -17117,7 +17122,7 @@ Exit codes: 0 ok; 2 usage/missing --yes; 4 play or version not found;
|
|
|
17117
17122
|
|
|
17118
17123
|
Examples:
|
|
17119
17124
|
deepline plays share publish company-to-contact --yes
|
|
17120
|
-
deepline plays share publish company-to-contact --version 3 --seo noindex --yes
|
|
17125
|
+
deepline plays share publish company-to-contact --version 3 --seo noindex --yes
|
|
17121
17126
|
`
|
|
17122
17127
|
).action(async (playName, options) => {
|
|
17123
17128
|
process.exitCode = await handlePlaySharePublish([
|
|
@@ -17134,7 +17139,7 @@ Examples:
|
|
|
17134
17139
|
...options.json ? ["--json"] : []
|
|
17135
17140
|
]);
|
|
17136
17141
|
});
|
|
17137
|
-
share.command("update <play>").description("Update share-page settings without moving the pointer.").option("--seo <mode>", "SEO indexing: index | noindex.").option("--show-cost", "Show average Deepline credit cost.").option("--hide-cost", "Hide average Deepline credit cost.").option("--show-latency", "Show average latency.").option("--hide-latency", "Hide average latency.").option("--json", "Emit JSON output
|
|
17142
|
+
share.command("update <play>").description("Update share-page settings without moving the pointer.").option("--seo <mode>", "SEO indexing: index | noindex.").option("--show-cost", "Show average Deepline credit cost.").option("--hide-cost", "Hide average Deepline credit cost.").option("--show-latency", "Show average latency.").option("--hide-latency", "Hide average latency.").option("--json", "Emit JSON output").action(async (playName, options) => {
|
|
17138
17143
|
process.exitCode = await handlePlayShareUpdate([
|
|
17139
17144
|
playName,
|
|
17140
17145
|
...options.seo ? ["--seo", options.seo] : [],
|
|
@@ -17145,7 +17150,7 @@ Examples:
|
|
|
17145
17150
|
...options.json ? ["--json"] : []
|
|
17146
17151
|
]);
|
|
17147
17152
|
});
|
|
17148
|
-
share.command("regenerate <play>").description("Regenerate the public page's LLM copy for a revision.").option("--version <n>", "Regenerate a specific version number.").option("--revision-id <id>", "Regenerate a specific revision id.").option("--json", "Emit JSON output
|
|
17153
|
+
share.command("regenerate <play>").description("Regenerate the public page's LLM copy for a revision.").option("--version <n>", "Regenerate a specific version number.").option("--revision-id <id>", "Regenerate a specific revision id.").option("--json", "Emit JSON output").action(async (playName, options) => {
|
|
17149
17154
|
process.exitCode = await handlePlayShareRegenerate([
|
|
17150
17155
|
playName,
|
|
17151
17156
|
...options.version ? ["--version", String(options.version)] : [],
|
|
@@ -17155,7 +17160,7 @@ Examples:
|
|
|
17155
17160
|
});
|
|
17156
17161
|
share.command("unpublish <play>").description(
|
|
17157
17162
|
"Unshare: permanently delete the public page (frees it). Requires --yes."
|
|
17158
|
-
).option("-y, --yes", "Confirm taking the public page down (required).").option("--json", "Emit JSON output
|
|
17163
|
+
).option("-y, --yes", "Confirm taking the public page down (required).").option("--json", "Emit JSON output").addHelpText(
|
|
17159
17164
|
"after",
|
|
17160
17165
|
`
|
|
17161
17166
|
Mutates cloud state. Hard-deletes the page + its generated cards; the URL stops
|
|
@@ -17430,6 +17435,7 @@ export {
|
|
|
17430
17435
|
parsePlayRunHeaderFlag,
|
|
17431
17436
|
parsePlayRunOptions,
|
|
17432
17437
|
loadPlayBundler,
|
|
17438
|
+
liveMaxCreditsPerRun,
|
|
17433
17439
|
writePlayRunIdFile,
|
|
17434
17440
|
preflightLocalFileInputs,
|
|
17435
17441
|
describeSleepUntil,
|