deepline 0.3.328 → 0.3.329
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/dist/bundling-sources/sdk/src/index.ts +1 -0
- package/dist/bundling-sources/sdk/src/play.ts +55 -45
- package/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/sdk/src/types.ts +16 -0
- package/dist/bundling-sources/shared_libs/observability/queue-health.ts +9 -0
- package/dist/bundling-sources/shared_libs/observability/queue-item-connectors.ts +1 -0
- package/dist/bundling-sources/shared_libs/play-runtime/context.ts +31 -15
- package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-semantics.ts +22 -4
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +29 -11
- package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +145 -19
- package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +37 -10
- package/dist/bundling-sources/shared_libs/plays/dataset.ts +3 -0
- package/dist/bundling-sources/shared_libs/plays/tool-result-types.ts +59 -10
- package/dist/cli/{auth-ANHHABWT.mjs → auth-MFFVOITR.mjs} +4 -4
- package/dist/cli/auth-W2MQM6GQ.js +31 -0
- package/dist/cli/{billing-R6NYYO6G.mjs → billing-LRBHWLIQ.mjs} +4 -4
- package/dist/cli/{billing-GGVKLFE6.js → billing-V4Y4OVQ7.js} +70 -70
- package/dist/cli/{chunk-7MABE3ZK.mjs → chunk-3RZJ3GEG.mjs} +135 -5
- package/dist/cli/{chunk-UDIPEHNJ.js → chunk-4FLEXYUC.js} +141 -11
- package/dist/cli/{chunk-LJWC5HSO.js → chunk-75ZOTF3K.js} +15 -15
- package/dist/cli/{chunk-6ENR652E.mjs → chunk-7T6DX5RK.mjs} +21 -14
- package/dist/cli/{chunk-Y4LXIUHX.js → chunk-AD23W4S5.js} +1 -1
- package/dist/cli/{chunk-B2R66UTW.mjs → chunk-EROOAI5G.mjs} +1 -1
- package/dist/cli/{chunk-UM4ZE3P7.mjs → chunk-ERU2OR6F.mjs} +2 -2
- package/dist/cli/{chunk-YIY74KUF.mjs → chunk-EV4QJE4J.mjs} +1 -1
- package/dist/cli/{chunk-WWVE4HFN.mjs → chunk-FK7PW6BP.mjs} +1 -1
- package/dist/cli/{chunk-2HKPAZVJ.js → chunk-FKKNYKDY.js} +14 -3
- package/dist/cli/{chunk-YFCHBN3C.mjs → chunk-GCNER3HV.mjs} +1 -1
- package/dist/cli/{chunk-ITFUZEHE.js → chunk-GY2EEO2Y.js} +9 -9
- package/dist/cli/{chunk-GZV5F6CL.mjs → chunk-HI7TAWFS.mjs} +79 -26
- package/dist/cli/{chunk-AKKQ26RX.mjs → chunk-HVPRQGF4.mjs} +1 -1
- package/dist/cli/{chunk-ZFKUVDOM.js → chunk-J2E5R2VH.js} +60 -60
- package/dist/cli/{chunk-XVKQ6D4K.js → chunk-KHZQFFOQ.js} +2 -2
- package/dist/cli/{chunk-SMGNDW7O.mjs → chunk-MFQQINUY.mjs} +2 -2
- package/dist/cli/{chunk-ZND34HL7.mjs → chunk-MO2XSC5I.mjs} +4 -4
- package/dist/cli/{chunk-KP7W5NO6.mjs → chunk-NTVTZAVZ.mjs} +13 -2
- package/dist/cli/{chunk-7DDNACAQ.js → chunk-OUTIWGKY.js} +26 -26
- package/dist/cli/{chunk-7R6KQSFA.mjs → chunk-OZGU7P2S.mjs} +1 -1
- package/dist/cli/{chunk-BC7FMQ2G.mjs → chunk-SJV5MTOJ.mjs} +1 -1
- package/dist/cli/{chunk-DNMV2L7Q.js → chunk-U2N4CYT7.js} +6 -6
- package/dist/cli/{chunk-W6WV6UME.js → chunk-U4CTHVN7.js} +255 -248
- package/dist/cli/{chunk-AGH6YP2T.js → chunk-UQV5M6HN.js} +3 -3
- package/dist/cli/{chunk-O5GPNPOC.js → chunk-VDIHLKGG.js} +4 -4
- package/dist/cli/{chunk-DNYRAZSK.js → chunk-VLDLJZ75.js} +48 -48
- package/dist/cli/{chunk-2FPVWL4W.js → chunk-XRYKLK56.js} +119 -66
- package/dist/cli/{chunk-OOLIEDIJ.mjs → chunk-YNSCELIJ.mjs} +2 -2
- package/dist/cli/{chunk-LEEXRXQQ.js → chunk-ZXGUYTIT.js} +6 -6
- package/dist/cli/client-5AIFBLKQ.js +20 -0
- package/dist/cli/{client-ZABA5NMD.mjs → client-BNLD775D.mjs} +3 -3
- package/dist/cli/{csv-VECE3PWX.mjs → csv-7MVQECWG.mjs} +3 -3
- package/dist/cli/{csv-4ZK5ZJAJ.js → csv-ZT6ZRQ3Z.js} +12 -12
- package/dist/cli/{db-6VE4OEWW.mjs → db-ABLWLMX5.mjs} +4 -4
- package/dist/cli/{db-UJPCDBV7.js → db-C4BMZXJK.js} +29 -29
- package/dist/cli/{describe-W6X5G4JR.mjs → describe-XWOWAR32.mjs} +10 -10
- package/dist/cli/{describe-CFUZZ326.js → describe-YALVN4WH.js} +17 -17
- package/dist/cli/{executions-ZZWB75DF.mjs → executions-7IZVKQ3O.mjs} +4 -4
- package/dist/cli/{executions-AI4DTQQL.js → executions-U4TNRP26.js} +6 -6
- package/dist/cli/{feedback-IM5Z6T5K.mjs → feedback-GO5XPEKY.mjs} +3 -3
- package/dist/cli/{feedback-FYSNSYUU.js → feedback-NWMRT5W4.js} +6 -6
- package/dist/cli/{git-YNYTK3YW.mjs → git-R53WS4WA.mjs} +4 -4
- package/dist/cli/git-YWRLAOBY.js +23 -0
- package/dist/cli/index.js +79 -79
- package/dist/cli/index.mjs +31 -31
- package/dist/cli/{legacy-noops-4DTMYYUY.mjs → legacy-noops-6QAZW7WJ.mjs} +4 -4
- package/dist/cli/{legacy-noops-PHJE2XFK.js → legacy-noops-NJWM53DE.js} +7 -7
- package/dist/cli/{monitors-27JP76WE.js → monitors-2I2MYAPS.js} +85 -85
- package/dist/cli/{monitors-HUP4MVWJ.mjs → monitors-2N4BRU5M.mjs} +4 -4
- package/dist/cli/{org-L3B2RR4U.mjs → org-D3RHK2Q7.mjs} +4 -4
- package/dist/cli/{org-RHVDMUKN.js → org-XVNAE2JV.js} +60 -60
- package/dist/cli/{play-UXIJVYNF.mjs → play-L7MYJZ65.mjs} +9 -9
- package/dist/cli/play-OYRHI7G3.js +153 -0
- package/dist/cli/{providers-VL6VY56M.js → providers-5BTDAZHN.js} +7 -7
- package/dist/cli/{providers-FABWTNKR.mjs → providers-YM4E7WZD.mjs} +4 -4
- package/dist/cli/{quickstart-IIPZ6DSY.js → quickstart-5A3FHAH3.js} +5 -5
- package/dist/cli/{quickstart-OA54A4IE.mjs → quickstart-ARPLJOLH.mjs} +3 -3
- package/dist/cli/{search-YDK4V2EW.mjs → search-KKJEVV27.mjs} +5 -5
- package/dist/cli/search-VE3O3ZEM.js +26 -0
- package/dist/cli/{secrets-4MQF6RF6.mjs → secrets-DGRJ4DO5.mjs} +4 -4
- package/dist/cli/{secrets-JGU7ZRUW.js → secrets-DVPVCSZD.js} +13 -13
- package/dist/cli/{sessions-PTHOMSZ5.mjs → sessions-56EHXLZD.mjs} +4 -4
- package/dist/cli/{sessions-I7ZZYSYW.js → sessions-VG4ATQ5Y.js} +5 -5
- package/dist/cli/{settings-X4ENSGNK.mjs → settings-4U5XG7QI.mjs} +7 -7
- package/dist/cli/{settings-ZUUBKIG6.js → settings-BLOTIW2G.js} +74 -74
- package/dist/cli/{setup-6L576TQE.js → setup-L7AMAXCH.js} +41 -41
- package/dist/cli/{setup-4UM6FCZL.mjs → setup-RHJAHPOR.mjs} +6 -6
- package/dist/cli/skills-QB4OQGGP.js +28 -0
- package/dist/cli/{skills-U3BS5KUI.mjs → skills-VU55YFCI.mjs} +4 -4
- package/dist/cli/tools-2CPFYNK7.js +40 -0
- package/dist/cli/{tools-O4PX6UVB.mjs → tools-JS3YIDOH.mjs} +7 -6
- package/dist/cli/{update-OHWSK2WN.mjs → update-EHI5QUXM.mjs} +6 -6
- package/dist/cli/update-WXP24GU5.js +28 -0
- package/dist/cli/{workflow-RVMGBMLX.mjs → workflow-BITLTLRF.mjs} +5 -5
- package/dist/cli/{workflow-QWTZBLT3.js → workflow-NE4SYRAT.js} +15 -15
- package/dist/{client-wiWPZhnI.d.mts → client-D5XOQKsA.d.mts} +20 -1
- package/dist/{client-DHq8dJ56.d.ts → client-l-IoLh8Z.d.ts} +20 -1
- package/dist/{compiler-manifest-9TkZ_ykI.d.mts → compiler-manifest-82q4jtfQ.d.mts} +44 -17
- package/dist/{compiler-manifest-9TkZ_ykI.d.ts → compiler-manifest-82q4jtfQ.d.ts} +44 -17
- package/dist/{index-B-5_Xhud.d.mts → index-BPbW2XHF.d.mts} +1 -1
- package/dist/{index-ykksoEyR.d.ts → index-k0rquHIm.d.ts} +1 -1
- package/dist/index.d.mts +14 -8
- package/dist/index.d.ts +14 -8
- package/dist/index.js +194 -69
- package/dist/index.mjs +162 -37
- package/dist/install-integrity.json +84 -84
- package/dist/plays/bundle-play-file.d.mts +3 -3
- package/dist/plays/bundle-play-file.d.ts +3 -3
- package/dist/plays/bundle-play-file.mjs +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 +2 -2
- package/dist/release.mjs +1 -1
- package/package.json +2 -1
- package/dist/cli/auth-EKRB4GMP.js +0 -31
- package/dist/cli/client-55BDB4LE.js +0 -20
- package/dist/cli/git-VWXH6LCP.js +0 -23
- package/dist/cli/play-UKH4VFPF.js +0 -153
- package/dist/cli/search-JD2VTR4A.js +0 -26
- package/dist/cli/skills-TLPNCERR.js +0 -28
- package/dist/cli/tools-26JTFFU4.js +0 -39
- package/dist/cli/update-35RRCU2G.js +0 -28
package/dist/index.js
CHANGED
|
@@ -35,7 +35,7 @@ var _chunkLVEDPCLJjs = require('./cli/chunk-LVEDPCLJ.js');
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _chunkGY2EEO2Yjs = require('./cli/chunk-GY2EEO2Y.js');
|
|
39
39
|
require('./cli/chunk-LA46MMTL.js');
|
|
40
40
|
|
|
41
41
|
|
|
@@ -66,13 +66,15 @@ var _chunkWOHBA5PVjs = require('./cli/chunk-WOHBA5PV.js');
|
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
var
|
|
69
|
+
var _chunkVDIHLKGGjs = require('./cli/chunk-VDIHLKGG.js');
|
|
70
70
|
require('./cli/chunk-XNYIZMNQ.js');
|
|
71
|
-
require('./cli/chunk-
|
|
71
|
+
require('./cli/chunk-AD23W4S5.js');
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
var
|
|
75
|
-
|
|
74
|
+
var _chunkFKKNYKDYjs = require('./cli/chunk-FKKNYKDY.js');
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
var _chunkS6R3OX7Bjs = require('./cli/chunk-S6R3OX7B.js');
|
|
76
78
|
|
|
77
79
|
|
|
78
80
|
|
|
@@ -288,6 +290,14 @@ function inferPreviewColumns(rows) {
|
|
|
288
290
|
}
|
|
289
291
|
return columns.size > 0 ? [...columns] : void 0;
|
|
290
292
|
}
|
|
293
|
+
function isPlayDataset(value) {
|
|
294
|
+
return Boolean(
|
|
295
|
+
value && typeof value === "object" && value[PLAY_DATASET_BRAND] === true
|
|
296
|
+
);
|
|
297
|
+
}
|
|
298
|
+
function residentPlayDatasetRows(dataset) {
|
|
299
|
+
return _nullishCoalesce(residentRowsByDataset.get(dataset), () => ( null));
|
|
300
|
+
}
|
|
291
301
|
var DeferredPlayDataset = (_class = class {
|
|
292
302
|
__init() {this[PLAY_DATASET_BRAND] = true}
|
|
293
303
|
|
|
@@ -630,6 +640,72 @@ function listNameFromDeclaredPath(path) {
|
|
|
630
640
|
|
|
631
641
|
// ../play-runtime/tool-result.ts
|
|
632
642
|
var SERIALIZED_TOOL_LIST_ROWS = Symbol("deepline.serialized_tool_list_rows");
|
|
643
|
+
var ARRAY_GETTER_DATASET = Symbol.for("deepline.list_dataset");
|
|
644
|
+
function listAccessorDataset(accessor) {
|
|
645
|
+
const dataset = _nullishCoalesce(accessor[ARRAY_GETTER_DATASET], () => ( accessor.get()));
|
|
646
|
+
if (!isPlayDataset(dataset)) {
|
|
647
|
+
throw new Error(
|
|
648
|
+
"List accessor has no backing dataset for an explicit read."
|
|
649
|
+
);
|
|
650
|
+
}
|
|
651
|
+
return dataset;
|
|
652
|
+
}
|
|
653
|
+
function projectToolResultListGetters(result, policy) {
|
|
654
|
+
if (policy === "dataset") return result;
|
|
655
|
+
const extractedLists = Object.fromEntries(
|
|
656
|
+
Object.entries(result.extractedLists).map(([name, original]) => {
|
|
657
|
+
const dataset = listAccessorDataset(original);
|
|
658
|
+
const accessor = {
|
|
659
|
+
path: original.path,
|
|
660
|
+
count: original.count,
|
|
661
|
+
keys: original.keys
|
|
662
|
+
};
|
|
663
|
+
Object.defineProperty(accessor, "get", {
|
|
664
|
+
enumerable: false,
|
|
665
|
+
value() {
|
|
666
|
+
const rows = residentPlayDatasetRows(dataset);
|
|
667
|
+
if (!rows || original.count !== null && rows.length < original.count) {
|
|
668
|
+
throw new Error(
|
|
669
|
+
`List getter ${name} cannot return a complete array: its rows are lazy or the retained response is incomplete. Use readList(result, ${JSON.stringify(original.path)}) to read the explicit dataset; never treat its preview as complete.`
|
|
670
|
+
);
|
|
671
|
+
}
|
|
672
|
+
const canonicalRaw = Object.hasOwn(result.toolResponse, "rawV2") ? _chunkS6R3OX7Bjs.legacyRawFromToolResponseRawV2.call(void 0,
|
|
673
|
+
result.toolResponse.rawV2,
|
|
674
|
+
_nullishCoalesce(result.toolResponse.view, () => ( "rawV2"))
|
|
675
|
+
) : result.toolResponse.raw;
|
|
676
|
+
for (const raw of [canonicalRaw, result.toolResponse.raw]) {
|
|
677
|
+
const originalRows = getAtPath(
|
|
678
|
+
{ toolResponse: { raw } },
|
|
679
|
+
original.path
|
|
680
|
+
);
|
|
681
|
+
if (Array.isArray(originalRows) && originalRows.length === rows.length) {
|
|
682
|
+
return [...originalRows];
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
return [...rows];
|
|
686
|
+
}
|
|
687
|
+
});
|
|
688
|
+
Object.defineProperty(accessor, ARRAY_GETTER_DATASET, {
|
|
689
|
+
value: dataset,
|
|
690
|
+
enumerable: false
|
|
691
|
+
});
|
|
692
|
+
return [name, accessor];
|
|
693
|
+
})
|
|
694
|
+
);
|
|
695
|
+
const descriptors = Object.getOwnPropertyDescriptors(result);
|
|
696
|
+
descriptors.extractedLists = {
|
|
697
|
+
...descriptors.extractedLists,
|
|
698
|
+
value: extractedLists
|
|
699
|
+
};
|
|
700
|
+
const projected = Object.create(Object.getPrototypeOf(result), descriptors);
|
|
701
|
+
const evidence = savedToolCallEvidence.get(result);
|
|
702
|
+
if (evidence !== void 0) savedToolCallEvidence.set(projected, evidence);
|
|
703
|
+
const relayReference = relayPublishedResultReferences.get(result);
|
|
704
|
+
if (relayReference)
|
|
705
|
+
relayPublishedResultReferences.set(projected, relayReference);
|
|
706
|
+
return projected;
|
|
707
|
+
}
|
|
708
|
+
var relayPublishedResultReferences = /* @__PURE__ */ new WeakMap();
|
|
633
709
|
var savedToolCallEvidence = /* @__PURE__ */ new WeakMap();
|
|
634
710
|
var DESCRIPTOR_SUFFIX = /_(status|type|score|count|id|verified|valid|confidence|quality|source)$/i;
|
|
635
711
|
var COMPANY_SCOPED = /company/i;
|
|
@@ -1407,12 +1483,35 @@ function createToolExecuteResult(input) {
|
|
|
1407
1483
|
}
|
|
1408
1484
|
return wrapper;
|
|
1409
1485
|
}
|
|
1486
|
+
function resultRootOf(result) {
|
|
1487
|
+
return { toolResponse: result.toolOutput };
|
|
1488
|
+
}
|
|
1489
|
+
function readList(result, selector) {
|
|
1490
|
+
if (selector) {
|
|
1491
|
+
const paths = Array.isArray(selector) ? selector : [selector];
|
|
1492
|
+
const declaredList = findDeclaredListAccessor(result, paths);
|
|
1493
|
+
if (declaredList && preservedSerializedListRows(result)) {
|
|
1494
|
+
return listAccessorDataset(declaredList);
|
|
1495
|
+
}
|
|
1496
|
+
const found = _optionalChain([findFirstTargetByPath, 'call', _71 => _71(resultRootOf(result), paths), 'optionalAccess', _72 => _72.value]);
|
|
1497
|
+
const rows = normalizeRows(found);
|
|
1498
|
+
if (rows) {
|
|
1499
|
+
if (declaredList && typeof declaredList.count === "number" && declaredList.count > rows.length) {
|
|
1500
|
+
return listAccessorDataset(declaredList);
|
|
1501
|
+
}
|
|
1502
|
+
return rows;
|
|
1503
|
+
}
|
|
1504
|
+
if (declaredList) return listAccessorDataset(declaredList);
|
|
1505
|
+
}
|
|
1506
|
+
const first = Object.values(result.extractedLists)[0];
|
|
1507
|
+
return first ? listAccessorDataset(first) : [];
|
|
1508
|
+
}
|
|
1410
1509
|
function attachToolResultListDataset(result, input) {
|
|
1411
1510
|
const existing = result._metadata.lists[input.name];
|
|
1412
1511
|
result._metadata.lists[input.name] = {
|
|
1413
1512
|
path: input.path,
|
|
1414
1513
|
count: input.count,
|
|
1415
|
-
keys: _nullishCoalesce(_nullishCoalesce(input.keys, () => ( _optionalChain([existing, 'optionalAccess',
|
|
1514
|
+
keys: _nullishCoalesce(_nullishCoalesce(input.keys, () => ( _optionalChain([existing, 'optionalAccess', _73 => _73.keys]))), () => ( {}))
|
|
1416
1515
|
};
|
|
1417
1516
|
const declaredPaths = _nullishCoalesce(result._metadata.listExtractorPaths, () => ( []));
|
|
1418
1517
|
const inputCandidates = new Set(candidateResultPaths(input.path));
|
|
@@ -1455,6 +1554,24 @@ function attachToolResultListDataset(result, input) {
|
|
|
1455
1554
|
}
|
|
1456
1555
|
return result;
|
|
1457
1556
|
}
|
|
1557
|
+
function normalizeListPathForMatch(path) {
|
|
1558
|
+
return path.replace(/\[(?:\*|\d+)\]$/g, "");
|
|
1559
|
+
}
|
|
1560
|
+
function findDeclaredListAccessor(result, paths) {
|
|
1561
|
+
const candidates = new Set(
|
|
1562
|
+
paths.flatMap(
|
|
1563
|
+
(path) => candidateResultPaths(path).flatMap((candidate) => [
|
|
1564
|
+
candidate,
|
|
1565
|
+
normalizeListPathForMatch(candidate)
|
|
1566
|
+
])
|
|
1567
|
+
)
|
|
1568
|
+
);
|
|
1569
|
+
return Object.values(result.extractedLists).find(
|
|
1570
|
+
(list) => candidateResultPaths(list.path).some(
|
|
1571
|
+
(path) => candidates.has(normalizeListPathForMatch(path))
|
|
1572
|
+
)
|
|
1573
|
+
);
|
|
1574
|
+
}
|
|
1458
1575
|
function replaceAtPath(root, path, replacement) {
|
|
1459
1576
|
const segments = parsePath(path);
|
|
1460
1577
|
if (segments.length === 0 || segments.includes("*")) return root;
|
|
@@ -1475,6 +1592,10 @@ function replaceAtPath(root, path, replacement) {
|
|
|
1475
1592
|
};
|
|
1476
1593
|
return replace(root, 0);
|
|
1477
1594
|
}
|
|
1595
|
+
function preservedSerializedListRows(value) {
|
|
1596
|
+
const rows = value[SERIALIZED_TOOL_LIST_ROWS];
|
|
1597
|
+
return rows && Object.keys(rows).length > 0 ? rows : void 0;
|
|
1598
|
+
}
|
|
1478
1599
|
|
|
1479
1600
|
// ../play-runtime/query-result-dataset.ts
|
|
1480
1601
|
var QUERY_RESULT_DATASET_PAGE_SIZE = 1e3;
|
|
@@ -1539,7 +1660,7 @@ var DeeplineStepProgram = (_class3 = class _DeeplineStepProgram {
|
|
|
1539
1660
|
"steps().step(name, ...) requires a non-empty step name."
|
|
1540
1661
|
);
|
|
1541
1662
|
}
|
|
1542
|
-
const stepResolver = _optionalChain([options, 'optionalAccess',
|
|
1663
|
+
const stepResolver = _optionalChain([options, 'optionalAccess', _74 => _74.runIf]) && !isConditionalStepResolver(resolver) ? new DeeplineConditionalStepResolver(
|
|
1543
1664
|
options.runIf,
|
|
1544
1665
|
resolver,
|
|
1545
1666
|
null
|
|
@@ -1549,9 +1670,9 @@ var DeeplineStepProgram = (_class3 = class _DeeplineStepProgram {
|
|
|
1549
1670
|
...this.steps,
|
|
1550
1671
|
{
|
|
1551
1672
|
name,
|
|
1552
|
-
..._optionalChain([options, 'optionalAccess',
|
|
1553
|
-
..._optionalChain([options, 'optionalAccess',
|
|
1554
|
-
...typeof _optionalChain([options, 'optionalAccess',
|
|
1673
|
+
..._optionalChain([options, 'optionalAccess', _75 => _75.recompute]) === true ? { recompute: true } : {},
|
|
1674
|
+
..._optionalChain([options, 'optionalAccess', _76 => _76.recomputeOnError]) === true ? { recomputeOnError: true } : {},
|
|
1675
|
+
...typeof _optionalChain([options, 'optionalAccess', _77 => _77.staleAfterSeconds]) === "number" ? { staleAfterSeconds: options.staleAfterSeconds } : {},
|
|
1555
1676
|
resolver: stepResolver
|
|
1556
1677
|
}
|
|
1557
1678
|
],
|
|
@@ -1591,13 +1712,13 @@ var DeeplinePlayJobImpl = class {
|
|
|
1591
1712
|
return this.client.getPlayStatus(this.id);
|
|
1592
1713
|
}
|
|
1593
1714
|
async tail(options) {
|
|
1594
|
-
const intervalMs = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
1595
|
-
const onLog = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
1715
|
+
const intervalMs = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _78 => _78.intervalMs]), () => ( 500));
|
|
1716
|
+
const onLog = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _79 => _79.onLog]), () => ( ((line) => console.log(line))));
|
|
1596
1717
|
const terminalStates = /* @__PURE__ */ new Set(["completed", "failed", "cancelled"]);
|
|
1597
1718
|
let lastLogIndex = 0;
|
|
1598
1719
|
while (true) {
|
|
1599
1720
|
const status = await this.status();
|
|
1600
|
-
const logs = _nullishCoalesce(_optionalChain([status, 'access',
|
|
1721
|
+
const logs = _nullishCoalesce(_optionalChain([status, 'access', _80 => _80.progress, 'optionalAccess', _81 => _81.logs]), () => ( []));
|
|
1601
1722
|
for (let index = lastLogIndex; index < logs.length; index += 1) {
|
|
1602
1723
|
onLog(logs[index]);
|
|
1603
1724
|
}
|
|
@@ -1609,14 +1730,14 @@ var DeeplinePlayJobImpl = class {
|
|
|
1609
1730
|
}
|
|
1610
1731
|
}
|
|
1611
1732
|
async get(options) {
|
|
1612
|
-
const intervalMs = _nullishCoalesce(_optionalChain([options, 'optionalAccess',
|
|
1733
|
+
const intervalMs = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _82 => _82.intervalMs]), () => ( 500));
|
|
1613
1734
|
const terminalStates = /* @__PURE__ */ new Set(["completed", "failed", "cancelled"]);
|
|
1614
1735
|
while (true) {
|
|
1615
1736
|
const status = await this.status();
|
|
1616
1737
|
if (terminalStates.has(status.status)) {
|
|
1617
1738
|
if (status.status !== "completed") {
|
|
1618
1739
|
throw new (0, _chunk7P5AA3SNjs.DeeplineError)(
|
|
1619
|
-
_optionalChain([status, 'access',
|
|
1740
|
+
_optionalChain([status, 'access', _83 => _83.progress, 'optionalAccess', _84 => _84.error]) || `Play run ${this.id} ended with ${status.status}.`
|
|
1620
1741
|
);
|
|
1621
1742
|
}
|
|
1622
1743
|
if (status.package) {
|
|
@@ -1647,8 +1768,8 @@ function createNamedPlayHandle(clientFactory, name) {
|
|
|
1647
1768
|
const client = clientFactory();
|
|
1648
1769
|
const started = await client.startPlayRun({
|
|
1649
1770
|
name,
|
|
1650
|
-
..._optionalChain([options, 'optionalAccess',
|
|
1651
|
-
..._optionalChain([options, 'optionalAccess',
|
|
1771
|
+
..._optionalChain([options, 'optionalAccess', _85 => _85.revisionId]) ? { revisionId: options.revisionId } : {},
|
|
1772
|
+
..._optionalChain([options, 'optionalAccess', _86 => _86.profile]) ? { profile: options.profile } : {},
|
|
1652
1773
|
input
|
|
1653
1774
|
});
|
|
1654
1775
|
return new DeeplinePlayJobImpl(client, started.workflowId);
|
|
@@ -1674,7 +1795,7 @@ var DeeplineContext = class {
|
|
|
1674
1795
|
* @param options - Optional SDK client configuration.
|
|
1675
1796
|
*/
|
|
1676
1797
|
constructor(options) {
|
|
1677
|
-
this.client = new (0,
|
|
1798
|
+
this.client = new (0, _chunkGY2EEO2Yjs.DeeplineClient)(options);
|
|
1678
1799
|
}
|
|
1679
1800
|
/**
|
|
1680
1801
|
* Tool operations namespace.
|
|
@@ -1929,15 +2050,15 @@ function stableHash(value) {
|
|
|
1929
2050
|
function attachSdkQueryResultDatasetResult(toolId, result, options) {
|
|
1930
2051
|
if (!options || !isQueryResultDatasetTool(toolId)) return result;
|
|
1931
2052
|
const raw = isRecord2(result.toolResponse.raw) ? result.toolResponse.raw : null;
|
|
1932
|
-
const dataset = isRecord2(_optionalChain([raw, 'optionalAccess',
|
|
1933
|
-
const totalRows = finiteNonNegativeInteger(_optionalChain([dataset, 'optionalAccess',
|
|
1934
|
-
const sql = typeof options.input.sql === "string" ? options.input.sql : typeof options.input.query === "string" ? options.input.query : typeof _optionalChain([raw, 'optionalAccess',
|
|
2053
|
+
const dataset = isRecord2(_optionalChain([raw, 'optionalAccess', _87 => _87.dataset])) ? raw.dataset : null;
|
|
2054
|
+
const totalRows = finiteNonNegativeInteger(_optionalChain([dataset, 'optionalAccess', _88 => _88.total_rows]));
|
|
2055
|
+
const sql = typeof options.input.sql === "string" ? options.input.sql : typeof options.input.query === "string" ? options.input.query : typeof _optionalChain([raw, 'optionalAccess', _89 => _89.sql]) === "string" ? raw.sql : null;
|
|
1935
2056
|
if (!dataset || totalRows === null || !sql) {
|
|
1936
2057
|
return result;
|
|
1937
2058
|
}
|
|
1938
2059
|
const datasetLimit = _nullishCoalesce(finitePositiveInteger(dataset.returned_limit), () => ( totalRows));
|
|
1939
2060
|
const effectiveCount = Math.min(totalRows, datasetLimit);
|
|
1940
|
-
const rawRows = rowsFromUnknown(_optionalChain([raw, 'optionalAccess',
|
|
2061
|
+
const rawRows = rowsFromUnknown(_optionalChain([raw, 'optionalAccess', _90 => _90.rows]));
|
|
1941
2062
|
const previewRows = rawRows.slice(0, 25);
|
|
1942
2063
|
const fetchPage = async (offset, limit) => {
|
|
1943
2064
|
if (limit <= 0 || offset >= totalRows) return [];
|
|
@@ -1961,8 +2082,8 @@ function attachSdkQueryResultDatasetResult(toolId, result, options) {
|
|
|
1961
2082
|
} : {}
|
|
1962
2083
|
}
|
|
1963
2084
|
});
|
|
1964
|
-
const pageRaw = isRecord2(_optionalChain([response, 'access',
|
|
1965
|
-
return rowsFromUnknown(_optionalChain([pageRaw, 'optionalAccess',
|
|
2085
|
+
const pageRaw = isRecord2(_optionalChain([response, 'access', _91 => _91.toolResponse, 'optionalAccess', _92 => _92.raw])) ? response.toolResponse.raw : null;
|
|
2086
|
+
return rowsFromUnknown(_optionalChain([pageRaw, 'optionalAccess', _93 => _93.rows]));
|
|
1966
2087
|
};
|
|
1967
2088
|
const collectRows = async (limit) => {
|
|
1968
2089
|
const target = Math.min(_nullishCoalesce(limit, () => ( totalRows)), totalRows, datasetLimit);
|
|
@@ -2014,44 +2135,47 @@ function attachSdkQueryResultDatasetResult(toolId, result, options) {
|
|
|
2014
2135
|
});
|
|
2015
2136
|
}
|
|
2016
2137
|
function toolExecutionEnvelopeToResult(fallbackToolId, response, options) {
|
|
2017
|
-
const raw = _nullishCoalesce(_optionalChain([response, 'access',
|
|
2018
|
-
const rawV2 = _optionalChain([response, 'access',
|
|
2019
|
-
const view = _optionalChain([response, 'access',
|
|
2020
|
-
const meta = _optionalChain([response, 'access',
|
|
2138
|
+
const raw = _nullishCoalesce(_optionalChain([response, 'access', _94 => _94.toolResponse, 'optionalAccess', _95 => _95.raw]), () => ( null));
|
|
2139
|
+
const rawV2 = _optionalChain([response, 'access', _96 => _96.toolResponse, 'optionalAccess', _97 => _97.rawV2]);
|
|
2140
|
+
const view = _optionalChain([response, 'access', _98 => _98.toolResponse, 'optionalAccess', _99 => _99.view]);
|
|
2141
|
+
const meta = _optionalChain([response, 'access', _100 => _100.toolResponse, 'optionalAccess', _101 => _101.meta]);
|
|
2021
2142
|
const metadata = isRecord2(response._metadata) ? response._metadata.tool : null;
|
|
2022
2143
|
const toolMetadata = isRecord2(metadata) ? metadata : {};
|
|
2023
|
-
const result =
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2144
|
+
const result = projectToolResultListGetters(
|
|
2145
|
+
attachSdkQueryResultDatasetResult(
|
|
2146
|
+
fallbackToolId,
|
|
2147
|
+
createToolExecuteResult({
|
|
2148
|
+
status: typeof response.status === "string" ? response.status : "completed",
|
|
2149
|
+
jobId: typeof response.job_id === "string" ? response.job_id : void 0,
|
|
2150
|
+
result: {
|
|
2151
|
+
data: raw,
|
|
2152
|
+
...isRecord2(meta) ? { meta } : {}
|
|
2153
|
+
},
|
|
2154
|
+
response: {
|
|
2155
|
+
...rawV2 !== void 0 ? { rawV2 } : {},
|
|
2156
|
+
...view === "data" || view === "rawV2" ? { view } : {},
|
|
2157
|
+
...isRecord2(meta) ? { meta } : {}
|
|
2158
|
+
},
|
|
2159
|
+
metadata: {
|
|
2160
|
+
toolId: typeof toolMetadata.toolId === "string" ? toolMetadata.toolId : fallbackToolId,
|
|
2161
|
+
extractors: extractorDescriptorRecord(toolMetadata.extractors),
|
|
2162
|
+
targetGetters: stringArrayRecord(toolMetadata.targetGetters),
|
|
2163
|
+
listExtractorPaths: stringArray(toolMetadata.listExtractorPaths),
|
|
2164
|
+
listIdentityGetters: stringArrayRecord(
|
|
2165
|
+
toolMetadata.listIdentityGetters
|
|
2166
|
+
)
|
|
2167
|
+
},
|
|
2168
|
+
execution: {
|
|
2169
|
+
idempotent: true,
|
|
2170
|
+
cached: false,
|
|
2171
|
+
source: "live"
|
|
2172
|
+
},
|
|
2173
|
+
meta: isRecord2(response.meta) ? response.meta : void 0,
|
|
2174
|
+
billing: response.billing
|
|
2175
|
+
}),
|
|
2176
|
+
options
|
|
2177
|
+
),
|
|
2178
|
+
"array"
|
|
2055
2179
|
);
|
|
2056
2180
|
const executionRecovery = isRecord2(response.executionRecovery) ? response.executionRecovery : void 0;
|
|
2057
2181
|
if (typeof response.idempotencyKey === "string") {
|
|
@@ -2070,11 +2194,11 @@ function definePlay(nameOrConfig, maybeFn, maybeBindings) {
|
|
|
2070
2194
|
name: nameOrConfig,
|
|
2071
2195
|
fn: maybeFn,
|
|
2072
2196
|
bindings: maybeBindings,
|
|
2073
|
-
description: _optionalChain([maybeBindings, 'optionalAccess',
|
|
2197
|
+
description: _optionalChain([maybeBindings, 'optionalAccess', _102 => _102.description]),
|
|
2074
2198
|
inputSchema: void 0,
|
|
2075
|
-
billing: _optionalChain([maybeBindings, 'optionalAccess',
|
|
2076
|
-
runtime: _optionalChain([maybeBindings, 'optionalAccess',
|
|
2077
|
-
compatibility: _optionalChain([maybeBindings, 'optionalAccess',
|
|
2199
|
+
billing: _optionalChain([maybeBindings, 'optionalAccess', _103 => _103.billing]),
|
|
2200
|
+
runtime: _optionalChain([maybeBindings, 'optionalAccess', _104 => _104.runtime]),
|
|
2201
|
+
compatibility: _optionalChain([maybeBindings, 'optionalAccess', _105 => _105.compatibility])
|
|
2078
2202
|
} : {
|
|
2079
2203
|
name: nameOrConfig.id,
|
|
2080
2204
|
fn: nameOrConfig.run,
|
|
@@ -2085,13 +2209,13 @@ function definePlay(nameOrConfig, maybeFn, maybeBindings) {
|
|
|
2085
2209
|
description: nameOrConfig.description,
|
|
2086
2210
|
inputSchema: nameOrConfig.input.schema,
|
|
2087
2211
|
billing: nameOrConfig.billing,
|
|
2088
|
-
runtime: _nullishCoalesce(nameOrConfig.runtime, () => ( _optionalChain([nameOrConfig, 'access',
|
|
2089
|
-
compatibility: _nullishCoalesce(nameOrConfig.compatibility, () => ( _optionalChain([nameOrConfig, 'access',
|
|
2212
|
+
runtime: _nullishCoalesce(nameOrConfig.runtime, () => ( _optionalChain([nameOrConfig, 'access', _106 => _106.bindings, 'optionalAccess', _107 => _107.runtime]))),
|
|
2213
|
+
compatibility: _nullishCoalesce(nameOrConfig.compatibility, () => ( _optionalChain([nameOrConfig, 'access', _108 => _108.bindings, 'optionalAccess', _109 => _109.compatibility])))
|
|
2090
2214
|
};
|
|
2091
2215
|
const name = config.name;
|
|
2092
2216
|
const fn = config.fn;
|
|
2093
2217
|
const bindings = config.bindings;
|
|
2094
|
-
const description = _optionalChain([config, 'access',
|
|
2218
|
+
const description = _optionalChain([config, 'access', _110 => _110.description, 'optionalAccess', _111 => _111.trim, 'call', _112 => _112()]);
|
|
2095
2219
|
const billing = config.billing;
|
|
2096
2220
|
const inputSchema = config.inputSchema;
|
|
2097
2221
|
const runtime = config.runtime;
|
|
@@ -2156,7 +2280,7 @@ function definePlay(nameOrConfig, maybeFn, maybeBindings) {
|
|
|
2156
2280
|
writable: false
|
|
2157
2281
|
});
|
|
2158
2282
|
const handle = createNamedPlayHandle(
|
|
2159
|
-
() => new (0,
|
|
2283
|
+
() => new (0, _chunkGY2EEO2Yjs.DeeplineClient)(),
|
|
2160
2284
|
name
|
|
2161
2285
|
);
|
|
2162
2286
|
for (const key of [
|
|
@@ -2313,4 +2437,5 @@ function defineMonitor(definition) {
|
|
|
2313
2437
|
|
|
2314
2438
|
|
|
2315
2439
|
|
|
2316
|
-
|
|
2440
|
+
|
|
2441
|
+
exports.AuthError = _chunkVDIHLKGGjs.AuthError; exports.ConfigError = _chunkVDIHLKGGjs.ConfigError; exports.CtxFetchHttpError = _chunkFKKNYKDYjs.CtxFetchHttpError; exports.CustomerDbQueryOutcomeUnknownError = _chunkVDIHLKGGjs.CustomerDbQueryOutcomeUnknownError; exports.DEEPLINE_EXTRACTOR_TARGETS = DEEPLINE_EXTRACTOR_TARGETS; exports.DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS = DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS; exports.DEEPLINE_TOOL_CATEGORIES = _chunkLVEDPCLJjs.DEEPLINE_TOOL_CATEGORIES; exports.Deepline = Deepline; exports.DeeplineClient = _chunkGY2EEO2Yjs.DeeplineClient; exports.DeeplineContext = DeeplineContext; exports.DeeplineError = _chunk7P5AA3SNjs.DeeplineError; exports.JOB_CHANGE_STATUS_VALUES = JOB_CHANGE_STATUS_VALUES; exports.MONITOR_FLEET_AUTHORING_CONTRACT_CHANGELOG = _chunkJ5NA2TTXjs.MONITOR_FLEET_AUTHORING_CONTRACT_CHANGELOG; exports.MONITOR_FLEET_AUTHORING_CONTRACT_EDITION = _chunkJ5NA2TTXjs.MONITOR_FLEET_AUTHORING_CONTRACT_EDITION; exports.MONITOR_FLEET_DOCUMENTATION = _chunkJ5NA2TTXjs.MONITOR_FLEET_DOCUMENTATION; exports.MONITOR_FLEET_FRONTIER_MAX_ROWS = _chunkJ5NA2TTXjs.MONITOR_FLEET_FRONTIER_MAX_ROWS; exports.MONITOR_FLEET_MAX_MEMBERS = _chunkJ5NA2TTXjs.MONITOR_FLEET_MAX_MEMBERS; exports.MONITOR_JOB_PHASES = _chunkGY2EEO2Yjs.MONITOR_JOB_PHASES; exports.MONITOR_JOB_RECONCILIATION_STATES = _chunkGY2EEO2Yjs.MONITOR_JOB_RECONCILIATION_STATES; exports.MONITOR_JOB_STATES = _chunkGY2EEO2Yjs.MONITOR_JOB_STATES; exports.PHONE_STATUS_VALUES = PHONE_STATUS_VALUES; exports.PLAY_BOOTSTRAP_COMPANY_FIELDS = _chunkLVEDPCLJjs.PLAY_BOOTSTRAP_COMPANY_FIELDS; exports.PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY = _chunkLVEDPCLJjs.PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY; exports.PLAY_BOOTSTRAP_CONTACT_FIELDS = _chunkLVEDPCLJjs.PLAY_BOOTSTRAP_CONTACT_FIELDS; exports.PLAY_BOOTSTRAP_FINDER_KINDS = _chunkLVEDPCLJjs.PLAY_BOOTSTRAP_FINDER_KINDS; exports.PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER = _chunkLVEDPCLJjs.PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER; exports.PLAY_BOOTSTRAP_PEOPLE_PROVIDER_CATEGORY = _chunkLVEDPCLJjs.PLAY_BOOTSTRAP_PEOPLE_PROVIDER_CATEGORY; exports.PLAY_BOOTSTRAP_PROVIDER_CATEGORY_BY_FINDER = _chunkLVEDPCLJjs.PLAY_BOOTSTRAP_PROVIDER_CATEGORY_BY_FINDER; exports.PLAY_BOOTSTRAP_SOURCE_KINDS = _chunkLVEDPCLJjs.PLAY_BOOTSTRAP_SOURCE_KINDS; exports.PLAY_BOOTSTRAP_STAGE_KINDS = _chunkLVEDPCLJjs.PLAY_BOOTSTRAP_STAGE_KINDS; exports.PLAY_BOOTSTRAP_TEMPLATES = _chunkLVEDPCLJjs.PLAY_BOOTSTRAP_TEMPLATES; exports.PROD_URL = _chunkVDIHLKGGjs.PROD_URL; exports.ProviderTransientError = _chunk7P5AA3SNjs.ProviderTransientError; exports.RateLimitError = _chunkVDIHLKGGjs.RateLimitError; exports.RunEventQueryInputError = _chunkGY2EEO2Yjs.RunEventQueryInputError; exports.RunObserveTransportUnavailableError = RunObserveTransportUnavailableError; exports.SDK_API_CONTRACT = _chunkVDIHLKGGjs.SDK_API_CONTRACT; exports.SDK_VERSION = _chunkVDIHLKGGjs.SDK_VERSION; exports.ToolExecutionError = _chunk7P5AA3SNjs.ToolExecutionError; exports.ToolRateLimitError = _chunkVDIHLKGGjs.ToolRateLimitError; exports.admitMonitorFleetAuthoringContract = _chunkJ5NA2TTXjs.admitMonitorFleetAuthoringContract; exports.defineInput = defineInput; exports.defineMonitor = defineMonitor; exports.defineMonitorFleet = _chunkJ5NA2TTXjs.defineMonitorFleet; exports.definePlay = definePlay; exports.defineWorkflow = defineWorkflow; exports.extractSummaryFields = _chunkNXDRDJ4Kjs.extractSummaryFields; exports.fleetColumn = _chunkJ5NA2TTXjs.fleetColumn; exports.fleetKey = _chunkJ5NA2TTXjs.fleetKey; exports.formatPlayBootstrapFinderKinds = _chunkLVEDPCLJjs.formatPlayBootstrapFinderKinds; exports.formatPlayBootstrapFinderKindsForSentence = _chunkLVEDPCLJjs.formatPlayBootstrapFinderKindsForSentence; exports.formatPlayBootstrapTemplates = _chunkLVEDPCLJjs.formatPlayBootstrapTemplates; exports.getDefinedPlayMetadata = getDefinedPlayMetadata; exports.getProviderUnavailableReason = _chunk7P5AA3SNjs.getProviderUnavailableReason; exports.isDeeplineExtractorTarget = isDeeplineExtractorTarget; exports.isPlayBootstrapFinderKind = _chunkLVEDPCLJjs.isPlayBootstrapFinderKind; exports.isPlayBootstrapTemplate = _chunkLVEDPCLJjs.isPlayBootstrapTemplate; exports.isProviderUnavailable = _chunk7P5AA3SNjs.isProviderUnavailable; exports.isProviderWaterfallUnavailableError = _chunk7P5AA3SNjs.isProviderWaterfallUnavailableError; exports.isStopAllPlayRunsDryRunResult = _chunkGY2EEO2Yjs.isStopAllPlayRunsDryRunResult; exports.lintMonitorBatchInput = _chunkWOHBA5PVjs.lintMonitorBatchInput; exports.lintMonitorFleetInput = _chunkJ5NA2TTXjs.lintMonitorFleetInput; exports.lintMonitorSpecTemplate = _chunkWOHBA5PVjs.lintMonitorSpecTemplate; exports.pinLocalPlayImports = _chunkLVEDPCLJjs.pinLocalPlayImports; exports.planCustomerDbQuery = _chunkGY2EEO2Yjs.planCustomerDbQuery; exports.planLocalPlayExecution = _chunkLVEDPCLJjs.planLocalPlayExecution; exports.readList = readList; exports.renderMonitorSpecTemplate = _chunkWOHBA5PVjs.renderMonitorSpecTemplate; exports.resolveConfig = _chunkVDIHLKGGjs.resolveConfig; exports.runIf = runIf; exports.steps = steps; exports.tryConvertToList = _chunkNXDRDJ4Kjs.tryConvertToList; exports.validateMonitorFleetDefinition = _chunkJ5NA2TTXjs.validateMonitorFleetDefinition; exports.writeCsvOutputFile = _chunkNXDRDJ4Kjs.writeCsvOutputFile; exports.writeJsonOutputFile = _chunkNXDRDJ4Kjs.writeJsonOutputFile;
|