deepline 0.3.338 → 0.3.339

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 (97) hide show
  1. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  2. package/dist/bundling-sources/shared_libs/plays/bundling/index.ts +20 -7
  3. package/dist/cli/{auth-MTF2TRBC.mjs → auth-DLHLIJBP.mjs} +4 -4
  4. package/dist/cli/auth-M5OWKMLF.js +31 -0
  5. package/dist/cli/{billing-OXEY6DAU.js → billing-7UQXVLH2.js} +71 -71
  6. package/dist/cli/{billing-HXXPKDYV.mjs → billing-MLOOWHEX.mjs} +4 -4
  7. package/dist/cli/{chunk-FOODYFMR.js → chunk-2HTS4ZMF.js} +1 -1
  8. package/dist/cli/{chunk-NUJIZBLA.js → chunk-2OJGKWOX.js} +4 -4
  9. package/dist/cli/{chunk-XWTEOTGL.js → chunk-2UGEF3HR.js} +26 -26
  10. package/dist/cli/{chunk-OTJMWSIK.mjs → chunk-35IBDQNW.mjs} +5 -5
  11. package/dist/cli/{chunk-FYR7GGUF.js → chunk-6KKVUVA6.js} +293 -308
  12. package/dist/cli/{chunk-UVGGJ2CV.mjs → chunk-7CQBFUGN.mjs} +59 -74
  13. package/dist/cli/{chunk-HJEHCSFH.js → chunk-CI6TSINO.js} +8 -8
  14. package/dist/cli/{chunk-BYIWZOSA.js → chunk-DOGZHHO5.js} +6 -6
  15. package/dist/cli/{chunk-6CEPAFCE.mjs → chunk-FC4X6GQI.mjs} +4 -4
  16. package/dist/cli/{chunk-ID5OGCLU.mjs → chunk-FTV2LY4S.mjs} +3 -3
  17. package/dist/cli/{chunk-SSRGN56V.mjs → chunk-G5KDPFKG.mjs} +1 -1
  18. package/dist/cli/{chunk-7EQ3WFD2.js → chunk-G7DUWWKO.js} +9 -9
  19. package/dist/cli/{chunk-EV4QJE4J.mjs → chunk-IIOBMOMH.mjs} +18 -7
  20. package/dist/cli/{chunk-KLAWLBSP.js → chunk-ISV5JQ43.js} +60 -60
  21. package/dist/cli/{chunk-N3EOKUQV.mjs → chunk-JMKUKFQS.mjs} +2 -2
  22. package/dist/cli/{chunk-CGVCELEC.mjs → chunk-KGMWBR5S.mjs} +1 -1
  23. package/dist/cli/{chunk-YMLGJ2B7.mjs → chunk-KSHINNFC.mjs} +1 -1
  24. package/dist/cli/{chunk-FBU4A2ZE.mjs → chunk-MIMOIQXH.mjs} +2 -2
  25. package/dist/cli/{chunk-CVSUI4Z2.js → chunk-OAQ3JR4F.js} +48 -48
  26. package/dist/cli/{chunk-UQV5M6HN.js → chunk-OJVAVQLB.js} +18 -7
  27. package/dist/cli/{chunk-AHO5IXHM.js → chunk-OWNN6BDD.js} +15 -15
  28. package/dist/cli/{chunk-NHTICK5G.mjs → chunk-RI7LPAUP.mjs} +2 -2
  29. package/dist/cli/{chunk-NR5ILIKI.js → chunk-RKSYETCE.js} +2 -2
  30. package/dist/cli/{chunk-5OHHWYOV.js → chunk-RWPA6MGP.js} +45 -45
  31. package/dist/cli/{chunk-KRZDVQZH.js → chunk-S3WJ6LZJ.js} +8 -8
  32. package/dist/cli/{chunk-7WL23HDH.mjs → chunk-TJSLXGQ2.mjs} +1 -1
  33. package/dist/cli/{chunk-MIHJFRGP.mjs → chunk-TOB6N2QF.mjs} +2 -2
  34. package/dist/cli/{chunk-J47TX67H.mjs → chunk-YSM3GVSU.mjs} +1 -1
  35. package/dist/cli/client-7RSITSKJ.js +20 -0
  36. package/dist/cli/{client-LXBODS53.mjs → client-NVSE7EBL.mjs} +3 -3
  37. package/dist/cli/{csv-3346Z7MA.mjs → csv-FC2PSRSE.mjs} +3 -3
  38. package/dist/cli/{csv-5UMO4TMZ.js → csv-L7MQDTXX.js} +12 -12
  39. package/dist/cli/{db-RBWIVEB3.js → db-7WOBHZBZ.js} +29 -29
  40. package/dist/cli/{db-HVAQDN7U.mjs → db-G5HO22EN.mjs} +4 -4
  41. package/dist/cli/{describe-LAAOJYI2.js → describe-AWFEE2EE.js} +16 -16
  42. package/dist/cli/{describe-OKSZOU3V.mjs → describe-KCUL54J3.mjs} +9 -9
  43. package/dist/cli/{executions-5WENZ6MO.js → executions-MXEI32CR.js} +6 -6
  44. package/dist/cli/{executions-T56YNXAC.mjs → executions-TSEMNPMJ.mjs} +4 -4
  45. package/dist/cli/{feedback-YZILULGJ.js → feedback-EPVGGNT6.js} +7 -7
  46. package/dist/cli/{feedback-RU4EKJYX.mjs → feedback-R72V4O7H.mjs} +3 -3
  47. package/dist/cli/git-FZN5IHKS.js +23 -0
  48. package/dist/cli/{git-LX7NYWDT.mjs → git-GVFRGXZI.mjs} +4 -4
  49. package/dist/cli/index.js +79 -79
  50. package/dist/cli/index.mjs +31 -31
  51. package/dist/cli/{legacy-noops-K6W26TQA.js → legacy-noops-3Q4O5QJT.js} +7 -7
  52. package/dist/cli/{legacy-noops-SN44IUWD.mjs → legacy-noops-4QF2EUUO.mjs} +4 -4
  53. package/dist/cli/{monitors-BQ5SXRDD.mjs → monitors-AWGYR66F.mjs} +4 -4
  54. package/dist/cli/{monitors-R4D7X7PL.js → monitors-RKV3XM5P.js} +85 -85
  55. package/dist/cli/{org-6GWQHHLF.js → org-DTERGBF7.js} +60 -60
  56. package/dist/cli/{org-RNR3CGVL.mjs → org-YMHTIEYB.mjs} +4 -4
  57. package/dist/cli/play-F7ZUV3HE.js +153 -0
  58. package/dist/cli/{play-CPG4HFXR.mjs → play-VRTGFHNX.mjs} +8 -8
  59. package/dist/cli/{providers-YEFPQW3K.mjs → providers-VJJSRFOV.mjs} +4 -4
  60. package/dist/cli/{providers-AP5NBYJF.js → providers-WIKQGBZQ.js} +7 -7
  61. package/dist/cli/{quickstart-5D6WSPKU.js → quickstart-BUXTOSWT.js} +5 -5
  62. package/dist/cli/{quickstart-IT43KYUN.mjs → quickstart-MJUJ3JM2.mjs} +3 -3
  63. package/dist/cli/search-5MYDHDTY.js +26 -0
  64. package/dist/cli/{search-BVTZBNF3.mjs → search-LAJ4V4OY.mjs} +5 -5
  65. package/dist/cli/{secrets-7HG77SLP.mjs → secrets-JGZRDC7K.mjs} +4 -4
  66. package/dist/cli/{secrets-L6Q2JJNX.js → secrets-UDB4XWHC.js} +13 -13
  67. package/dist/cli/{sessions-SSBDCVQN.mjs → sessions-5BPLCV4K.mjs} +4 -4
  68. package/dist/cli/{sessions-TNXYON2R.js → sessions-YO24QYTQ.js} +5 -5
  69. package/dist/cli/{settings-5L23COY7.mjs → settings-RMHY4XMX.mjs} +7 -7
  70. package/dist/cli/{settings-4FKK3LUF.js → settings-YLWSKW7F.js} +74 -74
  71. package/dist/cli/{setup-EB5JLUFH.js → setup-MVCAZC64.js} +41 -41
  72. package/dist/cli/{setup-GXXWJFRV.mjs → setup-MWD2WOPN.mjs} +6 -6
  73. package/dist/cli/{skills-ETEFVVPT.mjs → skills-7XXKMWN3.mjs} +4 -4
  74. package/dist/cli/skills-D7IDTAKN.js +28 -0
  75. package/dist/cli/tools-BH4LHBHV.js +40 -0
  76. package/dist/cli/{tools-HDTU55RW.mjs → tools-BM22TL5A.mjs} +6 -6
  77. package/dist/cli/update-BF2BPMYK.js +28 -0
  78. package/dist/cli/{update-FR5QUV5I.mjs → update-BLLLZRDG.mjs} +6 -6
  79. package/dist/cli/{workflow-BE77YVLP.mjs → workflow-EOMW666N.mjs} +5 -5
  80. package/dist/cli/{workflow-OFWWX4ZP.js → workflow-WG6QFCFL.js} +15 -15
  81. package/dist/index.js +6 -6
  82. package/dist/index.mjs +3 -3
  83. package/dist/install-integrity.json +76 -76
  84. package/dist/plays/bundle-play-file.mjs +1 -1
  85. package/dist/release.d.mts +1 -1
  86. package/dist/release.d.ts +1 -1
  87. package/dist/release.js +2 -2
  88. package/dist/release.mjs +1 -1
  89. package/package.json +1 -1
  90. package/dist/cli/auth-LVTYDMEL.js +0 -31
  91. package/dist/cli/client-V4OIXTP6.js +0 -20
  92. package/dist/cli/git-XASJHFDR.js +0 -23
  93. package/dist/cli/play-2V2Y4P3P.js +0 -153
  94. package/dist/cli/search-O66KVPGA.js +0 -26
  95. package/dist/cli/skills-XFMWA4WX.js +0 -28
  96. package/dist/cli/tools-3TWNYKZY.js +0 -40
  97. package/dist/cli/update-AEBCM2LT.js +0 -28
@@ -10,11 +10,11 @@ import {
10
10
  } from "./chunk-EDWJY6T4.mjs";
11
11
  import {
12
12
  registerDeprecatedSearchCommand
13
- } from "./chunk-ID5OGCLU.mjs";
13
+ } from "./chunk-FTV2LY4S.mjs";
14
14
  import {
15
15
  handleDeploymentGet,
16
16
  handleDeploymentsList
17
- } from "./chunk-MIHJFRGP.mjs";
17
+ } from "./chunk-TOB6N2QF.mjs";
18
18
  import {
19
19
  PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY,
20
20
  PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER,
@@ -39,7 +39,7 @@ import {
39
39
  normalizeRunEventOperationRequest,
40
40
  parseLogLevel,
41
41
  playInputExampleArgs
42
- } from "./chunk-SSRGN56V.mjs";
42
+ } from "./chunk-G5KDPFKG.mjs";
43
43
  import {
44
44
  CSV_DATA_INPUT_KEY,
45
45
  buildNamedPlayRunRequest,
@@ -72,10 +72,10 @@ import {
72
72
  printJsonError,
73
73
  renderCommandEnvelopeText,
74
74
  shouldEmitJson
75
- } from "./chunk-J47TX67H.mjs";
75
+ } from "./chunk-YSM3GVSU.mjs";
76
76
  import {
77
77
  fetchWithDeploymentProtection
78
- } from "./chunk-YMLGJ2B7.mjs";
78
+ } from "./chunk-KSHINNFC.mjs";
79
79
  import {
80
80
  PLAY_DEFAULT_EXPORT,
81
81
  extractDefinedPlayName,
@@ -83,7 +83,7 @@ import {
83
83
  listPlayFileExports,
84
84
  parsePlaySourceForAnalysis,
85
85
  resolveEnabledExecutionProfile
86
- } from "./chunk-EV4QJE4J.mjs";
86
+ } from "./chunk-IIOBMOMH.mjs";
87
87
  import {
88
88
  DeeplineError
89
89
  } from "./chunk-NXGCO4JB.mjs";
@@ -10385,66 +10385,53 @@ function normalizePlayPath(filePath) {
10385
10385
  return resolve6(filePath);
10386
10386
  }
10387
10387
  }
10388
- function formatBundlingErrors(filePath, errors) {
10389
- return `Failed to bundle ${filePath}: ${errors.join("; ")}`;
10390
- }
10391
- function formatUnresolvedPackagedFiles(filePath, unresolvedFileReferences) {
10392
- const details = unresolvedFileReferences.map((unresolved) => `${unresolved.sourceFragment}: ${unresolved.message}`).join("; ");
10393
- return `Failed to package local ctx.csv(...) files in ${filePath}: ${details}`;
10388
+ var PlayBundleGraphError = class extends Error {
10389
+ constructor(diagnostics) {
10390
+ super(diagnostics.join("\n"));
10391
+ this.diagnostics = diagnostics;
10392
+ }
10393
+ };
10394
+ function unresolvedPackagedFilesMessage(node) {
10395
+ const details = node.unresolvedFileReferences.map((unresolved) => `${unresolved.sourceFragment}: ${unresolved.message}`).join("; ");
10396
+ return `Failed to package local ctx.csv(...) files in ${node.filePath}: ${details}`;
10394
10397
  }
10395
10398
  async function collectBundledPlayGraph(entryFile, profile = null, entryExportName = PLAY_DEFAULT_EXPORT, options = {}) {
10396
10399
  const playBundler = await loadPlayBundler();
10397
10400
  const nodes = /* @__PURE__ */ new Map();
10398
- const visiting = /* @__PURE__ */ new Set();
10401
+ const diagnostics = [];
10402
+ const visited = /* @__PURE__ */ new Set();
10399
10403
  const artifactKind = resolveEnabledExecutionProfile(profile).artifactKind;
10400
10404
  const rootPath = normalizePlayPath(entryFile);
10401
10405
  const visit = async (filePath) => {
10402
10406
  const absolutePath = normalizePlayPath(filePath);
10403
- const cached = nodes.get(absolutePath);
10404
- if (cached) {
10405
- return cached;
10406
- }
10407
- if (visiting.has(absolutePath)) {
10408
- throw new Error(
10409
- `Recursive imported play graph detected while bundling ${absolutePath}. Break the import cycle and compose plays with ctx.runPlay(...) instead.`
10407
+ if (visited.has(absolutePath)) return;
10408
+ visited.add(absolutePath);
10409
+ const bundleResult = await playBundler.bundlePlayFile(absolutePath, {
10410
+ target: artifactKind,
10411
+ ...options.cache === false ? { cache: false } : {},
10412
+ ...absolutePath === rootPath && entryExportName !== PLAY_DEFAULT_EXPORT ? { exportName: entryExportName } : {}
10413
+ });
10414
+ if (bundleResult.success === false) {
10415
+ diagnostics.push(
10416
+ ...bundleResult.errors.map(
10417
+ (error) => `Failed to bundle ${absolutePath}: ${error}`
10418
+ )
10410
10419
  );
10420
+ return;
10411
10421
  }
10412
- visiting.add(absolutePath);
10413
- try {
10414
- const bundleResult = await playBundler.bundlePlayFile(absolutePath, {
10415
- target: artifactKind,
10416
- ...options.cache === false ? { cache: false } : {},
10417
- ...absolutePath === rootPath && entryExportName !== PLAY_DEFAULT_EXPORT ? { exportName: entryExportName } : {}
10418
- });
10419
- if (bundleResult.success === false) {
10420
- throw new Error(
10421
- formatBundlingErrors(absolutePath, bundleResult.errors)
10422
- );
10423
- }
10424
- if (bundleResult.unresolvedFileReferences.length > 0) {
10425
- throw new Error(
10426
- formatUnresolvedPackagedFiles(
10427
- absolutePath,
10428
- bundleResult.unresolvedFileReferences
10429
- )
10430
- );
10431
- }
10432
- const bundledNode = {
10433
- ...bundleResult,
10434
- artifact: artifactForProductionCompatibilityCheck(
10435
- bundleResult.artifact
10436
- )
10437
- };
10438
- nodes.set(absolutePath, bundledNode);
10439
- for (const dependency of bundledNode.importedPlayDependencies) {
10440
- await visit(dependency.filePath);
10441
- }
10442
- return bundledNode;
10443
- } finally {
10444
- visiting.delete(absolutePath);
10422
+ nodes.set(absolutePath, {
10423
+ ...bundleResult,
10424
+ artifact: artifactForProductionCompatibilityCheck(bundleResult.artifact)
10425
+ });
10426
+ for (const dependency of bundleResult.importedPlayDependencies) {
10427
+ await visit(dependency.filePath);
10445
10428
  }
10446
10429
  };
10447
- const root = await visit(entryFile);
10430
+ await visit(rootPath);
10431
+ const root = nodes.get(rootPath);
10432
+ if (!root || diagnostics.length > 0) {
10433
+ throw new PlayBundleGraphError(diagnostics);
10434
+ }
10448
10435
  return { root, nodes };
10449
10436
  }
10450
10437
  async function compileBundledPlayGraphManifests(client, graph) {
@@ -10506,11 +10493,14 @@ function missingPlayDescriptionMessage(node) {
10506
10493
  `Object form: definePlay({ id: "${playName}", description: "Look up company details from a domain.", input, run })`
10507
10494
  ].join(" ");
10508
10495
  }
10509
- function collectMissingPlayDescriptionErrors(graph) {
10510
- return [...graph.nodes.values()].filter((node) => !node.playDescription?.trim()).map(missingPlayDescriptionMessage);
10496
+ function collectPlayGraphAuthoringErrors(graph) {
10497
+ return [...graph.nodes.values()].flatMap((node) => [
10498
+ ...node.unresolvedFileReferences.length > 0 ? [unresolvedPackagedFilesMessage(node)] : [],
10499
+ ...node.playDescription?.trim() ? [] : [missingPlayDescriptionMessage(node)]
10500
+ ]);
10511
10501
  }
10512
- function assertBundledPlayGraphDescriptions(graph) {
10513
- const errors = collectMissingPlayDescriptionErrors(graph);
10502
+ function assertPlayGraphAuthoring(graph) {
10503
+ const errors = collectPlayGraphAuthoringErrors(graph);
10514
10504
  if (errors.length > 0) {
10515
10505
  throw new Error(errors.join("\n"));
10516
10506
  }
@@ -14709,20 +14699,12 @@ async function checkOneExportedPlay(input) {
14709
14699
  stage: "bundle",
14710
14700
  result: {
14711
14701
  valid: false,
14712
- errors: [error instanceof Error ? error.message : String(error)]
14702
+ errors: error instanceof PlayBundleGraphError ? error.diagnostics : [error instanceof Error ? error.message : String(error)]
14713
14703
  }
14714
14704
  };
14715
14705
  }
14716
14706
  const playName = graph.root.playName ?? fallbackName;
14717
- const descriptionErrors = collectMissingPlayDescriptionErrors(graph);
14718
- if (descriptionErrors.length > 0) {
14719
- return {
14720
- exportName,
14721
- playName,
14722
- stage: "authoring",
14723
- result: { valid: false, errors: descriptionErrors }
14724
- };
14725
- }
14707
+ const authoringErrors = collectPlayGraphAuthoringErrors(graph);
14726
14708
  const client = new DeeplineClient();
14727
14709
  const integrationMode = resolveEvalIntegrationMode();
14728
14710
  const importedPlays = [...graph.nodes.values()].filter((node) => node.filePath !== graph.root.filePath).map((node) => ({
@@ -14740,13 +14722,16 @@ async function checkOneExportedPlay(input) {
14740
14722
  ...importedPlays.length > 0 ? { importedPlays } : {},
14741
14723
  ...integrationMode ? { integrationMode } : {}
14742
14724
  });
14725
+ const valid = result.valid && authoringErrors.length === 0;
14743
14726
  return {
14744
14727
  exportName,
14745
14728
  playName,
14729
+ ...authoringErrors.length > 0 ? { stage: "authoring" } : {},
14746
14730
  result: {
14747
14731
  ...result,
14748
- errors: result.valid ? result.errors : addPlayCheckRepairHints({
14749
- errors: result.errors,
14732
+ valid,
14733
+ errors: valid ? result.errors : addPlayCheckRepairHints({
14734
+ errors: [...authoringErrors, ...result.errors],
14750
14735
  sourceCode: graph.root.sourceCode
14751
14736
  }),
14752
14737
  toolGetterHints: result.toolGetterHints ?? await buildToolGetterHints(client, result.staticPipeline)
@@ -14788,7 +14773,7 @@ async function handleFileBackedRun(options, hooks) {
14788
14773
  { cache: !options.dryRun }
14789
14774
  )
14790
14775
  );
14791
- assertBundledPlayGraphDescriptions(graph);
14776
+ assertPlayGraphAuthoring(graph);
14792
14777
  if (options.dryRun) {
14793
14778
  progress.complete();
14794
14779
  renderLocalPlayExecutionPlan(
@@ -17266,7 +17251,7 @@ async function handlePlaySave(args) {
17266
17251
  { targetKind: "file" },
17267
17252
  () => collectBundledPlayGraph(resolve6(options.target))
17268
17253
  );
17269
- assertBundledPlayGraphDescriptions(graph);
17254
+ assertPlayGraphAuthoring(graph);
17270
17255
  } catch (error) {
17271
17256
  console.error(error instanceof Error ? error.message : String(error));
17272
17257
  return 7;
@@ -17391,7 +17376,7 @@ async function handlePlayPublish(args) {
17391
17376
  { targetKind: "file" },
17392
17377
  () => collectBundledPlayGraph(resolve6(playName))
17393
17378
  );
17394
- assertBundledPlayGraphDescriptions(graph);
17379
+ assertPlayGraphAuthoring(graph);
17395
17380
  } catch (error) {
17396
17381
  console.error(error instanceof Error ? error.message : String(error));
17397
17382
  return 1;
@@ -18166,7 +18151,7 @@ Examples:
18166
18151
  process.exitCode = await ownView();
18167
18152
  return;
18168
18153
  }
18169
- const { describeAnything } = await import("./describe-OKSZOU3V.mjs");
18154
+ const { describeAnything } = await import("./describe-KCUL54J3.mjs");
18170
18155
  process.exitCode = await describeAnything(
18171
18156
  name,
18172
18157
  {
@@ -1,21 +1,21 @@
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 _chunk7EQ3WFD2js = require('./chunk-7EQ3WFD2.js');
3
+ var _chunkG7DUWWKOjs = require('./chunk-G7DUWWKO.js');
4
4
 
5
5
 
6
6
 
7
- var _chunkBYIWZOSAjs = require('./chunk-BYIWZOSA.js');
7
+ var _chunkDOGZHHO5js = require('./chunk-DOGZHHO5.js');
8
8
 
9
9
 
10
10
 
11
- var _chunkNUJIZBLAjs = require('./chunk-NUJIZBLA.js');
11
+ var _chunk2OJGKWOXjs = require('./chunk-2OJGKWOX.js');
12
12
 
13
13
  // src/cli/search-ref.ts
14
14
  var _fs = require('fs');
15
15
  var _path = require('path');
16
16
  var SEARCH_REF_TTL_MS = 15 * 6e4;
17
17
  function lastSearchPath() {
18
- return _path.join.call(void 0, _chunkNUJIZBLAjs.sdkCliStateDirPath.call(void 0, _chunkNUJIZBLAjs.resolveConfig.call(void 0, ).baseUrl), "last-search.json");
18
+ return _path.join.call(void 0, _chunk2OJGKWOXjs.sdkCliStateDirPath.call(void 0, _chunk2OJGKWOXjs.resolveConfig.call(void 0, ).baseUrl), "last-search.json");
19
19
  }
20
20
  function rememberSearchRef(searchRef) {
21
21
  try {
@@ -127,7 +127,7 @@ function searchRow(item) {
127
127
  }
128
128
  function renderSearchResults(result) {
129
129
  if (result.results.length === 0)
130
- return _chunkBYIWZOSAjs.renderCommandEnvelopeText.call(void 0, result);
130
+ return _chunkDOGZHHO5js.renderCommandEnvelopeText.call(void 0, result);
131
131
  const rows = result.results.map(searchRow);
132
132
  const kinds = new Set(rows.map((row) => row.kind));
133
133
  const onlyTools = kinds.size === 1 && kinds.has("tool");
@@ -144,7 +144,7 @@ function renderSearchResults(result) {
144
144
  actions: _optionalChain([render, 'optionalAccess', _9 => _9.actions])
145
145
  };
146
146
  const followUps = _optionalChain([remaining, 'access', _10 => _10.sections, 'optionalAccess', _11 => _11.length]) || _optionalChain([remaining, 'access', _12 => _12.actions, 'optionalAccess', _13 => _13.length]) ? `
147
- ${_chunkBYIWZOSAjs.renderCommandEnvelopeText.call(void 0, { render: remaining })}` : "";
147
+ ${_chunkDOGZHHO5js.renderCommandEnvelopeText.call(void 0, { render: remaining })}` : "";
148
148
  const notes = rows.flatMap(
149
149
  (row) => row.notes.map((note) => ` ${row.id}: ${note}`)
150
150
  );
@@ -224,7 +224,7 @@ async function runSearch(queryInput, options, types, exclude = []) {
224
224
  console.error(USAGE);
225
225
  return 1;
226
226
  }
227
- const { search_ref: searchRef, ...result } = await new (0, _chunk7EQ3WFD2js.DeeplineClient)().search({
227
+ const { search_ref: searchRef, ...result } = await new (0, _chunkG7DUWWKOjs.DeeplineClient)().search({
228
228
  query,
229
229
  types,
230
230
  exclude,
@@ -238,7 +238,7 @@ async function runSearch(queryInput, options, types, exclude = []) {
238
238
  });
239
239
  if (searchRef) rememberSearchRef(searchRef);
240
240
  pointAtDescribe(result);
241
- _chunkBYIWZOSAjs.printCommandEnvelope.call(void 0, result, {
241
+ _chunkDOGZHHO5js.printCommandEnvelope.call(void 0, result, {
242
242
  json: options.json === true,
243
243
  text: renderSearchResults(result)
244
244
  });
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkNUJIZBLAjs = require('./chunk-NUJIZBLA.js');
6
+ var _chunk2OJGKWOXjs = require('./chunk-2OJGKWOX.js');
7
7
 
8
8
 
9
9
  var _chunk7P5AA3SNjs = require('./chunk-7P5AA3SN.js');
@@ -136,8 +136,8 @@ var BROWSER_OPEN_COOLDOWN_MS = 3e4;
136
136
  var SAME_URL_BROWSER_OPEN_COOLDOWN_MS = 5 * 6e4;
137
137
  var defaultBrowserCommandRunner = childProcess;
138
138
  function getAuthedHttpClient() {
139
- const config = _chunkNUJIZBLAjs.resolveConfig.call(void 0, );
140
- return { config, http: new (0, _chunkNUJIZBLAjs.HttpClient)(config) };
139
+ const config = _chunk2OJGKWOXjs.resolveConfig.call(void 0, );
140
+ return { config, http: new (0, _chunk2OJGKWOXjs.HttpClient)(config) };
141
141
  }
142
142
  function stableOsUserId() {
143
143
  try {
@@ -477,7 +477,7 @@ function collectLocalEnvInfo() {
477
477
  os: `${process.platform} ${process.arch}`,
478
478
  node_version: process.version,
479
479
  home_dir: homeDir,
480
- agent_runtime: _chunkNUJIZBLAjs.detectAgentRuntime.call(void 0, )
480
+ agent_runtime: _chunk2OJGKWOXjs.detectAgentRuntime.call(void 0, )
481
481
  };
482
482
  const env = process.env;
483
483
  const optional = {
@@ -725,9 +725,9 @@ function markdownTableFromRows(rows, preferredColumns = []) {
725
725
  }
726
726
  function withAgentCommandContext(value) {
727
727
  const valueRecord = value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
728
- return _chunkNUJIZBLAjs.detectAgentRuntime.call(void 0, ) !== "unknown" && valueRecord && !Object.prototype.hasOwnProperty.call(valueRecord, "command_context") ? {
728
+ return _chunk2OJGKWOXjs.detectAgentRuntime.call(void 0, ) !== "unknown" && valueRecord && !Object.prototype.hasOwnProperty.call(valueRecord, "command_context") ? {
729
729
  ...valueRecord,
730
- command_context: _chunkNUJIZBLAjs.resolveCliCommandContext.call(void 0, )
730
+ command_context: _chunk2OJGKWOXjs.resolveCliCommandContext.call(void 0, )
731
731
  } : value;
732
732
  }
733
733
  function printJson(value, fields) {
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  npmSupportsAllowScripts,
3
3
  readNpmVersion
4
- } from "./chunk-7WL23HDH.mjs";
4
+ } from "./chunk-TJSLXGQ2.mjs";
5
5
  import {
6
6
  resolveShellSpawn,
7
7
  runSkillsCommand
8
- } from "./chunk-NHTICK5G.mjs";
8
+ } from "./chunk-RI7LPAUP.mjs";
9
9
  import {
10
10
  printCommandEnvelope
11
- } from "./chunk-J47TX67H.mjs";
11
+ } from "./chunk-YSM3GVSU.mjs";
12
12
  import {
13
13
  autoDetectBaseUrl
14
- } from "./chunk-YMLGJ2B7.mjs";
14
+ } from "./chunk-KSHINNFC.mjs";
15
15
 
16
16
  // src/cli/commands/update.ts
17
17
  import { spawn, spawnSync } from "child_process";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  DeeplineClient
3
- } from "./chunk-SSRGN56V.mjs";
3
+ } from "./chunk-G5KDPFKG.mjs";
4
4
  import {
5
5
  printCommandEnvelope,
6
6
  renderCommandEnvelopeText
7
- } from "./chunk-J47TX67H.mjs";
7
+ } from "./chunk-YSM3GVSU.mjs";
8
8
  import {
9
9
  resolveConfig,
10
10
  sdkCliStateDirPath
11
- } from "./chunk-YMLGJ2B7.mjs";
11
+ } from "./chunk-KSHINNFC.mjs";
12
12
 
13
13
  // src/cli/search-ref.ts
14
14
  import { mkdirSync, readFileSync, writeFileSync } from "fs";
@@ -15,7 +15,7 @@ import {
15
15
  RETAINED_PIPELINE_RECEIVERS_HEADER,
16
16
  RUNTIME_ENVIRONMENT_TOKEN_HEADER,
17
17
  resolveConfig
18
- } from "./chunk-YMLGJ2B7.mjs";
18
+ } from "./chunk-KSHINNFC.mjs";
19
19
  import {
20
20
  PLAY_RUNTIME_BACKENDS,
21
21
  RAW_V2_TOOL_RESPONSE_CONTRACT,
@@ -15,7 +15,7 @@ var _chunkLA46MMTLjs = require('./chunk-LA46MMTL.js');
15
15
 
16
16
 
17
17
 
18
- var _chunkNUJIZBLAjs = require('./chunk-NUJIZBLA.js');
18
+ var _chunk2OJGKWOXjs = require('./chunk-2OJGKWOX.js');
19
19
 
20
20
 
21
21
 
@@ -167,7 +167,7 @@ async function queryCustomerDatabase(http, input) {
167
167
  if (error instanceof _chunk7P5AA3SNjs.DeeplineError && (_optionalChain([error, 'access', _2 => _2.code, 'optionalAccess', _3 => _3.startsWith, 'call', _4 => _4("NETWORK_")]) || // Older API readers return PostgreSQL errors as HTTP 400, including
168
168
  // lost connections and explicitly unknown transaction resolution.
169
169
  /^08[A-Z0-9]{3}$/.test(_nullishCoalesce(error.code, () => ( ""))) || ["57P01", "57P02", "57P03"].includes(_nullishCoalesce(error.code, () => ( ""))) || error.statusCode === 408 || (_nullishCoalesce(error.statusCode, () => ( 0))) >= 500)) {
170
- throw new (0, _chunkNUJIZBLAjs.CustomerDbQueryOutcomeUnknownError)(
170
+ throw new (0, _chunk2OJGKWOXjs.CustomerDbQueryOutcomeUnknownError)(
171
171
  error,
172
172
  plan.request.body.operation_key
173
173
  );
@@ -175,7 +175,7 @@ async function queryCustomerDatabase(http, input) {
175
175
  throw error;
176
176
  }
177
177
  if (!result || typeof result !== "object" || Array.isArray(result) || typeof result.command !== "string" || !Array.isArray(result.columns) || !Array.isArray(result.rows) || typeof result.truncated !== "boolean" || result.row_count !== null && (!Number.isSafeInteger(result.row_count) || result.row_count < 0) || !Number.isSafeInteger(result.row_count_returned) || result.row_count_returned < 0) {
178
- throw new (0, _chunkNUJIZBLAjs.CustomerDbQueryOutcomeUnknownError)(
178
+ throw new (0, _chunk2OJGKWOXjs.CustomerDbQueryOutcomeUnknownError)(
179
179
  new (0, _chunk7P5AA3SNjs.DeeplineError)(
180
180
  "The SQL response did not contain a valid result.",
181
181
  200,
@@ -186,7 +186,7 @@ async function queryCustomerDatabase(http, input) {
186
186
  }
187
187
  const operation = result.operation;
188
188
  if (input.operationKey !== void 0 && (!operation || operation.operation_key !== input.operationKey || !Number.isSafeInteger(operation.completed_at_ms) || operation.completed_at_ms < 0 || !["executed", "operation_recovery"].includes(operation.source))) {
189
- throw new (0, _chunkNUJIZBLAjs.CustomerDbQueryOutcomeUnknownError)(
189
+ throw new (0, _chunk2OJGKWOXjs.CustomerDbQueryOutcomeUnknownError)(
190
190
  new (0, _chunk7P5AA3SNjs.DeeplineError)(
191
191
  "The server did not confirm the original atomic SQL operation.",
192
192
  200,
@@ -2875,8 +2875,8 @@ function runtimeSelectionHeaders(runtime) {
2875
2875
  }
2876
2876
  const receivers = _optionalChain([process, 'access', _102 => _102.env, 'access', _103 => _103.DEEPLINE_RUNTIME_RETAINED_PIPELINE_RECEIVERS, 'optionalAccess', _104 => _104.trim, 'call', _105 => _105()]);
2877
2877
  return {
2878
- [_chunkNUJIZBLAjs.RUNTIME_ENVIRONMENT_TOKEN_HEADER]: token,
2879
- ...receivers ? { [_chunkNUJIZBLAjs.RETAINED_PIPELINE_RECEIVERS_HEADER]: receivers } : {}
2878
+ [_chunk2OJGKWOXjs.RUNTIME_ENVIRONMENT_TOKEN_HEADER]: token,
2879
+ ...receivers ? { [_chunk2OJGKWOXjs.RETAINED_PIPELINE_RECEIVERS_HEADER]: receivers } : {}
2880
2880
  };
2881
2881
  }
2882
2882
  function isolatedCiRuntimeEventReadHeaders() {
@@ -2892,7 +2892,7 @@ function isolatedCiRuntimeEventReadHeaders() {
2892
2892
  "RUNTIME_EVENT_INTERNAL_TOKEN_REQUIRED"
2893
2893
  );
2894
2894
  }
2895
- return { [_chunkNUJIZBLAjs.COORDINATOR_INTERNAL_TOKEN_HEADER]: token };
2895
+ return { [_chunk2OJGKWOXjs.COORDINATOR_INTERNAL_TOKEN_HEADER]: token };
2896
2896
  }
2897
2897
  function normalizeTestPolicyOverrides(value, source) {
2898
2898
  if (value && typeof value === "object" && !Array.isArray(value)) {
@@ -3182,8 +3182,8 @@ var DeeplineClient = (_class = class _DeeplineClient {
3182
3182
  * @throws {@link ConfigError} if no API key can be resolved from any source.
3183
3183
  */
3184
3184
  constructor(options) {
3185
- this.config = _chunkNUJIZBLAjs.resolveConfig.call(void 0, options);
3186
- this.http = new (0, _chunkNUJIZBLAjs.HttpClient)(this.config);
3185
+ this.config = _chunk2OJGKWOXjs.resolveConfig.call(void 0, options);
3186
+ this.http = new (0, _chunk2OJGKWOXjs.HttpClient)(this.config);
3187
3187
  this.toolCalls = new ToolCalls(
3188
3188
  this.http,
3189
3189
  this.config.timeout,
@@ -2451,6 +2451,7 @@ async function analyzeSourceGraph(entryFile, adapter, exportName) {
2451
2451
  const packages = /* @__PURE__ */ new Map();
2452
2452
  const importedPlayDependencies = /* @__PURE__ */ new Map();
2453
2453
  const visited = /* @__PURE__ */ new Set();
2454
+ const importViolations = [];
2454
2455
  const visitFile = async (filePath) => {
2455
2456
  const absolutePath = await normalizeLocalPath(filePath);
2456
2457
  if (visited.has(absolutePath)) {
@@ -2521,23 +2522,26 @@ async function analyzeSourceGraph(entryFile, adapter, exportName) {
2521
2522
  );
2522
2523
  packages.set(packageImport.name, packageImport.version);
2523
2524
  };
2524
- try {
2525
- for (const reference of findSourceImportReferences(sourceCode2)) {
2525
+ for (const reference of findSourceImportReferences(sourceCode2)) {
2526
+ try {
2526
2527
  await handleSpecifier(
2527
2528
  reference.specifier,
2528
2529
  reference.line,
2529
2530
  reference.column,
2530
2531
  reference.kind
2531
2532
  );
2533
+ } catch (error) {
2534
+ const message = error instanceof Error ? error.message : String(error);
2535
+ importViolations.push(
2536
+ message.startsWith(":") ? `${absolutePath}${message}` : message
2537
+ );
2532
2538
  }
2533
- } catch (error) {
2534
- if (error instanceof Error && error.message.startsWith(":")) {
2535
- throw new Error(`${absolutePath}${error.message}`);
2536
- }
2537
- throw error;
2538
2539
  }
2539
2540
  };
2540
2541
  await visitFile(absoluteEntryFile);
2542
+ if (importViolations.length > 0) {
2543
+ throw new AggregateError(importViolations, importViolations.join("\n"));
2544
+ }
2541
2545
  const sourceCode = localFiles.get(absoluteEntryFile) ?? "";
2542
2546
  const sourceHash = sha256(sourceCode);
2543
2547
  const graphHash = sha256(
@@ -2894,6 +2898,13 @@ authoring-contract-edition:${PLAY_AUTHORING_CONTRACT_EDITION}`
2894
2898
  importedPlayDependencies: analysis.importedPlayDependencies
2895
2899
  };
2896
2900
  } catch (error) {
2901
+ if (error instanceof AggregateError) {
2902
+ return {
2903
+ success: false,
2904
+ filePath: absolutePath,
2905
+ errors: error.errors.map(String)
2906
+ };
2907
+ }
2897
2908
  if (error && typeof error === "object" && "errors" in error) {
2898
2909
  const errors = Array.isArray(error.errors) ? error.errors.map(formatEsbuildMessage) : ["Play bundling failed."];
2899
2910
  return {