@levr-one/cli 0.10.14 → 0.10.16

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.
@@ -705,12 +705,13 @@ function requireScope(harness, scope) {
705
705
  /**
706
706
  * Substitute `{name}` / `{url}` / `{scope}` into a `cli-command` argv. Returns
707
707
  * argv rather than a string so the executor can spawn it WITHOUT a shell.
708
+ * `serverName` defaults to {@link SERVER_NAME}; see {@link buildHarnessConfig}.
708
709
  */
709
- function renderHarnessCommand(harness, mcpUrl, scope) {
710
+ function renderHarnessCommand(harness, mcpUrl, scope, serverName = SERVER_NAME) {
710
711
  const def = requireScope(harness, scope);
711
712
  if (!def.command) throw new Error(`harness "${harness.id}" scope "${scope}" declares no command argv`);
712
713
  const substitutions = {
713
- "{name}": SERVER_NAME,
714
+ "{name}": serverName,
714
715
  "{url}": mcpUrl,
715
716
  "{scope}": scope
716
717
  };
@@ -729,7 +730,8 @@ function mcpRemoteInvocation(mcpUrl) {
729
730
  }
730
731
  /**
731
732
  * The structured server entry to merge under the scope's server property,
732
- * keyed by {@link SERVER_NAME}. Shape is per-transport, then per-property:
733
+ * keyed by `serverName` (default {@link SERVER_NAME}). Shape is per-transport,
734
+ * then per-property:
733
735
  * - `native-http`: the entry's declared {@link NativeHttpEntryShape} —
734
736
  * `{ url, type: 'http' }` by default (Claude Code's `.mcp.json`, Gemini).
735
737
  * - `mcpServers` (Claude Desktop, Cursor, Windsurf): flat `{ command, args }`.
@@ -737,24 +739,24 @@ function mcpRemoteInvocation(mcpUrl) {
737
739
  *
738
740
  * Not used for `cli-command` scopes (see {@link buildHarnessConfig}).
739
741
  */
740
- function buildServerEntry(harness, mcpUrl, scope = defaultScope(harness)) {
742
+ function buildServerEntry(harness, mcpUrl, scope = defaultScope(harness), serverName = SERVER_NAME) {
741
743
  requireScope(harness, scope);
742
744
  if (harness.transport === "native-http") {
743
745
  const shape = harness.nativeHttpEntry ?? DEFAULT_NATIVE_HTTP_ENTRY;
744
- return { [SERVER_NAME]: {
746
+ return { [serverName]: {
745
747
  [shape.urlKey]: mcpUrl,
746
748
  ...shape.constants ?? {}
747
749
  } };
748
750
  }
749
751
  const { command, args } = mcpRemoteInvocation(mcpUrl);
750
- if (serverPropertyFor(harness, scope) === "context_servers") return { [SERVER_NAME]: {
752
+ if (serverPropertyFor(harness, scope) === "context_servers") return { [serverName]: {
751
753
  source: "custom",
752
754
  command: {
753
755
  path: command,
754
756
  args
755
757
  }
756
758
  } };
757
- return { [SERVER_NAME]: {
759
+ return { [serverName]: {
758
760
  command,
759
761
  args
760
762
  } };
package/dist/cli.js CHANGED
@@ -175,7 +175,7 @@ Examples:
175
175
  aliases: { y: "yes" }
176
176
  },
177
177
  loader: async () => {
178
- const { mcpAddHandler } = await import("./addHandler-g1oxms3Q.js");
178
+ const { mcpAddHandler } = await import("./addHandler-r0Yw1vu-.js");
179
179
  return mcpAddHandler;
180
180
  }
181
181
  });
@@ -213,7 +213,7 @@ Examples:
213
213
  aliases: { d: "device-code" }
214
214
  },
215
215
  loader: async () => {
216
- const { loginHandler } = await import("./loginHandler-DK2x2NVu.js");
216
+ const { loginHandler } = await import("./loginHandler-K18-C_ZE.js");
217
217
  return loginHandler;
218
218
  }
219
219
  });
@@ -252,7 +252,7 @@ Examples:
252
252
  },
253
253
  parameters: {},
254
254
  loader: async () => {
255
- const { statusHandler } = await import("./statusHandler-Bb1CBDCB.js");
255
+ const { statusHandler } = await import("./statusHandler-c-qFFB7Z.js");
256
256
  return statusHandler;
257
257
  }
258
258
  });
@@ -356,7 +356,7 @@ Examples:
356
356
  }
357
357
  },
358
358
  loader: async () => {
359
- const { pushHandler } = await import("./pushHandler-BNKLthjU.js");
359
+ const { pushHandler } = await import("./pushHandler-iFO0cpmS.js");
360
360
  return pushHandler;
361
361
  }
362
362
  });
@@ -476,7 +476,7 @@ Examples:
476
476
  }
477
477
  },
478
478
  loader: async () => {
479
- const { importHandler } = await import("./importHandler-0eMQhI21.js");
479
+ const { importHandler } = await import("./importHandler-CgeFXxiV.js");
480
480
  return importHandler;
481
481
  }
482
482
  });
@@ -497,7 +497,7 @@ Examples:
497
497
  },
498
498
  parameters: {},
499
499
  loader: async () => {
500
- const { listHandler } = await import("./listHandler-BIFi8m2j.js");
500
+ const { listHandler } = await import("./listHandler-DQPOYa_S.js");
501
501
  return listHandler;
502
502
  }
503
503
  });
@@ -530,7 +530,7 @@ Examples:
530
530
  flags: {}
531
531
  },
532
532
  loader: async () => {
533
- const { selectHandler } = await import("./selectHandler-D3VcEjHe.js");
533
+ const { selectHandler } = await import("./selectHandler-GPD-I-i6.js");
534
534
  return selectHandler;
535
535
  }
536
536
  });
@@ -616,14 +616,14 @@ Examples:
616
616
  }
617
617
  },
618
618
  loader: async () => {
619
- const { gatesRunHandler } = await import("./runHandler-DMX3SNe1.js");
619
+ const { gatesRunHandler } = await import("./runHandler-C0xOnyHp.js");
620
620
  return gatesRunHandler;
621
621
  }
622
622
  });
623
623
 
624
624
  //#endregion
625
625
  //#region package.json
626
- var version = "0.10.14";
626
+ var version = "0.10.16";
627
627
 
628
628
  //#endregion
629
629
  //#region src/app.ts
@@ -1,7 +1,7 @@
1
1
  import { getApiUrl, getTeamId } from "./env-CHeKHu5S.js";
2
- import { authGetProfileV1, configureClient, teamFindAllV1, testCaseImportCommitV1, testCaseImportPreviewV1 } from "./sdk-client-jSZwL5vX.js";
2
+ import { authGetProfileV1, configureClient, teamFindAllV1, testCaseImportCommitV1, testCaseImportPreviewV1 } from "./sdk-client-Bb_vGIsY.js";
3
3
  import "./workspace-store-DDOxnut1.js";
4
- import { resolveWorkspace } from "./resolve-workspace-B9NQxa09.js";
4
+ import { resolveWorkspace } from "./resolve-workspace-eleN0cCO.js";
5
5
  import "./token-refresh-Cu5RpkLJ.js";
6
6
  import { resolveToken } from "./resolve-token-DbQsmn03.js";
7
7
  import chalk from "chalk";
@@ -1,5 +1,5 @@
1
1
  import "./env-CHeKHu5S.js";
2
- import { authGetSitesV1, configureClient } from "./sdk-client-jSZwL5vX.js";
2
+ import { authGetSitesV1, configureClient } from "./sdk-client-Bb_vGIsY.js";
3
3
  import { loadWorkspace } from "./workspace-store-DDOxnut1.js";
4
4
  import "./token-refresh-Cu5RpkLJ.js";
5
5
  import { resolveToken } from "./resolve-token-DbQsmn03.js";
@@ -1,7 +1,7 @@
1
1
  import { CLI_CLIENT_ID, getApiUrl, getAuthUrl, setSessionApiUrl, writeCredentials } from "./env-CHeKHu5S.js";
2
- import { configureClient } from "./sdk-client-jSZwL5vX.js";
2
+ import { configureClient } from "./sdk-client-Bb_vGIsY.js";
3
3
  import "./workspace-store-DDOxnut1.js";
4
- import { autoSelectWorkspace } from "./resolve-workspace-B9NQxa09.js";
4
+ import { autoSelectWorkspace } from "./resolve-workspace-eleN0cCO.js";
5
5
  import chalk from "chalk";
6
6
  import { createHash, randomBytes } from "node:crypto";
7
7
  import { createServer } from "node:http";
@@ -1,7 +1,7 @@
1
1
  import { getApiUrl, getAutomationSourceIdOverride, getSourceOverride, getTeamId } from "./env-CHeKHu5S.js";
2
- import { client, configureClient, uploadImport } from "./sdk-client-jSZwL5vX.js";
2
+ import { client, configureClient, uploadImport } from "./sdk-client-Bb_vGIsY.js";
3
3
  import "./workspace-store-DDOxnut1.js";
4
- import { resolveWorkspace } from "./resolve-workspace-B9NQxa09.js";
4
+ import { resolveWorkspace } from "./resolve-workspace-eleN0cCO.js";
5
5
  import "./token-refresh-Cu5RpkLJ.js";
6
6
  import { resolveToken } from "./resolve-token-DbQsmn03.js";
7
7
  import { readFileSync, statSync } from "node:fs";
@@ -1,4 +1,4 @@
1
- import { authGetSitesV1 } from "./sdk-client-jSZwL5vX.js";
1
+ import { authGetSitesV1 } from "./sdk-client-Bb_vGIsY.js";
2
2
  import { clearWorkspace, loadWorkspace, saveWorkspace } from "./workspace-store-DDOxnut1.js";
3
3
 
4
4
  //#region src/workspace/resolve-workspace.ts
@@ -1,7 +1,7 @@
1
1
  import "./env-CHeKHu5S.js";
2
- import { client, configureClient, issueFindAllV1, issueGateVerificationReportGateResultsV1, issueGateVerificationVerifyGatesV1 } from "./sdk-client-jSZwL5vX.js";
2
+ import { client, configureClient, issueFindAllV1, issueGateVerificationReportGateResultsV1, issueGateVerificationVerifyGatesV1 } from "./sdk-client-Bb_vGIsY.js";
3
3
  import "./workspace-store-DDOxnut1.js";
4
- import { resolveWorkspace } from "./resolve-workspace-B9NQxa09.js";
4
+ import { resolveWorkspace } from "./resolve-workspace-eleN0cCO.js";
5
5
  import "./token-refresh-Cu5RpkLJ.js";
6
6
  import { resolveToken } from "./resolve-token-DbQsmn03.js";
7
7
  import { existsSync } from "node:fs";
@@ -5160,6 +5160,138 @@ const zBriefAgentBulkOperationV1Data = z.object({
5160
5160
  url: z.literal("/v1/brief-agent/bulk")
5161
5161
  });
5162
5162
 
5163
+ //#endregion
5164
+ //#region ../sdk/dist/gen/browser-config/zod.js
5165
+ const zBrowserConfigGetConfigV1Data = z.object({ url: z.literal("/v1/browser/config") });
5166
+
5167
+ //#endregion
5168
+ //#region ../sdk/dist/gen/browser-device/zod.js
5169
+ const zEnrolDeviceDto = z.object({
5170
+ deviceKey: z.string().max(64),
5171
+ label: z.string().max(255),
5172
+ platform: z.string().max(64).nullable().optional(),
5173
+ extensionVersion: z.string().max(32).nullable().optional(),
5174
+ apiEnv: z.string().max(255).nullable().optional()
5175
+ });
5176
+ const zBridgeTokenRequestDto = z.object({ deviceId: z.string() });
5177
+ const zBrowserDeviceEnrolV1Data = z.object({
5178
+ body: zEnrolDeviceDto,
5179
+ url: z.literal("/v1/browser/devices")
5180
+ });
5181
+ const zBrowserDeviceBridgeTokenV1Data = z.object({
5182
+ body: zBridgeTokenRequestDto,
5183
+ url: z.literal("/v1/browser/bridge-token")
5184
+ });
5185
+
5186
+ //#endregion
5187
+ //#region ../sdk/dist/gen/browser-upload/zod.js
5188
+ const zBrowserUploadUploadV1Data = z.object({
5189
+ path: z.object({ "attachmentId": z.string() }),
5190
+ url: z.literal("/v1/browser/uploads/{attachmentId}")
5191
+ });
5192
+
5193
+ //#endregion
5194
+ //#region ../sdk/dist/gen/browsers/zod.js
5195
+ const zBrowserListingResponseDto = z.object({
5196
+ browsers: z.array(z.object({
5197
+ id: z.string(),
5198
+ label: z.string(),
5199
+ platform: z.string().nullable(),
5200
+ extensionVersion: z.string().nullable(),
5201
+ apiEnv: z.string().nullable(),
5202
+ firstSeenAt: z.string(),
5203
+ lastSeenAt: z.string().nullable(),
5204
+ status: z.enum([
5205
+ "online",
5206
+ "offline",
5207
+ "unknown"
5208
+ ]).describe(""),
5209
+ pod: z.string().nullable().describe(""),
5210
+ connectedAt: z.number().nullable(),
5211
+ lastFocusAt: z.number().nullable(),
5212
+ stopped: z.boolean().nullable().describe(""),
5213
+ sessions: z.array(z.object({
5214
+ sessionKey: z.string().describe(""),
5215
+ clientId: z.string(),
5216
+ clientName: z.string().describe(""),
5217
+ clientVersion: z.string().nullable(),
5218
+ source: z.string().nullable().describe(""),
5219
+ workspaceId: z.string().nullable(),
5220
+ since: z.number().describe(""),
5221
+ lastTool: z.string().nullable(),
5222
+ lastToolAt: z.number().nullable(),
5223
+ background: z.boolean(),
5224
+ disconnected: z.boolean()
5225
+ })).nullable()
5226
+ })),
5227
+ unassignedSessions: z.array(z.object({
5228
+ sessionKey: z.string().describe(""),
5229
+ clientId: z.string(),
5230
+ clientName: z.string().describe(""),
5231
+ clientVersion: z.string().nullable(),
5232
+ source: z.string().nullable().describe(""),
5233
+ workspaceId: z.string().nullable(),
5234
+ since: z.number().describe(""),
5235
+ lastTool: z.string().nullable(),
5236
+ lastToolAt: z.number().nullable(),
5237
+ background: z.boolean(),
5238
+ disconnected: z.boolean()
5239
+ })).nullable(),
5240
+ connectedAgents: z.array(z.object({
5241
+ clientId: z.string().describe(""),
5242
+ name: z.string().describe(""),
5243
+ harnessId: z.string().describe(""),
5244
+ harnessLabel: z.string().describe(""),
5245
+ connectedAt: z.string().nullable().describe(""),
5246
+ inUse: z.boolean().nullable().describe("")
5247
+ })).nullable().describe(""),
5248
+ presence: z.enum(["ok", "unavailable"]),
5249
+ sessionsState: z.enum(["ok", "unavailable"]),
5250
+ stopState: z.enum(["ok", "unavailable"]),
5251
+ agentsState: z.enum(["ok", "unavailable"]),
5252
+ errors: z.array(z.string())
5253
+ });
5254
+ const zRenameBrowserDto = z.object({ label: z.string().max(255) });
5255
+ const zRenamedBrowserResponseDto = z.object({
5256
+ id: z.string(),
5257
+ label: z.string()
5258
+ });
5259
+ const zBrowserRemovedResponseDto = z.object({
5260
+ removed: z.boolean(),
5261
+ pushed: z.enum([
5262
+ "delivered",
5263
+ "offline",
5264
+ "failed"
5265
+ ]).describe("")
5266
+ });
5267
+ const zBrowserStopStateResponseDto = z.object({ stopped: z.boolean() });
5268
+ const zBrowserSessionDisconnectedResponseDto = z.object({ disconnected: z.boolean() });
5269
+ const zBrowsersListV1Data = z.object({ url: z.literal("/v1/browsers") });
5270
+ const zBrowsersRenameV1Data = z.object({
5271
+ body: zRenameBrowserDto,
5272
+ path: z.object({ "id": z.string() }),
5273
+ url: z.literal("/v1/browsers/{id}")
5274
+ });
5275
+ const zBrowsersRemoveV1Data = z.object({
5276
+ path: z.object({ "id": z.string() }),
5277
+ url: z.literal("/v1/browsers/{id}")
5278
+ });
5279
+ const zBrowsersStopV1Data = z.object({
5280
+ path: z.object({ "id": z.string() }),
5281
+ url: z.literal("/v1/browsers/{id}/stop")
5282
+ });
5283
+ const zBrowsersResumeV1Data = z.object({
5284
+ path: z.object({ "id": z.string() }),
5285
+ url: z.literal("/v1/browsers/{id}/resume")
5286
+ });
5287
+ const zBrowsersDisconnectV1Data = z.object({
5288
+ path: z.object({
5289
+ "id": z.string(),
5290
+ "sessionKey": z.string()
5291
+ }),
5292
+ url: z.literal("/v1/browsers/{id}/sessions/{sessionKey}/disconnect")
5293
+ });
5294
+
5163
5295
  //#endregion
5164
5296
  //#region ../sdk/dist/gen/build/zod.js
5165
5297
  const zBuildStreamBuildV1Data = z.object({ url: z.literal("/v1/build/stream") });
@@ -13822,306 +13954,6 @@ const zGateDefinitionRestoreV1Data = z.object({
13822
13954
  url: z.literal("/v1/gate-definition/{id}/restore")
13823
13955
  });
13824
13956
 
13825
- //#endregion
13826
- //#region ../sdk/dist/gen/gate-instance/zod.js
13827
- const zCreateGateInstanceDto = z.object({
13828
- id: z.string().optional().describe(""),
13829
- status: z.string().optional().describe(""),
13830
- verification_rule: z.unknown().optional().describe(""),
13831
- verified_at: z.unknown().optional().describe(""),
13832
- waived_reason: z.string().nullable().optional().describe(""),
13833
- waived_at: z.unknown().optional().describe(""),
13834
- consecutive_passes: z.number().optional().describe(""),
13835
- consecutive_fails: z.number().optional().describe(""),
13836
- required: z.boolean().optional().describe(""),
13837
- last_checked_at: z.unknown().optional().describe(""),
13838
- issue_id: z.string(),
13839
- issue_test_link_id: z.string().nullable().optional(),
13840
- gate_definition_id: z.string(),
13841
- gate_set_id: z.string().nullable().optional(),
13842
- verified_by: z.string().nullable().optional(),
13843
- waived_by: z.string().nullable().optional()
13844
- });
13845
- const zResponseGateInstanceDto = z.object({
13846
- id: z.string().describe(""),
13847
- status: z.string().optional().describe(""),
13848
- verification_rule: z.unknown().optional().describe(""),
13849
- verified_at: z.unknown().optional().describe(""),
13850
- waived_reason: z.string().nullable().optional().describe(""),
13851
- waived_at: z.unknown().optional().describe(""),
13852
- consecutive_passes: z.number().optional().describe(""),
13853
- consecutive_fails: z.number().optional().describe(""),
13854
- required: z.boolean().optional().describe(""),
13855
- last_checked_at: z.unknown().optional().describe(""),
13856
- issue_id: z.string(),
13857
- issue_test_link_id: z.string().nullable().optional(),
13858
- gate_definition_id: z.string(),
13859
- gate_set_id: z.string().nullable().optional(),
13860
- verified_by: z.string().nullable().optional(),
13861
- waived_by: z.string().nullable().optional(),
13862
- created_at: z.unknown().describe(""),
13863
- updated_at: z.unknown().describe(""),
13864
- epoch: z.number().describe(""),
13865
- created_by: z.string().describe(""),
13866
- updated_by: z.string().describe(""),
13867
- workspace_id: z.string().describe(""),
13868
- deleted_at: z.unknown().describe(""),
13869
- deleted_by: z.string().nullable().describe("")
13870
- });
13871
- const zUpdateGateInstanceDto = z.object({
13872
- id: z.string().optional().describe(""),
13873
- status: z.string().optional().describe(""),
13874
- verification_rule: z.unknown().optional().describe(""),
13875
- verified_at: z.unknown().optional().describe(""),
13876
- waived_reason: z.string().nullable().optional().describe(""),
13877
- waived_at: z.unknown().optional().describe(""),
13878
- consecutive_passes: z.number().optional().describe(""),
13879
- consecutive_fails: z.number().optional().describe(""),
13880
- required: z.boolean().optional().describe(""),
13881
- last_checked_at: z.unknown().optional().describe(""),
13882
- issue_id: z.string().optional(),
13883
- issue_test_link_id: z.string().nullable().optional(),
13884
- gate_definition_id: z.string().optional(),
13885
- gate_set_id: z.string().nullable().optional(),
13886
- verified_by: z.string().nullable().optional(),
13887
- waived_by: z.string().nullable().optional()
13888
- });
13889
- const zGateInstanceBulkOperationDto = z.object({
13890
- op: z.enum([
13891
- "create",
13892
- "update",
13893
- "delete"
13894
- ]).describe(""),
13895
- id: z.string().optional().describe(""),
13896
- data: z.union([zCreateGateInstanceDto, zUpdateGateInstanceDto]).optional().describe(""),
13897
- tx_id: z.string().describe("")
13898
- });
13899
- const zBulkGateInstanceRequestDto = z.object({ operations: z.array(zGateInstanceBulkOperationDto).describe("") });
13900
- const zBulkGateInstanceOperationResultDto = z.object({
13901
- index: z.number().describe(""),
13902
- tx_id: z.string().describe(""),
13903
- status: z.number().describe(""),
13904
- error: z.object({
13905
- message: z.string().optional(),
13906
- code: z.string().optional(),
13907
- details: z.unknown().optional()
13908
- }).optional().describe(""),
13909
- response: zResponseGateInstanceDto.optional().describe("")
13910
- });
13911
- const zBulkGateInstanceResponseDto = z.object({
13912
- results: z.array(zBulkGateInstanceOperationResultDto).describe(""),
13913
- summary: z.object({
13914
- total: z.number().describe(""),
13915
- successful: z.number().describe(""),
13916
- failed: z.number().describe(""),
13917
- savepoints_used: z.number().describe("")
13918
- }).describe("")
13919
- });
13920
- const zGateInstanceCreateV1Data = z.object({
13921
- body: zCreateGateInstanceDto,
13922
- url: z.literal("/v1/gate-instance")
13923
- });
13924
- const zGateInstanceFindAllV1Data = z.object({
13925
- query: z.object({
13926
- "_with": z.string().optional(),
13927
- "page": z.number().optional(),
13928
- "limit": z.number().optional(),
13929
- "filter.id": z.array(z.string()).optional(),
13930
- "filter.status": z.array(z.string()).optional(),
13931
- "filter.verified_at": z.array(z.string()).optional(),
13932
- "filter.waived_reason": z.array(z.string()).optional(),
13933
- "filter.waived_at": z.array(z.string()).optional(),
13934
- "filter.consecutive_passes": z.array(z.string()).optional(),
13935
- "filter.consecutive_fails": z.array(z.string()).optional(),
13936
- "filter.required": z.array(z.string()).optional(),
13937
- "filter.last_checked_at": z.array(z.string()).optional(),
13938
- "filter.issue_id": z.array(z.string()).optional(),
13939
- "filter.issue_test_link_id": z.array(z.string()).optional(),
13940
- "filter.gate_definition_id": z.array(z.string()).optional(),
13941
- "filter.gate_set_id": z.array(z.string()).optional(),
13942
- "filter.verified_by": z.array(z.string()).optional(),
13943
- "filter.waived_by": z.array(z.string()).optional(),
13944
- "filter.created_at": z.array(z.string()).optional(),
13945
- "filter.updated_at": z.array(z.string()).optional(),
13946
- "filter.deleted_at": z.array(z.string()).optional(),
13947
- "sortBy": z.array(z.enum([
13948
- "id:ASC",
13949
- "id:DESC",
13950
- "status:ASC",
13951
- "status:DESC",
13952
- "verified_at:ASC",
13953
- "verified_at:DESC",
13954
- "waived_reason:ASC",
13955
- "waived_reason:DESC",
13956
- "waived_at:ASC",
13957
- "waived_at:DESC",
13958
- "consecutive_passes:ASC",
13959
- "consecutive_passes:DESC",
13960
- "consecutive_fails:ASC",
13961
- "consecutive_fails:DESC",
13962
- "last_checked_at:ASC",
13963
- "last_checked_at:DESC",
13964
- "issue_test_link_id:ASC",
13965
- "issue_test_link_id:DESC",
13966
- "gate_set_id:ASC",
13967
- "gate_set_id:DESC",
13968
- "verified_by:ASC",
13969
- "verified_by:DESC",
13970
- "waived_by:ASC",
13971
- "waived_by:DESC",
13972
- "created_at:ASC",
13973
- "created_at:DESC",
13974
- "updated_at:ASC",
13975
- "updated_at:DESC",
13976
- "deleted_at:ASC",
13977
- "deleted_at:DESC"
13978
- ])).optional(),
13979
- "search": z.string().optional(),
13980
- "searchBy": z.array(z.string()).optional()
13981
- }).optional(),
13982
- url: z.literal("/v1/gate-instance")
13983
- });
13984
- const zGateInstanceFindRecentlyDeletedV1Data = z.object({ url: z.literal("/v1/gate-instance/recently-deleted") });
13985
- const zGateInstanceFindOneV1Data = z.object({
13986
- path: z.object({ "id": z.string() }),
13987
- url: z.literal("/v1/gate-instance/{id}")
13988
- });
13989
- const zGateInstanceUpdateV1Data = z.object({
13990
- body: zUpdateGateInstanceDto,
13991
- path: z.object({ "id": z.string() }),
13992
- url: z.literal("/v1/gate-instance/{id}")
13993
- });
13994
- const zGateInstanceRemoveV1Data = z.object({
13995
- path: z.object({ "id": z.string() }),
13996
- url: z.literal("/v1/gate-instance/{id}")
13997
- });
13998
- const zGateInstanceBulkOperationV1Data = z.object({
13999
- body: zBulkGateInstanceRequestDto,
14000
- url: z.literal("/v1/gate-instance/bulk")
14001
- });
14002
- const zGateInstanceRestoreV1Data = z.object({
14003
- path: z.object({ "id": z.string() }),
14004
- url: z.literal("/v1/gate-instance/{id}/restore")
14005
- });
14006
-
14007
- //#endregion
14008
- //#region ../sdk/dist/gen/gate-result/zod.js
14009
- const zCreateGateResultDto = z.object({
14010
- id: z.string().optional().describe(""),
14011
- status: z.string().describe(""),
14012
- output: z.string().nullable().optional().describe(""),
14013
- duration_ms: z.number().nullable().optional().describe(""),
14014
- context: z.unknown().optional().describe(""),
14015
- gate_instance_id: z.string(),
14016
- verified_by: z.string().nullable().optional()
14017
- });
14018
- const zResponseGateResultDto = z.object({
14019
- id: z.string().describe(""),
14020
- status: z.string().describe(""),
14021
- output: z.string().nullable().optional().describe(""),
14022
- duration_ms: z.number().nullable().optional().describe(""),
14023
- context: z.unknown().optional().describe(""),
14024
- gate_instance_id: z.string(),
14025
- verified_by: z.string().nullable().optional(),
14026
- created_at: z.unknown().describe(""),
14027
- updated_at: z.unknown().describe(""),
14028
- epoch: z.number().describe(""),
14029
- created_by: z.string().describe(""),
14030
- updated_by: z.string().describe(""),
14031
- workspace_id: z.string().describe("")
14032
- });
14033
- const zUpdateGateResultDto = z.object({
14034
- id: z.string().optional().describe(""),
14035
- status: z.string().optional().describe(""),
14036
- output: z.string().nullable().optional().describe(""),
14037
- duration_ms: z.number().nullable().optional().describe(""),
14038
- context: z.unknown().optional().describe(""),
14039
- gate_instance_id: z.string().optional(),
14040
- verified_by: z.string().nullable().optional()
14041
- });
14042
- const zGateResultBulkOperationDto = z.object({
14043
- op: z.enum([
14044
- "create",
14045
- "update",
14046
- "delete"
14047
- ]).describe(""),
14048
- id: z.string().optional().describe(""),
14049
- data: z.union([zCreateGateResultDto, zUpdateGateResultDto]).optional().describe(""),
14050
- tx_id: z.string().describe("")
14051
- });
14052
- const zBulkGateResultRequestDto = z.object({ operations: z.array(zGateResultBulkOperationDto).describe("") });
14053
- const zBulkGateResultOperationResultDto = z.object({
14054
- index: z.number().describe(""),
14055
- tx_id: z.string().describe(""),
14056
- status: z.number().describe(""),
14057
- error: z.object({
14058
- message: z.string().optional(),
14059
- code: z.string().optional(),
14060
- details: z.unknown().optional()
14061
- }).optional().describe(""),
14062
- response: zResponseGateResultDto.optional().describe("")
14063
- });
14064
- const zBulkGateResultResponseDto = z.object({
14065
- results: z.array(zBulkGateResultOperationResultDto).describe(""),
14066
- summary: z.object({
14067
- total: z.number().describe(""),
14068
- successful: z.number().describe(""),
14069
- failed: z.number().describe(""),
14070
- savepoints_used: z.number().describe("")
14071
- }).describe("")
14072
- });
14073
- const zGateResultCreateV1Data = z.object({
14074
- body: zCreateGateResultDto,
14075
- url: z.literal("/v1/gate-result")
14076
- });
14077
- const zGateResultFindAllV1Data = z.object({
14078
- query: z.object({
14079
- "_with": z.string().optional(),
14080
- "page": z.number().optional(),
14081
- "limit": z.number().optional(),
14082
- "filter.id": z.array(z.string()).optional(),
14083
- "filter.status": z.array(z.string()).optional(),
14084
- "filter.output": z.array(z.string()).optional(),
14085
- "filter.duration_ms": z.array(z.string()).optional(),
14086
- "filter.gate_instance_id": z.array(z.string()).optional(),
14087
- "filter.verified_by": z.array(z.string()).optional(),
14088
- "filter.created_at": z.array(z.string()).optional(),
14089
- "filter.updated_at": z.array(z.string()).optional(),
14090
- "sortBy": z.array(z.enum([
14091
- "id:ASC",
14092
- "id:DESC",
14093
- "status:ASC",
14094
- "status:DESC",
14095
- "output:ASC",
14096
- "output:DESC",
14097
- "duration_ms:ASC",
14098
- "duration_ms:DESC",
14099
- "verified_by:ASC",
14100
- "verified_by:DESC",
14101
- "created_at:ASC",
14102
- "created_at:DESC",
14103
- "updated_at:ASC",
14104
- "updated_at:DESC"
14105
- ])).optional(),
14106
- "search": z.string().optional(),
14107
- "searchBy": z.array(z.string()).optional()
14108
- }).optional(),
14109
- url: z.literal("/v1/gate-result")
14110
- });
14111
- const zGateResultFindOneV1Data = z.object({
14112
- path: z.object({ "id": z.string() }),
14113
- url: z.literal("/v1/gate-result/{id}")
14114
- });
14115
- const zGateResultUpdateV1Data = z.object({
14116
- body: zUpdateGateResultDto,
14117
- path: z.object({ "id": z.string() }),
14118
- url: z.literal("/v1/gate-result/{id}")
14119
- });
14120
- const zGateResultBulkOperationV1Data = z.object({
14121
- body: zBulkGateResultRequestDto,
14122
- url: z.literal("/v1/gate-result/bulk")
14123
- });
14124
-
14125
13957
  //#endregion
14126
13958
  //#region ../sdk/dist/gen/gate-set/zod.js
14127
13959
  const zCreateGateSetDto = z.object({
@@ -14250,14 +14082,12 @@ const zGateSetRestoreV1Data = z.object({
14250
14082
  const zCreateGateSetDefinitionDto = z.object({
14251
14083
  id: z.string().optional().describe(""),
14252
14084
  sort_order: z.number().optional().describe(""),
14253
- override_verification_rule: z.unknown().optional().describe(""),
14254
14085
  gate_set_id: z.string(),
14255
14086
  gate_definition_id: z.string()
14256
14087
  });
14257
14088
  const zResponseGateSetDefinitionDto = z.object({
14258
14089
  id: z.string().describe(""),
14259
14090
  sort_order: z.number().optional().describe(""),
14260
- override_verification_rule: z.unknown().optional().describe(""),
14261
14091
  gate_set_id: z.string(),
14262
14092
  gate_definition_id: z.string(),
14263
14093
  created_at: z.unknown().describe(""),
@@ -14272,7 +14102,6 @@ const zResponseGateSetDefinitionDto = z.object({
14272
14102
  const zUpdateGateSetDefinitionDto = z.object({
14273
14103
  id: z.string().optional().describe(""),
14274
14104
  sort_order: z.number().optional().describe(""),
14275
- override_verification_rule: z.unknown().optional().describe(""),
14276
14105
  gate_set_id: z.string().optional(),
14277
14106
  gate_definition_id: z.string().optional()
14278
14107
  });
@@ -17044,7 +16873,6 @@ const zResponseIssueTestLinkDto = z.object({
17044
16873
  origin_run_result_id: z.string().nullable().optional().describe(""),
17045
16874
  latest_run_result_id: z.string().nullable().optional().describe(""),
17046
16875
  verified_at: z.unknown().optional().describe(""),
17047
- gate_slot: z.string().nullable().optional().describe(""),
17048
16876
  gate_content_hash: z.string().nullable().optional().describe(""),
17049
16877
  gate_drifted: z.boolean().nullable().optional().describe(""),
17050
16878
  required: z.boolean().optional().describe(""),
@@ -17146,7 +16974,6 @@ const zIssueTestLinkFindAllV1Data = z.object({
17146
16974
  "filter.origin_run_result_id": z.array(z.string()).optional(),
17147
16975
  "filter.latest_run_result_id": z.array(z.string()).optional(),
17148
16976
  "filter.verified_at": z.array(z.string()).optional(),
17149
- "filter.gate_slot": z.array(z.string()).optional(),
17150
16977
  "filter.gate_content_hash": z.array(z.string()).optional(),
17151
16978
  "filter.gate_drifted": z.array(z.string()).optional(),
17152
16979
  "filter.required": z.array(z.string()).optional(),
@@ -17184,8 +17011,6 @@ const zIssueTestLinkFindAllV1Data = z.object({
17184
17011
  "verified_by:DESC",
17185
17012
  "verified_at:ASC",
17186
17013
  "verified_at:DESC",
17187
- "gate_slot:ASC",
17188
- "gate_slot:DESC",
17189
17014
  "gate_content_hash:ASC",
17190
17015
  "gate_content_hash:DESC",
17191
17016
  "advisory_reason:ASC",
@@ -19755,6 +19580,9 @@ const zLlmProviderRestoreV1Data = z.object({
19755
19580
  const zMcpHandleMcpPostV1Data = z.object({ url: z.literal("/v1/mcp") });
19756
19581
  const zMcpHandleMcpGetV1Data = z.object({ url: z.literal("/v1/mcp") });
19757
19582
  const zMcpHandleMcpDeleteV1Data = z.object({ url: z.literal("/v1/mcp") });
19583
+ const zMcpHandleBrowserMcpPostV1Data = z.object({ url: z.literal("/v1/mcp/browser") });
19584
+ const zMcpHandleBrowserMcpGetV1Data = z.object({ url: z.literal("/v1/mcp/browser") });
19585
+ const zMcpHandleBrowserMcpDeleteV1Data = z.object({ url: z.literal("/v1/mcp/browser") });
19758
19586
 
19759
19587
  //#endregion
19760
19588
  //#region ../sdk/dist/gen/mention/zod.js
@@ -30666,6 +30494,7 @@ const zCreateUserPreferenceDto = z.object({
30666
30494
  auto_assign_on_start: z.boolean().nullable().optional().describe(""),
30667
30495
  auto_assign_on_result: z.boolean().nullable().optional().describe(""),
30668
30496
  auto_assign_on_done: z.boolean().nullable().optional().describe(""),
30497
+ capture_retention_hours: z.number().nullable().optional().describe(""),
30669
30498
  user_id: z.string()
30670
30499
  });
30671
30500
  const zResponseUserPreferenceDto = z.object({
@@ -30673,6 +30502,7 @@ const zResponseUserPreferenceDto = z.object({
30673
30502
  auto_assign_on_start: z.boolean().nullable().optional().describe(""),
30674
30503
  auto_assign_on_result: z.boolean().nullable().optional().describe(""),
30675
30504
  auto_assign_on_done: z.boolean().nullable().optional().describe(""),
30505
+ capture_retention_hours: z.number().nullable().optional().describe(""),
30676
30506
  user_id: z.string(),
30677
30507
  created_at: z.unknown().describe(""),
30678
30508
  updated_at: z.unknown().describe(""),
@@ -30688,6 +30518,7 @@ const zUpdateUserPreferenceDto = z.object({
30688
30518
  auto_assign_on_start: z.boolean().nullable().optional().describe(""),
30689
30519
  auto_assign_on_result: z.boolean().nullable().optional().describe(""),
30690
30520
  auto_assign_on_done: z.boolean().nullable().optional().describe(""),
30521
+ capture_retention_hours: z.number().nullable().optional().describe(""),
30691
30522
  user_id: z.string().optional()
30692
30523
  });
30693
30524
  const zUserPreferenceBulkOperationDto = z.object({
@@ -30734,6 +30565,7 @@ const zUserPreferenceFindAllV1Data = z.object({
30734
30565
  "filter.auto_assign_on_start": z.array(z.string()).optional(),
30735
30566
  "filter.auto_assign_on_result": z.array(z.string()).optional(),
30736
30567
  "filter.auto_assign_on_done": z.array(z.string()).optional(),
30568
+ "filter.capture_retention_hours": z.array(z.string()).optional(),
30737
30569
  "filter.user_id": z.array(z.string()).optional(),
30738
30570
  "filter.created_at": z.array(z.string()).optional(),
30739
30571
  "filter.updated_at": z.array(z.string()).optional(),
@@ -30741,6 +30573,8 @@ const zUserPreferenceFindAllV1Data = z.object({
30741
30573
  "sortBy": z.array(z.enum([
30742
30574
  "id:ASC",
30743
30575
  "id:DESC",
30576
+ "capture_retention_hours:ASC",
30577
+ "capture_retention_hours:DESC",
30744
30578
  "created_at:ASC",
30745
30579
  "created_at:DESC",
30746
30580
  "updated_at:ASC",
@@ -31260,6 +31094,7 @@ const zOpenIdConfigurationDto = z.object({
31260
31094
  const zWellKnownGetProtectedResourceMetadataData = z.object({ url: z.literal("/.well-known/oauth-protected-resource") });
31261
31095
  const zWellKnownGetProtectedResourceMetadataMcpData = z.object({ url: z.literal("/.well-known/oauth-protected-resource/mcp") });
31262
31096
  const zWellKnownGetProtectedResourceMetadataV1McpData = z.object({ url: z.literal("/.well-known/oauth-protected-resource/v1/mcp") });
31097
+ const zWellKnownGetProtectedResourceMetadataV1McpBrowserData = z.object({ url: z.literal("/.well-known/oauth-protected-resource/v1/mcp/browser") });
31263
31098
  const zWellKnownGetAuthorizationServerMetadataData = z.object({ url: z.literal("/.well-known/oauth-authorization-server") });
31264
31099
  const zWellKnownGetAuthorizationServerMetadataApiData = z.object({ url: z.literal("/.well-known/oauth-authorization-server/api") });
31265
31100
  const zWellKnownGetOpenIdConfigurationData = z.object({ url: z.literal("/.well-known/openid-configuration") });
@@ -1,5 +1,5 @@
1
1
  import "./env-CHeKHu5S.js";
2
- import { authGetSitesV1, configureClient } from "./sdk-client-jSZwL5vX.js";
2
+ import { authGetSitesV1, configureClient } from "./sdk-client-Bb_vGIsY.js";
3
3
  import { saveWorkspace } from "./workspace-store-DDOxnut1.js";
4
4
  import "./token-refresh-Cu5RpkLJ.js";
5
5
  import { resolveToken } from "./resolve-token-DbQsmn03.js";
@@ -1,5 +1,5 @@
1
1
  import { getApiUrl, getPatToken, readCredentials } from "./env-CHeKHu5S.js";
2
- import { authGetProfileV1, configureClient } from "./sdk-client-jSZwL5vX.js";
2
+ import { authGetProfileV1, configureClient } from "./sdk-client-Bb_vGIsY.js";
3
3
  import { isTokenExpired } from "./token-refresh-Cu5RpkLJ.js";
4
4
  import chalk from "chalk";
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@levr-one/cli",
3
- "version": "0.10.14",
3
+ "version": "0.10.16",
4
4
  "description": "The command-line interface for Levr",
5
5
  "type": "module",
6
6
  "license": "MIT",