@webappwiz/arbor 0.0.31 → 0.0.33

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/README.md CHANGED
@@ -344,7 +344,7 @@ imports, a signature changed on one side and its callers on the other) and
344
344
  unreliable when both sides restructured the same logic, because then there is no
345
345
  correct merge, only a decision.
346
346
 
347
- ### `arbor todo add <subject> [text] [--position <n>] [--file <path>] [--tag <tag>]`, `arbor todo list [--json] [--open] [--tag <tag>]`, `arbor todo show <id> [--json]`, `arbor todo update <id> [text] [--subject <subject>] [--position <n>] [--file <path>] [--remove-file <name>] [--tag <tag>] [--remove-tag <tag>]`, `arbor todo tags [--json]`, `arbor todo take <id...>`, `arbor todo release <id...>`, `arbor todo remove <id>`
347
+ ### `arbor todo add <subject> [text] [--position <n>] [--file <path>] [--tag <tag>]`, `arbor todo list [--json] [--open] [--tag <tags>]`, `arbor todo show <id> [--json]`, `arbor todo update <id> [text] [--subject <subject>] [--position <n>] [--file <path>] [--remove-file <name>] [--tag <tag>] [--remove-tag <tag>]`, `arbor todo tags [--json]`, `arbor todo take <id...>`, `arbor todo release <id...>`, `arbor todo remove <id>`
348
348
 
349
349
  Work deferred for later. When something outside the task comes up (a bug next
350
350
  door, a follow-up the reviewer asked for, a question that turns out to be its
@@ -386,7 +386,7 @@ go when the todo does.
386
386
  todo can have several tags and a tag many todos. A tag is a lowercase word,
387
387
  or a few joined by hyphens, and anything else is refused, so one area never
388
388
  splits into two spellings. `update --tag` adds tags, `--remove-tag` drops them,
389
- `list --tag` shows only one tag's todos, and `todo tags` lists every tag in
389
+ `list --tag uploads,merge` shows only the todos with any of those tags, and `todo tags` lists every tag in
390
390
  use with how many todos have it.
391
391
 
392
392
  ### `arbor retry <task>`
package/add.d.ts CHANGED
@@ -2,7 +2,7 @@ import { type Logger } from "webappwiz/log";
2
2
  import type { Fs } from "webappwiz/system";
3
3
  import type { Config } from "./config.js";
4
4
  import type { Shell } from "./shell.js";
5
- import type { Todos } from "./todo.js";
5
+ import type { Todos } from "./todos.js";
6
6
  import type { WorktreeService } from "./worktree-service.js";
7
7
  export interface AddOptions {
8
8
  /** Branch the task starts from and merges onto. Defaults to the trunk. */
package/dev.d.ts CHANGED
@@ -3,12 +3,27 @@ import type { Logger } from "webappwiz/log";
3
3
  import { type Fs, type PortProvider, type Ps } from "webappwiz/system";
4
4
  import type { Assets } from "./dev/assets.js";
5
5
  import type { Journal } from "./journal.js";
6
- import type { Todos } from "./todo.js";
6
+ import type { Todos } from "./todos.js";
7
7
  import type { WorktreeService } from "./worktree-service.js";
8
8
  /** Preferred, not required: `dev` moves up from here when it is taken. */
9
9
  export declare const DEFAULT_PORT = 4269;
10
10
  /** How far above the port asked for `dev` will look before giving up. */
11
11
  export declare const PORT_SPAN = 20;
12
+ /**
13
+ * Serves what `todo list`, `list` and `show` print as one page that refetches
14
+ * when the repo changes, where a person adds, edits, reorders and removes
15
+ * todos. Anything that moves a task (merge, remove, claim) stays in the CLI,
16
+ * so a page that should not have been reachable can at worst change a todo.
17
+ */
18
+ export declare function dev({ service, fs, ps, journal, todos, log, assets, }: {
19
+ service: WorktreeService;
20
+ fs: Fs;
21
+ ps: Ps;
22
+ journal: Journal;
23
+ todos: Todos;
24
+ log: Logger;
25
+ assets: Assets;
26
+ }, { ports, hosts }?: DevOptions): Promise<DevServer>;
12
27
  /** What `dev` lets a caller choose. */
13
28
  export interface DevOptions {
14
29
  /** Where to listen; the port `--port` asked for, and the span above it. */
@@ -25,21 +40,6 @@ export interface DevOptions {
25
40
  export interface DevServer extends AsyncResource {
26
41
  port: number;
27
42
  }
28
- /**
29
- * Serves what `todo list`, `list` and `show` print as one page that refetches
30
- * when the repo changes, where a person adds, edits, reorders and removes
31
- * todos. Anything that moves a task (merge, remove, claim) stays in the CLI,
32
- * so a page that should not have been reachable can at worst change a todo.
33
- */
34
- export declare function dev({ service, fs, ps, journal, todos, log, assets, }: {
35
- service: WorktreeService;
36
- fs: Fs;
37
- ps: Ps;
38
- journal: Journal;
39
- todos: Todos;
40
- log: Logger;
41
- assets: Assets;
42
- }, { ports, hosts }?: DevOptions): Promise<DevServer>;
43
43
  /**
44
44
  * Where `dev` will listen, given the port asked for. A flag is outside input,
45
45
  * so a port that cannot exist is a refusal with an exit code rather than the
package/git.d.ts CHANGED
@@ -30,7 +30,12 @@ export declare class Git {
30
30
  * no remote, or a clone that never fetched it.
31
31
  */
32
32
  defaultBranch(): Promise<string | null>;
33
- currentBranch(cwd: string): Promise<string>;
33
+ /**
34
+ * The branch checked out at `cwd`, or null where there is none: a detached
35
+ * HEAD, or a directory outside any repository. Any other failure throws, so
36
+ * it is not mistaken for being off a task's branch.
37
+ */
38
+ currentBranch(cwd: string): Promise<string | null>;
34
39
  head(cwd: string): Promise<string>;
35
40
  shortHead(cwd: string): Promise<string>;
36
41
  porcelain(cwd: string): Promise<string[]>;