deepline 0.3.375 → 0.3.376

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 (93) hide show
  1. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  2. package/dist/bundling-sources/shared_libs/play-runtime/transient-service-error.ts +56 -4
  3. package/dist/cli/auth-BTFXJQLT.js +35 -0
  4. package/dist/cli/{auth-U3Y7DTIG.mjs → auth-MLCDUTJY.mjs} +4 -4
  5. package/dist/cli/{billing-P2DNRAND.js → billing-IONI4V7P.js} +73 -73
  6. package/dist/cli/{billing-TKARGBO3.mjs → billing-OUGNDBL4.mjs} +4 -4
  7. package/dist/cli/{chunk-HP4BE43N.js → chunk-34KUUN3Z.js} +50 -50
  8. package/dist/cli/{chunk-M2HVNJ47.js → chunk-47X6MQ7J.js} +60 -60
  9. package/dist/cli/{chunk-MTBQEND4.js → chunk-4V2Q3JO6.js} +15 -15
  10. package/dist/cli/{chunk-HEF6UDGA.js → chunk-5HDB7XXT.js} +235 -235
  11. package/dist/cli/{chunk-B3TQIJ6L.mjs → chunk-5HJHTZI6.mjs} +1 -1
  12. package/dist/cli/{chunk-LZUWGLM4.js → chunk-6EYTKUDI.js} +2 -2
  13. package/dist/cli/{chunk-IG3GOO4T.mjs → chunk-7LX2G2PU.mjs} +1 -1
  14. package/dist/cli/{chunk-ADSZGPYZ.js → chunk-7ZZSGV4A.js} +1 -1
  15. package/dist/cli/{chunk-DHTG5CCI.js → chunk-A6ZTYKYF.js} +18 -1
  16. package/dist/cli/{chunk-DAG4ZBTJ.js → chunk-ETUV6RRK.js} +9 -9
  17. package/dist/cli/{chunk-HSIVHAZA.mjs → chunk-GMRWUGXB.mjs} +3 -3
  18. package/dist/cli/{chunk-ZHXPNJQI.mjs → chunk-H7SLESX6.mjs} +1 -1
  19. package/dist/cli/{chunk-4GP56LRE.mjs → chunk-HDB4GAWY.mjs} +1 -1
  20. package/dist/cli/{chunk-F5CU5ALX.js → chunk-KHZ6WEVF.js} +26 -26
  21. package/dist/cli/{chunk-STYH5U6W.mjs → chunk-L6OSOKS6.mjs} +7 -7
  22. package/dist/cli/{chunk-M5QDOHLG.mjs → chunk-MHRDXS7J.mjs} +1 -1
  23. package/dist/cli/{chunk-IQTHRG6E.js → chunk-N6KIEYZV.js} +4 -4
  24. package/dist/cli/{chunk-GN5QM2BB.js → chunk-QSH5CHRI.js} +6 -6
  25. package/dist/cli/{chunk-QEEIEHGV.mjs → chunk-SPZNLE2D.mjs} +2 -2
  26. package/dist/cli/{chunk-SJVJZOPT.mjs → chunk-UABI2T3Z.mjs} +2 -2
  27. package/dist/cli/{chunk-B2LFDTXZ.mjs → chunk-UE2UHYT3.mjs} +18 -1
  28. package/dist/cli/{chunk-MPQSBHMA.mjs → chunk-V7ZREPSD.mjs} +4 -4
  29. package/dist/cli/{chunk-Z4ARN4X3.mjs → chunk-VL5ERG22.mjs} +2 -2
  30. package/dist/cli/{chunk-ZFWU5V2A.mjs → chunk-VNBAOWN3.mjs} +6 -6
  31. package/dist/cli/{chunk-CUIBDSSS.js → chunk-Y4MXBE3V.js} +8 -8
  32. package/dist/cli/{chunk-NVXMPGM4.js → chunk-Y5W5IIA4.js} +57 -57
  33. package/dist/cli/{chunk-MKS7C3YR.mjs → chunk-YXQ7SRL3.mjs} +2 -2
  34. package/dist/cli/{chunk-KK4XPUVA.js → chunk-ZXFGA2VK.js} +8 -8
  35. package/dist/cli/{csv-WAEVGKHF.js → csv-LPC7BGZ2.js} +12 -12
  36. package/dist/cli/{csv-3FTYTEJ3.mjs → csv-NITSP7QJ.mjs} +3 -3
  37. package/dist/cli/{db-HUGGFIVS.mjs → db-JVDYEXNC.mjs} +4 -4
  38. package/dist/cli/{db-UDMDGNKO.js → db-WGD54UKM.js} +29 -29
  39. package/dist/cli/{describe-SIAKZYRK.js → describe-GA7LSJRY.js} +28 -28
  40. package/dist/cli/{describe-EOBOGTB5.mjs → describe-SVMLA6SN.mjs} +9 -9
  41. package/dist/cli/{executions-O6Z2HSLK.mjs → executions-CXBJDGMU.mjs} +4 -4
  42. package/dist/cli/{executions-HYYP27MG.js → executions-P47HEI4N.js} +6 -6
  43. package/dist/cli/{feedback-RRAMGMQV.mjs → feedback-34OSXUQ2.mjs} +3 -3
  44. package/dist/cli/{feedback-3DWSBHKS.js → feedback-GWKWE5CU.js} +7 -7
  45. package/dist/cli/git-MIPISCON.js +23 -0
  46. package/dist/cli/{git-KVAK7VOL.mjs → git-YAROF6D3.mjs} +4 -4
  47. package/dist/cli/index.js +82 -82
  48. package/dist/cli/index.mjs +32 -32
  49. package/dist/cli/{legacy-noops-MQNCDMY7.mjs → legacy-noops-2G55OKIU.mjs} +4 -4
  50. package/dist/cli/{legacy-noops-V5GQXXUR.js → legacy-noops-MDZQL3QH.js} +7 -7
  51. package/dist/cli/{monitors-6FB63TDM.mjs → monitors-KUGKMABN.mjs} +4 -4
  52. package/dist/cli/{monitors-RFGQILPW.js → monitors-X7QYWFSP.js} +85 -85
  53. package/dist/cli/{org-L33EPH2E.js → org-6XL3IBT2.js} +64 -64
  54. package/dist/cli/{org-TZPQDDVX.mjs → org-CNBBAN4W.mjs} +4 -4
  55. package/dist/cli/{play-PU23OETO.mjs → play-33ZMPAR5.mjs} +8 -8
  56. package/dist/cli/play-3CM3P2DS.js +155 -0
  57. package/dist/cli/{providers-QGQR6ZZF.mjs → providers-3OSQNFPE.mjs} +4 -4
  58. package/dist/cli/{providers-2RHIKO22.js → providers-5POAURDT.js} +7 -7
  59. package/dist/cli/{quickstart-BGQVPI7W.js → quickstart-LQGPDJTS.js} +5 -5
  60. package/dist/cli/{quickstart-24DQYBW7.mjs → quickstart-QICTOOW6.mjs} +3 -3
  61. package/dist/cli/search-A2YLJ4I5.js +26 -0
  62. package/dist/cli/{search-EUN7YFMX.mjs → search-HBIX4SF4.mjs} +5 -5
  63. package/dist/cli/{secrets-OOHN6LNJ.mjs → secrets-6MRGZPHT.mjs} +4 -4
  64. package/dist/cli/{secrets-XL7GUTQA.js → secrets-QKPBNQ3E.js} +13 -13
  65. package/dist/cli/{sessions-SDN4C3YS.mjs → sessions-NODY2OW4.mjs} +4 -4
  66. package/dist/cli/{sessions-FD5XB7M2.js → sessions-NP7BLZD2.js} +5 -5
  67. package/dist/cli/{settings-6ZEKVAYL.js → settings-42QHXUB2.js} +74 -74
  68. package/dist/cli/{settings-3MXRXYXI.mjs → settings-JCEIOTNL.mjs} +7 -7
  69. package/dist/cli/{setup-DWTR6HNT.mjs → setup-3QR4RGMG.mjs} +6 -6
  70. package/dist/cli/{setup-VKQ5EJZR.js → setup-5XXWP54Y.js} +41 -41
  71. package/dist/cli/skills-4JJEAA66.js +28 -0
  72. package/dist/cli/{skills-ISG5UUZW.mjs → skills-U4OMXLNS.mjs} +4 -4
  73. package/dist/cli/{tools-JTC3DR6M.mjs → tools-45OROEZQ.mjs} +7 -7
  74. package/dist/cli/tools-FDCFSA7W.js +40 -0
  75. package/dist/cli/{update-GMTVIHCG.mjs → update-2XCRMJ4R.mjs} +6 -6
  76. package/dist/cli/update-VYL4TXIE.js +28 -0
  77. package/dist/cli/{workflow-2765Y3Y5.js → workflow-47P4LQNC.js} +15 -15
  78. package/dist/cli/{workflow-3POT3VFY.mjs → workflow-7X3GCOPY.mjs} +5 -5
  79. package/dist/index.js +6 -6
  80. package/dist/index.mjs +3 -3
  81. package/dist/install-integrity.json +74 -74
  82. package/dist/release.d.mts +1 -1
  83. package/dist/release.d.ts +1 -1
  84. package/dist/release.js +2 -2
  85. package/dist/release.mjs +1 -1
  86. package/package.json +1 -1
  87. package/dist/cli/auth-B7CLYD7R.js +0 -35
  88. package/dist/cli/git-M36KWCCG.js +0 -23
  89. package/dist/cli/play-YR2XQARF.js +0 -155
  90. package/dist/cli/search-OHELMK6E.js +0 -26
  91. package/dist/cli/skills-6GFW4GCW.js +0 -28
  92. package/dist/cli/tools-LK4L6VCK.js +0 -40
  93. package/dist/cli/update-PSJLAW4Q.js +0 -28
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveShellSpawn
3
- } from "./chunk-QEEIEHGV.mjs";
3
+ } from "./chunk-SPZNLE2D.mjs";
4
4
 
5
5
  // src/cli/npm-script-policy.ts
6
6
  import { spawnSync } from "child_process";
@@ -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 _chunkM2HVNJ47js = require('./chunk-M2HVNJ47.js');
3
+ var _chunk47X6MQ7Jjs = require('./chunk-47X6MQ7J.js');
4
4
 
5
5
  // src/cli/npm-script-policy.ts
6
6
  var _child_process = require('child_process');
@@ -13,7 +13,7 @@ function npmSupportsAllowScripts(version) {
13
13
  }
14
14
  function readNpmVersion(env) {
15
15
  try {
16
- const plan = _chunkM2HVNJ47js.resolveShellSpawn.call(void 0, "npm", ["--version"], process.platform, env);
16
+ const plan = _chunk47X6MQ7Jjs.resolveShellSpawn.call(void 0, "npm", ["--version"], process.platform, env);
17
17
  const result = _child_process.spawnSync.call(void 0, plan.command, plan.args, {
18
18
  encoding: "utf8",
19
19
  env,
@@ -49,7 +49,7 @@ var SDK_RELEASE = {
49
49
  // getters keep their established compatibility behavior.
50
50
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
51
51
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
52
- version: "0.3.375",
52
+ version: "0.3.376",
53
53
  updateSummary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.",
54
54
  packageCapabilities: {
55
55
  updatePreferences: 1
@@ -49,7 +49,7 @@ var SDK_RELEASE = {
49
49
  // getters keep their established compatibility behavior.
50
50
  // 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
51
51
  // 0.3.90 is the first deliberately versioned SDK release for API v3.
52
- version: "0.3.375",
52
+ version: "0.3.376",
53
53
  updateSummary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.",
54
54
  packageCapabilities: {
55
55
  updatePreferences: 1
@@ -4,6 +4,7 @@ var _chunkAID3OYVJjs = require('./chunk-AID3OYVJ.js');
4
4
 
5
5
  // src/cli/described.ts
6
6
  var SHAPE = "{}";
7
+ var RECORD = "Record<string, ";
7
8
  function featureLines(id, features) {
8
9
  if (!features.length) return [];
9
10
  const width = Math.max(...features.map(({ name }) => name.length));
@@ -75,6 +76,13 @@ function schemaType(schema) {
75
76
  ...item.fields ? { fields: item.fields } : {}
76
77
  };
77
78
  }
79
+ if (isRecord(schema.additionalProperties)) {
80
+ const value = schemaType(schema.additionalProperties);
81
+ return {
82
+ type: `${RECORD}${value.type}>${nullable}`,
83
+ ...value.fields ? { fields: value.fields } : {}
84
+ };
85
+ }
78
86
  return {
79
87
  type: types.filter((type) => type !== "null").join(" | ") + nullable || "unknown"
80
88
  };
@@ -162,9 +170,18 @@ function rateLimitSummary(limits) {
162
170
  }
163
171
  function exampleValue(field) {
164
172
  if (field.example !== void 0) return field.example;
173
+ if (field.type.startsWith(RECORD)) {
174
+ const value = field.type.slice(RECORD.length).replace(/>( \| null)?$/, "");
175
+ return { key: exampleValue({ ...field, type: value }) };
176
+ }
165
177
  const type = field.type.toLowerCase();
166
178
  if (type.includes("[]")) return [];
167
- if (type.startsWith(SHAPE) || type.startsWith("object")) return {};
179
+ if (type.startsWith(SHAPE)) {
180
+ return Object.fromEntries(
181
+ (_nullishCoalesce(field.fields, () => ( []))).filter((child) => child.required).map((child) => [child.name, exampleValue(child)])
182
+ );
183
+ }
184
+ if (type.startsWith("object")) return {};
168
185
  if (type.startsWith("integer") || type.startsWith("number")) return 1;
169
186
  if (type.startsWith("boolean")) return true;
170
187
  return "...";
@@ -21,7 +21,7 @@ var _chunkLA46MMTLjs = require('./chunk-LA46MMTL.js');
21
21
 
22
22
 
23
23
 
24
- var _chunkIQTHRG6Ejs = require('./chunk-IQTHRG6E.js');
24
+ var _chunkN6KIEYZVjs = require('./chunk-N6KIEYZV.js');
25
25
 
26
26
 
27
27
 
@@ -137,7 +137,7 @@ async function queryCustomerDatabase(http, input) {
137
137
  if (error instanceof _chunk7P5AA3SNjs.DeeplineError && (_optionalChain([error, 'access', _ => _.code, 'optionalAccess', _2 => _2.startsWith, 'call', _3 => _3("NETWORK_")]) || // Older API readers return PostgreSQL errors as HTTP 400, including
138
138
  // lost connections and explicitly unknown transaction resolution.
139
139
  /^08[A-Z0-9]{3}$/.test(_nullishCoalesce(error.code, () => ( ""))) || ["57P01", "57P02", "57P03"].includes(_nullishCoalesce(error.code, () => ( ""))) || error.statusCode === 408 || (_nullishCoalesce(error.statusCode, () => ( 0))) >= 500)) {
140
- throw new (0, _chunkIQTHRG6Ejs.CustomerDbQueryOutcomeUnknownError)(
140
+ throw new (0, _chunkN6KIEYZVjs.CustomerDbQueryOutcomeUnknownError)(
141
141
  error,
142
142
  plan.request.body.operation_key
143
143
  );
@@ -145,7 +145,7 @@ async function queryCustomerDatabase(http, input) {
145
145
  throw error;
146
146
  }
147
147
  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) {
148
- throw new (0, _chunkIQTHRG6Ejs.CustomerDbQueryOutcomeUnknownError)(
148
+ throw new (0, _chunkN6KIEYZVjs.CustomerDbQueryOutcomeUnknownError)(
149
149
  new (0, _chunk7P5AA3SNjs.DeeplineError)(
150
150
  "The SQL response did not contain a valid result.",
151
151
  200,
@@ -156,7 +156,7 @@ async function queryCustomerDatabase(http, input) {
156
156
  }
157
157
  const operation = result.operation;
158
158
  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))) {
159
- throw new (0, _chunkIQTHRG6Ejs.CustomerDbQueryOutcomeUnknownError)(
159
+ throw new (0, _chunkN6KIEYZVjs.CustomerDbQueryOutcomeUnknownError)(
160
160
  new (0, _chunk7P5AA3SNjs.DeeplineError)(
161
161
  "The server did not confirm the original atomic SQL operation.",
162
162
  200,
@@ -2910,8 +2910,8 @@ function runtimeSelectionHeaders(runtime) {
2910
2910
  }
2911
2911
  const receivers = _optionalChain([process, 'access', _104 => _104.env, 'access', _105 => _105.DEEPLINE_RUNTIME_RETAINED_PIPELINE_RECEIVERS, 'optionalAccess', _106 => _106.trim, 'call', _107 => _107()]);
2912
2912
  return {
2913
- [_chunkIQTHRG6Ejs.RUNTIME_ENVIRONMENT_TOKEN_HEADER]: token,
2914
- ...receivers ? { [_chunkIQTHRG6Ejs.RETAINED_PIPELINE_RECEIVERS_HEADER]: receivers } : {}
2913
+ [_chunkN6KIEYZVjs.RUNTIME_ENVIRONMENT_TOKEN_HEADER]: token,
2914
+ ...receivers ? { [_chunkN6KIEYZVjs.RETAINED_PIPELINE_RECEIVERS_HEADER]: receivers } : {}
2915
2915
  };
2916
2916
  }
2917
2917
  function isolatedCiRuntimeEventReadHeaders() {
@@ -2927,7 +2927,7 @@ function isolatedCiRuntimeEventReadHeaders() {
2927
2927
  "RUNTIME_EVENT_INTERNAL_TOKEN_REQUIRED"
2928
2928
  );
2929
2929
  }
2930
- return { [_chunkIQTHRG6Ejs.COORDINATOR_INTERNAL_TOKEN_HEADER]: token };
2930
+ return { [_chunkN6KIEYZVjs.COORDINATOR_INTERNAL_TOKEN_HEADER]: token };
2931
2931
  }
2932
2932
  function normalizeTestPolicyOverrides(value, source) {
2933
2933
  if (value && typeof value === "object" && !Array.isArray(value)) {
@@ -3217,8 +3217,8 @@ var DeeplineClient = (_class = class _DeeplineClient {
3217
3217
  * @throws {@link ConfigError} if no API key can be resolved from any source.
3218
3218
  */
3219
3219
  constructor(options) {
3220
- this.config = _chunkIQTHRG6Ejs.resolveConfig.call(void 0, options);
3221
- this.http = new (0, _chunkIQTHRG6Ejs.HttpClient)(this.config);
3220
+ this.config = _chunkN6KIEYZVjs.resolveConfig.call(void 0, options);
3221
+ this.http = new (0, _chunkN6KIEYZVjs.HttpClient)(this.config);
3222
3222
  this.toolCalls = new ToolCalls(
3223
3223
  this.http,
3224
3224
  this.config.timeout,
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  DeeplineClient
3
- } from "./chunk-ZHXPNJQI.mjs";
3
+ } from "./chunk-H7SLESX6.mjs";
4
4
  import {
5
5
  printCommandEnvelope,
6
6
  renderCommandEnvelopeText
7
- } from "./chunk-M5QDOHLG.mjs";
7
+ } from "./chunk-MHRDXS7J.mjs";
8
8
  import {
9
9
  resolveConfig,
10
10
  sdkCliStateDirPath
11
- } from "./chunk-4GP56LRE.mjs";
11
+ } from "./chunk-HDB4GAWY.mjs";
12
12
 
13
13
  // src/cli/commands/search.ts
14
14
  import { Option } from "commander";
@@ -21,7 +21,7 @@ import {
21
21
  RETAINED_PIPELINE_RECEIVERS_HEADER,
22
22
  RUNTIME_ENVIRONMENT_TOKEN_HEADER,
23
23
  resolveConfig
24
- } from "./chunk-4GP56LRE.mjs";
24
+ } from "./chunk-HDB4GAWY.mjs";
25
25
  import {
26
26
  DeeplineError,
27
27
  TOOL_EXECUTION_ERROR_SCHEMA_HEADER,
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-NXGCO4JB.mjs";
15
15
  import {
16
16
  SDK_RELEASE
17
- } from "./chunk-IG3GOO4T.mjs";
17
+ } from "./chunk-7LX2G2PU.mjs";
18
18
 
19
19
  // src/errors.ts
20
20
  var CustomerDbQueryOutcomeUnknownError = class extends DeeplineError {
@@ -2,10 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkGN5QM2BBjs = require('./chunk-GN5QM2BB.js');
5
+ var _chunkQSH5CHRIjs = require('./chunk-QSH5CHRI.js');
6
6
 
7
7
 
8
- var _chunkIQTHRG6Ejs = require('./chunk-IQTHRG6E.js');
8
+ var _chunkN6KIEYZVjs = require('./chunk-N6KIEYZV.js');
9
9
 
10
10
  // src/cli/commands/git.ts
11
11
  function shellQuote(value) {
@@ -32,11 +32,11 @@ function renderDeployment(deployment) {
32
32
  return `${deployment.id} ${source} (${kind}) - ${deployment.status}${suffix}`;
33
33
  }
34
34
  async function handleList(options) {
35
- const { http } = _chunkGN5QM2BBjs.getAuthedHttpClient.call(void 0, );
35
+ const { http } = _chunkQSH5CHRIjs.getAuthedHttpClient.call(void 0, );
36
36
  const payload = await http.get(
37
37
  `/api/v2/play-projects${options.all ? "?includeDisabled=1" : ""}`
38
38
  );
39
- _chunkGN5QM2BBjs.printCommandEnvelope.call(void 0,
39
+ _chunkQSH5CHRIjs.printCommandEnvelope.call(void 0,
40
40
  {
41
41
  projects: payload.projects,
42
42
  count: payload.projects.length,
@@ -73,7 +73,7 @@ function describeInstallationStatus(installation) {
73
73
  }
74
74
  }
75
75
  async function handleStatus(options) {
76
- const { http } = _chunkGN5QM2BBjs.getAuthedHttpClient.call(void 0, );
76
+ const { http } = _chunkQSH5CHRIjs.getAuthedHttpClient.call(void 0, );
77
77
  const payload = await http.get("/api/v2/github/installation");
78
78
  const installation = payload.installation;
79
79
  const others = (_nullishCoalesce(payload.installations, () => ( []))).filter(
@@ -136,7 +136,7 @@ async function handleStatus(options) {
136
136
  )
137
137
  );
138
138
  }
139
- _chunkGN5QM2BBjs.printCommandEnvelope.call(void 0,
139
+ _chunkQSH5CHRIjs.printCommandEnvelope.call(void 0,
140
140
  {
141
141
  installation,
142
142
  installations: _nullishCoalesce(payload.installations, () => ( [])),
@@ -147,10 +147,10 @@ async function handleStatus(options) {
147
147
  );
148
148
  }
149
149
  async function handleRepos(options) {
150
- const { http } = _chunkGN5QM2BBjs.getAuthedHttpClient.call(void 0, );
150
+ const { http } = _chunkQSH5CHRIjs.getAuthedHttpClient.call(void 0, );
151
151
  const query = options.installation ? `?installationId=${encodeURIComponent(options.installation)}` : "";
152
152
  const payload = await http.get(`/api/v2/github/repos${query}`);
153
- _chunkGN5QM2BBjs.printCommandEnvelope.call(void 0,
153
+ _chunkQSH5CHRIjs.printCommandEnvelope.call(void 0,
154
154
  {
155
155
  installation: payload.installation,
156
156
  repositories: payload.repositories,
@@ -171,7 +171,7 @@ async function handleRepos(options) {
171
171
  }
172
172
  async function resolveRepoId(repo, installation) {
173
173
  if (/^\d+$/.test(repo)) return Number(repo);
174
- const { http } = _chunkGN5QM2BBjs.getAuthedHttpClient.call(void 0, );
174
+ const { http } = _chunkQSH5CHRIjs.getAuthedHttpClient.call(void 0, );
175
175
  const query = installation ? `?installationId=${encodeURIComponent(installation)}` : "";
176
176
  const payload = await http.get(
177
177
  `/api/v2/github/repos${query}`
@@ -188,7 +188,7 @@ async function resolveRepoId(repo, installation) {
188
188
  }
189
189
  async function handleLink(repo, options) {
190
190
  const repoId = await resolveRepoId(repo, options.installation);
191
- const { http } = _chunkGN5QM2BBjs.getAuthedHttpClient.call(void 0, );
191
+ const { http } = _chunkQSH5CHRIjs.getAuthedHttpClient.call(void 0, );
192
192
  const payload = await http.post("/api/v2/play-projects", {
193
193
  repoId,
194
194
  ...options.installation !== void 0 ? { installationId: options.installation } : {},
@@ -197,7 +197,7 @@ async function handleLink(repo, options) {
197
197
  ...options.branch !== void 0 ? { productionBranch: options.branch } : {},
198
198
  ...options.prChecks !== void 0 ? { checkOnPullRequest: options.prChecks } : {}
199
199
  });
200
- _chunkGN5QM2BBjs.printCommandEnvelope.call(void 0,
200
+ _chunkQSH5CHRIjs.printCommandEnvelope.call(void 0,
201
201
  {
202
202
  project: payload.project,
203
203
  render: {
@@ -220,11 +220,11 @@ async function handleLink(repo, options) {
220
220
  );
221
221
  }
222
222
  async function handleGet(id, options) {
223
- const { http } = _chunkGN5QM2BBjs.getAuthedHttpClient.call(void 0, );
223
+ const { http } = _chunkQSH5CHRIjs.getAuthedHttpClient.call(void 0, );
224
224
  const payload = await http.get(
225
225
  `/api/v2/play-projects/${encodeURIComponent(id)}`
226
226
  );
227
- _chunkGN5QM2BBjs.printCommandEnvelope.call(void 0,
227
+ _chunkQSH5CHRIjs.printCommandEnvelope.call(void 0,
228
228
  {
229
229
  project: payload.project,
230
230
  render: {
@@ -240,7 +240,7 @@ async function handleGet(id, options) {
240
240
  );
241
241
  }
242
242
  async function handleSet(id, options) {
243
- const { http } = _chunkGN5QM2BBjs.getAuthedHttpClient.call(void 0, );
243
+ const { http } = _chunkQSH5CHRIjs.getAuthedHttpClient.call(void 0, );
244
244
  const payload = await http.patch(
245
245
  `/api/v2/play-projects/${encodeURIComponent(id)}`,
246
246
  {
@@ -251,7 +251,7 @@ async function handleSet(id, options) {
251
251
  ...options.disabled !== void 0 ? { disabled: options.disabled } : {}
252
252
  }
253
253
  );
254
- _chunkGN5QM2BBjs.printCommandEnvelope.call(void 0,
254
+ _chunkQSH5CHRIjs.printCommandEnvelope.call(void 0,
255
255
  {
256
256
  project: payload.project,
257
257
  render: {
@@ -264,9 +264,9 @@ async function handleSet(id, options) {
264
264
  );
265
265
  }
266
266
  async function handleUnlink(id, options) {
267
- const { http } = _chunkGN5QM2BBjs.getAuthedHttpClient.call(void 0, );
267
+ const { http } = _chunkQSH5CHRIjs.getAuthedHttpClient.call(void 0, );
268
268
  await http.delete(`/api/v2/play-projects/${encodeURIComponent(id)}`);
269
- _chunkGN5QM2BBjs.printCommandEnvelope.call(void 0,
269
+ _chunkQSH5CHRIjs.printCommandEnvelope.call(void 0,
270
270
  {
271
271
  ok: true,
272
272
  id,
@@ -286,10 +286,10 @@ async function handleUnlink(id, options) {
286
286
  );
287
287
  }
288
288
  async function handleConnect(options) {
289
- const baseUrl = _chunkIQTHRG6Ejs.resolveBaseUrlOnly.call(void 0, );
289
+ const baseUrl = _chunkN6KIEYZVjs.resolveBaseUrlOnly.call(void 0, );
290
290
  const connectUrl = `${baseUrl.replace(/\/$/, "")}/api/v2/github/connect`;
291
- const opened = _chunkGN5QM2BBjs.openInBrowser.call(void 0, connectUrl);
292
- _chunkGN5QM2BBjs.printCommandEnvelope.call(void 0,
291
+ const opened = _chunkQSH5CHRIjs.openInBrowser.call(void 0, connectUrl);
292
+ _chunkQSH5CHRIjs.printCommandEnvelope.call(void 0,
293
293
  {
294
294
  connectUrl,
295
295
  browser: opened,
@@ -311,7 +311,7 @@ async function handleConnect(options) {
311
311
  );
312
312
  }
313
313
  async function handleDeploymentsList(options) {
314
- const { http } = _chunkGN5QM2BBjs.getAuthedHttpClient.call(void 0, );
314
+ const { http } = _chunkQSH5CHRIjs.getAuthedHttpClient.call(void 0, );
315
315
  const query = new URLSearchParams();
316
316
  if (options.repo) query.set("projectId", options.repo);
317
317
  if (options.limit) query.set("limit", options.limit);
@@ -319,7 +319,7 @@ async function handleDeploymentsList(options) {
319
319
  const payload = await http.get(
320
320
  `/api/v2/deployments${suffix}`
321
321
  );
322
- _chunkGN5QM2BBjs.printCommandEnvelope.call(void 0,
322
+ _chunkQSH5CHRIjs.printCommandEnvelope.call(void 0,
323
323
  {
324
324
  deployments: payload.deployments,
325
325
  count: payload.deployments.length,
@@ -363,12 +363,12 @@ function renderDeploymentMonitorLines(results) {
363
363
  ]);
364
364
  }
365
365
  async function handleDeploymentGet(id, options) {
366
- const { http } = _chunkGN5QM2BBjs.getAuthedHttpClient.call(void 0, );
366
+ const { http } = _chunkQSH5CHRIjs.getAuthedHttpClient.call(void 0, );
367
367
  const payload = await http.get(`/api/v2/deployments/${encodeURIComponent(id)}`);
368
368
  const playLines = renderDeploymentPlayLines(payload.deployment.results);
369
369
  const monitorLines = renderDeploymentMonitorLines(payload.deployment.results);
370
370
  const repository = _nullishCoalesce(_optionalChain([payload, 'access', _10 => _10.project, 'optionalAccess', _11 => _11.repoFullName]), () => ( payload.deployment.repoFullName));
371
- _chunkGN5QM2BBjs.printCommandEnvelope.call(void 0,
371
+ _chunkQSH5CHRIjs.printCommandEnvelope.call(void 0,
372
372
  {
373
373
  deployment: payload.deployment,
374
374
  project: payload.project,
@@ -387,9 +387,9 @@ async function handleDeploymentGet(id, options) {
387
387
  );
388
388
  }
389
389
  async function handleDeploymentCancel(id, options) {
390
- const { http } = _chunkGN5QM2BBjs.getAuthedHttpClient.call(void 0, );
390
+ const { http } = _chunkQSH5CHRIjs.getAuthedHttpClient.call(void 0, );
391
391
  const payload = await http.post(`/api/v2/deployments/${encodeURIComponent(id)}/cancel`, {});
392
- _chunkGN5QM2BBjs.printCommandEnvelope.call(void 0,
392
+ _chunkQSH5CHRIjs.printCommandEnvelope.call(void 0,
393
393
  {
394
394
  cancelled: payload.cancelled,
395
395
  deployment: payload.deployment,
@@ -2,7 +2,7 @@ import {
2
2
  addDescribeOptions,
3
3
  recordPlayTermination,
4
4
  schemaFields
5
- } from "./chunk-B2LFDTXZ.mjs";
5
+ } from "./chunk-UE2UHYT3.mjs";
6
6
  import {
7
7
  shellQuote
8
8
  } from "./chunk-OVDNJAJN.mjs";
@@ -19,11 +19,11 @@ import {
19
19
  } from "./chunk-EDWJY6T4.mjs";
20
20
  import {
21
21
  registerDeprecatedSearchCommand
22
- } from "./chunk-HSIVHAZA.mjs";
22
+ } from "./chunk-GMRWUGXB.mjs";
23
23
  import {
24
24
  handleDeploymentGet,
25
25
  handleDeploymentsList
26
- } from "./chunk-SJVJZOPT.mjs";
26
+ } from "./chunk-UABI2T3Z.mjs";
27
27
  import {
28
28
  pinLocalPlayImports,
29
29
  planLocalPlayExecution
@@ -42,7 +42,7 @@ import {
42
42
  normalizeRunEventOperationRequest,
43
43
  parseLogLevel,
44
44
  playInputExampleArgs
45
- } from "./chunk-ZHXPNJQI.mjs";
45
+ } from "./chunk-H7SLESX6.mjs";
46
46
  import {
47
47
  CSV_DATA_INPUT_KEY,
48
48
  buildNamedPlayRunRequest,
@@ -75,10 +75,10 @@ import {
75
75
  printJsonError,
76
76
  renderCommandEnvelopeText,
77
77
  shouldEmitJson
78
- } from "./chunk-M5QDOHLG.mjs";
78
+ } from "./chunk-MHRDXS7J.mjs";
79
79
  import {
80
80
  fetchWithDeploymentProtection
81
- } from "./chunk-4GP56LRE.mjs";
81
+ } from "./chunk-HDB4GAWY.mjs";
82
82
  import {
83
83
  DeeplineError
84
84
  } from "./chunk-NXGCO4JB.mjs";
@@ -16494,7 +16494,7 @@ Examples:
16494
16494
  process.exitCode = await ownView();
16495
16495
  return;
16496
16496
  }
16497
- const { describeAnything } = await import("./describe-EOBOGTB5.mjs");
16497
+ const { describeAnything } = await import("./describe-SVMLA6SN.mjs");
16498
16498
  process.exitCode = await describeAnything(
16499
16499
  name,
16500
16500
  {
@@ -3,7 +3,7 @@ import {
3
3
  detectAgentRuntime,
4
4
  resolveCliCommandContext,
5
5
  resolveConfig
6
- } from "./chunk-4GP56LRE.mjs";
6
+ } from "./chunk-HDB4GAWY.mjs";
7
7
  import {
8
8
  DeeplineError
9
9
  } from "./chunk-NXGCO4JB.mjs";
@@ -14,7 +14,7 @@ var _chunkXNYIZMNQjs = require('./chunk-XNYIZMNQ.js');
14
14
  var _chunk7P5AA3SNjs = require('./chunk-7P5AA3SN.js');
15
15
 
16
16
 
17
- var _chunkADSZGPYZjs = require('./chunk-ADSZGPYZ.js');
17
+ var _chunk7ZZSGV4Ajs = require('./chunk-7ZZSGV4A.js');
18
18
 
19
19
  // src/errors.ts
20
20
  var CustomerDbQueryOutcomeUnknownError = (_class = class extends _chunk7P5AA3SNjs.DeeplineError {
@@ -743,9 +743,9 @@ function resolveCliCommandContext(inputConfig, requestedScope) {
743
743
  }
744
744
 
745
745
  // src/version.ts
746
- var SDK_VERSION = _chunkADSZGPYZjs.SDK_RELEASE.version;
747
- var SDK_API_MAJOR = _chunkADSZGPYZjs.SDK_RELEASE.contracts.api.currentMajor;
748
- var SDK_API_CONTRACT = _nullishCoalesce(_chunkADSZGPYZjs.SDK_RELEASE.contracts.api.legacyWireIds[0], () => ( `api-v${SDK_API_MAJOR}`));
746
+ var SDK_VERSION = _chunk7ZZSGV4Ajs.SDK_RELEASE.version;
747
+ var SDK_API_MAJOR = _chunk7ZZSGV4Ajs.SDK_RELEASE.contracts.api.currentMajor;
748
+ var SDK_API_CONTRACT = _nullishCoalesce(_chunk7ZZSGV4Ajs.SDK_RELEASE.contracts.api.legacyWireIds[0], () => ( `api-v${SDK_API_MAJOR}`));
749
749
 
750
750
  // src/agent-runtime.ts
751
751
 
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkIQTHRG6Ejs = require('./chunk-IQTHRG6E.js');
6
+ var _chunkN6KIEYZVjs = require('./chunk-N6KIEYZV.js');
7
7
 
8
8
 
9
9
  var _chunk7P5AA3SNjs = require('./chunk-7P5AA3SN.js');
@@ -225,8 +225,8 @@ var BROWSER_OPEN_COOLDOWN_MS = 3e4;
225
225
  var SAME_URL_BROWSER_OPEN_COOLDOWN_MS = 5 * 6e4;
226
226
  var defaultBrowserCommandRunner = childProcess;
227
227
  function getAuthedHttpClient() {
228
- const config = _chunkIQTHRG6Ejs.resolveConfig.call(void 0, );
229
- return { config, http: new (0, _chunkIQTHRG6Ejs.HttpClient)(config) };
228
+ const config = _chunkN6KIEYZVjs.resolveConfig.call(void 0, );
229
+ return { config, http: new (0, _chunkN6KIEYZVjs.HttpClient)(config) };
230
230
  }
231
231
  function stableOsUserId() {
232
232
  try {
@@ -566,7 +566,7 @@ function collectLocalEnvInfo() {
566
566
  os: `${process.platform} ${process.arch}`,
567
567
  node_version: process.version,
568
568
  home_dir: homeDir,
569
- agent_runtime: _chunkIQTHRG6Ejs.detectAgentRuntime.call(void 0, )
569
+ agent_runtime: _chunkN6KIEYZVjs.detectAgentRuntime.call(void 0, )
570
570
  };
571
571
  const env = process.env;
572
572
  const optional = {
@@ -813,9 +813,9 @@ function markdownTableFromRows(rows, preferredColumns = []) {
813
813
  }
814
814
  function withAgentCommandContext(value) {
815
815
  const valueRecord = value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
816
- return _chunkIQTHRG6Ejs.detectAgentRuntime.call(void 0, ) !== "unknown" && valueRecord && !Object.prototype.hasOwnProperty.call(valueRecord, "command_context") ? {
816
+ return _chunkN6KIEYZVjs.detectAgentRuntime.call(void 0, ) !== "unknown" && valueRecord && !Object.prototype.hasOwnProperty.call(valueRecord, "command_context") ? {
817
817
  ...valueRecord,
818
- command_context: _chunkIQTHRG6Ejs.resolveCliCommandContext.call(void 0, )
818
+ command_context: _chunkN6KIEYZVjs.resolveCliCommandContext.call(void 0, )
819
819
  } : value;
820
820
  }
821
821
  function printJson(value, fields) {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-GAMFK2ZP.mjs";
4
4
  import {
5
5
  printCommandEnvelope
6
- } from "./chunk-M5QDOHLG.mjs";
6
+ } from "./chunk-MHRDXS7J.mjs";
7
7
  import {
8
8
  DEFAULT_SKILL_AGENTS,
9
9
  KNOWN_SKILL_AGENTS,
@@ -22,7 +22,7 @@ import {
22
22
  sdkCliStateDirPath,
23
23
  skillsAgentPathSegment,
24
24
  writeSdkSkillsLocalVersion
25
- } from "./chunk-4GP56LRE.mjs";
25
+ } from "./chunk-HDB4GAWY.mjs";
26
26
  import {
27
27
  DeeplineError
28
28
  } from "./chunk-NXGCO4JB.mjs";
@@ -2,10 +2,10 @@ import {
2
2
  getAuthedHttpClient,
3
3
  openInBrowser,
4
4
  printCommandEnvelope
5
- } from "./chunk-M5QDOHLG.mjs";
5
+ } from "./chunk-MHRDXS7J.mjs";
6
6
  import {
7
7
  resolveBaseUrlOnly
8
- } from "./chunk-4GP56LRE.mjs";
8
+ } from "./chunk-HDB4GAWY.mjs";
9
9
 
10
10
  // src/cli/commands/git.ts
11
11
  function shellQuote(value) {
@@ -4,6 +4,7 @@ import {
4
4
 
5
5
  // src/cli/described.ts
6
6
  var SHAPE = "{}";
7
+ var RECORD = "Record<string, ";
7
8
  function featureLines(id, features) {
8
9
  if (!features.length) return [];
9
10
  const width = Math.max(...features.map(({ name }) => name.length));
@@ -75,6 +76,13 @@ function schemaType(schema) {
75
76
  ...item.fields ? { fields: item.fields } : {}
76
77
  };
77
78
  }
79
+ if (isRecord(schema.additionalProperties)) {
80
+ const value = schemaType(schema.additionalProperties);
81
+ return {
82
+ type: `${RECORD}${value.type}>${nullable}`,
83
+ ...value.fields ? { fields: value.fields } : {}
84
+ };
85
+ }
78
86
  return {
79
87
  type: types.filter((type) => type !== "null").join(" | ") + nullable || "unknown"
80
88
  };
@@ -162,9 +170,18 @@ function rateLimitSummary(limits) {
162
170
  }
163
171
  function exampleValue(field) {
164
172
  if (field.example !== void 0) return field.example;
173
+ if (field.type.startsWith(RECORD)) {
174
+ const value = field.type.slice(RECORD.length).replace(/>( \| null)?$/, "");
175
+ return { key: exampleValue({ ...field, type: value }) };
176
+ }
165
177
  const type = field.type.toLowerCase();
166
178
  if (type.includes("[]")) return [];
167
- if (type.startsWith(SHAPE) || type.startsWith("object")) return {};
179
+ if (type.startsWith(SHAPE)) {
180
+ return Object.fromEntries(
181
+ (field.fields ?? []).filter((child) => child.required).map((child) => [child.name, exampleValue(child)])
182
+ );
183
+ }
184
+ if (type.startsWith("object")) return {};
168
185
  if (type.startsWith("integer") || type.startsWith("number")) return 1;
169
186
  if (type.startsWith("boolean")) return true;
170
187
  return "...";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  npmSupportsAllowScripts,
3
3
  readNpmVersion
4
- } from "./chunk-B3TQIJ6L.mjs";
4
+ } from "./chunk-5HJHTZI6.mjs";
5
5
  import {
6
6
  resolveShellSpawn,
7
7
  runSkillsCommand
8
- } from "./chunk-QEEIEHGV.mjs";
8
+ } from "./chunk-SPZNLE2D.mjs";
9
9
  import {
10
10
  printCommandEnvelope
11
- } from "./chunk-M5QDOHLG.mjs";
11
+ } from "./chunk-MHRDXS7J.mjs";
12
12
  import {
13
13
  autoDetectBaseUrl
14
- } from "./chunk-4GP56LRE.mjs";
14
+ } from "./chunk-HDB4GAWY.mjs";
15
15
 
16
16
  // src/cli/commands/update.ts
17
17
  import { spawn, spawnSync } from "child_process";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getAuthedHttpClient,
3
3
  printCommandEnvelope
4
- } from "./chunk-M5QDOHLG.mjs";
4
+ } from "./chunk-MHRDXS7J.mjs";
5
5
  import {
6
6
  agentSessionIdFromEnvironment
7
- } from "./chunk-4GP56LRE.mjs";
7
+ } from "./chunk-HDB4GAWY.mjs";
8
8
 
9
9
  // src/cli/commands/sessions.ts
10
10
  import {