deepline 0.3.311 → 0.3.313

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.
Files changed (114) hide show
  1. package/dist/bundling-sources/sdk/src/play.ts +7 -1
  2. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  3. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +159 -61
  4. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-outbox-recovery.ts +11 -6
  5. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +23 -1
  6. package/dist/bundling-sources/shared_libs/plays/core.ts +7 -1
  7. package/dist/bundling-sources/shared_libs/plays/settings-contract.ts +29 -3
  8. package/dist/cli/auth-56NYRTQK.js +31 -0
  9. package/dist/cli/{auth-2A7OYHFJ.mjs → auth-LNA6WCQA.mjs} +4 -4
  10. package/dist/cli/{billing-P7GIAP3U.mjs → billing-D37QNIE3.mjs} +5 -5
  11. package/dist/cli/{billing-2PQ4VDRR.js → billing-GJJUUCOZ.js} +71 -71
  12. package/dist/cli/{chunk-DUEHAEPM.mjs → chunk-3ZC4PHJ6.mjs} +1 -1
  13. package/dist/cli/{chunk-LRI2FQF2.js → chunk-4UXNEC5C.js} +26 -26
  14. package/dist/cli/{tools-WN7T25LW.js → chunk-6G7ZYA6E.js} +231 -87
  15. package/dist/cli/chunk-76VKBPOC.mjs +406 -0
  16. package/dist/cli/{chunk-HOCPOTDX.mjs → chunk-BLMO3JMZ.mjs} +2 -2
  17. package/dist/cli/{play-SOG5Q2GE.mjs → chunk-BS4GAUMH.mjs} +166 -90
  18. package/dist/cli/{chunk-SPUTBCUR.mjs → chunk-CSH4PKPJ.mjs} +1 -1
  19. package/dist/cli/{chunk-Q3LYQTSO.mjs → chunk-DOI3UBGV.mjs} +1 -1
  20. package/dist/cli/{chunk-GCX3343L.js → chunk-FJUIXWZF.js} +48 -48
  21. package/dist/cli/{chunk-RNJ74JDH.js → chunk-FSZTWQFK.js} +4 -4
  22. package/dist/cli/{chunk-XDUQQTIS.js → chunk-GQXEHX5X.js} +6 -6
  23. package/dist/cli/{chunk-SGTSJCOA.mjs → chunk-HM2TSTCT.mjs} +1 -1
  24. package/dist/cli/{chunk-FYPZ43Y4.js → chunk-HY2SSFRI.js} +1 -1
  25. package/dist/cli/{chunk-7TT4LZIR.js → chunk-I4FHFGMA.js} +60 -60
  26. package/dist/cli/{chunk-W7INSYJS.js → chunk-IALPYID6.js} +3 -3
  27. package/dist/cli/{chunk-VODJJUKE.js → chunk-JG2ZTDZV.js} +15 -15
  28. package/dist/cli/{chunk-5IBHISKA.js → chunk-KNGTN7NE.js} +6 -6
  29. package/dist/cli/{chunk-QO3GH6UP.js → chunk-MHETTUWR.js} +2 -2
  30. package/dist/cli/{chunk-TBX7AA7Y.mjs → chunk-N2DXWS6W.mjs} +2 -2
  31. package/dist/cli/{chunk-WB6Z2Q44.mjs → chunk-N5V2SBB2.mjs} +19 -1
  32. package/dist/cli/{chunk-ZDO3TO3M.js → chunk-OJ243ZA5.js} +19 -1
  33. package/dist/cli/{chunk-QJA6SJHA.mjs → chunk-OTA5C7DD.mjs} +1 -1
  34. package/dist/cli/{play-BCMGFYTF.js → chunk-P4N7233B.js} +342 -266
  35. package/dist/cli/{chunk-4WFNAWVO.mjs → chunk-QCXDLOGA.mjs} +2 -2
  36. package/dist/cli/{chunk-IB7OGQGH.js → chunk-QQMKX7JW.js} +29 -9
  37. package/dist/cli/{chunk-ICZB4GTY.mjs → chunk-RDUS2EDE.mjs} +23 -3
  38. package/dist/cli/{tools-G4HGCHNQ.mjs → chunk-UQBMMN4U.mjs} +180 -36
  39. package/dist/cli/{chunk-4NIQA6S7.mjs → chunk-US4S3E4Y.mjs} +1 -1
  40. package/dist/cli/{chunk-QYL5ZV4U.js → chunk-VSAYSOVC.js} +6 -6
  41. package/dist/cli/{chunk-G3QP2WYR.mjs → chunk-XFEPRIW7.mjs} +4 -4
  42. package/dist/cli/chunk-XNL3SEMC.js +406 -0
  43. package/dist/cli/{chunk-5OVNL6LS.mjs → chunk-YZ5PP6TX.mjs} +1 -1
  44. package/dist/cli/{client-PNLDT2M3.mjs → client-6RVRZ4OY.mjs} +3 -3
  45. package/dist/cli/client-XUTMYJDL.js +20 -0
  46. package/dist/cli/{csv-L5DN7F45.js → csv-2UHRG67O.js} +12 -12
  47. package/dist/cli/{csv-KUAATBZQ.mjs → csv-SBOHBKEG.mjs} +3 -3
  48. package/dist/cli/{db-WZOD6NP5.mjs → db-TUFTPYEA.mjs} +4 -4
  49. package/dist/cli/{db-6NIH4KTZ.js → db-VRE7CLIQ.js} +20 -20
  50. package/dist/cli/describe-GS5A2XH4.js +236 -0
  51. package/dist/cli/describe-WCBZTSOF.mjs +236 -0
  52. package/dist/cli/{executions-TQ5WRHDS.js → executions-ENMOOKWH.js} +6 -6
  53. package/dist/cli/{executions-RDDXGT2Y.mjs → executions-UTN3O372.mjs} +4 -4
  54. package/dist/cli/{feedback-NYKLEQB6.js → feedback-BLN6SIRG.js} +6 -6
  55. package/dist/cli/{feedback-ZB4WKBSS.mjs → feedback-PXBA3AG7.mjs} +3 -3
  56. package/dist/cli/git-26D3VD2I.js +23 -0
  57. package/dist/cli/{git-E6DKAX3X.mjs → git-YDMIRW3Q.mjs} +4 -4
  58. package/dist/cli/index.js +82 -78
  59. package/dist/cli/index.mjs +45 -41
  60. package/dist/cli/{legacy-noops-26Y5NSU6.js → legacy-noops-CWTUWTDB.js} +7 -7
  61. package/dist/cli/{legacy-noops-25B7JCOZ.mjs → legacy-noops-OVG2SICQ.mjs} +4 -4
  62. package/dist/cli/{monitors-WRTHO7DT.mjs → monitors-ATIDXJA4.mjs} +7 -7
  63. package/dist/cli/{monitors-L3GFT4MG.js → monitors-T63OPBTY.js} +88 -88
  64. package/dist/cli/{org-BNCTGPWF.js → org-7RVAPMRN.js} +60 -60
  65. package/dist/cli/{org-ZTHOFVEO.mjs → org-NXKNIM3H.mjs} +4 -4
  66. package/dist/cli/play-B62OVHD4.mjs +152 -0
  67. package/dist/cli/play-WM3NZVE7.js +152 -0
  68. package/dist/cli/{providers-MLOKTD6O.js → providers-EITVEGXD.js} +7 -7
  69. package/dist/cli/{providers-SLAPPVMU.mjs → providers-U7B7JEYY.mjs} +4 -4
  70. package/dist/cli/{quickstart-IWJLGET3.js → quickstart-G64F2XRU.js} +5 -5
  71. package/dist/cli/{quickstart-LZRKZLNQ.mjs → quickstart-VSWTYNJM.mjs} +3 -3
  72. package/dist/cli/{search-RCDGSNWW.mjs → search-SKYTFKKF.mjs} +13 -5
  73. package/dist/cli/search-TXQJJQWY.js +26 -0
  74. package/dist/cli/{secrets-GDPYV6OC.mjs → secrets-4DNS7KWS.mjs} +4 -4
  75. package/dist/cli/{secrets-24KEMSCU.js → secrets-JSFHSCGM.js} +13 -13
  76. package/dist/cli/{sessions-ST5XQQZN.mjs → sessions-HB7RQ4XN.mjs} +4 -4
  77. package/dist/cli/{sessions-QOUUGVP3.js → sessions-MLTYPPCG.js} +5 -5
  78. package/dist/cli/{settings-4XWDMAA2.js → settings-3PCKNBPU.js} +74 -74
  79. package/dist/cli/{settings-V6Z775TO.mjs → settings-BT5WCU65.mjs} +7 -7
  80. package/dist/cli/{setup-QPZLP25U.mjs → setup-EIWDTMCK.mjs} +6 -6
  81. package/dist/cli/{setup-W7SPZTUL.js → setup-EYZWTDJI.js} +41 -41
  82. package/dist/cli/skills-73T4BSDE.js +28 -0
  83. package/dist/cli/{skills-QG22R2EI.mjs → skills-AQ3ORN2C.mjs} +4 -4
  84. package/dist/cli/tools-OFTB2BGP.mjs +38 -0
  85. package/dist/cli/tools-ZGSOHWBY.js +38 -0
  86. package/dist/cli/{update-5PSYBGVU.mjs → update-ERQTFSAR.mjs} +6 -6
  87. package/dist/cli/update-L4V5TF7I.js +28 -0
  88. package/dist/cli/{workflow-ZEQ46MGG.js → workflow-6D6NHUH4.js} +16 -16
  89. package/dist/cli/{workflow-EK7DV4AQ.mjs → workflow-SRLWGGBM.mjs} +6 -6
  90. package/dist/{client-DpnkGBn-.d.mts → client-CtVdLZux.d.mts} +21 -4
  91. package/dist/{client-ypdBvf1o.d.ts → client-OBwghxPC.d.ts} +21 -4
  92. package/dist/{compiler-manifest-qtTNYvBl.d.ts → compiler-manifest-wOKNiXpa.d.mts} +21 -0
  93. package/dist/{compiler-manifest-qtTNYvBl.d.mts → compiler-manifest-wOKNiXpa.d.ts} +21 -0
  94. package/dist/index.d.mts +4 -4
  95. package/dist/index.d.ts +4 -4
  96. package/dist/index.js +13 -10
  97. package/dist/index.mjs +16 -13
  98. package/dist/install-integrity.json +84 -76
  99. package/dist/plays/bundle-play-file.d.mts +2 -2
  100. package/dist/plays/bundle-play-file.d.ts +2 -2
  101. package/dist/plays/bundle-play-file.mjs +2 -2
  102. package/dist/plays/run-request.d.mts +2 -2
  103. package/dist/plays/run-request.d.ts +2 -2
  104. package/dist/release.d.mts +1 -1
  105. package/dist/release.d.ts +1 -1
  106. package/dist/release.js +2 -2
  107. package/dist/release.mjs +1 -1
  108. package/package.json +1 -1
  109. package/dist/cli/auth-66JFXP6C.js +0 -31
  110. package/dist/cli/client-ADWRS22F.js +0 -20
  111. package/dist/cli/git-E56KOYJR.js +0 -23
  112. package/dist/cli/search-6FBDSA3K.js +0 -18
  113. package/dist/cli/skills-WKOQBJY7.js +0 -28
  114. package/dist/cli/update-WKVCWGYY.js +0 -28
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkQYL5ZV4Ujs = require('./chunk-QYL5ZV4U.js');
3
+ var _chunkVSAYSOVCjs = require('./chunk-VSAYSOVC.js');
4
4
  require('./chunk-LA46MMTL.js');
5
5
 
6
6
 
@@ -10,10 +10,10 @@ require('./chunk-LA46MMTL.js');
10
10
 
11
11
 
12
12
 
13
- var _chunkXDUQQTISjs = require('./chunk-XDUQQTIS.js');
14
- require('./chunk-RNJ74JDH.js');
13
+ var _chunkGQXEHX5Xjs = require('./chunk-GQXEHX5X.js');
14
+ require('./chunk-FSZTWQFK.js');
15
15
  require('./chunk-XNYIZMNQ.js');
16
- require('./chunk-FYPZ43Y4.js');
16
+ require('./chunk-HY2SSFRI.js');
17
17
  require('./chunk-S6R3OX7B.js');
18
18
 
19
19
 
@@ -48,8 +48,8 @@ function formatCell(value) {
48
48
  return text.length > 80 ? `${text.slice(0, 77)}...` : text;
49
49
  }
50
50
  function tableLines(result) {
51
- const rows = _chunkXDUQQTISjs.dataExportRows.call(void 0, customerDbRows(result));
52
- const responseColumns = _chunkXDUQQTISjs.dataExportColumns.call(void 0,
51
+ const rows = _chunkGQXEHX5Xjs.dataExportRows.call(void 0, customerDbRows(result));
52
+ const responseColumns = _chunkGQXEHX5Xjs.dataExportColumns.call(void 0,
53
53
  rows,
54
54
  customerDbColumnNames(result)
55
55
  );
@@ -95,7 +95,7 @@ function tableLines(result) {
95
95
  return lines;
96
96
  }
97
97
  function customerDbRows(result) {
98
- return _chunkXDUQQTISjs.recordRows.call(void 0, result.rows);
98
+ return _chunkGQXEHX5Xjs.recordRows.call(void 0, result.rows);
99
99
  }
100
100
  function customerDbColumnNames(result) {
101
101
  return result.columns.map((column) => column.name).filter(Boolean);
@@ -180,7 +180,7 @@ function writeCustomerDbCsv(result, outPath) {
180
180
  const resolved = _path.resolve.call(void 0, outPath);
181
181
  _fs.writeFileSync.call(void 0,
182
182
  resolved,
183
- _chunkXDUQQTISjs.dataExportCsvString.call(void 0, customerDbRows(result), customerDbColumnNames(result)),
183
+ _chunkGQXEHX5Xjs.dataExportCsvString.call(void 0, customerDbRows(result), customerDbColumnNames(result)),
184
184
  "utf-8"
185
185
  );
186
186
  return resolved;
@@ -244,9 +244,9 @@ async function handleDbQuery(args) {
244
244
  console.error("--out requires a path.");
245
245
  return 1;
246
246
  }
247
- const jsonOutput = _chunkXDUQQTISjs.argsWantJson.call(void 0, args);
247
+ const jsonOutput = _chunkGQXEHX5Xjs.argsWantJson.call(void 0, args);
248
248
  const explicitJsonOutput = args.includes("--json");
249
- const client = new (0, _chunkQYL5ZV4Ujs.DeeplineClient)();
249
+ const client = new (0, _chunkVSAYSOVCjs.DeeplineClient)();
250
250
  let result;
251
251
  try {
252
252
  result = await client.db.query({ sql, maxRows });
@@ -263,7 +263,7 @@ async function handleDbQuery(args) {
263
263
  if (format === "csv") {
264
264
  if (outPath) {
265
265
  const exportedPath = writeCustomerDbCsv(result, outPath);
266
- _chunkXDUQQTISjs.printCommandEnvelope.call(void 0,
266
+ _chunkGQXEHX5Xjs.printCommandEnvelope.call(void 0,
267
267
  dbQueryExportEnvelope({
268
268
  result,
269
269
  format,
@@ -278,7 +278,7 @@ async function handleDbQuery(args) {
278
278
  );
279
279
  return 0;
280
280
  }
281
- _chunkXDUQQTISjs.printCommandEnvelope.call(void 0,
281
+ _chunkGQXEHX5Xjs.printCommandEnvelope.call(void 0,
282
282
  dbQueryExportEnvelope({
283
283
  result,
284
284
  format,
@@ -287,7 +287,7 @@ async function handleDbQuery(args) {
287
287
  }),
288
288
  {
289
289
  json: explicitJsonOutput,
290
- text: _chunkXDUQQTISjs.dataExportCsvString.call(void 0,
290
+ text: _chunkGQXEHX5Xjs.dataExportCsvString.call(void 0,
291
291
  customerDbRows(result),
292
292
  customerDbColumnNames(result)
293
293
  )
@@ -296,14 +296,14 @@ async function handleDbQuery(args) {
296
296
  return 0;
297
297
  }
298
298
  if (format === "markdown") {
299
- const content = _chunkXDUQQTISjs.markdownTableFromRows.call(void 0,
299
+ const content = _chunkGQXEHX5Xjs.markdownTableFromRows.call(void 0,
300
300
  customerDbRows(result),
301
301
  customerDbColumnNames(result)
302
302
  );
303
303
  if (outPath) {
304
304
  const exportedPath = _path.resolve.call(void 0, outPath);
305
305
  _fs.writeFileSync.call(void 0, exportedPath, content, "utf-8");
306
- _chunkXDUQQTISjs.printCommandEnvelope.call(void 0,
306
+ _chunkGQXEHX5Xjs.printCommandEnvelope.call(void 0,
307
307
  dbQueryExportEnvelope({
308
308
  result,
309
309
  format,
@@ -318,7 +318,7 @@ async function handleDbQuery(args) {
318
318
  );
319
319
  return 0;
320
320
  }
321
- _chunkXDUQQTISjs.printCommandEnvelope.call(void 0,
321
+ _chunkGQXEHX5Xjs.printCommandEnvelope.call(void 0,
322
322
  dbQueryExportEnvelope({
323
323
  result,
324
324
  format,
@@ -332,7 +332,7 @@ async function handleDbQuery(args) {
332
332
  );
333
333
  return 0;
334
334
  }
335
- _chunkXDUQQTISjs.printCommandEnvelope.call(void 0,
335
+ _chunkGQXEHX5Xjs.printCommandEnvelope.call(void 0,
336
336
  {
337
337
  ...result,
338
338
  next: { toolEquivalent: toolCommand },
@@ -350,8 +350,8 @@ async function handleDbQuery(args) {
350
350
  async function handleDbRepair(args) {
351
351
  const providerIndex = args.indexOf("--provider");
352
352
  const provider = providerIndex >= 0 ? _optionalChain([args, 'access', _12 => _12[providerIndex + 1], 'optionalAccess', _13 => _13.trim, 'call', _14 => _14()]) : void 0;
353
- const jsonOutput = _chunkXDUQQTISjs.argsWantJson.call(void 0, args);
354
- const client = new (0, _chunkQYL5ZV4Ujs.DeeplineClient)();
353
+ const jsonOutput = _chunkGQXEHX5Xjs.argsWantJson.call(void 0, args);
354
+ const client = new (0, _chunkVSAYSOVCjs.DeeplineClient)();
355
355
  let result;
356
356
  try {
357
357
  result = await client.repairIngestionStorage(
@@ -367,7 +367,7 @@ async function handleDbRepair(args) {
367
367
  console.error(errorMessage(error));
368
368
  return 1;
369
369
  }
370
- _chunkXDUQQTISjs.printCommandEnvelope.call(void 0,
370
+ _chunkGQXEHX5Xjs.printCommandEnvelope.call(void 0,
371
371
  {
372
372
  command: "db repair",
373
373
  status: result.status,
@@ -0,0 +1,236 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } }
2
+
3
+
4
+
5
+ var _chunk6G7ZYA6Ejs = require('./chunk-6G7ZYA6E.js');
6
+
7
+
8
+ var _chunkP4N7233Bjs = require('./chunk-P4N7233B.js');
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+ var _chunkXNL3SEMCjs = require('./chunk-XNL3SEMC.js');
17
+ require('./chunk-5JLQPVNX.js');
18
+ require('./chunk-QQMKX7JW.js');
19
+ require('./chunk-4UXNEC5C.js');
20
+ require('./chunk-NXDRDJ4K.js');
21
+ require('./chunk-SDK3ZA2C.js');
22
+
23
+
24
+ var _chunkVSAYSOVCjs = require('./chunk-VSAYSOVC.js');
25
+ require('./chunk-LA46MMTL.js');
26
+ require('./chunk-QJBJZVG6.js');
27
+ require('./chunk-AYHLUHE5.js');
28
+ require('./chunk-WJYPBHTE.js');
29
+
30
+
31
+ var _chunkGQXEHX5Xjs = require('./chunk-GQXEHX5X.js');
32
+ require('./chunk-FSZTWQFK.js');
33
+ require('./chunk-XNYIZMNQ.js');
34
+ require('./chunk-HY2SSFRI.js');
35
+ require('./chunk-IALPYID6.js');
36
+ require('./chunk-3KC45UVF.js');
37
+ require('./chunk-OJ243ZA5.js');
38
+ require('./chunk-S6R3OX7B.js');
39
+
40
+
41
+ var _chunk7P5AA3SNjs = require('./chunk-7P5AA3SN.js');
42
+ require('./chunk-OG64RBAC.js');
43
+ require('./chunk-COGTRVWW.js');
44
+
45
+ // src/cli/commands/describe.ts
46
+ var _fs = require('fs');
47
+ var _path = require('path');
48
+ var FILTER_OF = {
49
+ tool: "tools",
50
+ monitor_type: "monitors",
51
+ prebuilt_play: "prebuilts",
52
+ custom_play: "custom"
53
+ };
54
+ async function found(lookup) {
55
+ try {
56
+ return await lookup;
57
+ } catch (error) {
58
+ if (error instanceof _chunk7P5AA3SNjs.DeeplineError && (error.statusCode === 404 || error.code === "PLAY_NOT_FOUND" || error.code === "NOT_FOUND")) {
59
+ return null;
60
+ }
61
+ throw error;
62
+ }
63
+ }
64
+ async function describeAnything(name, options, onMissing) {
65
+ const maintainedOnly = options.prebuilt === true || options.tool === true;
66
+ const wants = (filter) => (!options.kinds || options.kinds.includes(filter)) && !(maintainedOnly && filter === "custom");
67
+ const client = new (0, _chunkVSAYSOVCjs.DeeplineClient)();
68
+ const play = async (reference) => {
69
+ const record2 = await client.describePlay(reference);
70
+ return {
71
+ described: _chunkP4N7233Bjs.describedPlay.call(void 0, record2),
72
+ record: { ...record2 },
73
+ schemas: {
74
+ inputSchema: _nullishCoalesce(record2.inputSchema, () => ( null)),
75
+ outputSchema: _nullishCoalesce(record2.outputSchema, () => ( null))
76
+ }
77
+ };
78
+ };
79
+ const tool = async () => {
80
+ const record2 = await _asyncNullishCoalesce(options.fetchedTool, async () => ( await client.getTool(name)));
81
+ return {
82
+ described: _chunk6G7ZYA6Ejs.describedTool.call(void 0, record2, name),
83
+ record: _chunk6G7ZYA6Ejs.toolMetadataJsonForDescribe.call(void 0, record2, name),
84
+ schemas: _chunk6G7ZYA6Ejs.publicToolSchemas.call(void 0, record2)
85
+ };
86
+ };
87
+ const sources = name.includes("/") ? [{ kinds: ["prebuilts", "custom"], find: () => play(name) }] : [
88
+ { kinds: ["custom"], find: () => play(name) },
89
+ { kinds: ["tools", "monitors"], find: tool },
90
+ { kinds: ["prebuilts"], find: () => play(`prebuilt/${name}`) }
91
+ ];
92
+ const matches = await Promise.all(
93
+ sources.filter((source) => source.kinds.some(wants)).map(async ({ kinds, find }) => {
94
+ const match = await found(find());
95
+ const filter = match && FILTER_OF[match.described.kind];
96
+ return filter && kinds.includes(filter) && wants(filter) ? match : null;
97
+ })
98
+ );
99
+ const [chosen, shadowed] = matches.filter((match) => match !== null);
100
+ if (!chosen) {
101
+ if (onMissing) return onMissing();
102
+ console.error(
103
+ `Nothing named "${name}". Search for it: deepline search ${JSON.stringify(name.replace(/[-_./]+/g, " "))}`
104
+ );
105
+ return 2;
106
+ }
107
+ const { described, record } = chosen;
108
+ const shadows = described.kind === "custom_play" && shadowed ? {
109
+ kind: shadowed.described.kind,
110
+ describeCommand: `deepline describe ${name} --prebuilt`
111
+ } : null;
112
+ const note = shadows ? `Showing your workspace play "${name}". It has the same name as a Deepline ${shadows.kind.replace("_", " ")}; see that one with: ${shadows.describeCommand}` : null;
113
+ const verbose = options.verbose === true;
114
+ const json = options.json === true;
115
+ const named = options.cliExample === true || options.playExample === true;
116
+ const shown = options.example !== false;
117
+ const {
118
+ runner: _runner,
119
+ inputs,
120
+ outputs,
121
+ rowInputs: _rowInputs,
122
+ rowOutputs: _rowOutputs,
123
+ ...summary
124
+ } = described;
125
+ const view = options.schemaOnly ? {
126
+ envelope: {
127
+ kind: described.kind,
128
+ id: described.id,
129
+ ...chosen.schemas
130
+ },
131
+ lines: [
132
+ `${described.id} [${described.kind.replace("_", " ")}]`,
133
+ ..._chunkXNL3SEMCjs.schemaLines.call(void 0, described, { full: true })
134
+ ]
135
+ } : {
136
+ envelope: {
137
+ ...summary,
138
+ inputs: inputs.map(_chunkXNL3SEMCjs.topLevelField),
139
+ outputs: outputs.map(_chunkXNL3SEMCjs.topLevelField),
140
+ ...described.rowInputs ? { rowInputs: described.rowInputs.map(_chunkXNL3SEMCjs.topLevelField) } : {},
141
+ ...described.rowOutputs ? { rowOutputs: described.rowOutputs.map(_chunkXNL3SEMCjs.topLevelField) } : {},
142
+ runExamples: _chunkXNL3SEMCjs.examples.call(void 0, described, { verbose }),
143
+ ...shadows ? { shadows, note } : {}
144
+ },
145
+ lines: [
146
+ ...note ? [`Note: ${note}`, ""] : [],
147
+ ..._chunkXNL3SEMCjs.describedLines.call(void 0, described, {
148
+ cli: shown && (!named || options.cliExample === true),
149
+ play: shown && (!named || options.playExample === true),
150
+ explain: named,
151
+ verbose,
152
+ fullSchema: options.fullSchema === true
153
+ })
154
+ ]
155
+ };
156
+ const envelope = options.schemaOnly ? view.envelope : (
157
+ // The shared keys lead; where the kind's own record has the same key,
158
+ // its value stands, so callers of the older commands read what they did.
159
+ { ...view.envelope, ...record }
160
+ );
161
+ const text = `${view.lines.join("\n")}
162
+ `;
163
+ if (options.out) {
164
+ const path = _path.resolve.call(void 0, options.out);
165
+ const content = json ? `${JSON.stringify(envelope, null, 2)}
166
+ ` : text;
167
+ _fs.writeFileSync.call(void 0, path, content);
168
+ const bytes = Buffer.byteLength(content);
169
+ _chunkGQXEHX5Xjs.printCommandEnvelope.call(void 0,
170
+ { path, bytes },
171
+ { json, text: `Wrote ${path} (${bytes} bytes)
172
+ ` }
173
+ );
174
+ return 0;
175
+ }
176
+ _chunkGQXEHX5Xjs.printCommandEnvelope.call(void 0, envelope, { json, text });
177
+ return 0;
178
+ }
179
+ function registerDescribeCommand(program) {
180
+ _chunkXNL3SEMCjs.addDescribeOptions.call(void 0, program.command("describe <name>")).description(
181
+ "Describe anything search returns: a tool, monitor type, or play."
182
+ ).addHelpText(
183
+ "after",
184
+ `
185
+ What you can describe:
186
+ Any id deepline search returns: a tool id, a monitor type id, or a play name
187
+ or reference. You do not say which kind it is; tool ids, monitor type ids
188
+ and prebuilt play names never overlap.
189
+
190
+ When a name is taken twice:
191
+ A play your workspace created is shown instead of a Deepline tool, monitor
192
+ type or prebuilt play with the same name, and the output says so.
193
+ Pass --prebuilt (or --tool) to see the Deepline one.
194
+
195
+ What it prints:
196
+ The same sections for every kind: what it is, cost, inputs, outputs, then
197
+ an example of running it from the CLI and from inside a play.
198
+
199
+ Examples in the output:
200
+ (default) required inputs filled in, first output read
201
+ --verbose every input filled in, every output read
202
+ --cli-example only the CLI example, with how inputs and outputs work
203
+ --play-example only the in-play example, with how inputs and outputs work
204
+ --no-example no examples
205
+
206
+ Schema size and format:
207
+ A schema over ${_chunkXNL3SEMCjs.SCHEMA_LINE_LIMIT} lines is folded: deeper objects show only their field
208
+ names. A shape used more than once is printed once under Types.
209
+ --full-schema the normal output, with the schema not folded
210
+ --schema-only only the schema, not folded, and nothing else
211
+ --json everything as JSON; the schema is never folded in JSON
212
+ --schema-only --json
213
+ only the input and output JSON Schemas; use this for a
214
+ program, or for a schema too large to read
215
+ --out <path> save any of the above to a file instead of printing it
216
+
217
+ Older commands:
218
+ deepline tools describe and deepline plays describe are this command limited
219
+ to one kind. Their own flags still work: --pricing-only, --examples-only,
220
+ --model and --estimate-payload on tools; --json <fields> on plays.
221
+
222
+ Examples:
223
+ deepline describe hunter_email_verifier
224
+ deepline describe person-linkedin-to-email --json
225
+ deepline describe my-play --prebuilt
226
+ deepline describe ai_ark_people_search --full-schema
227
+ deepline describe ai_ark_people_search --schema-only --json --out schema.json
228
+ `
229
+ ).action(async (name, options) => {
230
+ process.exitCode = await describeAnything(name, options);
231
+ });
232
+ }
233
+
234
+
235
+
236
+ exports.describeAnything = describeAnything; exports.registerDescribeCommand = registerDescribeCommand;
@@ -0,0 +1,236 @@
1
+ import {
2
+ describedTool,
3
+ publicToolSchemas,
4
+ toolMetadataJsonForDescribe
5
+ } from "./chunk-UQBMMN4U.mjs";
6
+ import {
7
+ describedPlay
8
+ } from "./chunk-BS4GAUMH.mjs";
9
+ import {
10
+ SCHEMA_LINE_LIMIT,
11
+ addDescribeOptions,
12
+ describedLines,
13
+ examples,
14
+ schemaLines,
15
+ topLevelField
16
+ } from "./chunk-76VKBPOC.mjs";
17
+ import "./chunk-EDWJY6T4.mjs";
18
+ import "./chunk-RDUS2EDE.mjs";
19
+ import "./chunk-QCXDLOGA.mjs";
20
+ import "./chunk-MIMASXO4.mjs";
21
+ import "./chunk-OWJZUE3Y.mjs";
22
+ import {
23
+ DeeplineClient
24
+ } from "./chunk-YZ5PP6TX.mjs";
25
+ import "./chunk-CBVIJSHF.mjs";
26
+ import "./chunk-WXLOW623.mjs";
27
+ import "./chunk-UFS752TU.mjs";
28
+ import "./chunk-GAMFK2ZP.mjs";
29
+ import {
30
+ printCommandEnvelope
31
+ } from "./chunk-CSH4PKPJ.mjs";
32
+ import "./chunk-DOI3UBGV.mjs";
33
+ import "./chunk-DLIRSHV6.mjs";
34
+ import "./chunk-HM2TSTCT.mjs";
35
+ import "./chunk-US4S3E4Y.mjs";
36
+ import "./chunk-H7HIDGZ7.mjs";
37
+ import "./chunk-N5V2SBB2.mjs";
38
+ import "./chunk-6IKARAYD.mjs";
39
+ import {
40
+ DeeplineError
41
+ } from "./chunk-NXGCO4JB.mjs";
42
+ import "./chunk-WZYKRD7T.mjs";
43
+ import "./chunk-KRD6H754.mjs";
44
+
45
+ // src/cli/commands/describe.ts
46
+ import { writeFileSync } from "fs";
47
+ import { resolve } from "path";
48
+ var FILTER_OF = {
49
+ tool: "tools",
50
+ monitor_type: "monitors",
51
+ prebuilt_play: "prebuilts",
52
+ custom_play: "custom"
53
+ };
54
+ async function found(lookup) {
55
+ try {
56
+ return await lookup;
57
+ } catch (error) {
58
+ if (error instanceof DeeplineError && (error.statusCode === 404 || error.code === "PLAY_NOT_FOUND" || error.code === "NOT_FOUND")) {
59
+ return null;
60
+ }
61
+ throw error;
62
+ }
63
+ }
64
+ async function describeAnything(name, options, onMissing) {
65
+ const maintainedOnly = options.prebuilt === true || options.tool === true;
66
+ const wants = (filter) => (!options.kinds || options.kinds.includes(filter)) && !(maintainedOnly && filter === "custom");
67
+ const client = new DeeplineClient();
68
+ const play = async (reference) => {
69
+ const record2 = await client.describePlay(reference);
70
+ return {
71
+ described: describedPlay(record2),
72
+ record: { ...record2 },
73
+ schemas: {
74
+ inputSchema: record2.inputSchema ?? null,
75
+ outputSchema: record2.outputSchema ?? null
76
+ }
77
+ };
78
+ };
79
+ const tool = async () => {
80
+ const record2 = options.fetchedTool ?? await client.getTool(name);
81
+ return {
82
+ described: describedTool(record2, name),
83
+ record: toolMetadataJsonForDescribe(record2, name),
84
+ schemas: publicToolSchemas(record2)
85
+ };
86
+ };
87
+ const sources = name.includes("/") ? [{ kinds: ["prebuilts", "custom"], find: () => play(name) }] : [
88
+ { kinds: ["custom"], find: () => play(name) },
89
+ { kinds: ["tools", "monitors"], find: tool },
90
+ { kinds: ["prebuilts"], find: () => play(`prebuilt/${name}`) }
91
+ ];
92
+ const matches = await Promise.all(
93
+ sources.filter((source) => source.kinds.some(wants)).map(async ({ kinds, find }) => {
94
+ const match = await found(find());
95
+ const filter = match && FILTER_OF[match.described.kind];
96
+ return filter && kinds.includes(filter) && wants(filter) ? match : null;
97
+ })
98
+ );
99
+ const [chosen, shadowed] = matches.filter((match) => match !== null);
100
+ if (!chosen) {
101
+ if (onMissing) return onMissing();
102
+ console.error(
103
+ `Nothing named "${name}". Search for it: deepline search ${JSON.stringify(name.replace(/[-_./]+/g, " "))}`
104
+ );
105
+ return 2;
106
+ }
107
+ const { described, record } = chosen;
108
+ const shadows = described.kind === "custom_play" && shadowed ? {
109
+ kind: shadowed.described.kind,
110
+ describeCommand: `deepline describe ${name} --prebuilt`
111
+ } : null;
112
+ const note = shadows ? `Showing your workspace play "${name}". It has the same name as a Deepline ${shadows.kind.replace("_", " ")}; see that one with: ${shadows.describeCommand}` : null;
113
+ const verbose = options.verbose === true;
114
+ const json = options.json === true;
115
+ const named = options.cliExample === true || options.playExample === true;
116
+ const shown = options.example !== false;
117
+ const {
118
+ runner: _runner,
119
+ inputs,
120
+ outputs,
121
+ rowInputs: _rowInputs,
122
+ rowOutputs: _rowOutputs,
123
+ ...summary
124
+ } = described;
125
+ const view = options.schemaOnly ? {
126
+ envelope: {
127
+ kind: described.kind,
128
+ id: described.id,
129
+ ...chosen.schemas
130
+ },
131
+ lines: [
132
+ `${described.id} [${described.kind.replace("_", " ")}]`,
133
+ ...schemaLines(described, { full: true })
134
+ ]
135
+ } : {
136
+ envelope: {
137
+ ...summary,
138
+ inputs: inputs.map(topLevelField),
139
+ outputs: outputs.map(topLevelField),
140
+ ...described.rowInputs ? { rowInputs: described.rowInputs.map(topLevelField) } : {},
141
+ ...described.rowOutputs ? { rowOutputs: described.rowOutputs.map(topLevelField) } : {},
142
+ runExamples: examples(described, { verbose }),
143
+ ...shadows ? { shadows, note } : {}
144
+ },
145
+ lines: [
146
+ ...note ? [`Note: ${note}`, ""] : [],
147
+ ...describedLines(described, {
148
+ cli: shown && (!named || options.cliExample === true),
149
+ play: shown && (!named || options.playExample === true),
150
+ explain: named,
151
+ verbose,
152
+ fullSchema: options.fullSchema === true
153
+ })
154
+ ]
155
+ };
156
+ const envelope = options.schemaOnly ? view.envelope : (
157
+ // The shared keys lead; where the kind's own record has the same key,
158
+ // its value stands, so callers of the older commands read what they did.
159
+ { ...view.envelope, ...record }
160
+ );
161
+ const text = `${view.lines.join("\n")}
162
+ `;
163
+ if (options.out) {
164
+ const path = resolve(options.out);
165
+ const content = json ? `${JSON.stringify(envelope, null, 2)}
166
+ ` : text;
167
+ writeFileSync(path, content);
168
+ const bytes = Buffer.byteLength(content);
169
+ printCommandEnvelope(
170
+ { path, bytes },
171
+ { json, text: `Wrote ${path} (${bytes} bytes)
172
+ ` }
173
+ );
174
+ return 0;
175
+ }
176
+ printCommandEnvelope(envelope, { json, text });
177
+ return 0;
178
+ }
179
+ function registerDescribeCommand(program) {
180
+ addDescribeOptions(program.command("describe <name>")).description(
181
+ "Describe anything search returns: a tool, monitor type, or play."
182
+ ).addHelpText(
183
+ "after",
184
+ `
185
+ What you can describe:
186
+ Any id deepline search returns: a tool id, a monitor type id, or a play name
187
+ or reference. You do not say which kind it is; tool ids, monitor type ids
188
+ and prebuilt play names never overlap.
189
+
190
+ When a name is taken twice:
191
+ A play your workspace created is shown instead of a Deepline tool, monitor
192
+ type or prebuilt play with the same name, and the output says so.
193
+ Pass --prebuilt (or --tool) to see the Deepline one.
194
+
195
+ What it prints:
196
+ The same sections for every kind: what it is, cost, inputs, outputs, then
197
+ an example of running it from the CLI and from inside a play.
198
+
199
+ Examples in the output:
200
+ (default) required inputs filled in, first output read
201
+ --verbose every input filled in, every output read
202
+ --cli-example only the CLI example, with how inputs and outputs work
203
+ --play-example only the in-play example, with how inputs and outputs work
204
+ --no-example no examples
205
+
206
+ Schema size and format:
207
+ A schema over ${SCHEMA_LINE_LIMIT} lines is folded: deeper objects show only their field
208
+ names. A shape used more than once is printed once under Types.
209
+ --full-schema the normal output, with the schema not folded
210
+ --schema-only only the schema, not folded, and nothing else
211
+ --json everything as JSON; the schema is never folded in JSON
212
+ --schema-only --json
213
+ only the input and output JSON Schemas; use this for a
214
+ program, or for a schema too large to read
215
+ --out <path> save any of the above to a file instead of printing it
216
+
217
+ Older commands:
218
+ deepline tools describe and deepline plays describe are this command limited
219
+ to one kind. Their own flags still work: --pricing-only, --examples-only,
220
+ --model and --estimate-payload on tools; --json <fields> on plays.
221
+
222
+ Examples:
223
+ deepline describe hunter_email_verifier
224
+ deepline describe person-linkedin-to-email --json
225
+ deepline describe my-play --prebuilt
226
+ deepline describe ai_ark_people_search --full-schema
227
+ deepline describe ai_ark_people_search --schema-only --json --out schema.json
228
+ `
229
+ ).action(async (name, options) => {
230
+ process.exitCode = await describeAnything(name, options);
231
+ });
232
+ }
233
+ export {
234
+ describeAnything,
235
+ registerDescribeCommand
236
+ };
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkQYL5ZV4Ujs = require('./chunk-QYL5ZV4U.js');
3
+ var _chunkVSAYSOVCjs = require('./chunk-VSAYSOVC.js');
4
4
  require('./chunk-LA46MMTL.js');
5
5
 
6
6
 
7
- var _chunkXDUQQTISjs = require('./chunk-XDUQQTIS.js');
8
- require('./chunk-RNJ74JDH.js');
7
+ var _chunkGQXEHX5Xjs = require('./chunk-GQXEHX5X.js');
8
+ require('./chunk-FSZTWQFK.js');
9
9
  require('./chunk-XNYIZMNQ.js');
10
- require('./chunk-FYPZ43Y4.js');
10
+ require('./chunk-HY2SSFRI.js');
11
11
  require('./chunk-S6R3OX7B.js');
12
12
  require('./chunk-7P5AA3SN.js');
13
13
  require('./chunk-OG64RBAC.js');
@@ -17,10 +17,10 @@ require('./chunk-COGTRVWW.js');
17
17
  function registerExecutionsCommands(program) {
18
18
  const executions = program.command("executions").description("Inspect and recover keyed tool executions.");
19
19
  executions.command("get").description("Retrieve a tool execution by its idempotency key.").requiredOption("--idempotency-key <key>", "Stable execution recovery key").option("--json", "Emit the stable JSON response").action(async (options) => {
20
- const result = await new (0, _chunkQYL5ZV4Ujs.DeeplineClient)().executions.getByKey(
20
+ const result = await new (0, _chunkVSAYSOVCjs.DeeplineClient)().executions.getByKey(
21
21
  options.idempotencyKey
22
22
  );
23
- _chunkXDUQQTISjs.printCommandEnvelope.call(void 0, result, { json: true });
23
+ _chunkGQXEHX5Xjs.printCommandEnvelope.call(void 0, result, { json: true });
24
24
  });
25
25
  }
26
26
 
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  DeeplineClient
3
- } from "./chunk-5OVNL6LS.mjs";
3
+ } from "./chunk-YZ5PP6TX.mjs";
4
4
  import "./chunk-CBVIJSHF.mjs";
5
5
  import {
6
6
  printCommandEnvelope
7
- } from "./chunk-SPUTBCUR.mjs";
8
- import "./chunk-Q3LYQTSO.mjs";
7
+ } from "./chunk-CSH4PKPJ.mjs";
8
+ import "./chunk-DOI3UBGV.mjs";
9
9
  import "./chunk-DLIRSHV6.mjs";
10
- import "./chunk-SGTSJCOA.mjs";
10
+ import "./chunk-HM2TSTCT.mjs";
11
11
  import "./chunk-6IKARAYD.mjs";
12
12
  import "./chunk-NXGCO4JB.mjs";
13
13
  import "./chunk-WZYKRD7T.mjs";