@botharness/ui 1.3.0 → 1.4.0

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.
@@ -7,7 +7,7 @@ Third-party works distributed inside this package (inlined into `lib/client.js`
7
7
  - Package: `blobatar` 2.7.0
8
8
  - License: MIT
9
9
  - Source: <https://github.com/Alain00/blobatar>
10
- - Used for: deterministic default avatars generated from a bot slug (`@blobatar/react` remains a declared dependency for the same work; generator code is inlined by the client bundle build).
10
+ - Used for: deterministic default avatars generated from a bot slug (generator code is inlined by the client bundle build).
11
11
 
12
12
  ```
13
13
  MIT License
@@ -69,7 +69,7 @@ SOFTWARE.
69
69
  - Package: `lucide` icons (vendored glyph paths; see ADR-0032)
70
70
  - License: ISC
71
71
  - Source: <https://github.com/lucide-icons/lucide>
72
- - Used for: Channel sidebar function/settings/check glyphs (`files`, `git-branch`, `messages-square`, `inbox`, `folder-key`, `users`, `settings-2`, `settings`, `monitor`, `globe`, `panels-top-left`, `grip-vertical`, `check`, `eye`, `eye-off`, from `lucide-react@1.46.0`) in `channel-sidebar-icon.tsx`; the `inbox` Activity Center glyph (`InboxIcon` in `src/client/inbox-icon.tsx`) and the `hash` channel glyph (`HashIcon` in `src/client/hash-icon.tsx`, from `lucide-react@1.46.0`); the `git-commit-vertical` Memory commit glyph (`GitCommitIcon` in `src/client/git-commit-icon.tsx`, from `lucide-react@1.46.0`)
72
+ - Used for: Channel sidebar function/settings/check glyphs (`house`, `files`, `git-branch`, `messages-square`, `inbox`, `folder-key`, `users`, `settings-2`, `settings`, `monitor`, `globe`, `panels-top-left`, `grip-vertical`, `check`, `eye`, `eye-off`, `chevron-right`, from `lucide-react@1.46.0`) in `channel-sidebar-icon.tsx`; the `inbox` Activity Center glyph (`InboxIcon` in `src/client/inbox-icon.tsx`) and the `hash` channel glyph (`HashIcon` in `src/client/hash-icon.tsx`, from `lucide-react@1.46.0`); the `git-commit-vertical` Memory commit glyph (`GitCommitIcon` in `src/client/git-commit-icon.tsx`, from `lucide-react@1.46.0`)
73
73
 
74
74
  ```
75
75
  ISC License
@@ -177,6 +177,36 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
177
177
  THE SOFTWARE.
178
178
  ```
179
179
 
180
+ ## dockview
181
+
182
+ - Package: `dockview-react` 8.4.1 with `dockview` and `dockview-core` 8.4.1, locally bundled.
183
+ - Source: <https://github.com/dockview/dockview>
184
+ - Use: the desktop Bot mode dock layout; its stock themes are stripped and the remaining stylesheet is themed with DSH tokens.
185
+
186
+ ```
187
+ MIT License
188
+
189
+ Copyright (c) 2021 mathuo
190
+
191
+ Permission is hereby granted, free of charge, to any person obtaining a copy
192
+ of this software and associated documentation files (the "Software"), to deal
193
+ in the Software without restriction, including without limitation the rights
194
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
195
+ copies of the Software, and to permit persons to whom the Software is
196
+ furnished to do so, subject to the following conditions:
197
+
198
+ The above copyright notice and this permission notice shall be included in all
199
+ copies or substantial portions of the Software.
200
+
201
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
202
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
203
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
204
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
205
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
206
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
207
+ SOFTWARE.
208
+ ```
209
+
180
210
  ## html-to-image
181
211
 
182
212
  - Package: `html-to-image` 1.11.13, locally bundled.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- //#region node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.5/node_modules/@deepseek-ai/cosmokit/lib/types/types.d.ts
1
+ //#region node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.6/node_modules/@deepseek-ai/cosmokit/lib/types/types.d.ts
2
2
  declare function isArrayBufferLike(value: any): value is ArrayBufferLike;
3
3
  declare function isArrayBufferSource(value: any): value is Binary.Source;
4
4
  /** Binary source detection and base64/hex conversion helpers. */
@@ -13,7 +13,7 @@ declare namespace Binary {
13
13
  function fromHex(source: string): ArrayBuffer;
14
14
  }
15
15
  //#endregion
16
- //#region node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.5/node_modules/@deepseek-ai/cosmokit/lib/types/misc.d.ts
16
+ //#region node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.6/node_modules/@deepseek-ai/cosmokit/lib/types/misc.d.ts
17
17
  /** String/symbol keyed dictionary type. */
18
18
  type Dict<T = any, K extends string | symbol = string> = { [key in K]: T; };
19
19
  /** Wrap a value in `Promise`, preserving the resolved type of existing promises. */
@@ -21,7 +21,7 @@ type Promisify<T> = Promise<T extends Promise<infer S> ? S : T>;
21
21
  /** Accept a value or promise unless the value type is already promise-like. */
22
22
  type Awaitable<T> = [T] extends [Promise<unknown>] ? T : T | Promise<T>;
23
23
  //#endregion
24
- //#region node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.5/node_modules/@deepseek-ai/cosmokit/lib/types/volatile.d.ts
24
+ //#region node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.6/node_modules/@deepseek-ai/cosmokit/lib/types/volatile.d.ts
25
25
  /** Shared config references used by schema validators and plugin runtimes. */
26
26
  /** Recursively readonly data returned by a volatile config reference. */
27
27
  type VolatileSnapshot<T> = T extends object ? { readonly [K in keyof T]: VolatileSnapshot<T[K]>; } : T;
@@ -108,7 +108,7 @@ declare namespace StandardSchemaV1 {
108
108
  type InferOutput<Schema extends StandardTypedV1> = StandardTypedV1.InferOutput<Schema>;
109
109
  }
110
110
  //#endregion
111
- //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.4_@deepseek-ai+cordis-plugin-include@1.0.9_@deepseek-ai+cordis-plugin-loader@1.0.5/node_modules/@deepseek-ai/cordis/lib/types/utils.d.ts
111
+ //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.5_@deepseek-ai+cordis-plugin-include@1.0.10_@deepseek-ai+cordis-plugin-loader@1.0.6/node_modules/@deepseek-ai/cordis/lib/types/utils.d.ts
112
112
  /** Ordered collection of disposable values with O(1) deletion by value. */
113
113
  declare class DisposableList<T extends WeakKey> {
114
114
  private sn;
@@ -141,7 +141,7 @@ declare const symbols: {
141
141
  resolveConfig: typeof Service.resolveConfig;
142
142
  };
143
143
  //#endregion
144
- //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.4_@deepseek-ai+cordis-plugin-include@1.0.9_@deepseek-ai+cordis-plugin-loader@1.0.5/node_modules/@deepseek-ai/cordis/lib/types/registry.d.ts
144
+ //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.5_@deepseek-ai+cordis-plugin-include@1.0.10_@deepseek-ai+cordis-plugin-loader@1.0.6/node_modules/@deepseek-ai/cordis/lib/types/registry.d.ts
145
145
  /**
146
146
  * Service dependency declaration accepted by plugins and the `@Inject`
147
147
  * decorator.
@@ -333,7 +333,7 @@ declare class RegistryService {
333
333
  plugin(plugin: Plugin, config?: any, getOuterStack?: () => string[]): Fiber & PromiseLike<Fiber>;
334
334
  }
335
335
  //#endregion
336
- //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.4_@deepseek-ai+cordis-plugin-include@1.0.9_@deepseek-ai+cordis-plugin-loader@1.0.5/node_modules/@deepseek-ai/cordis/lib/types/reflect.d.ts
336
+ //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.5_@deepseek-ai+cordis-plugin-include@1.0.10_@deepseek-ai+cordis-plugin-loader@1.0.6/node_modules/@deepseek-ai/cordis/lib/types/reflect.d.ts
337
337
  declare module './context.ts' {
338
338
  interface Context {
339
339
  /**
@@ -517,7 +517,7 @@ declare class ReflectService {
517
517
  bind<T extends Function>(callback: T): T;
518
518
  }
519
519
  //#endregion
520
- //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.4_@deepseek-ai+cordis-plugin-include@1.0.9_@deepseek-ai+cordis-plugin-loader@1.0.5/node_modules/@deepseek-ai/cordis/lib/types/fiber.d.ts
520
+ //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.5_@deepseek-ai+cordis-plugin-include@1.0.10_@deepseek-ai+cordis-plugin-loader@1.0.6/node_modules/@deepseek-ai/cordis/lib/types/fiber.d.ts
521
521
  declare module './context.ts' {
522
522
  interface Context extends Pick<Fiber, 'effect'> {
523
523
  /** The fiber (plugin runtime instance) that owns this context. */
@@ -678,7 +678,7 @@ declare class Fiber {
678
678
  update(config: any, noSave?: boolean): void;
679
679
  }
680
680
  //#endregion
681
- //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.4_@deepseek-ai+cordis-plugin-include@1.0.9_@deepseek-ai+cordis-plugin-loader@1.0.5/node_modules/@deepseek-ai/cordis/lib/types/events.d.ts
681
+ //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.5_@deepseek-ai+cordis-plugin-include@1.0.10_@deepseek-ai+cordis-plugin-loader@1.0.6/node_modules/@deepseek-ai/cordis/lib/types/events.d.ts
682
682
  /** Extract the parameter tuple from a function type. */
683
683
  type Parameters<F> = F extends ((...args: infer P) => any) ? P : never;
684
684
  /** Extract the return type from a function type. */
@@ -909,7 +909,7 @@ interface Events {
909
909
  'internal/dispatch'(mode: DispatchMode, name: string, args: any[], thisArg: any): void;
910
910
  }
911
911
  //#endregion
912
- //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.4_@deepseek-ai+cordis-plugin-include@1.0.9_@deepseek-ai+cordis-plugin-loader@1.0.5/node_modules/@deepseek-ai/cordis/lib/types/logger.d.ts
912
+ //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.5_@deepseek-ai+cordis-plugin-include@1.0.10_@deepseek-ai+cordis-plugin-loader@1.0.6/node_modules/@deepseek-ai/cordis/lib/types/logger.d.ts
913
913
  declare module './context.ts' {
914
914
  interface Intercept {
915
915
  logger: LoggerService.Intercept;
@@ -997,7 +997,7 @@ declare class LoggerService {
997
997
  [symbols.invoke](name?: string): Logger;
998
998
  }
999
999
  //#endregion
1000
- //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.4_@deepseek-ai+cordis-plugin-include@1.0.9_@deepseek-ai+cordis-plugin-loader@1.0.5/node_modules/@deepseek-ai/cordis/lib/types/context.d.ts
1000
+ //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.5_@deepseek-ai+cordis-plugin-include@1.0.10_@deepseek-ai+cordis-plugin-loader@1.0.6/node_modules/@deepseek-ai/cordis/lib/types/context.d.ts
1001
1001
  /**
1002
1002
  * Public shape of a Cordis context.
1003
1003
  *
@@ -1092,7 +1092,7 @@ declare class Context {
1092
1092
  intercept(name: string, config: any): this;
1093
1093
  }
1094
1094
  //#endregion
1095
- //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.4_@deepseek-ai+cordis-plugin-include@1.0.9_@deepseek-ai+cordis-plugin-loader@1.0.5/node_modules/@deepseek-ai/cordis/lib/types/service.d.ts
1095
+ //#region node_modules/.pnpm/@deepseek-ai+cordis@4.0.5_@deepseek-ai+cordis-plugin-include@1.0.10_@deepseek-ai+cordis-plugin-loader@1.0.6/node_modules/@deepseek-ai/cordis/lib/types/service.d.ts
1096
1096
  /**
1097
1097
  * Base class for services that expose a named API on `ctx`.
1098
1098
  *
@@ -1146,7 +1146,7 @@ declare abstract class Service<out T = never> {
1146
1146
  static [Symbol.hasInstance](instance: any): boolean;
1147
1147
  }
1148
1148
  //#endregion
1149
- //#region node_modules/.pnpm/@deepseek-ai+schemastery@3.18.4/node_modules/@deepseek-ai/schemastery/lib/types/index.d.ts
1149
+ //#region node_modules/.pnpm/@deepseek-ai+schemastery@3.18.5/node_modules/@deepseek-ai/schemastery/lib/types/index.d.ts
1150
1150
  declare const kSchema: unique symbol;
1151
1151
  declare global {
1152
1152
  namespace Schemastery {
@@ -1352,18 +1352,22 @@ declare const Schema: Schemastery.Static;
1352
1352
  //#endregion
1353
1353
  //#region packages/client/src/bot-mode-settings.d.ts
1354
1354
  declare const BOT_MODE_SORT_MODES: readonly ['updated', 'manual'];
1355
+ declare const BOT_MODE_SEND_KEYS: readonly ['enter', 'shift-enter', 'mod-enter'];
1355
1356
  declare const BOT_MODE_MOTION_PREFERENCES: readonly ['system', 'reduce', 'full'];
1356
1357
  declare const BOT_MODE_ICONS: readonly ['mascot', 'simple', 'blob', 'bot'];
1357
1358
  type BotModeSortMode = (typeof BOT_MODE_SORT_MODES)[number];
1358
1359
  type BotModeMotionPreference = (typeof BOT_MODE_MOTION_PREFERENCES)[number];
1359
1360
  type BotModeIcon = (typeof BOT_MODE_ICONS)[number];
1361
+ type BotModeSendKey = (typeof BOT_MODE_SEND_KEYS)[number];
1360
1362
  interface BotModeSettings {
1361
1363
  assignmentConcurrencyLimit?: number;
1362
1364
  autoAcceptGroupInvites?: boolean;
1363
1365
  developerMode: boolean;
1364
1366
  showBotSessions?: boolean;
1367
+ showApprovalReviewSessions?: boolean;
1365
1368
  motionPreference: BotModeMotionPreference;
1366
1369
  botIcon: BotModeIcon;
1370
+ sendKey?: BotModeSendKey;
1367
1371
  sortMode: BotModeSortMode;
1368
1372
  sortModes: Record<string, BotModeSortMode>;
1369
1373
  }
@@ -1375,8 +1379,10 @@ export interface Config {
1375
1379
  autoAcceptGroupInvites: Volatile<boolean>;
1376
1380
  developerMode: Volatile<boolean>;
1377
1381
  showBotSessions: Volatile<boolean>;
1382
+ showApprovalReviewSessions: Volatile<boolean>;
1378
1383
  botIcon: Volatile<BotModeIcon>;
1379
1384
  motionPreference: Volatile<BotModeMotionPreference>;
1385
+ sendKey: Volatile<BotModeSendKey>;
1380
1386
  sortMode: Volatile<BotModeSortMode>;
1381
1387
  sortModes: Volatile<Record<string, BotModeSortMode>>;
1382
1388
  }
package/dist/index.mjs CHANGED
@@ -1,4 +1,6 @@
1
- //#region node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.5/node_modules/@deepseek-ai/cosmokit/lib/index.js
1
+ import { readFileSync, realpathSync } from "node:fs";
2
+ import { fileURLToPath } from "node:url";
3
+ //#region node_modules/.pnpm/@deepseek-ai+cosmokit@1.8.6/node_modules/@deepseek-ai/cosmokit/lib/index.js
2
4
  /** Return true when a value is `null` or `undefined`. */
3
5
  function isNullable(value) {
4
6
  return value === null || value === void 0;
@@ -252,7 +254,7 @@ var Time;
252
254
  Time.template = template;
253
255
  })(Time || (Time = {}));
254
256
  //#endregion
255
- //#region node_modules/.pnpm/@deepseek-ai+schemastery@3.18.4/node_modules/@deepseek-ai/schemastery/lib/index.mjs
257
+ //#region node_modules/.pnpm/@deepseek-ai+schemastery@3.18.5/node_modules/@deepseek-ai/schemastery/lib/index.mjs
256
258
  const kSchema = Symbol.for("schemastery");
257
259
  const kValidationError = Symbol.for("ValidationError");
258
260
  globalThis.__schemastery_index__ ??= 0;
@@ -885,8 +887,40 @@ defineMethod("transform", [
885
887
  "preserve"
886
888
  ], ({ inner }, isInner) => inner.toString(isInner));
887
889
  //#endregion
890
+ //#region packages/core/src/release/component.ts
891
+ const componentKey = Symbol.for("botharness.release-component");
892
+ Object.freeze({
893
+ "botharness-core": "@botharness/core",
894
+ "botharness-client": "@botharness/ui",
895
+ "botharness-browser": "@botharness/browser",
896
+ "botharness-computer": "@botharness/computer"
897
+ });
898
+ function stampReleaseComponent(callback, moduleUrl) {
899
+ let snapshot;
900
+ try {
901
+ const manifest = JSON.parse(readFileSync(new URL("../package.json", moduleUrl), "utf8"));
902
+ if (typeof manifest === "object" && manifest !== null && !Array.isArray(manifest)) {
903
+ const value = manifest;
904
+ if (typeof value["name"] === "string" && typeof value["version"] === "string") snapshot = Object.freeze({
905
+ name: value["name"],
906
+ version: value["version"],
907
+ private: value["private"] === true,
908
+ directory: realpathSync(fileURLToPath(new URL("../", moduleUrl)))
909
+ });
910
+ }
911
+ } catch {
912
+ snapshot = void 0;
913
+ }
914
+ Object.defineProperty(callback, componentKey, { value: snapshot });
915
+ }
916
+ //#endregion
888
917
  //#region packages/client/src/bot-mode-settings.ts
889
918
  const BOT_MODE_SORT_MODES = ["updated", "manual"];
919
+ const BOT_MODE_SEND_KEYS = [
920
+ "enter",
921
+ "shift-enter",
922
+ "mod-enter"
923
+ ];
890
924
  const BOT_MODE_MOTION_PREFERENCES = [
891
925
  "system",
892
926
  "reduce",
@@ -901,16 +935,20 @@ const BOT_MODE_ICONS = [
901
935
  const DEFAULT_BOT_MODE_SORT = "updated";
902
936
  const DEFAULT_BOT_MODE_MOTION = "system";
903
937
  const DEFAULT_BOT_MODE_ICON = "mascot";
938
+ const DEFAULT_BOT_MODE_SEND_KEY = "enter";
904
939
  //#endregion
905
940
  //#region packages/client/src/index.ts
906
941
  const name = "botharness-client";
942
+ stampReleaseComponent(apply, import.meta.url);
907
943
  const Config = Schema.object({
908
944
  assignmentConcurrencyLimit: Schema.number().min(1).max(32).step(1).default(8).volatile(),
909
945
  autoAcceptGroupInvites: Schema.boolean().default(true).volatile(),
910
946
  developerMode: Schema.boolean().default(false).volatile(),
911
947
  showBotSessions: Schema.boolean().default(true).volatile(),
948
+ showApprovalReviewSessions: Schema.boolean().default(false).volatile(),
912
949
  botIcon: Schema.union([...BOT_MODE_ICONS]).default(DEFAULT_BOT_MODE_ICON).volatile(),
913
950
  motionPreference: Schema.union([...BOT_MODE_MOTION_PREFERENCES]).default(DEFAULT_BOT_MODE_MOTION).volatile(),
951
+ sendKey: Schema.union([...BOT_MODE_SEND_KEYS]).default(DEFAULT_BOT_MODE_SEND_KEY).volatile(),
914
952
  sortMode: Schema.union([...BOT_MODE_SORT_MODES]).default(DEFAULT_BOT_MODE_SORT).volatile(),
915
953
  sortModes: Schema.dict(Schema.union([...BOT_MODE_SORT_MODES])).default({}).volatile()
916
954
  });