@tomradex/code-sessions 0.16.3 → 0.17.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.
package/dist/drop.d.ts CHANGED
@@ -11,9 +11,16 @@ export declare function droppedPaste(paths: readonly string[]): string | null;
11
11
  * screenshot's thumbnail: only the app it was dropped on may read it there, not the programs in its terminals.
12
12
  */
13
13
  export declare const heldForDrop: (file: string, tmp?: string) => boolean;
14
+ export declare const PRIVATE_COPY_MAX: number;
15
+ /**
16
+ * The folders macOS keeps to the apps the person allowed and to the app a file from them was dropped on (Tomrade).
17
+ * A terminal's programs count as whichever app started herdr, often neither. None off macOS.
18
+ */
19
+ export declare function privateFolders(home?: string | null): string[];
14
20
  /**
15
21
  * The dropped paths as a terminal's programs can read them: each file held for Tomrade alone is copied, under
16
- * its own name, into a new folder in `into`; one that cannot be copied keeps its own path.
22
+ * its own name, into a new folder in `into` — anything held for a drop, and from a private folder a file up to
23
+ * PRIVATE_COPY_MAX. One that cannot be copied, and a folder or bigger file from a private folder, keeps its own path.
17
24
  */
18
- export declare function readableDrops(paths: readonly string[], into: string, tmp?: string): Promise<string[]>;
25
+ export declare function readableDrops(paths: readonly string[], into: string, tmp?: string, folders?: string[]): Promise<string[]>;
19
26
  //# sourceMappingURL=drop.d.ts.map
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { spawn } from "node:child_process";
2
2
  import type { Context } from "cordis";
3
3
  import { z } from "zod";
4
4
  import { type CodeLink } from "@tomradex/code-link";
5
- import type { Layout, SessionRow } from "./protocol.js";
5
+ import type { Layout, SessionRow, TerminalRow } from "./protocol.js";
6
6
  export type * from "./protocol.js";
7
7
  export declare const Config: z.ZodObject<{
8
8
  document: z.ZodString;
@@ -29,6 +29,11 @@ export declare function sessionRows(codeLink: Pick<CodeLink, "sessionsOf" | "lin
29
29
  title: string;
30
30
  } | null | undefined;
31
31
  }, projectId: string, now?: number, device?: string, platform?: NodeJS.Platform): SessionRow[];
32
+ /**
33
+ * The row an ended session's pane goes on as, when it does: a terminal opened here on it, else the newest live session
34
+ * on it — the agent working another ticket in the same pane. Null once nothing of the window runs there.
35
+ */
36
+ export declare function continuedIn(pane: string | null, sessions: SessionRow[], terminals: TerminalRow[]): string | null;
32
37
  /**
33
38
  * A window per project for its code sessions: the list with live status, and
34
39
  * their terminals side by side — streamed from herdr's panes through core,
@@ -39,6 +39,8 @@ export interface SessionRow {
39
39
  startedAt: number;
40
40
  /** When it ended; null while it lives. */
41
41
  endedAt: number | null;
42
+ /** Ended while its pane goes on here as another of the window's rows (another ticket of the same agent): that row's id; null otherwise. */
43
+ continuedIn: string | null;
42
44
  }
43
45
  /** A plain terminal the window opened: a herdr pane of the person's, with no ticket or code-link session behind it. */
44
46
  export interface TerminalRow {
@@ -95,6 +97,8 @@ export interface WindowState {
95
97
  /** The app's language, so the window speaks it even before the main window says how it looks. */
96
98
  locale: string;
97
99
  bridge: HerdrBridge;
100
+ /** A herdr client of its own runs on this machine: "Show in herdr" has a window to show the pane in. */
101
+ herdrClient: boolean;
98
102
  /** herdr's server went away under this window's terminals: being started again, or that did not work (the person can retry). */
99
103
  revive: "starting" | "failed" | null;
100
104
  /** How herdr installs here, when it is missing: the command shown on the button, or only the guide. */
@@ -242,6 +246,11 @@ export type WindowMessage = {
242
246
  type: "install";
243
247
  } | {
244
248
  type: "openGuide";
249
+ }
250
+ /** A link clicked in a terminal: opened in the system browser. */
251
+ | {
252
+ type: "openLink";
253
+ url: string;
245
254
  } | {
246
255
  type: "switchTerminal";
247
256
  switch: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomradex/code-sessions",
3
- "version": "0.16.3",
3
+ "version": "0.17.1",
4
4
  "type": "module",
5
5
  "author": "Haoyuan Tang",
6
6
  "engines": {
@@ -27,14 +27,15 @@
27
27
  "dist"
28
28
  ],
29
29
  "dependencies": {
30
- "@tomradex/code-link": "0.16.3",
31
- "@tomradex/contributions": "0.16.3",
32
- "@tomradex/db": "0.16.3",
33
- "@tomradex/desktop-surface": "0.16.3",
34
- "@tomradex/domain": "0.2.19",
35
- "@tomradex/herdr": "0.16.3",
36
- "@tomradex/items": "0.16.3",
37
- "@tomradex/settings": "0.16.3",
30
+ "@tomradex/code-link": "0.17.1",
31
+ "@tomradex/contracts": "0.17.1",
32
+ "@tomradex/contributions": "0.17.1",
33
+ "@tomradex/db": "0.17.1",
34
+ "@tomradex/desktop-surface": "0.17.1",
35
+ "@tomradex/domain": "0.2.26",
36
+ "@tomradex/herdr": "0.17.1",
37
+ "@tomradex/items": "0.17.1",
38
+ "@tomradex/settings": "0.17.1",
38
39
  "cordis": "4.0.0-rc.8",
39
40
  "zod": "^4.4.3"
40
41
  }