@chinhae/codex-connect-linux-x64 0.11.0 → 0.12.1

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.
@@ -14627,6 +14627,304 @@ var hostTurnIdSchema = opaqueIdSchema.brand();
14627
14627
  var hostItemIdSchema = opaqueIdSchema.brand();
14628
14628
  var hostInteractionIdSchema = opaqueIdSchema.brand();
14629
14629
 
14630
+ // ../../shared-contracts/dist/harness-plugins.js
14631
+ var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
14632
+ var HARNESS_PLUGIN_ICON_MAX_BYTES = 128 * 1024;
14633
+ var HARNESS_PLUGIN_LIMIT = 128;
14634
+ var harnessPluginIdSchema = external_exports.string().min(1).max(128).regex(/^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/u).refine((id) => id !== "codex", "The official Codex identity is reserved").pipe(harnessIdSchema);
14635
+ var relativeResourceSchema = external_exports.string().min(1).max(512).refine((value) => !/[\\\u0000:#?]/u.test(value) && !value.startsWith("/") && !value.split("/").some((part) => part === ".." || part === ""), "Plugin resources must be relative paths inside the plugin");
14636
+ var documentationUrlSchema = external_exports.url().refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Plugin documentation links must be credential-free HTTPS URLs");
14637
+ var pluginPresentationShape = {
14638
+ id: harnessPluginIdSchema,
14639
+ name: external_exports.string().trim().min(1).max(128),
14640
+ version: external_exports.string().min(1).max(128),
14641
+ /** The factory accepts a persisted local entrypoint through its construction context. */
14642
+ launchCommand: external_exports.literal(true).optional(),
14643
+ links: external_exports.object({
14644
+ documentation: documentationUrlSchema.optional(),
14645
+ installation: documentationUrlSchema.optional()
14646
+ }).strict().optional()
14647
+ };
14648
+ var harnessPluginManifestSchema = external_exports.object({
14649
+ manifestVersion: external_exports.literal(1),
14650
+ ...pluginPresentationShape,
14651
+ adapterApiVersion: external_exports.number().int().positive(),
14652
+ entry: relativeResourceSchema,
14653
+ icon: relativeResourceSchema.optional()
14654
+ }).strict();
14655
+ var harnessPluginIconSchema = external_exports.string().max(Math.ceil(HARNESS_PLUGIN_ICON_MAX_BYTES / 3) * 4 + 64).regex(/^data:image\/(?:png|jpeg|webp|svg\+xml);base64,[A-Za-z0-9+/]+={0,2}$/u);
14656
+ var harnessPluginDescriptorSchema = external_exports.object({
14657
+ ...pluginPresentationShape,
14658
+ icon: harnessPluginIconSchema.optional()
14659
+ }).strict();
14660
+ var harnessPluginListParamsSchema = external_exports.object({}).strict();
14661
+ var harnessPluginListResultSchema = external_exports.object({
14662
+ plugins: external_exports.array(harnessPluginDescriptorSchema).max(HARNESS_PLUGIN_LIMIT)
14663
+ }).strict();
14664
+ var harnessPluginConfigurationSchema = external_exports.object({
14665
+ version: external_exports.literal(1),
14666
+ enabled: external_exports.array(harnessPluginIdSchema).max(HARNESS_PLUGIN_LIMIT)
14667
+ }).strict().refine((value) => new Set(value.enabled).size === value.enabled.length, {
14668
+ message: "Enabled plugin IDs must be unique",
14669
+ path: ["enabled"]
14670
+ });
14671
+
14672
+ // ../../shared-contracts/dist/local-usage.js
14673
+ var LOCAL_USAGE_CUSTOM_RANGE_MAX_DAYS = 3660;
14674
+ var LOCAL_USAGE_DAILY_MAX_LENGTH = LOCAL_USAGE_CUSTOM_RANGE_MAX_DAYS + 1;
14675
+ var LOCAL_USAGE_HARNESS_MAX_LENGTH = 128;
14676
+ var LOCAL_USAGE_HARNESS_NAME_MAX_LENGTH = 128;
14677
+ var LOCAL_USAGE_PROVIDER_MAX_LENGTH = 128;
14678
+ var LOCAL_USAGE_PROVIDER_NAME_MAX_LENGTH = 1024;
14679
+ var LOCAL_USAGE_PROJECT_MAX_LENGTH = 1e3;
14680
+ var LOCAL_USAGE_PROJECT_NAME_MAX_LENGTH = 1024;
14681
+ var LOCAL_USAGE_TIME_ZONE_MAX_LENGTH = 64;
14682
+ var DAY_MS = 864e5;
14683
+ function dateValue(value) {
14684
+ return Date.parse(`${value}T00:00:00.000Z`);
14685
+ }
14686
+ var localUsageDateSchema = external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/u).refine((value) => {
14687
+ const time3 = dateValue(value);
14688
+ return Number.isFinite(time3) && new Date(time3).toISOString().slice(0, 10) === value;
14689
+ }, "Invalid calendar date");
14690
+ var timeZoneSchema = external_exports.string().min(1).max(LOCAL_USAGE_TIME_ZONE_MAX_LENGTH).refine((value) => {
14691
+ try {
14692
+ new Intl.DateTimeFormat("en-US", { timeZone: value });
14693
+ return true;
14694
+ } catch {
14695
+ return false;
14696
+ }
14697
+ }, "Unknown time zone");
14698
+ var localUsagePeriodSchema = external_exports.discriminatedUnion("kind", [
14699
+ external_exports.strictObject({ kind: external_exports.literal("day") }),
14700
+ // Weeks start on Monday.
14701
+ external_exports.strictObject({ kind: external_exports.literal("week") }),
14702
+ external_exports.strictObject({ kind: external_exports.literal("month") }),
14703
+ // The first day of the month 23 months ago through today.
14704
+ external_exports.strictObject({ kind: external_exports.literal("total") }),
14705
+ external_exports.strictObject({
14706
+ kind: external_exports.literal("custom"),
14707
+ from: localUsageDateSchema,
14708
+ to: localUsageDateSchema
14709
+ }).superRefine((period, context) => {
14710
+ const days = (dateValue(period.to) - dateValue(period.from)) / DAY_MS;
14711
+ if (days < 0) {
14712
+ context.addIssue({ code: "custom", path: ["to"], message: "Range ends before it starts" });
14713
+ } else if (days >= LOCAL_USAGE_CUSTOM_RANGE_MAX_DAYS) {
14714
+ context.addIssue({ code: "custom", path: ["to"], message: "Range is too long" });
14715
+ }
14716
+ })
14717
+ ]);
14718
+ var localUsageQueryParamsSchema = external_exports.strictObject({
14719
+ period: localUsagePeriodSchema,
14720
+ /** IANA zone used to assign usage to calendar days. */
14721
+ timeZone: timeZoneSchema,
14722
+ /** Read new native records before answering; otherwise reuse this Host's last read. */
14723
+ refresh: external_exports.boolean()
14724
+ });
14725
+ var countSchema = external_exports.number().int().nonnegative().safe();
14726
+ var tokenTotalsShape = {
14727
+ total: countSchema,
14728
+ /** Input tokens excluding cache reads and writes. */
14729
+ input: countSchema,
14730
+ cacheRead: countSchema,
14731
+ cacheWrite: countSchema,
14732
+ output: countSchema,
14733
+ reasoning: countSchema
14734
+ };
14735
+ var usageHarnessIdSchema = external_exports.union([external_exports.literal("codex"), harnessPluginIdSchema]);
14736
+ var localUsageViewSchema = external_exports.strictObject({
14737
+ status: external_exports.literal("ready"),
14738
+ range: external_exports.strictObject({ from: localUsageDateSchema, to: localUsageDateSchema }),
14739
+ totals: external_exports.strictObject({ ...tokenTotalsShape, conversations: countSchema }).refine((totals) => totals.total === totals.input + totals.cacheRead + totals.cacheWrite + totals.output + totals.reasoning, { path: ["total"], message: "Total must equal its parts" }),
14740
+ /**
14741
+ * Estimated Cost of the range in USD: Harness-reported cost where present, otherwise public
14742
+ * model prices applied when queried. Models without a price add 0.
14743
+ */
14744
+ estimatedCostUsd: external_exports.number().nonnegative().finite(),
14745
+ /** Distinct Models with usage in the range, across Harnesses. */
14746
+ models: countSchema,
14747
+ harnesses: external_exports.array(external_exports.strictObject({
14748
+ harnessId: usageHarnessIdSchema,
14749
+ name: external_exports.string().trim().min(1).max(LOCAL_USAGE_HARNESS_NAME_MAX_LENGTH),
14750
+ totalTokens: countSchema,
14751
+ models: countSchema,
14752
+ /** Providers the Harness recorded, by usage; empty when it records none. */
14753
+ providers: external_exports.array(external_exports.strictObject({
14754
+ provider: external_exports.string().min(1).max(LOCAL_USAGE_PROVIDER_NAME_MAX_LENGTH),
14755
+ totalTokens: countSchema,
14756
+ models: countSchema
14757
+ })).max(LOCAL_USAGE_PROVIDER_MAX_LENGTH)
14758
+ }).refine((harness) => harness.providers.reduce((sum, provider) => sum + provider.totalTokens, 0) <= harness.totalTokens, { path: ["providers"], message: "Providers are part of their Harness" })).max(LOCAL_USAGE_HARNESS_MAX_LENGTH),
14759
+ /** Days with usage, newest first. `cacheRead` is the daily cache column. */
14760
+ daily: external_exports.array(external_exports.strictObject({
14761
+ date: localUsageDateSchema,
14762
+ total: countSchema,
14763
+ input: countSchema,
14764
+ output: countSchema,
14765
+ cacheRead: countSchema,
14766
+ reasoning: countSchema,
14767
+ conversations: countSchema
14768
+ })).max(LOCAL_USAGE_DAILY_MAX_LENGTH),
14769
+ /**
14770
+ * Usage with a known working directory, by project, most used first: `owner/repo` from the Git
14771
+ * remote, otherwise the folder name. Only the most used projects are listed.
14772
+ */
14773
+ projects: external_exports.array(external_exports.strictObject({
14774
+ project: external_exports.string().min(1).max(LOCAL_USAGE_PROJECT_NAME_MAX_LENGTH),
14775
+ totalTokens: countSchema,
14776
+ /** Harnesses used in the project, most used first. */
14777
+ harnessIds: external_exports.array(usageHarnessIdSchema).min(1).max(LOCAL_USAGE_HARNESS_MAX_LENGTH)
14778
+ })).max(LOCAL_USAGE_PROJECT_MAX_LENGTH),
14779
+ /** Harnesses whose last read failed; their totals are from their last successful read. */
14780
+ failures: external_exports.array(external_exports.strictObject({
14781
+ harnessId: usageHarnessIdSchema,
14782
+ name: external_exports.string().trim().min(1).max(LOCAL_USAGE_HARNESS_NAME_MAX_LENGTH)
14783
+ })).max(LOCAL_USAGE_HARNESS_MAX_LENGTH),
14784
+ /**
14785
+ * Independent of the selected period. Windows end today; an active day has tokens.
14786
+ * `dailyAverage` is the last 30 days' total over their active days, rounded.
14787
+ */
14788
+ stats: external_exports.strictObject({
14789
+ last7Days: countSchema,
14790
+ last30Days: countSchema,
14791
+ dailyAverage: countSchema,
14792
+ /** Active days across all counted history, not only the "total" period. */
14793
+ activeDays: countSchema,
14794
+ firstActiveDate: localUsageDateSchema.nullable()
14795
+ }).superRefine((stats, context) => {
14796
+ if (stats.firstActiveDate === null !== (stats.activeDays === 0)) {
14797
+ context.addIssue({
14798
+ code: "custom",
14799
+ path: ["firstActiveDate"],
14800
+ message: "First active date exists exactly when there are active days"
14801
+ });
14802
+ }
14803
+ if (stats.last7Days > stats.last30Days) {
14804
+ context.addIssue({
14805
+ code: "custom",
14806
+ path: ["last7Days"],
14807
+ message: "The last 7 days are part of the last 30 days"
14808
+ });
14809
+ }
14810
+ })
14811
+ });
14812
+ var localUsageReadingSchema = external_exports.strictObject({
14813
+ status: external_exports.literal("reading"),
14814
+ /** Native record files read so far by the sources that report progress. */
14815
+ progress: external_exports.strictObject({ processed: countSchema, total: countSchema }).refine((progress) => progress.processed <= progress.total, {
14816
+ path: ["processed"],
14817
+ message: "Processed files are part of the total"
14818
+ })
14819
+ });
14820
+ var localUsageQueryResultSchema = external_exports.discriminatedUnion("status", [
14821
+ localUsageReadingSchema,
14822
+ localUsageViewSchema
14823
+ ]);
14824
+
14825
+ // ../../shared-contracts/dist/harness-session-import.js
14826
+ var HARNESS_SESSION_IMPORT_ID_MAX_LENGTH = 1024;
14827
+ var HARNESS_SESSION_IMPORT_CWD_MAX_LENGTH = 16384;
14828
+ var HARNESS_SESSION_IMPORT_TITLE_MAX_LENGTH = 4096;
14829
+ var HARNESS_SESSION_IMPORT_LIST_MAX_LENGTH = 1e3;
14830
+ var HARNESS_SESSION_IMPORT_UPDATED_AT_MAX = 864e13;
14831
+ var nonBlankTextSchema = external_exports.string().refine((value) => value.trim().length > 0, "Value must not be empty or whitespace").refine((value) => !value.includes("\0"), "Value must not contain NUL");
14832
+ var harnessSessionImportIdSchema = nonBlankTextSchema.max(HARNESS_SESSION_IMPORT_ID_MAX_LENGTH);
14833
+ var harnessSessionImportCandidateSchema = external_exports.object({
14834
+ nativeSessionId: harnessSessionImportIdSchema,
14835
+ title: nonBlankTextSchema.max(HARNESS_SESSION_IMPORT_TITLE_MAX_LENGTH).nullable(),
14836
+ updatedAt: external_exports.number().int().nonnegative().max(HARNESS_SESSION_IMPORT_UPDATED_AT_MAX),
14837
+ cwd: nonBlankTextSchema.max(HARNESS_SESSION_IMPORT_CWD_MAX_LENGTH),
14838
+ // Native file discovery cannot reliably observe another process's activity.
14839
+ running: external_exports.boolean().nullable()
14840
+ }).strict();
14841
+ var harnessSessionImportSourcesParamsSchema = external_exports.object({}).strict();
14842
+ var harnessSessionImportSourcesResultSchema = external_exports.object({
14843
+ harnesses: external_exports.array(external_exports.object({
14844
+ harnessId: harnessPluginIdSchema,
14845
+ name: nonBlankTextSchema.max(128)
14846
+ }).strict()).max(128)
14847
+ }).strict();
14848
+ var harnessSessionListParamsSchema = external_exports.object({
14849
+ harnessId: harnessPluginIdSchema,
14850
+ query: external_exports.string().trim().max(4096).refine((value) => !value.includes("\0")).optional(),
14851
+ offset: external_exports.number().int().nonnegative().safe().optional(),
14852
+ limit: external_exports.number().int().min(1).max(HARNESS_SESSION_IMPORT_LIST_MAX_LENGTH).optional()
14853
+ }).strict();
14854
+ var harnessSessionListResultSchema = external_exports.object({
14855
+ candidates: external_exports.array(harnessSessionImportCandidateSchema).max(HARNESS_SESSION_IMPORT_LIST_MAX_LENGTH),
14856
+ total: external_exports.number().int().nonnegative().safe()
14857
+ }).strict();
14858
+ var harnessSessionImportParamsSchema = external_exports.object({
14859
+ harnessId: harnessPluginIdSchema,
14860
+ nativeSessionId: harnessSessionImportIdSchema
14861
+ }).strict();
14862
+ var harnessSessionImportResultSchema = external_exports.object({
14863
+ threadId: nonBlankTextSchema.max(1024).pipe(hostThreadIdSchema)
14864
+ }).strict();
14865
+
14866
+ // ../../shared-contracts/dist/local-sessions.js
14867
+ var LOCAL_SESSIONS_MAX_LENGTH = 1e5;
14868
+ var LOCAL_SESSIONS_MODEL_MAX_LENGTH = 1024;
14869
+ var LOCAL_SESSIONS_RESUME_COMMAND_MAX_LENGTH = 256;
14870
+ var LOCAL_SESSIONS_RESUME_COMMAND_PATTERN = /^[A-Za-z0-9][A-Za-z0-9 ._:=/-]*$/u;
14871
+ var countSchema2 = external_exports.number().int().nonnegative().safe();
14872
+ var timeSchema = countSchema2;
14873
+ var sessionHarnessIdSchema = external_exports.union([external_exports.literal("codex"), harnessPluginIdSchema]);
14874
+ var harnessNameSchema = external_exports.string().trim().min(1).max(LOCAL_USAGE_HARNESS_NAME_MAX_LENGTH);
14875
+ var localSessionsQueryParamsSchema = external_exports.strictObject({
14876
+ /** Read native records added since the last read before answering. */
14877
+ refresh: external_exports.boolean()
14878
+ });
14879
+ var localSessionSchema = external_exports.strictObject({
14880
+ harnessId: sessionHarnessIdSchema,
14881
+ nativeSessionId: harnessSessionImportIdSchema,
14882
+ /** The Harness's own name for the Session; null shows the project instead. */
14883
+ title: external_exports.string().min(1).max(HARNESS_SESSION_IMPORT_TITLE_MAX_LENGTH).nullable(),
14884
+ /** Working directory, used to copy the project path or a resume command. */
14885
+ cwd: external_exports.string().min(1).max(HARNESS_SESSION_IMPORT_CWD_MAX_LENGTH).nullable(),
14886
+ /** `owner/repo` from the Git remote, otherwise the folder name. */
14887
+ project: external_exports.string().min(1).max(LOCAL_USAGE_PROJECT_NAME_MAX_LENGTH).nullable(),
14888
+ model: external_exports.string().min(1).max(LOCAL_SESSIONS_MODEL_MAX_LENGTH).nullable(),
14889
+ startedAt: timeSchema.nullable(),
14890
+ lastActivityAt: timeSchema,
14891
+ /** Null for Sessions known only from Session import, which has no native usage. */
14892
+ activeMs: countSchema2.nullable(),
14893
+ usage: external_exports.strictObject({
14894
+ /** Includes folded subagents. */
14895
+ totalTokens: countSchema2,
14896
+ estimatedCostUsd: external_exports.number().nonnegative().finite()
14897
+ }).nullable(),
14898
+ turns: countSchema2.nullable(),
14899
+ edits: countSchema2.nullable(),
14900
+ /** Subagent and child Sessions folded into this one. */
14901
+ subagents: countSchema2,
14902
+ /** The Thread this Session is already mapped to. */
14903
+ threadId: hostThreadIdSchema.nullable(),
14904
+ /** Whether Resume can open it as a Thread. */
14905
+ resumable: external_exports.boolean(),
14906
+ /** Null when the Harness cannot tell whether another client is running it. */
14907
+ running: external_exports.boolean().nullable(),
14908
+ /**
14909
+ * Resumes the Session in its Harness's own CLI when run from `cwd`; null when the Harness has
14910
+ * no such command or the Session ID is not safe to paste into a terminal.
14911
+ */
14912
+ resumeCommand: external_exports.string().max(LOCAL_SESSIONS_RESUME_COMMAND_MAX_LENGTH).regex(LOCAL_SESSIONS_RESUME_COMMAND_PATTERN).nullable()
14913
+ });
14914
+ var localSessionsViewSchema = external_exports.strictObject({
14915
+ status: external_exports.literal("ready"),
14916
+ /** Most recently active first. */
14917
+ sessions: external_exports.array(localSessionSchema).max(LOCAL_SESSIONS_MAX_LENGTH),
14918
+ /** Harnesses with listed Sessions, by name. */
14919
+ harnesses: external_exports.array(external_exports.strictObject({ harnessId: sessionHarnessIdSchema, name: harnessNameSchema })).max(LOCAL_USAGE_HARNESS_MAX_LENGTH),
14920
+ /** Sources whose last read failed; their Sessions are from their last successful read. */
14921
+ failures: external_exports.array(external_exports.strictObject({ harnessId: sessionHarnessIdSchema, name: harnessNameSchema })).max(LOCAL_USAGE_HARNESS_MAX_LENGTH)
14922
+ });
14923
+ var localSessionsQueryResultSchema = external_exports.discriminatedUnion("status", [
14924
+ localUsageReadingSchema,
14925
+ localSessionsViewSchema
14926
+ ]);
14927
+
14630
14928
  // ../../shared-contracts/dist/thread-usage.js
14631
14929
  var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
14632
14930
  var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
@@ -14690,10 +14988,18 @@ var accountCreditsProductUsageSchema = external_exports.object({
14690
14988
  usagePercent: usagePercentSchema,
14691
14989
  resetsAt: external_exports.string().min(1).optional()
14692
14990
  }).strict();
14991
+ var ACCOUNT_RESET_CREDITS_MAX_LENGTH = 32;
14992
+ var ACCOUNT_RESET_CREDIT_TIME_MAX_LENGTH = 64;
14993
+ var resetCreditTimeSchema = external_exports.string().min(1).max(ACCOUNT_RESET_CREDIT_TIME_MAX_LENGTH);
14994
+ var accountResetCreditSchema = external_exports.object({
14995
+ expiresAt: resetCreditTimeSchema,
14996
+ grantedAt: resetCreditTimeSchema.optional()
14997
+ }).strict();
14693
14998
  var accountResetCreditsSchema = external_exports.object({
14694
14999
  availableCount: external_exports.number().int().safe().positive(),
14695
15000
  nextExpiresAt: external_exports.string().min(1).optional(),
14696
- expiresAt: external_exports.array(external_exports.string().min(1)).min(1).max(32).optional()
15001
+ expiresAt: external_exports.array(external_exports.string().min(1)).min(1).max(ACCOUNT_RESET_CREDITS_MAX_LENGTH).optional(),
15002
+ credits: external_exports.array(accountResetCreditSchema).min(1).max(ACCOUNT_RESET_CREDITS_MAX_LENGTH).optional()
14697
15003
  }).strict();
14698
15004
  var accountCreditsSnapshotSchema = external_exports.object({
14699
15005
  /** Native label when the primary limit is scoped to a model or product group. */
@@ -14813,14 +15119,14 @@ var HARNESS_PERMISSION_MODE_ID_MAX_LENGTH = 128;
14813
15119
  var HARNESS_PERMISSION_MODE_LABEL_MAX_LENGTH = 256;
14814
15120
  var HARNESS_PERMISSION_MODE_DESCRIPTION_MAX_LENGTH = 1024;
14815
15121
  var HARNESS_PERMISSION_MODE_CATALOG_MAX_LENGTH = 32;
14816
- var nonBlankTextSchema = external_exports.string().refine((value) => value.trim().length > 0, {
15122
+ var nonBlankTextSchema2 = external_exports.string().refine((value) => value.trim().length > 0, {
14817
15123
  message: "Value must not be empty or whitespace"
14818
15124
  });
14819
- var harnessPermissionModeIdSchema = nonBlankTextSchema.max(HARNESS_PERMISSION_MODE_ID_MAX_LENGTH).regex(/^[A-Za-z0-9._~-]+$/u, "Permission Mode ID must use transport-safe characters").brand();
15125
+ var harnessPermissionModeIdSchema = nonBlankTextSchema2.max(HARNESS_PERMISSION_MODE_ID_MAX_LENGTH).regex(/^[A-Za-z0-9._~-]+$/u, "Permission Mode ID must use transport-safe characters").brand();
14820
15126
  var harnessPermissionModeSchema = external_exports.object({
14821
15127
  id: harnessPermissionModeIdSchema,
14822
- label: nonBlankTextSchema.max(HARNESS_PERMISSION_MODE_LABEL_MAX_LENGTH),
14823
- description: nonBlankTextSchema.max(HARNESS_PERMISSION_MODE_DESCRIPTION_MAX_LENGTH).optional(),
15128
+ label: nonBlankTextSchema2.max(HARNESS_PERMISSION_MODE_LABEL_MAX_LENGTH),
15129
+ description: nonBlankTextSchema2.max(HARNESS_PERMISSION_MODE_DESCRIPTION_MAX_LENGTH).optional(),
14824
15130
  dangerous: external_exports.boolean().optional()
14825
15131
  }).strict();
14826
15132
  var harnessPermissionModeCatalogSchema = external_exports.object({
@@ -14856,22 +15162,22 @@ var HARNESS_MODEL_REF_MAX_LENGTH = 512;
14856
15162
  var HARNESS_MODEL_LABEL_MAX_LENGTH = 256;
14857
15163
  var HARNESS_THINKING_OPTION_ID_MAX_LENGTH = 128;
14858
15164
  var THREAD_OWNERSHIP_LIST_MAX_LENGTH = 100;
14859
- var nonBlankTextSchema2 = external_exports.string().refine((value) => value.trim().length > 0, {
15165
+ var nonBlankTextSchema3 = external_exports.string().refine((value) => value.trim().length > 0, {
14860
15166
  message: "Value must not be empty or whitespace"
14861
15167
  });
14862
- var harnessModelRefIdSchema = nonBlankTextSchema2.max(HARNESS_MODEL_REF_MAX_LENGTH).regex(/^[A-Za-z0-9._~-]+$/u, "Model Ref must use transport-safe opaque characters").brand();
15168
+ var harnessModelRefIdSchema = nonBlankTextSchema3.max(HARNESS_MODEL_REF_MAX_LENGTH).regex(/^[A-Za-z0-9._~-]+$/u, "Model Ref must use transport-safe opaque characters").brand();
14863
15169
  var harnessModelRefSchema = external_exports.object({
14864
15170
  id: harnessModelRefIdSchema
14865
15171
  }).strict();
14866
- var harnessThinkingOptionIdSchema = nonBlankTextSchema2.max(HARNESS_THINKING_OPTION_ID_MAX_LENGTH).regex(/^[A-Za-z0-9._~-]+$/u, "Thinking option ID must use transport-safe characters").brand();
14867
- var harnessResolvedModelLabelSchema = nonBlankTextSchema2.max(HARNESS_MODEL_LABEL_MAX_LENGTH);
15172
+ var harnessThinkingOptionIdSchema = nonBlankTextSchema3.max(HARNESS_THINKING_OPTION_ID_MAX_LENGTH).regex(/^[A-Za-z0-9._~-]+$/u, "Thinking option ID must use transport-safe characters").brand();
15173
+ var harnessResolvedModelLabelSchema = nonBlankTextSchema3.max(HARNESS_MODEL_LABEL_MAX_LENGTH);
14868
15174
  var harnessThinkingOptionSchema = external_exports.object({
14869
15175
  id: harnessThinkingOptionIdSchema,
14870
- label: nonBlankTextSchema2.max(HARNESS_MODEL_LABEL_MAX_LENGTH)
15176
+ label: nonBlankTextSchema3.max(HARNESS_MODEL_LABEL_MAX_LENGTH)
14871
15177
  }).strict();
14872
15178
  var harnessModelSchema = external_exports.object({
14873
15179
  ref: harnessModelRefSchema,
14874
- label: nonBlankTextSchema2.max(HARNESS_MODEL_LABEL_MAX_LENGTH),
15180
+ label: nonBlankTextSchema3.max(HARNESS_MODEL_LABEL_MAX_LENGTH),
14875
15181
  resolvedModelLabel: harnessResolvedModelLabelSchema.optional(),
14876
15182
  supportedThinkingOptionIds: external_exports.array(harnessThinkingOptionIdSchema).optional()
14877
15183
  }).strict();
@@ -15008,7 +15314,7 @@ var harnessInspectionSchema = external_exports.union([
15008
15314
  ]);
15009
15315
  var harnessInspectParamsSchema = external_exports.object({
15010
15316
  harnessId: harnessIdSchema,
15011
- cwd: nonBlankTextSchema2.max(16384).optional(),
15317
+ cwd: nonBlankTextSchema3.max(16384).optional(),
15012
15318
  refresh: external_exports.boolean().optional()
15013
15319
  }).strict();
15014
15320
  var harnessWebUiOpenParamsSchema = external_exports.object({
@@ -15032,8 +15338,8 @@ var codexThreadInspectionSchema = external_exports.object({
15032
15338
  }).strict();
15033
15339
  var externalThreadInspectionSchema = external_exports.object({
15034
15340
  owner: external_exports.literal("external"),
15035
- harnessId: nonBlankTextSchema2.max(256),
15036
- transportModelId: nonBlankTextSchema2.max(1024),
15341
+ harnessId: nonBlankTextSchema3.max(256),
15342
+ transportModelId: nonBlankTextSchema3.max(1024),
15037
15343
  effectiveModel: harnessModelRefSchema.optional(),
15038
15344
  resolvedModelLabel: harnessResolvedModelLabelSchema.optional(),
15039
15345
  effectiveThinkingOptionId: harnessThinkingOptionIdSchema.optional(),
@@ -15091,48 +15397,6 @@ var threadOwnershipListResultSchema = external_exports.object({
15091
15397
  }
15092
15398
  });
15093
15399
 
15094
- // ../../shared-contracts/dist/harness-plugins.js
15095
- var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
15096
- var HARNESS_PLUGIN_ICON_MAX_BYTES = 128 * 1024;
15097
- var HARNESS_PLUGIN_LIMIT = 128;
15098
- var harnessPluginIdSchema = external_exports.string().min(1).max(128).regex(/^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/u).refine((id) => id !== "codex", "The official Codex identity is reserved").pipe(harnessIdSchema);
15099
- var relativeResourceSchema = external_exports.string().min(1).max(512).refine((value) => !/[\\\u0000:#?]/u.test(value) && !value.startsWith("/") && !value.split("/").some((part) => part === ".." || part === ""), "Plugin resources must be relative paths inside the plugin");
15100
- var documentationUrlSchema = external_exports.url().refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Plugin documentation links must be credential-free HTTPS URLs");
15101
- var pluginPresentationShape = {
15102
- id: harnessPluginIdSchema,
15103
- name: external_exports.string().trim().min(1).max(128),
15104
- version: external_exports.string().min(1).max(128),
15105
- /** The factory accepts a persisted local entrypoint through its construction context. */
15106
- launchCommand: external_exports.literal(true).optional(),
15107
- links: external_exports.object({
15108
- documentation: documentationUrlSchema.optional(),
15109
- installation: documentationUrlSchema.optional()
15110
- }).strict().optional()
15111
- };
15112
- var harnessPluginManifestSchema = external_exports.object({
15113
- manifestVersion: external_exports.literal(1),
15114
- ...pluginPresentationShape,
15115
- adapterApiVersion: external_exports.number().int().positive(),
15116
- entry: relativeResourceSchema,
15117
- icon: relativeResourceSchema.optional()
15118
- }).strict();
15119
- var harnessPluginIconSchema = external_exports.string().max(Math.ceil(HARNESS_PLUGIN_ICON_MAX_BYTES / 3) * 4 + 64).regex(/^data:image\/(?:png|jpeg|webp|svg\+xml);base64,[A-Za-z0-9+/]+={0,2}$/u);
15120
- var harnessPluginDescriptorSchema = external_exports.object({
15121
- ...pluginPresentationShape,
15122
- icon: harnessPluginIconSchema.optional()
15123
- }).strict();
15124
- var harnessPluginListParamsSchema = external_exports.object({}).strict();
15125
- var harnessPluginListResultSchema = external_exports.object({
15126
- plugins: external_exports.array(harnessPluginDescriptorSchema).max(HARNESS_PLUGIN_LIMIT)
15127
- }).strict();
15128
- var harnessPluginConfigurationSchema = external_exports.object({
15129
- version: external_exports.literal(1),
15130
- enabled: external_exports.array(harnessPluginIdSchema).max(HARNESS_PLUGIN_LIMIT)
15131
- }).strict().refine((value) => new Set(value.enabled).size === value.enabled.length, {
15132
- message: "Enabled plugin IDs must be unique",
15133
- path: ["enabled"]
15134
- });
15135
-
15136
15400
  // ../../shared-contracts/dist/harness-route.js
15137
15401
  var harnessPluginRouteSchema = external_exports.object({
15138
15402
  harnessId: harnessPluginIdSchema,
@@ -15156,7 +15420,7 @@ var harnessLaunchSettingsSchema = external_exports.object({
15156
15420
 
15157
15421
  // ../../shared-contracts/dist/codex-accounts.js
15158
15422
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
15159
- var nonBlankTextSchema3 = external_exports.string().trim().min(1);
15423
+ var nonBlankTextSchema4 = external_exports.string().trim().min(1);
15160
15424
  var codexAccountPlanTypeSchema = external_exports.enum([
15161
15425
  "free",
15162
15426
  "go",
@@ -15178,7 +15442,7 @@ var codexAccountPlanTypeSchema = external_exports.enum([
15178
15442
  ]);
15179
15443
  var codexAccountSchema = external_exports.object({
15180
15444
  accountId: accountIdSchema,
15181
- label: nonBlankTextSchema3.max(256),
15445
+ label: nonBlankTextSchema4.max(256),
15182
15446
  email: external_exports.string().email().max(320).optional(),
15183
15447
  planType: codexAccountPlanTypeSchema.optional()
15184
15448
  }).strict();
@@ -15188,7 +15452,7 @@ var codexAccountListResultSchema = external_exports.object({
15188
15452
  currentAccountId: accountIdSchema.nullable(),
15189
15453
  phase: codexAccountPhaseSchema,
15190
15454
  revision: external_exports.number().int().nonnegative(),
15191
- instanceId: nonBlankTextSchema3.max(1024).optional(),
15455
+ instanceId: nonBlankTextSchema4.max(1024).optional(),
15192
15456
  accounts: external_exports.array(codexAccountSchema).max(1)
15193
15457
  }).strict();
15194
15458
  var codexAccountUsageParamsSchema = external_exports.object({ accountId: accountIdSchema, refresh: external_exports.boolean().optional() }).strict();
@@ -15200,47 +15464,6 @@ var codexAccountUsageResultSchema = external_exports.object({
15200
15464
  observedAt: external_exports.string().datetime().nullable()
15201
15465
  }).strict();
15202
15466
 
15203
- // ../../shared-contracts/dist/harness-session-import.js
15204
- var HARNESS_SESSION_IMPORT_ID_MAX_LENGTH = 1024;
15205
- var HARNESS_SESSION_IMPORT_CWD_MAX_LENGTH = 16384;
15206
- var HARNESS_SESSION_IMPORT_TITLE_MAX_LENGTH = 4096;
15207
- var HARNESS_SESSION_IMPORT_LIST_MAX_LENGTH = 1e3;
15208
- var HARNESS_SESSION_IMPORT_UPDATED_AT_MAX = 864e13;
15209
- var nonBlankTextSchema4 = external_exports.string().refine((value) => value.trim().length > 0, "Value must not be empty or whitespace").refine((value) => !value.includes("\0"), "Value must not contain NUL");
15210
- var harnessSessionImportIdSchema = nonBlankTextSchema4.max(HARNESS_SESSION_IMPORT_ID_MAX_LENGTH);
15211
- var harnessSessionImportCandidateSchema = external_exports.object({
15212
- nativeSessionId: harnessSessionImportIdSchema,
15213
- title: nonBlankTextSchema4.max(HARNESS_SESSION_IMPORT_TITLE_MAX_LENGTH).nullable(),
15214
- updatedAt: external_exports.number().int().nonnegative().max(HARNESS_SESSION_IMPORT_UPDATED_AT_MAX),
15215
- cwd: nonBlankTextSchema4.max(HARNESS_SESSION_IMPORT_CWD_MAX_LENGTH),
15216
- // Native file discovery cannot reliably observe another process's activity.
15217
- running: external_exports.boolean().nullable()
15218
- }).strict();
15219
- var harnessSessionImportSourcesParamsSchema = external_exports.object({}).strict();
15220
- var harnessSessionImportSourcesResultSchema = external_exports.object({
15221
- harnesses: external_exports.array(external_exports.object({
15222
- harnessId: harnessPluginIdSchema,
15223
- name: nonBlankTextSchema4.max(128)
15224
- }).strict()).max(128)
15225
- }).strict();
15226
- var harnessSessionListParamsSchema = external_exports.object({
15227
- harnessId: harnessPluginIdSchema,
15228
- query: external_exports.string().trim().max(4096).refine((value) => !value.includes("\0")).optional(),
15229
- offset: external_exports.number().int().nonnegative().safe().optional(),
15230
- limit: external_exports.number().int().min(1).max(HARNESS_SESSION_IMPORT_LIST_MAX_LENGTH).optional()
15231
- }).strict();
15232
- var harnessSessionListResultSchema = external_exports.object({
15233
- candidates: external_exports.array(harnessSessionImportCandidateSchema).max(HARNESS_SESSION_IMPORT_LIST_MAX_LENGTH),
15234
- total: external_exports.number().int().nonnegative().safe()
15235
- }).strict();
15236
- var harnessSessionImportParamsSchema = external_exports.object({
15237
- harnessId: harnessPluginIdSchema,
15238
- nativeSessionId: harnessSessionImportIdSchema
15239
- }).strict();
15240
- var harnessSessionImportResultSchema = external_exports.object({
15241
- threadId: nonBlankTextSchema4.max(1024).pipe(hostThreadIdSchema)
15242
- }).strict();
15243
-
15244
15467
  // ../../shared-contracts/dist/deepseek-modern-sessions.js
15245
15468
  var DEEPSEEK_MODERN_SESSION_LIST_MAX_LENGTH = HARNESS_SESSION_IMPORT_LIST_MAX_LENGTH;
15246
15469
  var DEEPSEEK_MODERN_HOST_THREAD_ID_MAX_LENGTH = 1024;
@@ -15588,6 +15811,9 @@ var usageFields = /* @__PURE__ */ new Set([
15588
15811
  "contextUsagePercent"
15589
15812
  ]);
15590
15813
 
15814
+ // ../../harness-adapter/dist/native-session-summary.js
15815
+ var NATIVE_SESSION_IDLE_GAP_MS = 30 * 6e4;
15816
+
15591
15817
  // ../../harness-adapter/dist/live-command-catalog.js
15592
15818
  var COMMON_EXCLUDED_LIVE_COMMANDS = /* @__PURE__ */ new Set([
15593
15819
  // Session lifecycle
@@ -24105,6 +24331,8 @@ function inspectionFromTransportError(error51) {
24105
24331
  };
24106
24332
  }
24107
24333
  function importFailure(error51) {
24334
+ if (error51 instanceof HermesExecutableError)
24335
+ return failure("notInstalled", error51.message);
24108
24336
  if (error51 instanceof HermesTransportError) {
24109
24337
  return failure(error51.kind === "notInstalled" ? "notInstalled" : "unavailable", error51.message, error51.kind !== "notInstalled");
24110
24338
  }