@yaag/extension 0.6.0 → 0.6.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.
Files changed (59) hide show
  1. package/package.json +5 -5
  2. package/src/index.ts +21 -18
  3. package/src/process/index.ts +16 -0
  4. package/src/record/index.ts +24 -0
  5. package/src/{run-program-param.ts → record/run-program-param.ts} +1 -1
  6. package/src/{run-record.ts → record/run-record.ts} +1 -1
  7. package/src/{run-registry.ts → record/run-registry.ts} +1 -2
  8. package/src/{run-restore.ts → record/run-restore.ts} +1 -1
  9. package/src/{run-settlement.ts → record/run-settlement.ts} +1 -1
  10. package/src/{fake-run-start.ts → testing/fake-run-start.ts} +1 -1
  11. package/src/testing/index.ts +19 -0
  12. package/src/{run-call-render.ts → testing/run-call-render.ts} +3 -4
  13. package/src/{run-tool-test-support.ts → testing/run-tool-test-support.ts} +11 -10
  14. package/src/{describe-tool.ts → tool/describe-tool.ts} +1 -2
  15. package/src/tool/index.ts +9 -0
  16. package/src/{run-tool.ts → tool/run-tool.ts} +32 -17
  17. package/src/{status-tool.ts → tool/status-tool.ts} +2 -4
  18. package/src/{stop-tool.ts → tool/stop-tool.ts} +3 -3
  19. package/src/{background-status.ts → view/background-status.ts} +1 -1
  20. package/src/view/index.ts +25 -0
  21. package/src/{restored-run-text.ts → view/restored-run-text.ts} +1 -1
  22. package/src/{run-call-body.ts → view/run-call-body.ts} +1 -1
  23. package/src/{run-foreground.ts → view/run-foreground.ts} +2 -2
  24. package/src/{run-listing.ts → view/run-listing.ts} +1 -1
  25. package/src/{run-picker.ts → view/run-picker.ts} +1 -1
  26. package/src/{yaag-command.ts → view/yaag-command.ts} +2 -2
  27. package/src/workspace/index.ts +8 -0
  28. package/src/{setup-workspace.ts → workspace/setup-workspace.ts} +6 -2
  29. /package/src/{cli-child.ts → process/cli-child.ts} +0 -0
  30. /package/src/{eval-pipe.ts → process/eval-pipe.ts} +0 -0
  31. /package/src/{event-reader.ts → process/event-reader.ts} +0 -0
  32. /package/src/{process-liveness.ts → process/process-liveness.ts} +0 -0
  33. /package/src/{resolve-bun.ts → process/resolve-bun.ts} +0 -0
  34. /package/src/{resolve-cli.ts → process/resolve-cli.ts} +0 -0
  35. /package/src/{run-argv.ts → process/run-argv.ts} +0 -0
  36. /package/src/{spawn-run.ts → process/spawn-run.ts} +0 -0
  37. /package/src/{status.ts → process/status.ts} +0 -0
  38. /package/src/{stderr-buffer.ts → process/stderr-buffer.ts} +0 -0
  39. /package/src/{resume-source.ts → record/resume-source.ts} +0 -0
  40. /package/src/{run-id.ts → record/run-id.ts} +0 -0
  41. /package/src/{run-store.ts → record/run-store.ts} +0 -0
  42. /package/src/{run-summary-parse.ts → record/run-summary-parse.ts} +0 -0
  43. /package/src/{runs-dir.ts → record/runs-dir.ts} +0 -0
  44. /package/src/{fake-extension-ui.ts → testing/fake-extension-ui.ts} +0 -0
  45. /package/src/{fake-theme.ts → testing/fake-theme.ts} +0 -0
  46. /package/src/{fake-tui.ts → testing/fake-tui.ts} +0 -0
  47. /package/src/{pi-keybindings.ts → testing/pi-keybindings.ts} +0 -0
  48. /package/src/{test-extension-context.ts → testing/test-extension-context.ts} +0 -0
  49. /package/src/{test-tui-context.ts → testing/test-tui-context.ts} +0 -0
  50. /package/src/{system-prompt-append.ts → tool/system-prompt-append.ts} +0 -0
  51. /package/src/{run-complete-renderer.ts → view/run-complete-renderer.ts} +0 -0
  52. /package/src/{run-details.ts → view/run-details.ts} +0 -0
  53. /package/src/{run-tree-component.ts → view/run-tree-component.ts} +0 -0
  54. /package/src/{run-tree-host.ts → view/run-tree-host.ts} +0 -0
  55. /package/src/{run-trees.ts → view/run-trees.ts} +0 -0
  56. /package/src/{usage.ts → view/usage.ts} +0 -0
  57. /package/src/{program-directories.ts → workspace/program-directories.ts} +0 -0
  58. /package/src/{setup-workspace-command.ts → workspace/setup-workspace-command.ts} +0 -0
  59. /package/src/{setup-workspace-tool.ts → workspace/setup-workspace-tool.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaag/extension",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -19,14 +19,14 @@
19
19
  },
20
20
  "scripts": {
21
21
  "typecheck": "tsc --noEmit",
22
- "test": "for file in src/*.test.ts; do bun test --timeout 30000 \"$file\" || exit 1; done",
22
+ "test": "for file in src/*/*.test.ts; do bun test --timeout 30000 \"$file\" || exit 1; done",
23
23
  "test:e2e": "bun test --timeout 30000 e2e"
24
24
  },
25
25
  "dependencies": {
26
26
  "@earendil-works/pi-tui": "^0.84.0",
27
- "@yaag/cli": "0.6.0",
28
- "@yaag/runtime": "0.6.0",
29
- "@yaag/tui": "0.6.0",
27
+ "@yaag/cli": "0.6.1",
28
+ "@yaag/runtime": "0.6.1",
29
+ "@yaag/tui": "0.6.1",
30
30
  "nanoid": "^6.0.1"
31
31
  },
32
32
  "peerDependencies": {
package/src/index.ts CHANGED
@@ -1,22 +1,25 @@
1
1
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
2
- import { createBackgroundStatus } from "./background-status.ts";
3
- import { createDescribeTool } from "./describe-tool.ts";
4
- import { findProgramDirectories } from "./program-directories.ts";
5
- import { resolveBun } from "./resolve-bun.ts";
6
- import { resolveCliEntry } from "./resolve-cli.ts";
7
- import { createRunCompleteRenderer } from "./run-complete-renderer.ts";
8
- import { RunRegistry } from "./run-registry.ts";
9
- import { RunStore } from "./run-store.ts";
10
- import { createRunTool } from "./run-tool.ts";
11
- import { RunTreeStore } from "./run-trees.ts";
12
- import { createSetupWorkspaceExecutor } from "./setup-workspace.ts";
13
- import { createSetupWorkspaceCommand } from "./setup-workspace-command.ts";
14
- import { createSetupWorkspaceTool } from "./setup-workspace-tool.ts";
15
- import { statusReport } from "./status.ts";
16
- import { createStatusTool } from "./status-tool.ts";
17
- import { createStopTool } from "./stop-tool.ts";
18
- import { createSystemPromptAppender } from "./system-prompt-append.ts";
19
- import { createYaagCommand } from "./yaag-command.ts";
2
+ import { resolveBun, resolveCliEntry, statusReport } from "./process/index.ts";
3
+ import { RunRegistry, RunStore } from "./record/index.ts";
4
+ import {
5
+ createDescribeTool,
6
+ createRunTool,
7
+ createStatusTool,
8
+ createStopTool,
9
+ createSystemPromptAppender,
10
+ } from "./tool/index.ts";
11
+ import {
12
+ createBackgroundStatus,
13
+ createRunCompleteRenderer,
14
+ createYaagCommand,
15
+ RunTreeStore,
16
+ } from "./view/index.ts";
17
+ import {
18
+ createSetupWorkspaceCommand,
19
+ createSetupWorkspaceExecutor,
20
+ createSetupWorkspaceTool,
21
+ findProgramDirectories,
22
+ } from "./workspace/index.ts";
20
23
 
21
24
  /**
22
25
  * The yaag pi extension. Loaded by pi through jiti, in Node — nothing here may
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Public surface of the `process/` module: child-process plumbing and the Bun-CLI bridge.
3
+ * Files inside this directory import each other directly.
4
+ */
5
+ export {
6
+ type CliChild,
7
+ type CliChildOptions,
8
+ type CliChildOutcome,
9
+ startCliChild,
10
+ } from "./cli-child.ts";
11
+ export { isProcessAlive, type ProcessIdentity, readProcessStart } from "./process-liveness.ts";
12
+ export { resolveBun } from "./resolve-bun.ts";
13
+ export { resolveCliEntry } from "./resolve-cli.ts";
14
+ export type { ProgramTarget } from "./run-argv.ts";
15
+ export { type RunHandle, type RunOutcome, type StartRunOptions, startRun } from "./spawn-run.ts";
16
+ export { statusReport } from "./status.ts";
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Public surface of the `record/` module: the Run record registry, store, restore, and resume.
3
+ * Files inside this directory import each other directly.
4
+ */
5
+ export { resolveProgramParams } from "./resume-source.ts";
6
+ export { mintRunId } from "./run-id.ts";
7
+ export {
8
+ confirmProgramTarget,
9
+ type ProgramParams,
10
+ programExpansion,
11
+ programLabel,
12
+ programTarget,
13
+ } from "./run-program-param.ts";
14
+ export type { RunLaunch, RunRecord } from "./run-record.ts";
15
+ export {
16
+ type DatedRun,
17
+ type LiveRun,
18
+ type RegisteredRun,
19
+ type RestoredRun,
20
+ RunRegistry,
21
+ type RunSettlement,
22
+ } from "./run-registry.ts";
23
+ export { errorText, failure, observedSettlement, toError, viewResult } from "./run-settlement.ts";
24
+ export { RunStore } from "./run-store.ts";
@@ -1,7 +1,7 @@
1
1
  import { access } from "node:fs/promises";
2
2
  import { resolve } from "node:path";
3
3
  import { clampToWidth, sanitizeTerminalLine, sanitizeTerminalText } from "@yaag/tui";
4
- import type { ProgramTarget } from "./run-argv.ts";
4
+ import type { ProgramTarget } from "../process/index.ts";
5
5
 
6
6
  /**
7
7
  * The `yaag_run` parameters that name the program; exactly one is given.
@@ -1,5 +1,5 @@
1
1
  import { initialSummary, type RunSummary } from "@yaag/runtime";
2
- import type { ProcessIdentity } from "./process-liveness.ts";
2
+ import type { ProcessIdentity } from "../process/index.ts";
3
3
  import { parseRunSummary } from "./run-summary-parse.ts";
4
4
 
5
5
  /**
@@ -1,10 +1,9 @@
1
1
  import type { EndedRunSummary, RunSummary } from "@yaag/runtime";
2
- import type { ProcessIdentity } from "./process-liveness.ts";
2
+ import type { ProcessIdentity, RunOutcome } from "../process/index.ts";
3
3
  import { pickInlineResumeSource } from "./resume-source.ts";
4
4
  import { type RunLaunch, type RunRecord, startedRecord } from "./run-record.ts";
5
5
  import { restoreRecords } from "./run-restore.ts";
6
6
  import type { RunStore } from "./run-store.ts";
7
- import type { RunOutcome } from "./spawn-run.ts";
8
7
 
9
8
  export type { RunLaunch } from "./run-record.ts";
10
9
 
@@ -1,4 +1,4 @@
1
- import { isProcessAlive, type ProcessIdentity } from "./process-liveness.ts";
1
+ import { isProcessAlive, type ProcessIdentity } from "../process/index.ts";
2
2
  import type { RunRecord } from "./run-record.ts";
3
3
  import type { RunStore } from "./run-store.ts";
4
4
 
@@ -3,8 +3,8 @@
3
3
  * the blocking, interactive, and background paths of `yaag_run`.
4
4
  */
5
5
  import type { RunViewResult } from "@yaag/tui";
6
+ import type { RunOutcome } from "../process/index.ts";
6
7
  import type { RunRegistry, RunSettlement } from "./run-registry.ts";
7
- import type { RunOutcome } from "./spawn-run.ts";
8
8
 
9
9
  /**
10
10
  * The settlement the registry retained for a Run.
@@ -1,5 +1,5 @@
1
1
  import { initialSummary } from "@yaag/runtime";
2
- import type { RunHandle, StartRunOptions } from "./spawn-run.ts";
2
+ import type { RunHandle, StartRunOptions } from "../process/index.ts";
3
3
 
4
4
  /** A start seam that never spawns: it captures its options and ends the Run at once. */
5
5
  export function fakeStart(stdout = "{}"): {
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Public surface of the `testing/` module: package-spanning test helpers and fakes.
3
+ * Files inside this directory import each other directly.
4
+ */
5
+ export { fakeStart } from "./fake-run-start.ts";
6
+ export { loadPiKeybindings } from "./pi-keybindings.ts";
7
+ export { renderCallLabel, renderCallLines } from "./run-call-render.ts";
8
+ export {
9
+ asError,
10
+ fixture,
11
+ run,
12
+ running,
13
+ type Sent,
14
+ stop,
15
+ toolDescription,
16
+ until,
17
+ } from "./run-tool-test-support.ts";
18
+ export { TestExtensionContext } from "./test-extension-context.ts";
19
+ export { TestTuiContext } from "./test-tui-context.ts";
@@ -1,9 +1,8 @@
1
1
  import { stripTerminalSequences } from "@earendil-works/pi-tui";
2
+ import { resolveBun, resolveCliEntry } from "../process/index.ts";
3
+ import { RunRegistry } from "../record/index.ts";
4
+ import { createRunTool } from "../tool/index.ts";
2
5
  import { fakeTheme } from "./fake-theme.ts";
3
- import { resolveBun } from "./resolve-bun.ts";
4
- import { resolveCliEntry } from "./resolve-cli.ts";
5
- import { RunRegistry } from "./run-registry.ts";
6
- import { createRunTool } from "./run-tool.ts";
7
6
 
8
7
  const cli = resolveCliEntry();
9
8
  const bun = await resolveBun();
@@ -1,15 +1,16 @@
1
1
  import { dirname, join } from "node:path";
2
2
  import type { AgentToolResult, ExtensionContext } from "@earendil-works/pi-coding-agent";
3
- import type { BackgroundStatus } from "./background-status.ts";
4
- import { resolveBun } from "./resolve-bun.ts";
5
- import { resolveCliEntry } from "./resolve-cli.ts";
3
+ import type { RunHandle } from "../process/index.ts";
4
+ import { resolveBun, resolveCliEntry } from "../process/index.ts";
5
+ import { RunRegistry } from "../record/index.ts";
6
+ import {
7
+ createRunTool,
8
+ createStopTool,
9
+ type SendMessage,
10
+ type StopDetails,
11
+ } from "../tool/index.ts";
12
+ import type { BackgroundStatus, RunDetails, RunTreeStore } from "../view/index.ts";
6
13
  import type { RunParams } from "./run-call-render.ts";
7
- import type { RunDetails } from "./run-details.ts";
8
- import { RunRegistry } from "./run-registry.ts";
9
- import { createRunTool, type SendMessage } from "./run-tool.ts";
10
- import type { RunTreeStore } from "./run-trees.ts";
11
- import type { RunHandle } from "./spawn-run.ts";
12
- import { createStopTool, type StopDetails } from "./stop-tool.ts";
13
14
  import { TestExtensionContext } from "./test-extension-context.ts";
14
15
 
15
16
  const cli = resolveCliEntry();
@@ -34,7 +35,7 @@ export async function run(
34
35
  readonly onUpdate?: (partial: AgentToolResult<RunDetails>) => void;
35
36
  readonly registry?: RunRegistry;
36
37
  readonly sent?: Sent[];
37
- readonly start?: (options: import("./spawn-run.ts").StartRunOptions) => RunHandle;
38
+ readonly start?: (options: import("../process/index.ts").StartRunOptions) => RunHandle;
38
39
  /** A tui-mode context, for the inline foreground path. */
39
40
  readonly ctx?: ExtensionContext;
40
41
  readonly store?: RunTreeStore;
@@ -1,8 +1,7 @@
1
1
  import { resolve } from "node:path";
2
2
  import type { ToolDefinition } from "@earendil-works/pi-coding-agent";
3
3
  import { Type } from "typebox";
4
- import { startCliChild } from "./cli-child.ts";
5
- import { statusReport } from "./status.ts";
4
+ import { startCliChild, statusReport } from "../process/index.ts";
6
5
 
7
6
  const parameters = Type.Object({
8
7
  file: Type.String({ description: "Path to the Orchestration Program file" }),
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Public surface of the `tool/` module: the pi tools the extension registers.
3
+ * Files inside this directory import each other directly.
4
+ */
5
+ export { createDescribeTool } from "./describe-tool.ts";
6
+ export { createRunTool, type RunDetails, type SendMessage } from "./run-tool.ts";
7
+ export { createStatusTool } from "./status-tool.ts";
8
+ export { createStopTool, type StopDetails } from "./stop-tool.ts";
9
+ export { createSystemPromptAppender } from "./system-prompt-append.ts";
@@ -3,25 +3,40 @@ import type { ExtensionAPI, ToolDefinition } from "@earendil-works/pi-coding-age
3
3
  import { Text } from "@earendil-works/pi-tui";
4
4
  import { initialSummary } from "@yaag/runtime";
5
5
  import { Type } from "typebox";
6
- import { type BackgroundStatus, createBackgroundStatus } from "./background-status.ts";
7
- import { callBody } from "./run-call-body.ts";
8
- import type { RunDetails } from "./run-details.ts";
9
- import { foregroundInline, foregroundResult, inlineAvailable } from "./run-foreground.ts";
10
- import { RunTreeComponent } from "./run-tree-component.ts";
11
- import { RunTreeStore } from "./run-trees.ts";
6
+ import type { RunDetails } from "../view/index.ts";
7
+ import {
8
+ type BackgroundStatus,
9
+ callBody,
10
+ createBackgroundStatus,
11
+ foregroundInline,
12
+ foregroundResult,
13
+ inlineAvailable,
14
+ RunTreeComponent,
15
+ RunTreeStore,
16
+ } from "../view/index.ts";
12
17
 
13
- export type { RunDetails } from "./run-details.ts";
18
+ export type { RunDetails } from "../view/index.ts";
14
19
 
15
- import { type ProcessIdentity, readProcessStart } from "./process-liveness.ts";
16
- import { resolveProgramParams } from "./resume-source.ts";
17
- import type { ProgramTarget } from "./run-argv.ts";
18
- import { mintRunId } from "./run-id.ts";
19
- import { confirmProgramTarget, programTarget } from "./run-program-param.ts";
20
- import type { RunLaunch } from "./run-record.ts";
21
- import type { LiveRun, RunRegistry, RunSettlement } from "./run-registry.ts";
22
- import { errorText, failure, observedSettlement } from "./run-settlement.ts";
23
- import { type RunHandle, type RunOutcome, type StartRunOptions, startRun } from "./spawn-run.ts";
24
- import { statusReport } from "./status.ts";
20
+ import type { ProgramTarget } from "../process/index.ts";
21
+ import {
22
+ type ProcessIdentity,
23
+ type RunHandle,
24
+ type RunOutcome,
25
+ readProcessStart,
26
+ type StartRunOptions,
27
+ startRun,
28
+ statusReport,
29
+ } from "../process/index.ts";
30
+ import type { LiveRun, RunLaunch, RunRegistry, RunSettlement } from "../record/index.ts";
31
+ import {
32
+ confirmProgramTarget,
33
+ errorText,
34
+ failure,
35
+ mintRunId,
36
+ observedSettlement,
37
+ programTarget,
38
+ resolveProgramParams,
39
+ } from "../record/index.ts";
25
40
 
26
41
  const parameters = Type.Object({
27
42
  file: Type.Optional(
@@ -2,10 +2,8 @@ import type { AgentToolResult, ToolDefinition } from "@earendil-works/pi-coding-
2
2
  import type { RunSummary } from "@yaag/runtime";
3
3
  import { renderSnapshot, TreeState } from "@yaag/tui";
4
4
  import { Type } from "typebox";
5
- import { restoredStateText } from "./restored-run-text.ts";
6
- import { boundedRuns, RUN_LISTING_CAP } from "./run-listing.ts";
7
- import type { RegisteredRun, RestoredRun, RunRegistry } from "./run-registry.ts";
8
- import { toUsage } from "./usage.ts";
5
+ import type { RegisteredRun, RestoredRun, RunRegistry } from "../record/index.ts";
6
+ import { boundedRuns, RUN_LISTING_CAP, restoredStateText, toUsage } from "../view/index.ts";
9
7
 
10
8
  const parameters = Type.Object({
11
9
  id: Type.Optional(Type.String({ description: "The Run id returned by yaag_run (e.g. r1)" })),
@@ -1,9 +1,9 @@
1
1
  import type { AgentToolResult, ToolDefinition } from "@earendil-works/pi-coding-agent";
2
2
  import type { RunSummary } from "@yaag/runtime";
3
3
  import { Type } from "typebox";
4
- import { isProcessAlive } from "./process-liveness.ts";
5
- import type { RestoredRun, RunRegistry } from "./run-registry.ts";
6
- import { toUsage } from "./usage.ts";
4
+ import { isProcessAlive } from "../process/index.ts";
5
+ import type { RestoredRun, RunRegistry } from "../record/index.ts";
6
+ import { toUsage } from "../view/index.ts";
7
7
 
8
8
  /** What the stop result carries for rendering — never shown to the model. */
9
9
  export interface StopDetails {
@@ -7,7 +7,7 @@
7
7
  * as the last background Run ends.
8
8
  */
9
9
  import { costText } from "@yaag/tui";
10
- import type { RunRegistry } from "./run-registry.ts";
10
+ import type { RunRegistry } from "../record/index.ts";
11
11
  import type { RunTreeStore } from "./run-trees.ts";
12
12
 
13
13
  /** The one footer key this extension owns. */
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Public surface of the `view/` module: TUI views, renderers, and the /yaag command.
3
+ * Files inside this directory import each other directly.
4
+ */
5
+ export {
6
+ type BackgroundStatus,
7
+ createBackgroundStatus,
8
+ STATUS_KEY,
9
+ type StatusSurface,
10
+ } from "./background-status.ts";
11
+ export { restoredStateText } from "./restored-run-text.ts";
12
+ export { callBody } from "./run-call-body.ts";
13
+ export { createRunCompleteRenderer } from "./run-complete-renderer.ts";
14
+ export type { RunDetails } from "./run-details.ts";
15
+ export {
16
+ foregroundInline,
17
+ foregroundResult,
18
+ foregroundWidgetKey,
19
+ inlineAvailable,
20
+ } from "./run-foreground.ts";
21
+ export { boundedRuns, RUN_LISTING_CAP } from "./run-listing.ts";
22
+ export { RunTreeComponent } from "./run-tree-component.ts";
23
+ export { RunTreeStore } from "./run-trees.ts";
24
+ export { toUsage } from "./usage.ts";
25
+ export { createYaagCommand } from "./yaag-command.ts";
@@ -6,7 +6,7 @@
6
6
  * I/O.
7
7
  */
8
8
  import type { RunViewResult } from "@yaag/tui";
9
- import type { RunRecord } from "./run-record.ts";
9
+ import type { RunRecord } from "../record/index.ts";
10
10
 
11
11
  /**
12
12
  * States the persisted verdict of a Run that no process is attached to.
@@ -4,7 +4,7 @@
4
4
  * which shows that source.
5
5
  */
6
6
  import { keyText, type Theme } from "@earendil-works/pi-coding-agent";
7
- import { type ProgramParams, programExpansion, programLabel } from "./run-program-param.ts";
7
+ import { type ProgramParams, programExpansion, programLabel } from "../record/index.ts";
8
8
 
9
9
  /** What the call render needs: the call itself, its styling, and its state. */
10
10
  export interface CallBodyOptions {
@@ -8,9 +8,9 @@
8
8
  */
9
9
  import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
10
10
  import { renderInlineRun, type TreeState } from "@yaag/tui";
11
+ import type { LiveRun, RunRegistry, RunSettlement } from "../record/index.ts";
12
+ import { failure, observedSettlement, toError } from "../record/index.ts";
11
13
  import type { RunDetails } from "./run-details.ts";
12
- import type { LiveRun, RunRegistry, RunSettlement } from "./run-registry.ts";
13
- import { failure, observedSettlement, toError } from "./run-settlement.ts";
14
14
  import type { RunTreeStore } from "./run-trees.ts";
15
15
  import { toUsage } from "./usage.ts";
16
16
 
@@ -2,7 +2,7 @@
2
2
  * The one bound both Run listings share: the `/yaag` picker and the
3
3
  * `yaag_status` overview must agree on which Runs exist (ADR-0036).
4
4
  */
5
- import type { DatedRun, RegisteredRun } from "./run-registry.ts";
5
+ import type { DatedRun, RegisteredRun } from "../record/index.ts";
6
6
 
7
7
  /** How many Runs the `/yaag` picker and the `yaag_status` overview list. */
8
8
  export const RUN_LISTING_CAP = 5;
@@ -3,8 +3,8 @@
3
3
  * the list can be tested without a live UI.
4
4
  */
5
5
  import type { RunSummary } from "@yaag/runtime";
6
+ import type { DatedRun } from "../record/index.ts";
6
7
  import { boundedRuns } from "./run-listing.ts";
7
- import type { DatedRun } from "./run-registry.ts";
8
8
 
9
9
  /** One Run the picker can open: its id, latest Summary fold, and liveness. */
10
10
  export interface PickableRun {
@@ -14,10 +14,10 @@ import type {
14
14
  RegisteredCommand,
15
15
  } from "@earendil-works/pi-coding-agent";
16
16
  import { createRunTreeView, type RunTreeViewHost, type RunViewResult, TreeState } from "@yaag/tui";
17
+ import type { RunRegistry, RunSettlement } from "../record/index.ts";
18
+ import { observedSettlement, viewResult } from "../record/index.ts";
17
19
  import { restoredViewResult } from "./restored-run-text.ts";
18
20
  import { type PickableRun, pickableRuns, runFromLabel, runPickerLabel } from "./run-picker.ts";
19
- import type { RunRegistry, RunSettlement } from "./run-registry.ts";
20
- import { observedSettlement, viewResult } from "./run-settlement.ts";
21
21
  import { createRunTreeHost } from "./run-tree-host.ts";
22
22
  import type { RunTreeStore } from "./run-trees.ts";
23
23
 
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Public surface of the `workspace/` module: workspace setup and Program Directory discovery.
3
+ * Files inside this directory import each other directly.
4
+ */
5
+ export { findProgramDirectories } from "./program-directories.ts";
6
+ export { createSetupWorkspaceExecutor } from "./setup-workspace.ts";
7
+ export { createSetupWorkspaceCommand } from "./setup-workspace-command.ts";
8
+ export { createSetupWorkspaceTool } from "./setup-workspace-tool.ts";
@@ -1,5 +1,9 @@
1
- import { type CliChild, type CliChildOptions, startCliChild } from "./cli-child.ts";
2
- import { statusReport } from "./status.ts";
1
+ import {
2
+ type CliChild,
3
+ type CliChildOptions,
4
+ startCliChild,
5
+ statusReport,
6
+ } from "../process/index.ts";
3
7
 
4
8
  /** Injectable boundary for starting the Bun CLI child. */
5
9
  export type StartCliChild = (options: CliChildOptions) => CliChild;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes