deepline 0.3.272 → 0.3.274
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 +9 -0
- package/dist/bundling-sources/sdk/src/client.ts +52 -20
- package/dist/bundling-sources/sdk/src/index.ts +1 -1
- package/dist/bundling-sources/sdk/src/play.ts +2 -2
- package/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/sdk/src/runs/receipts.ts +18 -2
- package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +3 -2
- package/dist/cli/index.js +328 -83
- package/dist/cli/index.mjs +328 -83
- package/dist/{client-C1Xm7eBH.d.mts → client-2rIHKJiq.d.mts} +66 -21
- package/dist/{client-BbKtvT9Q.d.ts → client-D6fRwhnE.d.ts} +66 -21
- package/dist/{compiler-manifest-CUuh8C3b.d.mts → compiler-manifest-C1bKB9bY.d.mts} +3 -2
- package/dist/{compiler-manifest-CUuh8C3b.d.ts → compiler-manifest-C1bKB9bY.d.ts} +3 -2
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +7 -7
- package/dist/index.mjs +7 -7
- package/dist/install-integrity.json +4 -4
- package/dist/plays/bundle-play-file.d.mts +2 -2
- package/dist/plays/bundle-play-file.d.ts +2 -2
- package/dist/plays/run-request.d.mts +2 -2
- package/dist/plays/run-request.d.ts +2 -2
- package/dist/release.d.mts +1 -1
- package/dist/release.d.ts +1 -1
- package/dist/release.js +1 -1
- package/dist/release.mjs +1 -1
- package/package.json +1 -1
package/dist/cli/index.mjs
CHANGED
|
@@ -1953,7 +1953,7 @@ configureProxyFromEnv();
|
|
|
1953
1953
|
import { mkdtemp as mkdtemp4, rm as rm4, writeFile as writeFile7 } from "fs/promises";
|
|
1954
1954
|
import { join as join29 } from "path";
|
|
1955
1955
|
import { tmpdir as tmpdir7 } from "os";
|
|
1956
|
-
import { Command as
|
|
1956
|
+
import { Command as Command7 } from "commander";
|
|
1957
1957
|
|
|
1958
1958
|
// ../plays/trigger-config-route.ts
|
|
1959
1959
|
function playTriggerConfigPath(playName) {
|
|
@@ -3507,7 +3507,7 @@ var SDK_RELEASE = {
|
|
|
3507
3507
|
// getters keep their established compatibility behavior.
|
|
3508
3508
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
3509
3509
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
3510
|
-
version: "0.3.
|
|
3510
|
+
version: "0.3.274",
|
|
3511
3511
|
updateSummary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.",
|
|
3512
3512
|
packageCapabilities: {
|
|
3513
3513
|
updatePreferences: 1
|
|
@@ -7290,7 +7290,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
7290
7290
|
}
|
|
7291
7291
|
playRunCommand(play) {
|
|
7292
7292
|
const target = play.reference || play.name;
|
|
7293
|
-
return `deepline plays run ${target}${playInputExampleArgs(play.inputSchema)}
|
|
7293
|
+
return `deepline plays run ${target}${playInputExampleArgs(play.inputSchema)}`;
|
|
7294
7294
|
}
|
|
7295
7295
|
starterPlayPath(play) {
|
|
7296
7296
|
const target = play.reference || play.name;
|
|
@@ -7851,7 +7851,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
7851
7851
|
* Convenience wrapper around {@link registerPlayArtifact} plus
|
|
7852
7852
|
* {@link startPlayRun}. This is the canonical file-backed path used by wrappers.
|
|
7853
7853
|
* The returned id can be passed to {@link getPlayStatus} to retrieve the same
|
|
7854
|
-
* durable `{ result }` object that the CLI prints after
|
|
7854
|
+
* durable `{ result }` object that the CLI prints after `plays run` completes.
|
|
7855
7855
|
*
|
|
7856
7856
|
* @param code - Source string fallback; the bundled artifact should be passed in `options.artifact`
|
|
7857
7857
|
* @param csvPath - Path to input CSV file, or `null`
|
|
@@ -7972,7 +7972,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
7972
7972
|
* Get the current status of a play execution.
|
|
7973
7973
|
*
|
|
7974
7974
|
* Internal/advanced primitive. Public callers should usually prefer
|
|
7975
|
-
* {@link runPlay}, {@link PlayJob.get}, or `deepline plays run
|
|
7975
|
+
* {@link runPlay}, {@link PlayJob.get}, or `deepline plays run`.
|
|
7976
7976
|
*
|
|
7977
7977
|
* @param workflowId - Play-run id from {@link startPlayRun}
|
|
7978
7978
|
* @returns Current status with progress logs and partial results
|
|
@@ -8363,7 +8363,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
8363
8363
|
);
|
|
8364
8364
|
return { ...response, runs: response.runs ?? [] };
|
|
8365
8365
|
}
|
|
8366
|
-
/** Read
|
|
8366
|
+
/** Read retained tool results without executing tools, preserving supplied key order and batching 100 keys per request. Obtain keys from exported evidence or execution metadata; each key must be nonempty, at most 2,048 characters and contain no CR, LF or NUL. Missing/expired results have an explicit per-key error. */
|
|
8367
8367
|
async getRunReceipts(runId, options) {
|
|
8368
8368
|
if (!options.keys.length || options.keys.some(
|
|
8369
8369
|
(key) => typeof key !== "string" || !key.trim() || key.length > 2048 || /[\r\n\0]/.test(key)
|
|
@@ -8419,7 +8419,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
8419
8419
|
);
|
|
8420
8420
|
}
|
|
8421
8421
|
/**
|
|
8422
|
-
*
|
|
8422
|
+
* Read a run's retained text tail (default 200), full retained stream (`all`), or terminal failure window (`failed`, at most 20). These are existing reads; sampling and retention loss cannot be recovered. See [run logs and events](run-events.md) for structured search and payload retrieval.
|
|
8423
8423
|
*
|
|
8424
8424
|
* This is the SDK equivalent of:
|
|
8425
8425
|
*
|
|
@@ -8498,7 +8498,7 @@ var DeeplineClient = class _DeeplineClient {
|
|
|
8498
8498
|
...probe.logsTruncated ? { logsTruncated: true } : {}
|
|
8499
8499
|
};
|
|
8500
8500
|
}
|
|
8501
|
-
/**
|
|
8501
|
+
/** Read structured history across the active organization without requiring a run ID. Defaults to the last hour, newest first; use the returned cursor and exact time bounds to continue. See [run logs and events](run-events.md) for all kinds, indexed fields, payloads and SDK/API response types. */
|
|
8502
8502
|
async searchRunEvents(options = {}) {
|
|
8503
8503
|
const now = Date.now();
|
|
8504
8504
|
const params = new URLSearchParams({
|
|
@@ -14911,7 +14911,7 @@ import {
|
|
|
14911
14911
|
} from "fs/promises";
|
|
14912
14912
|
import { homedir as homedir6, tmpdir as tmpdir5 } from "os";
|
|
14913
14913
|
import { basename as basename4, dirname as dirname11, extname as extname3, join as join15, resolve as resolve14 } from "path";
|
|
14914
|
-
import { Option as
|
|
14914
|
+
import { Option as Option4 } from "commander";
|
|
14915
14915
|
|
|
14916
14916
|
// ../plays/settings-contract.ts
|
|
14917
14917
|
import { z } from "zod";
|
|
@@ -15689,6 +15689,244 @@ function registerPlayTriggerConfigCommands(plays) {
|
|
|
15689
15689
|
// src/cli/commands/play.ts
|
|
15690
15690
|
import { createHash as createHash4, randomUUID as randomUUID4 } from "crypto";
|
|
15691
15691
|
|
|
15692
|
+
// src/cli/run-logs-help.ts
|
|
15693
|
+
var EVENT_DETAILS = {
|
|
15694
|
+
"run.created": {
|
|
15695
|
+
emittedBy: "Run admission",
|
|
15696
|
+
payloadFields: ["status", "playName", "runtimeBackend"]
|
|
15697
|
+
},
|
|
15698
|
+
"run.started": {
|
|
15699
|
+
emittedBy: "Execution coordinator",
|
|
15700
|
+
payloadFields: ["playName", "runtimeBackend"]
|
|
15701
|
+
},
|
|
15702
|
+
"run.waiting": {
|
|
15703
|
+
emittedBy: "Durable wait handling",
|
|
15704
|
+
payloadFields: ["waitKind", "waitUntil"]
|
|
15705
|
+
},
|
|
15706
|
+
"run.resumed": { emittedBy: "Durable wait handling", payloadFields: [] },
|
|
15707
|
+
"run.completed": {
|
|
15708
|
+
emittedBy: "Run finalization",
|
|
15709
|
+
payloadFields: ["result", "resultSummary", "terminalWorkCounterSegment"]
|
|
15710
|
+
},
|
|
15711
|
+
"run.failed": {
|
|
15712
|
+
emittedBy: "Run finalization",
|
|
15713
|
+
payloadFields: [
|
|
15714
|
+
"error",
|
|
15715
|
+
"result",
|
|
15716
|
+
"resultSummary",
|
|
15717
|
+
"terminalWorkCounterSegment"
|
|
15718
|
+
]
|
|
15719
|
+
},
|
|
15720
|
+
"run.cancelled": {
|
|
15721
|
+
emittedBy: "Run cancellation",
|
|
15722
|
+
payloadFields: ["error", "result"]
|
|
15723
|
+
},
|
|
15724
|
+
"step.started": {
|
|
15725
|
+
emittedBy: "Managed step execution",
|
|
15726
|
+
payloadFields: ["stepId", "label", "kind", "artifactTableNamespace"]
|
|
15727
|
+
},
|
|
15728
|
+
"step.progress": {
|
|
15729
|
+
emittedBy: "Managed step execution",
|
|
15730
|
+
payloadFields: ["stepId", "label", "kind", "status", "progress"]
|
|
15731
|
+
},
|
|
15732
|
+
"step.completed": {
|
|
15733
|
+
emittedBy: "Managed step execution",
|
|
15734
|
+
payloadFields: ["stepId", "label", "kind", "artifactTableNamespace"]
|
|
15735
|
+
},
|
|
15736
|
+
"step.failed": {
|
|
15737
|
+
emittedBy: "Managed step execution",
|
|
15738
|
+
payloadFields: [
|
|
15739
|
+
"stepId",
|
|
15740
|
+
"label",
|
|
15741
|
+
"kind",
|
|
15742
|
+
"error",
|
|
15743
|
+
"artifactTableNamespace"
|
|
15744
|
+
]
|
|
15745
|
+
},
|
|
15746
|
+
"step.skipped": {
|
|
15747
|
+
emittedBy: "Managed step execution",
|
|
15748
|
+
payloadFields: ["stepId", "label", "kind", "artifactTableNamespace"]
|
|
15749
|
+
},
|
|
15750
|
+
"log.appended": {
|
|
15751
|
+
emittedBy: "ctx.log and runtime/coordinator messages",
|
|
15752
|
+
payloadFields: [
|
|
15753
|
+
"lines",
|
|
15754
|
+
"lineContexts",
|
|
15755
|
+
"producerAttempt",
|
|
15756
|
+
"channelOffset",
|
|
15757
|
+
"logsTruncated"
|
|
15758
|
+
]
|
|
15759
|
+
},
|
|
15760
|
+
"dataset.lifecycle": {
|
|
15761
|
+
emittedBy: "Managed dataset storage",
|
|
15762
|
+
payloadFields: [
|
|
15763
|
+
"datasetId",
|
|
15764
|
+
"path",
|
|
15765
|
+
"tableNamespace",
|
|
15766
|
+
"phase",
|
|
15767
|
+
"persistedRows",
|
|
15768
|
+
"succeededRows",
|
|
15769
|
+
"failedRows",
|
|
15770
|
+
"complete",
|
|
15771
|
+
"bornFrom"
|
|
15772
|
+
]
|
|
15773
|
+
},
|
|
15774
|
+
"activity.observed": {
|
|
15775
|
+
emittedBy: "Managed provider/dataset/runner activity",
|
|
15776
|
+
payloadFields: ["observation"]
|
|
15777
|
+
},
|
|
15778
|
+
"work.counters": {
|
|
15779
|
+
emittedBy: "Runtime work accounting",
|
|
15780
|
+
payloadFields: [
|
|
15781
|
+
"attempt",
|
|
15782
|
+
"invocationSeq",
|
|
15783
|
+
"segmentId",
|
|
15784
|
+
"logicalCalls",
|
|
15785
|
+
"providerRequests",
|
|
15786
|
+
"provider429s",
|
|
15787
|
+
"final"
|
|
15788
|
+
]
|
|
15789
|
+
}
|
|
15790
|
+
};
|
|
15791
|
+
var RUN_LOGS_KIND_HELP = [
|
|
15792
|
+
...Object.entries(RUN_EVENT_KIND_CATALOG).map(([kind, descriptor]) => ({
|
|
15793
|
+
kind,
|
|
15794
|
+
description: descriptor.description,
|
|
15795
|
+
...EVENT_DETAILS[kind]
|
|
15796
|
+
})),
|
|
15797
|
+
...Object.entries(RUN_RECEIPT_SEARCH_KIND_CATALOG).map(
|
|
15798
|
+
([kind, descriptor]) => ({
|
|
15799
|
+
kind,
|
|
15800
|
+
description: descriptor.description,
|
|
15801
|
+
emittedBy: "Durable work receipt settlement",
|
|
15802
|
+
payloadFields: ["status", "output", "error", "errorPayload"]
|
|
15803
|
+
})
|
|
15804
|
+
),
|
|
15805
|
+
{
|
|
15806
|
+
kind: RUN_EVENT_SEARCH_FALLBACK_KIND,
|
|
15807
|
+
description: "Fallback for an observation without a recognized event type.",
|
|
15808
|
+
emittedBy: "Event indexing",
|
|
15809
|
+
payloadFields: []
|
|
15810
|
+
}
|
|
15811
|
+
];
|
|
15812
|
+
var SECTIONS = [
|
|
15813
|
+
{
|
|
15814
|
+
title: "Choose the read",
|
|
15815
|
+
paragraphs: [
|
|
15816
|
+
"These commands read existing evidence; they do not start a run or execute a provider. Replace <run-id>, <play-name> and other angle-bracket values with identifiers returned by the CLI.",
|
|
15817
|
+
"Text logs: runs logs <run-id> returns the last 200 retained lines by default. --out writes the full retained stream to a local file. --log-level filters text severity; debug includes all retained levels. --failed reads only a terminal-failed run\u2019s last 20 retained lines and reports retention limitations.",
|
|
15818
|
+
"Event search: omit the run ID, or add any of --since, --until, --play, --kind, --where, --payloads, --cursor, --runtime-namespace or --runtime-backend. A supplied run ID then narrows the search. --limit and --json alone do not switch a run\u2019s text logs to event search. Text-only flags --out, --failed and --log-level cannot be combined with event search.",
|
|
15819
|
+
"Current status and returned output selectors: runs get <run-id> --json. Live observation: runs watch <run-id>. Dataset rows: runs export <run-id> --dataset <returned-selector> --out rows.csv. A referenced tool response: runs receipt <run-id> --key <returned-receipt-key> --json. Read each command\u2019s --help for its options."
|
|
15820
|
+
],
|
|
15821
|
+
commands: [
|
|
15822
|
+
"deepline runs logs <run-id> --json",
|
|
15823
|
+
"deepline runs logs <run-id> --out run.log --json",
|
|
15824
|
+
"deepline runs logs --kind run.failed --json",
|
|
15825
|
+
"deepline runs logs --kind step.failed --payloads --json",
|
|
15826
|
+
"deepline runs logs --kind receipt.failed --payloads --json"
|
|
15827
|
+
]
|
|
15828
|
+
},
|
|
15829
|
+
{
|
|
15830
|
+
title: "Search window and pagination",
|
|
15831
|
+
paragraphs: [
|
|
15832
|
+
"Search defaults to the last hour, newest first. Use explicit ISO UTC --since and --until values for reproducible queries; the maximum lookback is seven days. Default page size is 100 events; --limit accepts 1\u2013200. With --payloads, default and maximum are 10 events, with 16 MiB total payload data.",
|
|
15833
|
+
"JSON returns events[], returnedCount, since, until, nextCursor and next.logs. Run the returned next.logs command to continue with the same filters and UTC window; nextCursor is opaque. A bounded page or an empty result does not establish whole-run coverage or application health."
|
|
15834
|
+
],
|
|
15835
|
+
commands: [
|
|
15836
|
+
"deepline runs logs <run-id> --kind log.appended --json",
|
|
15837
|
+
"deepline runs logs --play <play-name> --since <UTC-start> --until <UTC-end> --json"
|
|
15838
|
+
]
|
|
15839
|
+
},
|
|
15840
|
+
{
|
|
15841
|
+
title: "Fields you can filter with --where",
|
|
15842
|
+
paragraphs: [
|
|
15843
|
+
"Identity strings: orgId, runId, playName, runtimeScope. These come from authenticated execution state; filters only narrow your authorized organization/runtime. Preview reads require the existing runtime credential and an authorized --runtime-namespace; --runtime-backend selects daytona or modal.",
|
|
15844
|
+
"Event string: kind. Optional strings: source, stepId, stepKind, status, datasetId, phase, provider, operation. Optional positive integer: producerAttempt. These fields exist only when recorded; inspect a returned event before filtering on an optional field.",
|
|
15845
|
+
'stepId/stepKind describe recorded step work; datasetId/phase describe dataset lifecycle (registered, available, failed). provider/operation appear on typed provider activity.observed events, not every receipt or provider call. status is the recorded status or activity state when present: run.completed and step.completed do not imply status == "completed". Select lifecycle outcomes with --kind.',
|
|
15846
|
+
"context.<key> matches an authored flat scalar log field: string, number or boolean. Context cannot override event identity. Missing fields do not match. --where supports only $.field == literal predicates joined with &&, at most eight predicates and 512 bytes. No OR, ranges, wildcards, nested payload paths or text search. Time uses --since/--until; level and message are not --where fields.",
|
|
15847
|
+
'Wrap the entire predicate in single shell quotes so $ and && reach the CLI unchanged. Inside it, strings use double quotes; numbers and booleans are unquoted. Types must match: 2 differs from "2", false differs from "false". Examples use illustrative recorded values; use your own step IDs, dataset IDs, provider/operation names and authored context. The context examples assume ctx.log recorded companyId: "acme_123", attempt: 2 and cached: false.'
|
|
15848
|
+
],
|
|
15849
|
+
commands: [
|
|
15850
|
+
"# Failed retained work with its stored error/result",
|
|
15851
|
+
`deepline runs logs --kind receipt.failed --where '$.status == "failed"' --payloads --json`,
|
|
15852
|
+
"# Failure details for one named step",
|
|
15853
|
+
`deepline runs logs --kind step.failed --where '$.stepId == "company-lookup"' --payloads --json`,
|
|
15854
|
+
"# Typed provider observations matching both fields",
|
|
15855
|
+
`deepline runs logs --kind activity.observed --where '$.provider == "apollo" && $.operation == "company_lookup"' --json`,
|
|
15856
|
+
"# Failed lifecycle transitions for one dataset",
|
|
15857
|
+
`deepline runs logs --kind dataset.lifecycle --where '$.datasetId == "companies" && $.phase == "failed"' --payloads --json`,
|
|
15858
|
+
"# Authored string context on log lines",
|
|
15859
|
+
`deepline runs logs --kind log.appended --where '$.context.companyId == "acme_123"' --json`,
|
|
15860
|
+
"# Authored number and boolean context, both required to match",
|
|
15861
|
+
"deepline runs logs --kind log.appended --where '$.context.attempt == 2 && $.context.cached == false' --json",
|
|
15862
|
+
"# Known producer identity within one run",
|
|
15863
|
+
`deepline runs logs <run-id> --where '$.source == "worker" && $.producerAttempt == 1' --json`
|
|
15864
|
+
]
|
|
15865
|
+
},
|
|
15866
|
+
{
|
|
15867
|
+
title: "What you get back",
|
|
15868
|
+
paragraphs: [
|
|
15869
|
+
"Search events include eventId, occurredAt, ingestedAt, kind, runId, playName, level and message. The CLI puts indexed fields directly on each events[] entry; SDK/API responses keep them under searchDoc. Log search message is a preview (up to 2,048 characters); use text logs or --out for full retained lines.",
|
|
15870
|
+
"--payloads adds eventPayload for stored canonical events: lifecycle, step details/errors, activity observations, dataset transitions and work counters. Receipt matches instead hydrate payload with status, output, error and errorPayload. An event without a receipt does not promise a tool response; retained payloads may be unavailable. Neither --where nor event search indexes request/response bodies.",
|
|
15871
|
+
"Search does not expose a receipt key or storage reference. To retrieve a specific retained tool response with runs receipt, use the receipt key returned in the run\u2019s exported evidence or tool execution metadata. For full row data, follow runs get output/export actions; dataset.lifecycle contains metadata, not all dataset rows.",
|
|
15872
|
+
"The catalog lists known searchable kinds, including receipt outcomes and the runtime.event fallback. Use the exact dotted name with --kind. Future stored kinds can also be queried; this list is not a CLI validation allowlist. Events are observations, not a count of billed provider calls.",
|
|
15873
|
+
"Catalog payload fields are possible producer fields, not required fields or --where paths. Canonical eventPayload uses type for the dotted event kind; its kind field, when present on a step, becomes indexed stepKind. Indexed log entries describe individual lines rather than reproducing the original lines batch.",
|
|
15874
|
+
"Canonical event envelopes carry runId, type, occurredAt (producer milliseconds), source, optional seq and optional producer-owned payload. Search occurredAt/ingestedAt are UTC timestamp strings. source identifies the recorded producer; producerAttempt is present only when known.",
|
|
15875
|
+
"activity.observed stores observation with activityId, stepId, target, state and observedAt. Targets describe provider, dataset, lease, runner, step or capacity work. State kinds are active, queued, waiting, retrying, scheduled, completed or failed; retry/wait detail stays in the payload. work.counters contains aggregate logicalCalls, providerRequests and provider429s, not per-call responses."
|
|
15876
|
+
],
|
|
15877
|
+
commands: []
|
|
15878
|
+
}
|
|
15879
|
+
];
|
|
15880
|
+
var RETENTION = [
|
|
15881
|
+
"Event/log/receipt search shares the PlanetScale index. New runs marked runEventStore=planet_scale retain accepted event/log history in PlanetScale; Convex keeps current run/control state and eligible saved-Play rollup facts. Older unmarked runs retain their existing readers. No backfill is implied.",
|
|
15882
|
+
"Search retention is seven days; receipt payload retention is independent. Logs reflect accepted, retained lines: runtime sampling and truncation can omit original console output. Read returned retention/sampling warnings; an export contains the full retained stream, not suppressed lines."
|
|
15883
|
+
];
|
|
15884
|
+
function wrapParagraph(text, indent2 = 2) {
|
|
15885
|
+
const lines = [];
|
|
15886
|
+
const padding = " ".repeat(indent2);
|
|
15887
|
+
let line = padding;
|
|
15888
|
+
for (const word of text.split(" ")) {
|
|
15889
|
+
if (line.length + word.length > 80 && line.trim()) {
|
|
15890
|
+
lines.push(line.trimEnd());
|
|
15891
|
+
line = padding;
|
|
15892
|
+
}
|
|
15893
|
+
line += `${word} `;
|
|
15894
|
+
}
|
|
15895
|
+
lines.push(line.trimEnd());
|
|
15896
|
+
return lines.join("\n");
|
|
15897
|
+
}
|
|
15898
|
+
function renderRunLogsHelp() {
|
|
15899
|
+
const section = ({
|
|
15900
|
+
title,
|
|
15901
|
+
paragraphs,
|
|
15902
|
+
commands
|
|
15903
|
+
}) => [
|
|
15904
|
+
`${title}:`,
|
|
15905
|
+
...paragraphs.flatMap((paragraph) => [wrapParagraph(paragraph), ""]),
|
|
15906
|
+
...commands.length ? [" Common commands:", ...commands.map((command) => ` ${command}`)] : [],
|
|
15907
|
+
""
|
|
15908
|
+
];
|
|
15909
|
+
return [
|
|
15910
|
+
"",
|
|
15911
|
+
...section(SECTIONS[0]),
|
|
15912
|
+
"Known --kind values (complete catalog):",
|
|
15913
|
+
...RUN_LOGS_KIND_HELP.flatMap(
|
|
15914
|
+
({ kind, description, emittedBy, payloadFields }) => [
|
|
15915
|
+
` ${kind}`,
|
|
15916
|
+
wrapParagraph(description, 4),
|
|
15917
|
+
wrapParagraph(
|
|
15918
|
+
`Recorded by: ${emittedBy}. Payload fields: ${kind === RUN_EVENT_SEARCH_FALLBACK_KIND ? "producer-specific fields; inspect the returned payload" : payloadFields.join(", ") || "event envelope only"}.`,
|
|
15919
|
+
4
|
|
15920
|
+
)
|
|
15921
|
+
]
|
|
15922
|
+
),
|
|
15923
|
+
"",
|
|
15924
|
+
...SECTIONS.slice(1).flatMap(section),
|
|
15925
|
+
"Storage and retention:",
|
|
15926
|
+
...RETENTION.flatMap((paragraph) => [wrapParagraph(paragraph), ""])
|
|
15927
|
+
].join("\n");
|
|
15928
|
+
}
|
|
15929
|
+
|
|
15692
15930
|
// ../play-runtime/run-execution-state.ts
|
|
15693
15931
|
function assertNeverState(value, what) {
|
|
15694
15932
|
throw new Error(`Unhandled ${what}: ${JSON.stringify(value)}`);
|
|
@@ -16514,6 +16752,7 @@ import {
|
|
|
16514
16752
|
relative as relative5,
|
|
16515
16753
|
resolve as resolve13
|
|
16516
16754
|
} from "path";
|
|
16755
|
+
import { Option as Option3 } from "commander";
|
|
16517
16756
|
|
|
16518
16757
|
// src/cli/commands/plays/bootstrap.ts
|
|
16519
16758
|
import {
|
|
@@ -16874,7 +17113,7 @@ Example: deepline plays bootstrap people-email --from csv:data/leads.csv --using
|
|
|
16874
17113
|
`Unknown plays bootstrap template: ${rawTemplate}
|
|
16875
17114
|
Supported templates: ${formatPlayBootstrapTemplates()}|${MONITOR_BOOTSTRAP_TEMPLATE}` + (looksLikePlayReference ? `
|
|
16876
17115
|
|
|
16877
|
-
"${rawTemplate}" looks like an existing play reference or file, not a bootstrap template. Do not run plays bootstrap on prebuilt/<play-name>. Use "deepline plays run ${rawTemplate} --input '{...}'
|
|
17116
|
+
"${rawTemplate}" looks like an existing play reference or file, not a bootstrap template. Do not run plays bootstrap on prebuilt/<play-name>. Use "deepline plays run ${rawTemplate} --input '{...}'" to run it directly, "deepline plays describe ${rawTemplate} --json" to inspect its contract, or "deepline plays get ${rawTemplate} --source --out scratchpad.play.ts" to clone/edit it.` : "")
|
|
16878
17117
|
);
|
|
16879
17118
|
}
|
|
16880
17119
|
return rawTemplate;
|
|
@@ -17643,7 +17882,7 @@ function playUsesMapBackedRuntime(play) {
|
|
|
17643
17882
|
}
|
|
17644
17883
|
function assertComposablePlayRoute(input2) {
|
|
17645
17884
|
if (!input2.playRef || !playUsesMapBackedRuntime(input2.play)) return;
|
|
17646
|
-
const runCommand2 = input2.play?.runCommand?.trim() || `deepline plays run ${input2.playRef} --input '{...}'
|
|
17885
|
+
const runCommand2 = input2.play?.runCommand?.trim() || `deepline plays run ${input2.playRef} --input '{...}'`;
|
|
17647
17886
|
throw new PlayBootstrapValidationError(
|
|
17648
17887
|
`Cannot use ${input2.stageLabel} play:${input2.playRef} in plays bootstrap composition: the selected play is dataset-backed/direct-run-only. Child plays that use ctx.dataset() own durable table state and must be run directly, exported, or validated as their own play instead of wrapped with ctx.runPlay. Run it directly first: ${runCommand2}`
|
|
17649
17888
|
);
|
|
@@ -17685,14 +17924,14 @@ function generatePlaySourceRowsBlock(input2) {
|
|
|
17685
17924
|
sourcePlay: input2.sourcePlay
|
|
17686
17925
|
})) {
|
|
17687
17926
|
const sourcePlay = input2.sourcePlay;
|
|
17688
|
-
const runCommand2 = sourcePlay?.runCommand?.trim() || `deepline plays run ${input2.source.value} --input '{...}'
|
|
17927
|
+
const runCommand2 = sourcePlay?.runCommand?.trim() || `deepline plays run ${input2.source.value} --input '{...}'`;
|
|
17689
17928
|
return `// Source play ${input2.source.value} is dataset-backed/direct-run-only, so this generated play is stage 2.
|
|
17690
17929
|
// Stage 1:
|
|
17691
17930
|
// ${runCommand2}
|
|
17692
17931
|
// Stage 2:
|
|
17693
17932
|
// deepline runs export <stage-1-run-id> --dataset 'result.rows' --out source-export.csv
|
|
17694
17933
|
// Stage 3:
|
|
17695
|
-
// deepline plays run <this-file.play.ts> --input '{"sourceCsv":"source-export.csv","limit":${input2.sourcePlay ? "5" : "5"}}'
|
|
17934
|
+
// deepline plays run <this-file.play.ts> --input '{"sourceCsv":"source-export.csv","limit":${input2.sourcePlay ? "5" : "5"}}'
|
|
17696
17935
|
const sourceDataset = await ctx.csv<${input2.collectionType}>(input.sourceCsv ?? './source-export.csv');
|
|
17697
17936
|
const ${input2.collection}: ${input2.collectionType}[] = await sourceDataset.peek(limit);`;
|
|
17698
17937
|
}
|
|
@@ -18172,7 +18411,7 @@ Notes:
|
|
|
18172
18411
|
Examples:
|
|
18173
18412
|
deepline plays bootstrap people-email --from csv:data/leads.csv --using play:prebuilt/name-and-domain-to-email-waterfall --limit 5 --out email-flow.play.ts
|
|
18174
18413
|
deepline plays check email-flow.play.ts
|
|
18175
|
-
deepline plays run email-flow.play.ts --input '{"limit":5}'
|
|
18414
|
+
deepline plays run email-flow.play.ts --input '{"limit":5}'
|
|
18176
18415
|
|
|
18177
18416
|
deepline plays bootstrap people-email --from provider:dropleads_search_people --using providers:hunter_email_finder,leadmagic_email_finder --limit 5 --out prospecting.play.ts
|
|
18178
18417
|
deepline plays bootstrap company-people-email --from provider:crustdata_companydb_search --people play:prebuilt/company-to-contact --email play:prebuilt/name-and-domain-to-email-waterfall --limit 5 --out account-contacts.play.ts
|
|
@@ -28126,7 +28365,7 @@ function buildPlayReferenceNotFoundMessage(input2) {
|
|
|
28126
28365
|
lines.push("", ` ${suggestion.reference}`);
|
|
28127
28366
|
if (input2.command === "run") {
|
|
28128
28367
|
lines.push(
|
|
28129
|
-
` deepline plays run ${suggestion.reference} --input '{...}'
|
|
28368
|
+
` deepline plays run ${suggestion.reference} --input '{...}'`
|
|
28130
28369
|
);
|
|
28131
28370
|
} else if (input2.command === "get") {
|
|
28132
28371
|
lines.push(` deepline plays get ${suggestion.reference} --json`);
|
|
@@ -31450,7 +31689,9 @@ function buildOrdinaryPlayRunCommand(options, resolvedRevisionId) {
|
|
|
31450
31689
|
}
|
|
31451
31690
|
if (options.open) parts.push("--open");
|
|
31452
31691
|
if (options.fullJson) parts.push("--full");
|
|
31453
|
-
if (options.jsonOutput && options.emitLogs)
|
|
31692
|
+
if (options.jsonOutput && options.emitLogs) {
|
|
31693
|
+
parts.push("--log-level", "debug");
|
|
31694
|
+
}
|
|
31454
31695
|
if (options.jsonOutput) parts.push("--json");
|
|
31455
31696
|
return parts.join(" ");
|
|
31456
31697
|
}
|
|
@@ -32534,7 +32775,7 @@ function parsePlayRunOptions(args) {
|
|
|
32534
32775
|
}
|
|
32535
32776
|
if (arg === "--tail") {
|
|
32536
32777
|
throw new Error(
|
|
32537
|
-
"--tail is removed for `plays run`;
|
|
32778
|
+
"--tail is removed for `plays run`; run waits and streams completion output by default."
|
|
32538
32779
|
);
|
|
32539
32780
|
}
|
|
32540
32781
|
continue;
|
|
@@ -35164,7 +35405,7 @@ async function handlePlayList(args) {
|
|
|
35164
35405
|
` cost estimate: ${formatPlayCostEstimate(play.costEstimate)}`
|
|
35165
35406
|
);
|
|
35166
35407
|
}
|
|
35167
|
-
lines.push(` run: deepline plays run ${reference}
|
|
35408
|
+
lines.push(` run: deepline plays run ${reference}`);
|
|
35168
35409
|
}
|
|
35169
35410
|
if (page.hasMore) {
|
|
35170
35411
|
lines.push("List truncated \u2014 more plays are available.");
|
|
@@ -35986,7 +36227,6 @@ Run and retrieve results:
|
|
|
35986
36227
|
2. Start and follow a new run: deepline plays run workflow.play.ts --csv contacts.csv
|
|
35987
36228
|
This example requires input.csv. Use the selected Play's actual input fields.
|
|
35988
36229
|
Run waits and shows progress by default; --no-wait returns immediately.
|
|
35989
|
-
--watch and --wait are redundant compatibility aliases for the default.
|
|
35990
36230
|
3. Read its overview: deepline runs get <run-id> --json
|
|
35991
36231
|
4. Export complete rows: deepline runs export <run-id> --dataset <returned-selector> --out results.csv
|
|
35992
36232
|
If disconnected, attach to the SAME run with deepline runs tail <run-id>.
|
|
@@ -36075,8 +36315,7 @@ Notes:
|
|
|
36075
36315
|
Named plays run the live saved revision.
|
|
36076
36316
|
File args accept local paths; the CLI stages files before submit.
|
|
36077
36317
|
By default, run waits for completion and prints logs, previews, stats, and
|
|
36078
|
-
|
|
36079
|
-
default behavior. Use --no-wait only when you intentionally want
|
|
36318
|
+
next commands. Use --no-wait only when you intentionally want
|
|
36080
36319
|
a fire-and-forget run id.
|
|
36081
36320
|
--run-id-file writes the durable run id to a versioned JSON file as soon as
|
|
36082
36321
|
the server accepts the run. The destination must not already exist.
|
|
@@ -36146,12 +36385,29 @@ Examples:
|
|
|
36146
36385
|
).option(
|
|
36147
36386
|
"--fixture-behavior <json>",
|
|
36148
36387
|
"Internal/testing: fixture response behavior JSON object or @file path"
|
|
36149
|
-
).
|
|
36388
|
+
).addOption(
|
|
36389
|
+
new Option3(
|
|
36390
|
+
"--watch",
|
|
36391
|
+
"Compatibility alias; run waits by default"
|
|
36392
|
+
).hideHelp()
|
|
36393
|
+
).addOption(
|
|
36394
|
+
new Option3(
|
|
36395
|
+
"--wait",
|
|
36396
|
+
"Compatibility alias; run waits by default"
|
|
36397
|
+
).hideHelp()
|
|
36398
|
+
).option("--no-wait", "Start the run and return immediately").option(
|
|
36150
36399
|
"--run-id-file <path>",
|
|
36151
36400
|
"Atomically write the accepted run id to a new JSON file"
|
|
36152
|
-
).
|
|
36153
|
-
|
|
36154
|
-
|
|
36401
|
+
).addOption(
|
|
36402
|
+
new Option3(
|
|
36403
|
+
"--logs",
|
|
36404
|
+
"Compatibility alias for --log-level debug"
|
|
36405
|
+
).hideHelp()
|
|
36406
|
+
).addOption(
|
|
36407
|
+
new Option3(
|
|
36408
|
+
"--debug [value]",
|
|
36409
|
+
"Compatibility alias for --log-level debug when bare; --debug <value> remains legacy Play input.debug"
|
|
36410
|
+
).hideHelp()
|
|
36155
36411
|
).option(
|
|
36156
36412
|
"--log-level <level>",
|
|
36157
36413
|
"Minimum live log severity: debug, info (default), warn, or error"
|
|
@@ -36833,9 +37089,8 @@ Notes:
|
|
|
36833
37089
|
logs for persisted log history. In human output, --compact prints
|
|
36834
37090
|
deduplicated step transitions and progress. --json emits one terminal
|
|
36835
37091
|
package. --jsonl emits canonical watched events as JSON Lines and ends with
|
|
36836
|
-
the same compact package shape as runs get --json.
|
|
36837
|
-
|
|
36838
|
-
filters the rendered customer-safe runtime log lines; debug includes runtime
|
|
37092
|
+
the same compact package shape as runs get --json. --log-level filters the
|
|
37093
|
+
rendered customer-safe runtime log lines; debug includes runtime
|
|
36839
37094
|
and receipt diagnostics and writes them to stderr alongside JSON output.
|
|
36840
37095
|
|
|
36841
37096
|
Examples:
|
|
@@ -36851,7 +37106,17 @@ Examples:
|
|
|
36851
37106
|
).option(
|
|
36852
37107
|
"--compact",
|
|
36853
37108
|
"Show deduplicated human step transitions and progress"
|
|
36854
|
-
).
|
|
37109
|
+
).addOption(
|
|
37110
|
+
new Option3(
|
|
37111
|
+
"--logs",
|
|
37112
|
+
"Compatibility alias for --log-level debug"
|
|
37113
|
+
).hideHelp()
|
|
37114
|
+
).addOption(
|
|
37115
|
+
new Option3(
|
|
37116
|
+
"--debug",
|
|
37117
|
+
"Compatibility alias for --log-level debug"
|
|
37118
|
+
).hideHelp()
|
|
37119
|
+
).option(
|
|
36855
37120
|
"--log-level <level>",
|
|
36856
37121
|
"Minimum severity: debug, info (default), warn, or error"
|
|
36857
37122
|
).action(async (runId, options) => {
|
|
@@ -36867,51 +37132,31 @@ Examples:
|
|
|
36867
37132
|
});
|
|
36868
37133
|
runs.command("logs [runId]").description(
|
|
36869
37134
|
"Fetch one run\u2019s logs or search recent runtime events across runs."
|
|
36870
|
-
).addHelpText(
|
|
36871
|
-
"
|
|
36872
|
-
|
|
36873
|
-
|
|
36874
|
-
Prints a bounded recent log preview by default. Use --out to write the full
|
|
36875
|
-
retained stream to a local file. Use --log-level to filter by severity;
|
|
36876
|
-
default debug preserves the complete historical stream.
|
|
36877
|
-
|
|
36878
|
-
Search flags read the org-scoped event index (last hour by default, at most
|
|
36879
|
-
seven days). Org, run, Play, runtime scope and known attempt identity are
|
|
36880
|
-
attached automatically. --where accepts equality joined with && for orgId,
|
|
36881
|
-
runId, playName, runtimeScope, producerAttempt, kind, status, source, stepId,
|
|
36882
|
-
stepKind, datasetId, phase, provider, operation, and scalar context.<key>.
|
|
36883
|
-
Filters only narrow the authenticated org/runtime scope. Provider and
|
|
36884
|
-
operation come from typed provider activity observations; this does not
|
|
36885
|
-
index request/response bodies or promise one event per provider call. --payloads
|
|
36886
|
-
includes full result data in this command, capped at ten events and 16 MiB.
|
|
36887
|
-
|
|
36888
|
-
Event, log, and receipt search share one PlanetScale index. For runs marked
|
|
36889
|
-
runEventStore=planet_scale, PlanetScale owns full event/log history; Convex
|
|
36890
|
-
keeps the live run snapshot, admission fence, and eligible saved-Play rollup
|
|
36891
|
-
facts. Marked-run log bodies are not copied into Convex. Unmarked legacy runs
|
|
36892
|
-
keep their existing Convex event history and Run Log Stream.
|
|
36893
|
-
Known --kind values: ${RUN_EVENT_SEARCH_KIND_VALUES.join(", ")}.
|
|
36894
|
-
|
|
36895
|
-
Examples:
|
|
36896
|
-
deepline runs logs play/my-play/run/20260501t000000-000
|
|
36897
|
-
deepline runs logs play/my-play/run/20260501t000000-000 --limit 500
|
|
36898
|
-
deepline runs logs play/my-play/run/20260501t000000-000 --failed --json
|
|
36899
|
-
deepline runs logs play/my-play/run/20260501t000000-000 --log-level error
|
|
36900
|
-
deepline runs logs play/my-play/run/20260501t000000-000 --out run.log --log-level debug --json
|
|
36901
|
-
deepline runs logs --since 2026-09-29T00:00:00Z --kind step.failed --json
|
|
36902
|
-
deepline runs logs --kind activity.observed --where '$.provider == "apollo" && $.operation == "company_lookup"' --json
|
|
36903
|
-
deepline runs logs --play my-play --where '$.context.companyId == "acme_123"' --json
|
|
36904
|
-
deepline runs logs --where '$.status == "failed"' --payloads --play my-play --json
|
|
36905
|
-
`
|
|
36906
|
-
).option("--limit <count>", "Maximum log lines or search events to print").option("--out <path>", "Write the full retained log stream to a file").option("--failed", "Show the bounded terminal-failure log window").option(
|
|
37135
|
+
).addHelpText("after", renderRunLogsHelp()).option(
|
|
37136
|
+
"--limit <count>",
|
|
37137
|
+
"Text tail: default 200; search: default 100, max 200 (10 with --payloads)"
|
|
37138
|
+
).option("--out <path>", "Write the full retained log stream to a file").option("--failed", "Show the bounded terminal-failure log window").option(
|
|
36907
37139
|
"--log-level <level>",
|
|
36908
37140
|
"Minimum severity: debug (default), info, warn, or error"
|
|
36909
|
-
).
|
|
37141
|
+
).addOption(
|
|
37142
|
+
new Option3(
|
|
37143
|
+
"--logs",
|
|
37144
|
+
"Compatibility alias for --log-level debug"
|
|
37145
|
+
).hideHelp()
|
|
37146
|
+
).addOption(
|
|
37147
|
+
new Option3(
|
|
37148
|
+
"--debug",
|
|
37149
|
+
"Compatibility alias for --log-level debug"
|
|
37150
|
+
).hideHelp()
|
|
37151
|
+
).option("--json", "Emit JSON output. Also automatic when stdout is piped").option("--since <timestamp>", "Search events since this UTC timestamp").option("--until <timestamp>", "Search events before this UTC timestamp").option("--play <name>", "Filter events by Play name").option(
|
|
37152
|
+
"--kind <kind>",
|
|
37153
|
+
"Search one exact event kind; complete catalog below"
|
|
37154
|
+
).option(
|
|
36910
37155
|
"--where <jsonpath>",
|
|
36911
|
-
|
|
37156
|
+
"Search indexed fields with == and &&; field types and availability below"
|
|
36912
37157
|
).option(
|
|
36913
37158
|
"--payloads",
|
|
36914
|
-
"
|
|
37159
|
+
"Search with canonical eventPayload or receipt payload; max 10 events, 16 MiB"
|
|
36915
37160
|
).option("--cursor <token>", "Continue a bounded event search").option(
|
|
36916
37161
|
"--runtime-namespace <name>",
|
|
36917
37162
|
"Search an explicitly authorized Preview namespace"
|
|
@@ -37235,11 +37480,11 @@ async function handlePlaySharePublish(args) {
|
|
|
37235
37480
|
ok: false,
|
|
37236
37481
|
code: "NO_SUCCESSFUL_RUN",
|
|
37237
37482
|
message,
|
|
37238
|
-
next: `deepline plays run ${name}
|
|
37483
|
+
next: `deepline plays run ${name}`
|
|
37239
37484
|
});
|
|
37240
37485
|
} else {
|
|
37241
37486
|
console.error(message);
|
|
37242
|
-
console.error(` deepline plays run ${name}
|
|
37487
|
+
console.error(` deepline plays run ${name}`);
|
|
37243
37488
|
}
|
|
37244
37489
|
return 7;
|
|
37245
37490
|
}
|
|
@@ -42225,7 +42470,7 @@ function registerEnrichCommand(program) {
|
|
|
42225
42470
|
"--open",
|
|
42226
42471
|
"Open the generated play page in a browser after the run starts."
|
|
42227
42472
|
).addOption(
|
|
42228
|
-
new
|
|
42473
|
+
new Option4(
|
|
42229
42474
|
"--no-open [legacy-value]",
|
|
42230
42475
|
"Removed legacy option"
|
|
42231
42476
|
).hideHelp()
|
|
@@ -42615,7 +42860,7 @@ function registerExecutionsCommands(program) {
|
|
|
42615
42860
|
}
|
|
42616
42861
|
|
|
42617
42862
|
// src/cli/commands/feedback.ts
|
|
42618
|
-
import { Option as
|
|
42863
|
+
import { Option as Option5 } from "commander";
|
|
42619
42864
|
import { readFileSync as readFileSync10 } from "fs";
|
|
42620
42865
|
async function handleFeedback(text, options) {
|
|
42621
42866
|
const message = resolveFeedbackText(text, options.file);
|
|
@@ -42681,7 +42926,7 @@ Notes:
|
|
|
42681
42926
|
to submit the report.
|
|
42682
42927
|
|
|
42683
42928
|
Examples:
|
|
42684
|
-
deepline feedback send "plays run failed after upload" --command "deepline plays run my.play.ts
|
|
42929
|
+
deepline feedback send "plays run failed after upload" --command "deepline plays run my.play.ts" --error-outcome terminal
|
|
42685
42930
|
deepline feedback send "unexpected billing output" --payload '{"command":"billing usage"}' --json
|
|
42686
42931
|
`
|
|
42687
42932
|
);
|
|
@@ -42693,10 +42938,10 @@ Examples:
|
|
|
42693
42938
|
deepline feedback send --file incident.md --requested --json
|
|
42694
42939
|
cat incident.md | deepline feedback send --requested --json
|
|
42695
42940
|
deepline feedback send "tools search returned stale results" --requested --json
|
|
42696
|
-
deepline feedback send "plays run failed after upload" --command "deepline plays run my.play.ts
|
|
42941
|
+
deepline feedback send "plays run failed after upload" --command "deepline plays run my.play.ts" --error-outcome terminal
|
|
42697
42942
|
`
|
|
42698
42943
|
).argument("[text]", "Feedback text").option("--file <path>", "Read feedback text from a file, or - for stdin").option("--command <command>", "Command that reproduced the issue").option("--payload <payload>", "JSON or plain-text payload for the repro").addOption(
|
|
42699
|
-
new
|
|
42944
|
+
new Option5(
|
|
42700
42945
|
"--error-outcome <outcome>",
|
|
42701
42946
|
"Error impact on the task: terminal or continued"
|
|
42702
42947
|
).choices(["terminal", "continued"])
|
|
@@ -54001,7 +54246,7 @@ Examples:
|
|
|
54001
54246
|
}
|
|
54002
54247
|
|
|
54003
54248
|
// src/cli/commands/tools.ts
|
|
54004
|
-
import { Option as
|
|
54249
|
+
import { Option as Option6 } from "commander";
|
|
54005
54250
|
import {
|
|
54006
54251
|
chmodSync,
|
|
54007
54252
|
existsSync as existsSync20,
|
|
@@ -55031,7 +55276,7 @@ function isMissingToolMetadataError(error) {
|
|
|
55031
55276
|
function playAliasToolErrorMessage(toolId, play) {
|
|
55032
55277
|
const playName = play.reference ?? play.name;
|
|
55033
55278
|
return `${toolId} is a play, not a tool.
|
|
55034
|
-
Use: deepline plays run ${playName} --input '{...}'
|
|
55279
|
+
Use: deepline plays run ${playName} --input '{...}'
|
|
55035
55280
|
Inspect its schema with: deepline plays describe ${playName} --json`;
|
|
55036
55281
|
}
|
|
55037
55282
|
function printPlayAliasToolError(toolId, play) {
|
|
@@ -55063,11 +55308,11 @@ function playRunCommandForTool(tool, toolId, input2) {
|
|
|
55063
55308
|
const playReference = playReferenceForTool(tool);
|
|
55064
55309
|
if (!playReference) return playSearchCommandForToolId(toolId);
|
|
55065
55310
|
const inputArg = input2 === void 0 ? "'{...}'" : `'${JSON.stringify(input2)}'`;
|
|
55066
|
-
return `deepline plays run ${playReference} --input ${inputArg}
|
|
55311
|
+
return `deepline plays run ${playReference} --input ${inputArg}`;
|
|
55067
55312
|
}
|
|
55068
55313
|
function playLikeToolExecuteErrorMessage(toolId, tool) {
|
|
55069
55314
|
const playReference = tool ? playReferenceForTool(tool) : null;
|
|
55070
|
-
const nextStep = playReference ? `Use: deepline plays run ${playReference} --input '{...}'
|
|
55315
|
+
const nextStep = playReference ? `Use: deepline plays run ${playReference} --input '{...}'` : `Find the maintained workflow with: ${playSearchCommandForToolId(toolId)}`;
|
|
55071
55316
|
return [
|
|
55072
55317
|
`${toolId} is a workflow/play entry, not an atomic provider tool.`,
|
|
55073
55318
|
nextStep,
|
|
@@ -55243,12 +55488,12 @@ Examples:
|
|
|
55243
55488
|
"--examples-only",
|
|
55244
55489
|
"Only print runnable examples and sample payloads"
|
|
55245
55490
|
).option("--getters-only", "Only print extracted list/value getters").addOption(
|
|
55246
|
-
new
|
|
55491
|
+
new Option6(
|
|
55247
55492
|
"--compact",
|
|
55248
55493
|
"Compatibility alias for the default compact view"
|
|
55249
55494
|
).hideHelp()
|
|
55250
55495
|
).addOption(
|
|
55251
|
-
new
|
|
55496
|
+
new Option6(
|
|
55252
55497
|
"--contract-json",
|
|
55253
55498
|
"Compatibility alias for compact contract JSON"
|
|
55254
55499
|
).hideHelp()
|
|
@@ -58263,7 +58508,7 @@ async function main() {
|
|
|
58263
58508
|
if (printStartupPhase) {
|
|
58264
58509
|
progress?.phase("loading deepline cli");
|
|
58265
58510
|
}
|
|
58266
|
-
const program = new
|
|
58511
|
+
const program = new Command7();
|
|
58267
58512
|
program.name("deepline").description(
|
|
58268
58513
|
"Deepline CLI \u2014 GTM enrichment tools, plays, and runs from your terminal."
|
|
58269
58514
|
).version(SDK_VERSION, "-v, --version", "Show version").exitOverride().showHelpAfterError().showSuggestionAfterError(true).addHelpText(
|