@adhdev/daemon-core 0.9.82-rc.13 → 0.9.82-rc.131

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 (82) hide show
  1. package/dist/chat/subscription-updates.d.ts +1 -0
  2. package/dist/cli-adapter-types.d.ts +4 -1
  3. package/dist/cli-adapters/provider-cli-adapter.d.ts +25 -1
  4. package/dist/cli-adapters/provider-cli-parse.d.ts +1 -0
  5. package/dist/cli-adapters/provider-cli-shared.d.ts +14 -0
  6. package/dist/commands/router.d.ts +22 -0
  7. package/dist/config/chat-history.d.ts +4 -0
  8. package/dist/config/mesh-config.d.ts +68 -1
  9. package/dist/git/git-commands.d.ts +5 -1
  10. package/dist/index.d.ts +15 -5
  11. package/dist/index.js +7538 -1380
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.mjs +7494 -1364
  14. package/dist/index.mjs.map +1 -1
  15. package/dist/installer.d.ts +1 -4
  16. package/dist/launch.d.ts +1 -1
  17. package/dist/logging/async-batch-writer.d.ts +10 -0
  18. package/dist/mesh/beads-db.d.ts +18 -0
  19. package/dist/mesh/mesh-active-work.d.ts +73 -0
  20. package/dist/mesh/mesh-events.d.ts +54 -5
  21. package/dist/mesh/mesh-fast-forward.d.ts +39 -0
  22. package/dist/mesh/mesh-host-ownership.d.ts +9 -0
  23. package/dist/mesh/mesh-ledger.d.ts +38 -1
  24. package/dist/mesh/mesh-refine-status.d.ts +27 -0
  25. package/dist/mesh/mesh-work-queue.d.ts +27 -5
  26. package/dist/mesh/preview-freshness.d.ts +18 -0
  27. package/dist/mesh/refine-config.d.ts +193 -0
  28. package/dist/mesh/worktree-bootstrap-config.d.ts +115 -0
  29. package/dist/providers/chat-message-normalization.d.ts +1 -0
  30. package/dist/providers/cli-provider-instance.d.ts +6 -1
  31. package/dist/repo-mesh-types.d.ts +62 -0
  32. package/dist/status/reporter.d.ts +2 -0
  33. package/package.json +3 -1
  34. package/src/boot/daemon-lifecycle.ts +1 -0
  35. package/src/chat/subscription-updates.ts +5 -1
  36. package/src/cli-adapter-types.ts +2 -1
  37. package/src/cli-adapters/provider-cli-adapter.ts +473 -18
  38. package/src/cli-adapters/provider-cli-parse.d.ts +1 -0
  39. package/src/cli-adapters/provider-cli-parse.ts +4 -0
  40. package/src/cli-adapters/provider-cli-runtime.ts +3 -1
  41. package/src/cli-adapters/provider-cli-shared.d.ts +2 -0
  42. package/src/cli-adapters/provider-cli-shared.ts +32 -10
  43. package/src/commands/chat-commands.ts +1065 -40
  44. package/src/commands/cli-manager.ts +138 -2
  45. package/src/commands/handler.ts +8 -1
  46. package/src/commands/mesh-coordinator.ts +13 -143
  47. package/src/commands/router.ts +3238 -423
  48. package/src/config/chat-history.ts +37 -9
  49. package/src/config/mesh-config.ts +249 -2
  50. package/src/config/recent-activity.ts +8 -2
  51. package/src/daemon/dev-cli-debug.ts +10 -1
  52. package/src/detection/ide-detector.ts +26 -16
  53. package/src/git/git-commands.ts +17 -5
  54. package/src/index.ts +41 -4
  55. package/src/installer.d.ts +1 -1
  56. package/src/installer.ts +8 -6
  57. package/src/launch.d.ts +1 -1
  58. package/src/launch.ts +37 -28
  59. package/src/logging/async-batch-writer.ts +55 -0
  60. package/src/logging/logger.ts +2 -1
  61. package/src/mesh/beads-db.ts +176 -0
  62. package/src/mesh/coordinator-prompt.ts +31 -8
  63. package/src/mesh/mesh-active-work.ts +295 -0
  64. package/src/mesh/mesh-events.ts +595 -48
  65. package/src/mesh/mesh-fast-forward.ts +430 -0
  66. package/src/mesh/mesh-host-ownership.ts +73 -0
  67. package/src/mesh/mesh-ledger.ts +138 -1
  68. package/src/mesh/mesh-refine-status.ts +145 -0
  69. package/src/mesh/mesh-work-queue.ts +199 -137
  70. package/src/mesh/preview-freshness.ts +118 -0
  71. package/src/mesh/refine-config.ts +366 -0
  72. package/src/mesh/worktree-bootstrap-config.ts +234 -0
  73. package/src/providers/approval-utils.ts +12 -5
  74. package/src/providers/chat-message-normalization.ts +7 -12
  75. package/src/providers/cli-provider-instance.ts +289 -36
  76. package/src/providers/ide-provider-instance.ts +17 -3
  77. package/src/providers/provider-loader.ts +10 -4
  78. package/src/providers/read-chat-contract.ts +1 -1
  79. package/src/providers/version-archive.ts +38 -20
  80. package/src/repo-mesh-types.ts +67 -0
  81. package/src/status/reporter.ts +15 -0
  82. package/src/system/host-memory.ts +29 -12
@@ -5,6 +5,7 @@ export interface ChatTailSubscriptionCursor {
5
5
  export type SessionChatTailCommandResult = Partial<Omit<ReadChatSyncResult, 'activeModal'>> & {
6
6
  success?: boolean;
7
7
  activeModal?: unknown;
8
+ messagesTail?: unknown;
8
9
  };
9
10
  export interface PrepareSessionChatTailUpdateInput {
10
11
  key: string;
@@ -34,7 +34,10 @@ export interface CliAdapter {
34
34
  workingDir: string;
35
35
  _acpInstance?: AcpAdapterHandle;
36
36
  spawn(): Promise<void>;
37
- sendMessage(text: string): Promise<void>;
37
+ sendMessage(text: string, options?: {
38
+ force?: boolean;
39
+ }): Promise<void>;
40
+ forceSendMessage?(text: string): Promise<void>;
38
41
  getStatus(): CliAdapterStatus;
39
42
  getScriptParsedStatus?(): unknown;
40
43
  getDebugSnapshot?(): unknown;
@@ -35,6 +35,9 @@ export declare class ProviderCliAdapter implements CliAdapter {
35
35
  private isWaitingForResponse;
36
36
  private activeModal;
37
37
  private parseErrorMessage;
38
+ private providerSessionId;
39
+ private providerErrorMessage;
40
+ private providerErrorReason;
38
41
  private responseTimeout;
39
42
  private idleTimeout;
40
43
  private ready;
@@ -74,6 +77,11 @@ export declare class ProviderCliAdapter implements CliAdapter {
74
77
  private idleFinishCandidate;
75
78
  private finishRetryTimer;
76
79
  private finishRetryCount;
80
+ private pendingOutboundQueue;
81
+ private pendingOutboundFlushTimer;
82
+ private pendingOutboundFlushInFlight;
83
+ private providerErrorRetryTimer;
84
+ private providerErrorRetryKey;
77
85
  private resizeSuppressUntil;
78
86
  private statusHistory;
79
87
  private cliScripts;
@@ -154,12 +162,15 @@ export declare class ProviderCliAdapter implements CliAdapter {
154
162
  private waitForInteractivePrompt;
155
163
  private clearAllTimers;
156
164
  private clearStaleIdleResponseGuard;
165
+ private clearParsedIdleResponseGuard;
157
166
  private hasMeaningfulResponseBuffer;
158
167
  private evaluateSettled;
159
168
  private applyPendingScriptStatusDebounce;
160
169
  private applyHoldGenerating;
161
170
  private applyWaitingApproval;
162
171
  private applyGenerating;
172
+ private applyError;
173
+ private maybeScheduleProviderErrorRetry;
163
174
  private applyIdle;
164
175
  private finishResponse;
165
176
  private maybeCommitVisibleIdleTranscript;
@@ -169,6 +180,11 @@ export declare class ProviderCliAdapter implements CliAdapter {
169
180
  private runDetectStatus;
170
181
  private runParseApproval;
171
182
  private hasActionableApproval;
183
+ private parsedStatusHasFinalAssistantMessage;
184
+ private applyParsedSessionMetadata;
185
+ private parsedStatusHasFinalStandardAssistantMessage;
186
+ private shouldKeepCodexTurnOpenForFinish;
187
+ private rescheduleCodexFinishCheck;
172
188
  private projectEffectiveStatus;
173
189
  getStatus(options?: {
174
190
  allowParse?: boolean;
@@ -198,7 +214,15 @@ export declare class ProviderCliAdapter implements CliAdapter {
198
214
  private submitSendKey;
199
215
  private submitImmediatePrompt;
200
216
  private waitForEchoAndSubmit;
201
- sendMessage(text: string): Promise<void>;
217
+ sendMessage(text: string, options?: {
218
+ force?: boolean;
219
+ }): Promise<void>;
220
+ forceSendMessage(text: string): Promise<void>;
221
+ private enqueuePendingOutboundMessage;
222
+ private shouldQueuePendingOutboundMessage;
223
+ private schedulePendingOutboundFlush;
224
+ private flushPendingOutboundQueue;
225
+ private sendMessageNow;
202
226
  getPartialResponse(): string;
203
227
  getDebugSnapshot(): Record<string, unknown>;
204
228
  getRuntimeMetadata(): PtyRuntimeMetadata | null;
@@ -15,6 +15,7 @@ export declare function buildCliParseInput(options: {
15
15
  accumulatedRawBuffer: string;
16
16
  recentOutputBuffer: string;
17
17
  terminalScreenText: string;
18
+ workingDir?: string;
18
19
  baseMessages: CliChatMessage[];
19
20
  partialResponse: string;
20
21
  isWaitingForResponse?: boolean;
@@ -26,8 +26,17 @@ export interface CliSessionStatus {
26
26
  message: string;
27
27
  buttons: string[];
28
28
  } | null;
29
+ pendingOutboundCount?: number;
30
+ pendingOutboundMessages?: Array<{
31
+ id: string;
32
+ role: 'user';
33
+ content: string;
34
+ queuedAt: number;
35
+ source: string;
36
+ }>;
29
37
  errorMessage?: string;
30
38
  errorReason?: string;
39
+ providerSessionId?: string;
31
40
  bufferState?: {
32
41
  responseBuffer?: {
33
42
  truncated: boolean;
@@ -59,6 +68,9 @@ export interface ParsedSession {
59
68
  buttons: string[];
60
69
  } | null;
61
70
  parsedStatus: string | null;
71
+ errorMessage?: string;
72
+ errorReason?: string;
73
+ providerSessionId?: string;
62
74
  transcriptAuthority?: 'provider' | 'daemon';
63
75
  coverage?: 'full' | 'tail' | 'current-turn';
64
76
  }
@@ -112,6 +124,8 @@ export interface CliScriptInput {
112
124
  rawBuffer: string;
113
125
  recentBuffer: string;
114
126
  screenText: string;
127
+ workspace?: string;
128
+ workingDir?: string;
115
129
  screen: CliScreenSnapshot;
116
130
  bufferScreen: CliScreenSnapshot;
117
131
  recentScreen: CliScreenSnapshot;
@@ -74,6 +74,8 @@ export interface CommandRouterDeps {
74
74
  sessionHostControl?: SessionHostControlPlane | null;
75
75
  /** Selected-coordinator mesh peer telemetry surface for target daemons, when supported by the runtime. */
76
76
  getMeshPeerConnectionStatus?: (daemonId: string) => Record<string, unknown> | null;
77
+ /** Dispatch a command to a remote mesh node via P2P/relay. Injected by cloud runtime; absent in standalone. */
78
+ dispatchMeshCommand?: (daemonId: string, cmd: string, args: Record<string, unknown>) => Promise<unknown>;
77
79
  }
78
80
  export interface CommandRouterResult {
79
81
  success: boolean;
@@ -85,9 +87,22 @@ export declare class DaemonCommandRouter {
85
87
  * Allows the MCP server to query mesh data via get_mesh even when
86
88
  * the mesh doesn't exist in the local meshes.json file. */
87
89
  private inlineMeshCache;
90
+ /** Coordinator-owned whole-mesh aggregate status snapshots. Browser callers read this by default. */
91
+ private aggregateMeshStatusCache;
92
+ /** In-memory async Refinery jobs keyed by meshId:nodeId to reject/return duplicate in-flight requests. */
93
+ private runningRefineJobs;
94
+ /** Terminal async Refinery jobs preserve a clear answer after the worktree node has been removed. */
95
+ private terminalRefineJobs;
88
96
  constructor(deps: CommandRouterDeps);
97
+ private cloneJsonValue;
98
+ private hydrateCachedAggregateMeshStatusFromInline;
99
+ private getCachedAggregateMeshStatus;
100
+ private rememberAggregateMeshStatus;
89
101
  getCachedInlineMesh(meshId: string, inlineMesh?: unknown): any | undefined;
102
+ private warmInlineMeshCache;
90
103
  private getMeshForCommand;
104
+ private invalidateAggregateMeshStatus;
105
+ private requireMeshHostMutationOwner;
91
106
  private updateInlineMeshNode;
92
107
  private removeInlineMeshNode;
93
108
  private normalizeMeshSessionCleanupMode;
@@ -110,6 +125,13 @@ export declare class DaemonCommandRouter {
110
125
  * @param source Log source ('ws' | 'p2p' | 'standalone' | etc.)
111
126
  */
112
127
  execute(cmd: string, args: any, source?: string): Promise<CommandRouterResult>;
128
+ private buildRefineJobKey;
129
+ private buildRefineJobHandle;
130
+ private queueRefineJobEvent;
131
+ private appendRefineJobLedger;
132
+ private executeMeshRefineNodeSynchronously;
133
+ private finishMeshRefineJob;
134
+ private startMeshRefineJob;
113
135
  /**
114
136
  * Daemon-level command execution (IDE start/stop/restart, CLI, detect, logs).
115
137
  * Returns null if not handled at this level → caller delegates to CommandHandler.
@@ -116,6 +116,10 @@ export declare function readProviderChatHistory(agentType: string, options?: {
116
116
  source: 'provider-native' | 'adhdev-mirror' | 'native-unavailable';
117
117
  sourcePath?: string;
118
118
  sourceMtimeMs?: number;
119
+ providerSessionId?: string;
120
+ nativeHistoryCoverage?: string;
121
+ partialReason?: string;
122
+ unavailableReason?: string;
119
123
  };
120
124
  export declare function listProviderHistorySessions(agentType: string, options?: {
121
125
  canonicalHistory?: ProviderCanonicalHistoryConfig;
@@ -5,7 +5,7 @@
5
5
  * Cloud mode syncs these to D1 via server routes; standalone mode
6
6
  * uses this file as the single source of truth.
7
7
  */
8
- import type { LocalMeshEntry, LocalMeshNodeEntry, RepoMeshPolicy, RepoMeshNodePolicy, RepoMeshNodeCapabilities, RepoMeshCoordinatorConfig } from '../repo-mesh-types.js';
8
+ import type { LocalMeshEntry, LocalMeshNodeEntry, RepoMeshPolicy, RepoMeshNodePolicy, RepoMeshNodeCapabilities, RepoMeshCoordinatorConfig, RepoMeshHostMetadata, RepoMeshDaemonRole } from '../repo-mesh-types.js';
9
9
  /**
10
10
  * Normalize a Git remote URL into a stable identity string.
11
11
  * e.g. "git@github.com:user/repo.git" → "github.com/user/repo"
@@ -22,6 +22,7 @@ export interface CreateMeshOptions {
22
22
  defaultBranch?: string;
23
23
  policy?: Partial<RepoMeshPolicy>;
24
24
  coordinator?: RepoMeshCoordinatorConfig;
25
+ meshHost?: RepoMeshHostMetadata;
25
26
  }
26
27
  export declare function createMesh(opts: CreateMeshOptions): LocalMeshEntry;
27
28
  export interface UpdateMeshOptions {
@@ -29,9 +30,72 @@ export interface UpdateMeshOptions {
29
30
  defaultBranch?: string;
30
31
  policy?: Partial<RepoMeshPolicy>;
31
32
  coordinator?: RepoMeshCoordinatorConfig;
33
+ meshHost?: RepoMeshHostMetadata;
32
34
  }
33
35
  export declare function updateMesh(meshId: string, opts: UpdateMeshOptions): LocalMeshEntry | undefined;
34
36
  export declare function deleteMesh(meshId: string): boolean;
37
+ export declare function tokenIdForManualPairing(token: string): string;
38
+ export interface ConfigureMeshHostPairingOptions {
39
+ hostAddress: string;
40
+ token: string;
41
+ now?: string;
42
+ }
43
+ export declare function configureMeshHostPairing(meshId: string, opts: ConfigureMeshHostPairingOptions): {
44
+ mesh: LocalMeshEntry;
45
+ meshHost: RepoMeshHostMetadata;
46
+ hostAddress: string;
47
+ } | undefined;
48
+ export interface CreateMeshHostPairingTokenOptions {
49
+ token?: string;
50
+ expiresAt?: string;
51
+ now?: string;
52
+ }
53
+ export declare function createMeshHostPairingToken(meshId: string, opts?: CreateMeshHostPairingTokenOptions): {
54
+ mesh: LocalMeshEntry;
55
+ meshHost: RepoMeshHostMetadata;
56
+ token: string;
57
+ tokenId: string;
58
+ expiresAt?: string;
59
+ } | undefined;
60
+ export interface MeshHostJoinMemberNodeInput {
61
+ id?: string;
62
+ workspace: string;
63
+ repoRoot?: string;
64
+ daemonId?: string;
65
+ machineId?: string;
66
+ userOverrides?: Partial<RepoMeshNodeCapabilities>;
67
+ policy?: RepoMeshNodePolicy;
68
+ role?: RepoMeshDaemonRole;
69
+ }
70
+ export interface ApplyMeshHostJoinOptions {
71
+ token: string;
72
+ memberNode: MeshHostJoinMemberNodeInput;
73
+ memberMeshId?: string;
74
+ now?: string;
75
+ }
76
+ export declare function applyMeshHostJoinRequest(meshId: string, opts: ApplyMeshHostJoinOptions): {
77
+ accepted: true;
78
+ mesh: LocalMeshEntry;
79
+ meshHost: RepoMeshHostMetadata;
80
+ node: LocalMeshNodeEntry;
81
+ tokenId: string;
82
+ } | {
83
+ accepted: false;
84
+ mesh?: LocalMeshEntry;
85
+ meshHost?: RepoMeshHostMetadata;
86
+ tokenId?: string;
87
+ reason: string;
88
+ } | undefined;
89
+ export declare function markMeshHostPairingJoined(meshId: string, opts: {
90
+ hostDaemonId?: string;
91
+ hostNodeId?: string;
92
+ joinedAt?: string;
93
+ token?: string;
94
+ tokenId?: string;
95
+ }): {
96
+ mesh: LocalMeshEntry;
97
+ meshHost: RepoMeshHostMetadata;
98
+ } | undefined;
35
99
  export interface AddNodeOptions {
36
100
  workspace: string;
37
101
  repoRoot?: string;
@@ -42,10 +106,13 @@ export interface AddNodeOptions {
42
106
  isLocalWorktree?: boolean;
43
107
  worktreeBranch?: string;
44
108
  clonedFromNodeId?: string;
109
+ worktreeBootstrap?: LocalMeshNodeEntry['worktreeBootstrap'];
110
+ role?: RepoMeshDaemonRole;
45
111
  }
46
112
  export declare function addNode(meshId: string, opts: AddNodeOptions): LocalMeshNodeEntry | undefined;
47
113
  export declare function removeNode(meshId: string, nodeId: string): boolean;
48
114
  export declare function updateNode(meshId: string, nodeId: string, opts: {
49
115
  userOverrides?: Partial<RepoMeshNodeCapabilities>;
50
116
  policy?: RepoMeshNodePolicy;
117
+ worktreeBootstrap?: LocalMeshNodeEntry['worktreeBootstrap'];
51
118
  }): LocalMeshNodeEntry | undefined;
@@ -23,8 +23,12 @@ export interface GitLogResult extends GitRepoIdentity {
23
23
  lastCheckedAt: number;
24
24
  }
25
25
  export interface GitCheckpointResult extends GitRepoIdentity {
26
- commit: string;
26
+ commit?: string;
27
27
  message: string;
28
+ status?: 'created' | 'skipped';
29
+ skipped?: boolean;
30
+ noop?: boolean;
31
+ reason?: 'nothing_to_commit';
28
32
  lastCheckedAt: number;
29
33
  }
30
34
  export interface GitStashPushResult extends GitRepoIdentity {
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  */
6
6
  export type { ChatBubbleState, ChatMessage, ExtensionInfo, CommandResult as CoreCommandResult, ProviderConfig, DaemonEvent, StatusResponse, SystemInfo, DetectedIde, ProviderInfo, AgentEntry, } from './types.js';
7
7
  export type { SessionEntry, CompactSessionEntry, CompactDaemonEntry, CloudDaemonSummaryEntry, DashboardBootstrapDaemonEntry, VersionUpdateReason, CloudStatusReportPayload, DaemonStatusEventPayload, DashboardStatusEventPayload, SessionTransport, SessionKind, SessionCapability, AgentSessionStream, ReadChatCursor, ReadChatSyncResult, TransportTopic, SessionChatTailSubscriptionParams, SessionRuntimeOutputSubscriptionParams, MachineRuntimeSubscriptionParams, SessionHostDiagnosticsSubscriptionParams, SessionModalSubscriptionParams, DaemonMetadataSubscriptionParams, WorkspaceGitSubscriptionParams, SessionChatTailUpdate, MachineRuntimeUpdate, SessionHostDiagnosticsUpdate, SessionModalUpdate, DaemonMetadataUpdate, TopicUpdateEnvelope, SubscribeRequest, UnsubscribeRequest, StandaloneWsStatusPayload, AvailableProviderInfo, AcpConfigOption, AcpMode, ProviderControlSchema, StatusReportPayload, MachineInfo, SessionHostDiagnosticsSnapshot, SessionHostRecord, SessionHostWriteOwner, SessionHostAttachedClient, SessionHostLogEntry, SessionHostRequestTrace, SessionHostRuntimeTransition, DetectedIdeInfo, WorkspaceEntry, ProviderSummaryItem, ProviderSummaryMetadata, ProviderState, ProviderStatus, ProviderErrorReason, SessionActiveChatData, ActiveChatData, IdeProviderState, CliProviderState, AcpProviderState, ExtensionProviderState, MessageInputSupport, InputMediaStrategyDescriptor, InputAttachmentStrategy, InputMediaType, } from './shared-types.js';
8
- export type { RepoMesh, RepoMeshNode, RepoMeshNodeHealth, RepoMeshPolicy, RepoMeshNodePolicy, RepoMeshRelatedRepo, RepoMeshNodeCapabilities, DetectedCommand, ProjectContextSnapshot, ProjectContextSource, RepoMeshCoordinatorConfig, LocalMeshConfig, LocalMeshEntry, LocalMeshNodeEntry, RepoMeshStatus, RepoMeshNodeStatus, RepoMeshSessionStatus, RepoMeshQueueTask, RepoMeshQueueTaskStatus, RepoMeshQueueSummary, RepoMeshQueueStatus, RepoMeshLedgerEntryStatus, RepoMeshLedgerSummaryStatus, RepoMeshLedgerStatus, } from './repo-mesh-types.js';
8
+ export type { RepoMesh, RepoMeshDaemonRole, RepoMeshHostMetadata, RepoMeshHostPairingMetadata, RepoMeshHostStatus, RepoMeshNode, RepoMeshNodeHealth, RepoMeshPolicy, RepoMeshNodePolicy, RepoMeshRelatedRepo, RepoMeshNodeCapabilities, DetectedCommand, ProjectContextSnapshot, ProjectContextSource, RepoMeshCoordinatorConfig, LocalMeshConfig, LocalMeshEntry, LocalMeshNodeEntry, RepoMeshStatus, RepoMeshNodeStatus, RepoMeshSessionStatus, RepoMeshQueueTask, RepoMeshQueueTaskStatus, RepoMeshQueueSummary, RepoMeshQueueStatus, RepoMeshLedgerEntryStatus, RepoMeshLedgerSummaryStatus, RepoMeshLedgerStatus, } from './repo-mesh-types.js';
9
9
  export { DEFAULT_MESH_POLICY } from './repo-mesh-types.js';
10
10
  export * from './git/index.js';
11
11
  import type { RuntimeWriteOwner as _RuntimeWriteOwner } from './shared-types-extra.js';
@@ -30,14 +30,24 @@ export { listMeshes, getMesh, getMeshByRepo, createMesh, updateMesh, deleteMesh,
30
30
  export type { CreateMeshOptions, UpdateMeshOptions, AddNodeOptions } from './config/mesh-config.js';
31
31
  export { buildCoordinatorSystemPrompt } from './mesh/coordinator-prompt.js';
32
32
  export type { CoordinatorPromptContext } from './mesh/coordinator-prompt.js';
33
+ export { MESH_REFINE_CONFIG_LOCATIONS, MESH_REFINE_CONFIG_SCHEMA, loadMeshRefineConfig, resolveMeshRefineValidationPlan, suggestMeshRefineConfig, validateMeshRefineConfig, } from './mesh/refine-config.js';
34
+ export { MESH_WORKTREE_BOOTSTRAP_CONFIG_LOCATIONS, MESH_WORKTREE_BOOTSTRAP_CONFIG_SCHEMA, loadMeshWorktreeBootstrapConfig, runMeshWorktreeBootstrap, validateMeshWorktreeBootstrapConfig, type RepoMeshWorktreeBootstrapConfig, type WorktreeBootstrapState, } from './mesh/worktree-bootstrap-config.js';
35
+ export type { MeshRefineValidationCategory, MeshRefineValidationCommandPlan, MeshRefineValidationPlan, RepoMeshRefineConfig, RepoMeshRefineValidationCommandConfig, } from './mesh/refine-config.js';
33
36
  export { syncMeshes } from './mesh/mesh-sync.js';
34
37
  export type { MeshSyncTransport, MeshSyncResult, RemoteMeshRecord } from './mesh/mesh-sync.js';
35
- export { appendLedgerEntry, appendRemoteLedgerEntries, readLedgerEntries, readLedgerSlice, getLedgerSummary, getLedgerDir, getSessionRecoveryContext, MAX_LEDGER_SLICE_LIMIT } from './mesh/mesh-ledger.js';
36
- export type { AppendRemoteLedgerResult, MeshLedgerEntry, MeshLedgerKind, MeshLedgerSlice, MeshLedgerSummary, ReadLedgerOptions, ReadLedgerSliceOptions, SessionRecoveryContext } from './mesh/mesh-ledger.js';
38
+ export { appendLedgerEntry, appendRemoteLedgerEntries, buildTaskCompletionEvidence, normalizeMeshWorkerResult, readLedgerEntries, readLedgerSlice, getLedgerSummary, getLedgerDir, getSessionRecoveryContext, MAX_LEDGER_SLICE_LIMIT } from './mesh/mesh-ledger.js';
39
+ export type { AppendRemoteLedgerResult, MeshLedgerEntry, MeshLedgerKind, MeshLedgerSlice, MeshLedgerSummary, ReadLedgerOptions, ReadLedgerSliceOptions, SessionRecoveryContext, MeshTaskCompletionEvidence, MeshWorkerResultArtifact, MeshProcessArtifact, MeshValidationResultArtifact } from './mesh/mesh-ledger.js';
40
+ export { fastForwardMeshNode } from './mesh/mesh-fast-forward.js';
41
+ export type { MeshFastForwardNodeArgs, MeshFastForwardPlannedStep, MeshFastForwardResult } from './mesh/mesh-fast-forward.js';
37
42
  export { buildMeshLedgerReconciliationEvidence, buildMeshLedgerReplicaEvidence } from './mesh/mesh-ledger-reconciliation.js';
38
43
  export type { MeshLedgerReconciliationEvidence, MeshLedgerReplicaEvidence, MeshLedgerReplicaStatus } from './mesh/mesh-ledger-reconciliation.js';
39
- export { enqueueTask, getQueue, claimNextTask, updateTaskStatus, updateSessionTaskStatus, cancelTask, requeueTask, getMeshQueueStats } from './mesh/mesh-work-queue.js';
40
- export type { MeshWorkQueueEntry, MeshTaskStatus, MeshWorkQueueStats } from './mesh/mesh-work-queue.js';
44
+ export { enqueueTask, getQueue, claimNextTask, updateTaskStatus, updateSessionTaskStatus, cancelTask, requeueTask, getMeshQueueStats, getMeshQueueRevision, normalizeMeshTaskMode, validateMeshTaskModeRequest } from './mesh/mesh-work-queue.js';
45
+ export type { MeshWorkQueueEntry, MeshTaskStatus, MeshTaskMode, MeshWorkQueueStats, MeshQueueMutationOptions, MeshTaskModeValidationResult } from './mesh/mesh-work-queue.js';
46
+ export { buildCompactStaleDirectWorkSummary, buildMeshActiveWork, buildMeshActiveWorkSummary } from './mesh/mesh-active-work.js';
47
+ export type { MeshActiveWorkRecord, MeshActiveWorkStatus, MeshActiveWorkSummary, MeshActiveWorkSource, MeshStaleDirectWorkSummary } from './mesh/mesh-active-work.js';
48
+ export { buildMeshAsyncRefineJobs } from './mesh/mesh-refine-status.js';
49
+ export type { MeshAsyncRefineJobStatus, MeshAsyncRefineJobSummary } from './mesh/mesh-refine-status.js';
50
+ export { buildMeshHostRequiredFailure, createDefaultMeshHostMetadata, isMeshHostOwner, normalizeMeshDaemonRole, requireMeshHostQueueOwner, resolveMeshHostStatus } from './mesh/mesh-host-ownership.js';
41
51
  export { triggerMeshQueue, drainPendingMeshCoordinatorEvents, getPendingMeshCoordinatorEvents, clearPendingMeshCoordinatorEvents, queuePendingMeshCoordinatorEvent } from './mesh/mesh-events.js';
42
52
  export type { PendingMeshCoordinatorEvent } from './mesh/mesh-events.js';
43
53
  export { P2pRelayFailureError, buildP2pRelayFailurePayload, classifyP2pRelayFailure, isP2pRelayTransportFailure, } from './mesh/p2p-relay-failure.js';