@ordewell/core 0.4.10 → 0.4.11
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/{ITerminalRunner-CbE6gKLI.d.ts → ITerminalRunner-BTaKZ659.d.mts} +2 -2
- package/dist/{ITerminalRunner-1NAv8wCC.d.mts → ITerminalRunner-DVwORcV9.d.ts} +2 -2
- package/dist/{ModeResolver-F5wnlSz1.d.mts → ModeResolver-CCKYqdZC.d.mts} +1 -1
- package/dist/{ModeResolver-Dx5gzNPC.d.ts → ModeResolver-CzZd-i6T.d.ts} +1 -1
- package/dist/{Task-1NwmUImI.d.mts → Task-cGrfYRXK.d.mts} +8 -1
- package/dist/{Task-1NwmUImI.d.ts → Task-cGrfYRXK.d.ts} +8 -1
- package/dist/{chunk-YI4ZDZEE.mjs → chunk-DNNZGH3I.mjs} +2 -2
- package/dist/chunk-HPNUFBIT.mjs +19 -0
- package/dist/chunk-HPNUFBIT.mjs.map +1 -0
- package/dist/{chunk-IO6PEEN6.mjs → chunk-N6HTBUKG.mjs} +11 -1
- package/dist/chunk-N6HTBUKG.mjs.map +1 -0
- package/dist/{chunk-TUGJXD4G.mjs → chunk-UEJ3SZQ7.mjs} +2 -2
- package/dist/index.d.mts +124 -73
- package/dist/index.d.ts +124 -73
- package/dist/index.js +611 -433
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +590 -442
- package/dist/index.mjs.map +1 -1
- package/dist/order-labels.d.mts +17 -0
- package/dist/order-labels.d.ts +17 -0
- package/dist/order-labels.js +44 -0
- package/dist/order-labels.js.map +1 -0
- package/dist/order-labels.mjs +9 -0
- package/dist/order-labels.mjs.map +1 -0
- package/dist/{parsing-BqbJySeo.d.mts → parsing-BT-dvFcu.d.mts} +2 -2
- package/dist/{parsing-X0Gvuz-q.d.ts → parsing-D87zKtTe.d.ts} +2 -2
- package/dist/parsing.d.mts +3 -3
- package/dist/parsing.d.ts +3 -3
- package/dist/parsing.js.map +1 -1
- package/dist/parsing.mjs +3 -2
- package/dist/{plan-utils-B5rVXNVI.d.mts → plan-utils-BHLbBym3.d.mts} +2 -2
- package/dist/{plan-utils-DtsfHnn_.d.ts → plan-utils-akoB6YCL.d.ts} +2 -2
- package/dist/plan-utils.d.mts +3 -3
- package/dist/plan-utils.d.ts +3 -3
- package/dist/plan-utils.mjs +3 -2
- package/dist/testing.d.mts +2 -2
- package/dist/testing.d.ts +2 -2
- package/package.json +12 -2
- package/skills/grilling/SKILL.md +31 -0
- package/skills/to-spec/SKILL.md +64 -0
- package/dist/chunk-IO6PEEN6.mjs.map +0 -1
- /package/dist/{chunk-YI4ZDZEE.mjs.map → chunk-DNNZGH3I.mjs.map} +0 -0
- /package/dist/{chunk-TUGJXD4G.mjs.map → chunk-UEJ3SZQ7.mjs.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { h as RunnerId, c as PlanStatus, L as LegacyPlanState, a as DiscoveredModel, T as Task, d as ResearchProgress, R as ResearchLogEntry, C as ConversationMessage, n as TaskSnapshot, Q as QueuedMessage, A as ActiveTaskSession, g as ResearchToolType,
|
|
2
|
-
export { D as DiscoveredMode, M as Message, P as PlanModificationWarnings, f as ResearchStepOutcome, S as StreamEvent, i as StreamStepEvent, j as StreamThinkingEvent, k as TaskMode, l as TaskModelAssignment, m as TaskOutputSummary, o as TaskStatus, p as TaskType, q as ThinkingBlock, U as UserPromptEntry,
|
|
3
|
-
import { n as IFileSystem, I as IApproval, R as ReadFileOpts, T as ToolOutcome, k as GrepOptions, j as GlobOptions, i as FindSymbolOptions, f as ApprovalRequest, m as IConfig, A as AiProvider, z as ProviderModelLists, c as ApprovalMode, q as ITerminalSession, p as ITerminalRunner, K as RunnerRegistry, s as OrchestratorOption, b as ApprovalKind, g as ApprovalSource, H as RunnerInvocation, o as IPluginStore, J as RunnerPluginManifest, E as ResolveContext } from './ITerminalRunner-
|
|
4
|
-
export { a as AllProviderModels, d as ApprovalPolicy, e as ApprovalPolicyOptions, C as CatalogModel, D as DENY_ALL, h as DiscoveryCommand, F as FetchAllProviderModelsOptions, G as GREP_DEFAULT_HEAD_LIMIT, l as GrepOutputMode, M as ModelCatalog, r as ModelShortcut, O as ORCHESTRATOR_SHORTCUTS, P as PluginCloneFn, t as PluginEntry, u as PluginFeatures, v as PluginMode, w as PluginModelDiscovery, x as PluginRunnerDef, y as ProviderCredentialSource, B as ProviderModelsResult, S as SEARCH_EXCLUSIONS, L as collectProviderCredentials, N as enabledRunners, Q as fetchAllProviderModels, U as isReservedRunnerName, V as knownModelId, W as resolveModelShortcut, X as resolveProvider, Y as toOrchestratorOptions } from './ITerminalRunner-
|
|
5
|
-
import { R as RunnerModeInfo } from './ModeResolver-
|
|
6
|
-
export { M as ManifestLookup, b as buildModeGuide, f as filteredBuildModes, r as resolveDefaultMode, a as resolveTaskMode, c as runnerModesFrom } from './ModeResolver-
|
|
7
|
-
import { T as TaskOp } from './plan-utils-
|
|
8
|
-
export { A as ApplyTaskOpsResult, a as TaskRef, b as applyTaskOps, c as canMergeTasks, d as canSetDependencies, e as canSplitTask, f as classifyOutcome, g as dependencyCandidates, h as dependentsOf, p as parseTaskOpsJson, s as summarizeToolCall, t as textHasTaskOps } from './plan-utils-
|
|
1
|
+
import { h as RunnerId, c as PlanStatus, L as LegacyPlanState, a as DiscoveredModel, T as Task, d as ResearchProgress, R as ResearchLogEntry, C as ConversationMessage, n as TaskSnapshot, Q as QueuedMessage, A as ActiveTaskSession, g as ResearchToolType, v as Verdict, e as ResearchStep, b as PlanState } from './Task-cGrfYRXK.js';
|
|
2
|
+
export { D as DiscoveredMode, M as Message, P as PlanModificationWarnings, f as ResearchStepOutcome, S as StreamEvent, i as StreamStepEvent, j as StreamThinkingEvent, k as TaskMode, l as TaskModelAssignment, m as TaskOutputSummary, o as TaskStatus, p as TaskType, q as TaskWithParent, r as ThinkingBlock, U as UserPromptEntry, s as UserStep, V as ValidationCheck, t as ValidationContext, u as ValidationResult, w as VerificationCheck, x as addTaskToPlan, y as createEmptyPlan, z as createTask, B as emptyWarnings, E as flattenTasks, F as flattenTasksWithParents, G as migrateLegacyPlan, H as migratePlanState, I as migrateTask, J as removeTaskFromPlan, K as renumberTasks, N as updateTaskInPlan, O as validateModifiedPlan, W as warningsText } from './Task-cGrfYRXK.js';
|
|
3
|
+
import { n as IFileSystem, I as IApproval, R as ReadFileOpts, T as ToolOutcome, k as GrepOptions, j as GlobOptions, i as FindSymbolOptions, f as ApprovalRequest, m as IConfig, A as AiProvider, z as ProviderModelLists, c as ApprovalMode, q as ITerminalSession, p as ITerminalRunner, K as RunnerRegistry, s as OrchestratorOption, b as ApprovalKind, g as ApprovalSource, H as RunnerInvocation, o as IPluginStore, J as RunnerPluginManifest, E as ResolveContext } from './ITerminalRunner-DVwORcV9.js';
|
|
4
|
+
export { a as AllProviderModels, d as ApprovalPolicy, e as ApprovalPolicyOptions, C as CatalogModel, D as DENY_ALL, h as DiscoveryCommand, F as FetchAllProviderModelsOptions, G as GREP_DEFAULT_HEAD_LIMIT, l as GrepOutputMode, M as ModelCatalog, r as ModelShortcut, O as ORCHESTRATOR_SHORTCUTS, P as PluginCloneFn, t as PluginEntry, u as PluginFeatures, v as PluginMode, w as PluginModelDiscovery, x as PluginRunnerDef, y as ProviderCredentialSource, B as ProviderModelsResult, S as SEARCH_EXCLUSIONS, L as collectProviderCredentials, N as enabledRunners, Q as fetchAllProviderModels, U as isReservedRunnerName, V as knownModelId, W as resolveModelShortcut, X as resolveProvider, Y as toOrchestratorOptions } from './ITerminalRunner-DVwORcV9.js';
|
|
5
|
+
import { R as RunnerModeInfo } from './ModeResolver-CzZd-i6T.js';
|
|
6
|
+
export { M as ManifestLookup, b as buildModeGuide, f as filteredBuildModes, r as resolveDefaultMode, a as resolveTaskMode, c as runnerModesFrom } from './ModeResolver-CzZd-i6T.js';
|
|
7
|
+
import { T as TaskOp } from './plan-utils-akoB6YCL.js';
|
|
8
|
+
export { A as ApplyTaskOpsResult, a as TaskRef, b as applyTaskOps, c as canMergeTasks, d as canSetDependencies, e as canSplitTask, f as classifyOutcome, g as dependencyCandidates, h as dependentsOf, p as parseTaskOpsJson, s as summarizeToolCall, t as textHasTaskOps } from './plan-utils-akoB6YCL.js';
|
|
9
9
|
import { ChildProcess } from 'child_process';
|
|
10
10
|
import { EventEmitter } from 'events';
|
|
11
|
-
import { b as PlanParseError } from './parsing-
|
|
12
|
-
export { P as PLAN_ENVELOPE_KEY, a as PartialPlanTask, T as TASK_OPS_ENVELOPE_KEY, c as TASK_QUERY_ENVELOPE_KEY, d as checkDepsResolve, e as checkImmutableLog, f as checkInProgress, g as checkNoCycles, h as checkUniqueIds, i as escapeControlCharsInStrings, j as extractJsonObject, k as extractObjectWithBalance, l as extractObjectsWithKey, m as looksLikePlanAttempt, p as parsePartialPlan, n as parsePlanJson, s as stripModelNoise, o as stripTrailingCommas, v as validatePlanModification } from './parsing-
|
|
11
|
+
import { b as PlanParseError } from './parsing-D87zKtTe.js';
|
|
12
|
+
export { P as PLAN_ENVELOPE_KEY, a as PartialPlanTask, T as TASK_OPS_ENVELOPE_KEY, c as TASK_QUERY_ENVELOPE_KEY, d as checkDepsResolve, e as checkImmutableLog, f as checkInProgress, g as checkNoCycles, h as checkUniqueIds, i as escapeControlCharsInStrings, j as extractJsonObject, k as extractObjectWithBalance, l as extractObjectsWithKey, m as looksLikePlanAttempt, p as parsePartialPlan, n as parsePlanJson, s as stripModelNoise, o as stripTrailingCommas, v as validatePlanModification } from './parsing-D87zKtTe.js';
|
|
13
|
+
export { resolveOrderLabel, taskOrderLabel } from './order-labels.js';
|
|
13
14
|
|
|
14
15
|
interface SessionMeta {
|
|
15
16
|
id: string;
|
|
@@ -559,24 +560,12 @@ declare class ConsoleLogger implements ILogger {
|
|
|
559
560
|
declare const defaultLogger: ILogger;
|
|
560
561
|
|
|
561
562
|
interface UserSettings {
|
|
562
|
-
grillMe: {
|
|
563
|
-
enabled: boolean;
|
|
564
|
-
};
|
|
565
563
|
tdd: {
|
|
566
564
|
enabled: boolean;
|
|
567
565
|
};
|
|
568
|
-
prd: {
|
|
569
|
-
enabled: boolean;
|
|
570
|
-
};
|
|
571
|
-
review: {
|
|
572
|
-
enabled: boolean;
|
|
573
|
-
};
|
|
574
566
|
verification: {
|
|
575
567
|
enabled: boolean;
|
|
576
568
|
};
|
|
577
|
-
researchSubagents: {
|
|
578
|
-
enabled: boolean;
|
|
579
|
-
};
|
|
580
569
|
modelAllowlist?: Record<string, string[]>;
|
|
581
570
|
/** Last model (and its thinking effort) the user chose for each planner backend, keyed by AiProvider id. */
|
|
582
571
|
plannerModels?: Record<string, {
|
|
@@ -594,10 +583,10 @@ interface UserSettings {
|
|
|
594
583
|
* Ordewell processes on one machine can hold *different* settings at the same
|
|
595
584
|
* time. Without it the file is a single shared mutable global: the benchmark
|
|
596
585
|
* harness runs parallel lanes that each pin the mode toggles, and because
|
|
597
|
-
* `getAll()` re-reads whenever the mtime moves, a lane needing
|
|
598
|
-
* `
|
|
599
|
-
*
|
|
600
|
-
*
|
|
586
|
+
* `getAll()` re-reads whenever the mtime moves, a lane needing a toggle
|
|
587
|
+
* `true` would silently plan with `false` the moment another lane pinned its
|
|
588
|
+
* own — turning an A/B of that toggle into a comparison of one condition
|
|
589
|
+
* against itself.
|
|
601
590
|
*/
|
|
602
591
|
declare function getSettingsPath(): string;
|
|
603
592
|
declare class SettingsService {
|
|
@@ -607,18 +596,10 @@ declare class SettingsService {
|
|
|
607
596
|
constructor(filePath?: string);
|
|
608
597
|
getAll(): UserSettings;
|
|
609
598
|
private fileMtimeMs;
|
|
610
|
-
getGrillMe(): boolean;
|
|
611
599
|
getTdd(): boolean;
|
|
612
|
-
getPrd(): boolean;
|
|
613
|
-
setGrillMe(enabled: boolean): void;
|
|
614
600
|
setTdd(enabled: boolean): void;
|
|
615
|
-
setPrd(enabled: boolean): void;
|
|
616
|
-
getReview(): boolean;
|
|
617
|
-
setReview(enabled: boolean): void;
|
|
618
601
|
getVerification(): boolean;
|
|
619
602
|
setVerification(enabled: boolean): void;
|
|
620
|
-
getResearchSubagents(): boolean;
|
|
621
|
-
setResearchSubagents(enabled: boolean): void;
|
|
622
603
|
getModelAllowlist(runner: string): string[] | undefined;
|
|
623
604
|
setModelAllowlist(runner: string, ids: string[] | undefined): void;
|
|
624
605
|
getPlannerModel(provider: string): {
|
|
@@ -637,12 +618,8 @@ declare class SettingsService {
|
|
|
637
618
|
|
|
638
619
|
/** How the same toggle is named once a host has read it off disk. */
|
|
639
620
|
interface PlannerRuntimeToggles {
|
|
640
|
-
grillMeEnabled: boolean;
|
|
641
621
|
tddEnabled: boolean;
|
|
642
|
-
prdEnabled: boolean;
|
|
643
|
-
reviewEnabled: boolean;
|
|
644
622
|
verificationEnabled: boolean;
|
|
645
|
-
researchSubagentsEnabled: boolean;
|
|
646
623
|
}
|
|
647
624
|
/**
|
|
648
625
|
* The planner-facing mode set for one operation. Replaces the boolean tail that
|
|
@@ -651,11 +628,7 @@ interface PlannerRuntimeToggles {
|
|
|
651
628
|
*/
|
|
652
629
|
interface PlannerModes {
|
|
653
630
|
autonomousDefault: boolean;
|
|
654
|
-
grillMe: boolean;
|
|
655
|
-
prd: boolean;
|
|
656
|
-
review: boolean;
|
|
657
631
|
verification: boolean;
|
|
658
|
-
researchSubagents: boolean;
|
|
659
632
|
}
|
|
660
633
|
|
|
661
634
|
/**
|
|
@@ -1128,8 +1101,8 @@ declare class CliAgentAiService implements IAiService {
|
|
|
1128
1101
|
/**
|
|
1129
1102
|
* Drive one user message to a settled planner turn. Same shape as the API
|
|
1130
1103
|
* backend's conversation loop minus the tool rounds — those belong to the
|
|
1131
|
-
* agent now — and with the same
|
|
1132
|
-
*
|
|
1104
|
+
* agent now — and with the same two policies layered on top: the
|
|
1105
|
+
* empty-reply nudge, and a bounded corrective re-emit for botched JSON.
|
|
1133
1106
|
*/
|
|
1134
1107
|
private runConversation;
|
|
1135
1108
|
/**
|
|
@@ -1182,12 +1155,7 @@ interface ConversationRequest {
|
|
|
1182
1155
|
fetcher?: IWebFetcher;
|
|
1183
1156
|
runnerModes?: Record<RunnerId, RunnerModeInfo[]>;
|
|
1184
1157
|
autonomousDefault?: boolean;
|
|
1185
|
-
grillMeEnabled?: boolean;
|
|
1186
|
-
prdEnabled?: boolean;
|
|
1187
|
-
reviewEnabled?: boolean;
|
|
1188
1158
|
verificationEnabled?: boolean;
|
|
1189
|
-
/** Declare the spawn_research_agent tool to the planner (issue #34, default off). */
|
|
1190
|
-
researchSubagentsEnabled?: boolean;
|
|
1191
1159
|
signal?: AbortSignal;
|
|
1192
1160
|
/**
|
|
1193
1161
|
* Persisted dialogue to seed a resumed conversation (session reload). The
|
|
@@ -1334,12 +1302,6 @@ interface ConversationTurnContext {
|
|
|
1334
1302
|
runnerModes?: Record<RunnerId, RunnerModeInfo[]>;
|
|
1335
1303
|
autonomousDefault?: boolean;
|
|
1336
1304
|
fetcher?: IWebFetcher;
|
|
1337
|
-
/** PRD toggle: a plan must not commit before a PRD block has appeared. */
|
|
1338
|
-
prdEnabled?: boolean;
|
|
1339
|
-
/** Set once any turn carries an ORDEWELL_PRD block; gates the missing-PRD nudge. */
|
|
1340
|
-
prdCaptured?: boolean;
|
|
1341
|
-
/** The missing-PRD corrective nudge is sent at most once per conversation. */
|
|
1342
|
-
prdNudgeSent?: boolean;
|
|
1343
1305
|
}
|
|
1344
1306
|
declare abstract class BaseAiService {
|
|
1345
1307
|
protected config: IConfig;
|
|
@@ -1348,8 +1310,6 @@ declare abstract class BaseAiService {
|
|
|
1348
1310
|
setProgress: (fn: (p: ResearchProgress) => void) => void;
|
|
1349
1311
|
} | null;
|
|
1350
1312
|
protected activeAbort: AbortController | null;
|
|
1351
|
-
/** researchSubagents toggle (issue #34): set per operation from the live settings snapshot; off means bit-for-bit sequential behavior. */
|
|
1352
|
-
protected researchSubagentsEnabled: boolean;
|
|
1353
1313
|
constructor(config: IConfig);
|
|
1354
1314
|
abstract reset(): void;
|
|
1355
1315
|
abstract ensureInit(): void;
|
|
@@ -1625,6 +1585,8 @@ declare class TaskOrchestrator {
|
|
|
1625
1585
|
private observers;
|
|
1626
1586
|
private tddEnabled;
|
|
1627
1587
|
constructor(config: IConfig, notifications: INotification, terminalRunner: ITerminalRunner, store?: PlanStore);
|
|
1588
|
+
/** Advisory silence timestamp for a task's live runner, or null if not idle. */
|
|
1589
|
+
getIdleSince(taskId: string): string | null;
|
|
1628
1590
|
get storeInstance(): PlanStore;
|
|
1629
1591
|
setWorkspaceRoot(fn: () => string): void;
|
|
1630
1592
|
setRegistry(registry: RunnerRegistry): void;
|
|
@@ -2264,6 +2226,39 @@ declare function mapAgentTool(name: string): MappedTool;
|
|
|
2264
2226
|
*/
|
|
2265
2227
|
declare function normalizeAgentArgs(tool: ResearchToolType, args: Record<string, unknown>): Record<string, unknown>;
|
|
2266
2228
|
|
|
2229
|
+
declare const BUILTIN_SKILL_NAMES: readonly ["grilling", "to-spec"];
|
|
2230
|
+
interface SkillMetadata {
|
|
2231
|
+
name: string;
|
|
2232
|
+
description: string;
|
|
2233
|
+
disableModelInvocation?: boolean;
|
|
2234
|
+
}
|
|
2235
|
+
interface SkillInfo {
|
|
2236
|
+
name: string;
|
|
2237
|
+
description: string;
|
|
2238
|
+
metadata: SkillMetadata;
|
|
2239
|
+
/** Full content of SKILL.md with frontmatter stripped */
|
|
2240
|
+
content: string;
|
|
2241
|
+
/** Absolute path to the SKILL.md file */
|
|
2242
|
+
path: string;
|
|
2243
|
+
/** Whether this came from global (~/.ordewell/skills/) or local (.ordewell/skills/) */
|
|
2244
|
+
source: 'global' | 'local';
|
|
2245
|
+
}
|
|
2246
|
+
declare class SkillsService {
|
|
2247
|
+
private workspaceRoot?;
|
|
2248
|
+
constructor(workspaceRoot?: string | undefined);
|
|
2249
|
+
private localDir;
|
|
2250
|
+
private globalDir;
|
|
2251
|
+
private seed;
|
|
2252
|
+
seedBuiltinSkill(name: string): boolean;
|
|
2253
|
+
/** Removes a retired built-in's seed from the global dir, but only if it's untouched by the user. */
|
|
2254
|
+
private isUnmodifiedRetiredSeed;
|
|
2255
|
+
private pruneRetired;
|
|
2256
|
+
findSkill(name: string): SkillInfo | undefined;
|
|
2257
|
+
listSkills(): SkillInfo[];
|
|
2258
|
+
getSkillContent(name: string): string | undefined;
|
|
2259
|
+
}
|
|
2260
|
+
declare function createSkillsService(workspaceRoot?: string): SkillsService;
|
|
2261
|
+
|
|
2267
2262
|
type SerializedTaskStatus = {
|
|
2268
2263
|
id: string;
|
|
2269
2264
|
status: string;
|
|
@@ -2272,6 +2267,8 @@ type SerializedTaskStatus = {
|
|
|
2272
2267
|
reason: string;
|
|
2273
2268
|
checks: Verdict['checks'];
|
|
2274
2269
|
} | null;
|
|
2270
|
+
/** Advisory silence timestamp from VerdictEngine — not part of task status semantics. */
|
|
2271
|
+
idleSince?: string | null;
|
|
2275
2272
|
};
|
|
2276
2273
|
type SerializedTask = {
|
|
2277
2274
|
id: string;
|
|
@@ -2386,7 +2383,7 @@ type SessionMessage = {
|
|
|
2386
2383
|
};
|
|
2387
2384
|
type SessionBroadcaster = (msg: SessionMessage) => void;
|
|
2388
2385
|
declare function serializeTask(t: Task): SerializedTask;
|
|
2389
|
-
declare function serializeTaskStatus(t: Task): SerializedTaskStatus;
|
|
2386
|
+
declare function serializeTaskStatus(t: Task, idleSince?: string | null): SerializedTaskStatus;
|
|
2390
2387
|
declare function serializePlan(plan: LegacyPlanState): SerializedPlan;
|
|
2391
2388
|
declare function executionSummary(tasks: Task[]): {
|
|
2392
2389
|
total: number;
|
|
@@ -2417,11 +2414,7 @@ type SessionPlanner = Pick<Planner, 'generate' | 'modify' | 'modifyDuringExecuti
|
|
|
2417
2414
|
/** Runtime prefs read live — may toggle between operations. */
|
|
2418
2415
|
interface SessionRuntimeSettings {
|
|
2419
2416
|
tddEnabled: boolean;
|
|
2420
|
-
grillMeEnabled: boolean;
|
|
2421
|
-
prdEnabled?: boolean;
|
|
2422
|
-
reviewEnabled?: boolean;
|
|
2423
2417
|
verificationEnabled?: boolean;
|
|
2424
|
-
researchSubagentsEnabled?: boolean;
|
|
2425
2418
|
modelAllowlist?: Record<string, string[]>;
|
|
2426
2419
|
}
|
|
2427
2420
|
/**
|
|
@@ -2432,11 +2425,19 @@ interface SessionRuntimeSettings {
|
|
|
2432
2425
|
* is not a toggle.
|
|
2433
2426
|
*/
|
|
2434
2427
|
declare function sessionRuntimeSettings(settings: UserSettings): SessionRuntimeSettings;
|
|
2428
|
+
/**
|
|
2429
|
+
* Resolve a `/skill-name` invocation to the skill's markdown content. Pure and
|
|
2430
|
+
* exported so surfaces and verification can drive substitution without a full
|
|
2431
|
+
* Session. Plain text passes through unchanged; an unknown skill becomes a
|
|
2432
|
+
* notice naming what IS available instead of a bare slash token that a runner
|
|
2433
|
+
* would mis-resolve in its own skills directory.
|
|
2434
|
+
*/
|
|
2435
|
+
declare function resolveSkillInvocation(text: string, skillsService: Pick<SkillsService, 'findSkill' | 'listSkills'>): string;
|
|
2435
2436
|
/**
|
|
2436
2437
|
* Everything a delivery surface constructs to host a session. Structural config
|
|
2437
2438
|
* (enabledRunners, orchestratorModel, providerModelLists) is snapshotted inside
|
|
2438
2439
|
* `config` at construction and never re-read from the environment. Runtime
|
|
2439
|
-
* settings (tdd,
|
|
2440
|
+
* settings (tdd, verification) are read live via the `settings` callback so a toggle
|
|
2440
2441
|
* between generate and execute takes effect.
|
|
2441
2442
|
*/
|
|
2442
2443
|
interface SessionDeps {
|
|
@@ -2452,7 +2453,7 @@ interface SessionDeps {
|
|
|
2452
2453
|
broadcast: SessionBroadcaster;
|
|
2453
2454
|
/** Shared across sessions — sole producer of model catalogs and routing lists. */
|
|
2454
2455
|
modelResolver: ModelResolver;
|
|
2455
|
-
/** Live runtime settings (tdd,
|
|
2456
|
+
/** Live runtime settings (tdd, verification). Read at each operation that needs them. */
|
|
2456
2457
|
settings: () => SessionRuntimeSettings;
|
|
2457
2458
|
/**
|
|
2458
2459
|
* Host-assigned session id. When set, every persist writes under this id so
|
|
@@ -2468,6 +2469,11 @@ interface SessionDeps {
|
|
|
2468
2469
|
aiService?: IAiService;
|
|
2469
2470
|
/** Plan-generation seam. Defaults to a Planner over the session's aiService. */
|
|
2470
2471
|
planner?: SessionPlanner;
|
|
2472
|
+
/**
|
|
2473
|
+
* Skill lookup for /skill-name interception. Defaults to a SkillsService
|
|
2474
|
+
* over the session's workspace root.
|
|
2475
|
+
*/
|
|
2476
|
+
skillsService?: SkillsService;
|
|
2471
2477
|
}
|
|
2472
2478
|
/**
|
|
2473
2479
|
* The per-session execution stack — deepened from a wiring bag into the
|
|
@@ -2509,6 +2515,7 @@ declare class Session {
|
|
|
2509
2515
|
private unsubObserver;
|
|
2510
2516
|
private readonly hostSessionId?;
|
|
2511
2517
|
private currentSessionId;
|
|
2518
|
+
private readonly skillsService;
|
|
2512
2519
|
constructor(deps: SessionDeps);
|
|
2513
2520
|
/**
|
|
2514
2521
|
* The planner transport for the provider configured *right now* (ADR-0009).
|
|
@@ -2612,8 +2619,8 @@ declare class Session {
|
|
|
2612
2619
|
*/
|
|
2613
2620
|
startPlanning(goal: string, runners: RunnerId[], options?: GeneratePlanOptions): Promise<LegacyPlanState>;
|
|
2614
2621
|
/**
|
|
2615
|
-
* Every subsequent user reply in the planning conversation —
|
|
2616
|
-
* answers,
|
|
2622
|
+
* Every subsequent user reply in the planning conversation — clarifying
|
|
2623
|
+
* answers, outline confirm. One branch, no phase ladder.
|
|
2617
2624
|
*/
|
|
2618
2625
|
continueConversation(userMessage: string, options?: GeneratePlanOptions): Promise<LegacyPlanState>;
|
|
2619
2626
|
/**
|
|
@@ -2648,8 +2655,8 @@ declare class Session {
|
|
|
2648
2655
|
* The catalog the planner may actually draw from — model ids and task-mode
|
|
2649
2656
|
* ids, per selected runner — emitted on EVERY turn, before any plan exists
|
|
2650
2657
|
* or after. The system prompt shows this once at conversation start; a long
|
|
2651
|
-
*
|
|
2652
|
-
*
|
|
2658
|
+
* clarifying conversation outlives that single showing and the planner
|
|
2659
|
+
* starts misquoting it, so this re-states it per turn instead.
|
|
2653
2660
|
*
|
|
2654
2661
|
* Built from the allowlist-filtered view (`filterModelsForPrompt`), the same
|
|
2655
2662
|
* one the system prompt used — a restricted allowlist stays a hard bound on
|
|
@@ -2682,6 +2689,15 @@ declare class Session {
|
|
|
2682
2689
|
private resumeConversation;
|
|
2683
2690
|
/** Whether the planner conversation is live (started and not yet committed to a plan). */
|
|
2684
2691
|
get isConversationActive(): boolean;
|
|
2692
|
+
/**
|
|
2693
|
+
* Intercept a skill invocation (/skill-name) and substitute the skill's
|
|
2694
|
+
* markdown content BEFORE the message reaches the planner. Prevents runners
|
|
2695
|
+
* (Claude Code, OpenCode) from trying to resolve the skill in their own
|
|
2696
|
+
* directory instead of .ordewell/skills/. An unknown skill is surfaced to
|
|
2697
|
+
* the planner as a notice naming what IS available, rather than passing a
|
|
2698
|
+
* bare /unknown through to be mis-resolved.
|
|
2699
|
+
*/
|
|
2700
|
+
private resolveSkillInvocation;
|
|
2685
2701
|
/** Append one dialogue entry to the persisted transcript. Callers persist via the mutatePlan ritual. */
|
|
2686
2702
|
private appendTranscript;
|
|
2687
2703
|
/** Commit a settled (non-task_ops) turn. Both branches run the mutatePlan ritual. */
|
|
@@ -2830,8 +2846,27 @@ declare class Session {
|
|
|
2830
2846
|
get aiServiceInstance(): IAiService;
|
|
2831
2847
|
}
|
|
2832
2848
|
|
|
2849
|
+
/**
|
|
2850
|
+
* Where Ordewell keeps machine-global data (settings, daemon tokens, caches,
|
|
2851
|
+
* user plugins). A single home for everything not tied to a project directory,
|
|
2852
|
+
* so per-project state in `.ordewell/` and global state never collide.
|
|
2853
|
+
*/
|
|
2854
|
+
declare function globalDataDir(): string;
|
|
2855
|
+
/**
|
|
2856
|
+
* One-time lift of a pre-`.ordewell` install's files into the new location.
|
|
2857
|
+
* Each file/dir is checked independently — old exists, new doesn't — rather
|
|
2858
|
+
* than gating the whole thing on "new dir doesn't exist yet". A machine that
|
|
2859
|
+
* migrated `settings.json` under an earlier release already has `globalDataDir()`
|
|
2860
|
+
* on disk, which would otherwise permanently skip lifting anything added to
|
|
2861
|
+
* this list later (`.env` did exactly that: real API keys stranded in the old
|
|
2862
|
+
* dir because the settings.json move had already made the new dir exist).
|
|
2863
|
+
*/
|
|
2864
|
+
declare function migrateOldConfigDir(): void;
|
|
2865
|
+
|
|
2833
2866
|
type VerdictListener = (taskId: string, verdict: Verdict, output: string) => void;
|
|
2834
2867
|
type CheckpointListener = (taskId: string, summary: string) => void;
|
|
2868
|
+
/** Fires on every idleSince transition (null→timestamp on silence, timestamp→null on resume/teardown). */
|
|
2869
|
+
type IdleListener = (taskId: string, idleSince: string | null) => void;
|
|
2835
2870
|
declare class VerdictEngine {
|
|
2836
2871
|
private markerSeen;
|
|
2837
2872
|
private buffers;
|
|
@@ -2839,6 +2874,7 @@ declare class VerdictEngine {
|
|
|
2839
2874
|
private pausedSessions;
|
|
2840
2875
|
private listeners;
|
|
2841
2876
|
private checkpointListeners;
|
|
2877
|
+
private idleListeners;
|
|
2842
2878
|
/**
|
|
2843
2879
|
* Per-task generation counter. Incremented on every watch() and clear().
|
|
2844
2880
|
* Stale callbacks (from a prior session whose generation doesn't match
|
|
@@ -2846,8 +2882,17 @@ declare class VerdictEngine {
|
|
|
2846
2882
|
* wrong session.
|
|
2847
2883
|
*/
|
|
2848
2884
|
private generations;
|
|
2885
|
+
private idleTimers;
|
|
2886
|
+
private idleSince;
|
|
2849
2887
|
onVerdict(listener: VerdictListener): void;
|
|
2850
2888
|
onCheckpoint(listener: CheckpointListener): void;
|
|
2889
|
+
onIdleChange(listener: IdleListener): void;
|
|
2890
|
+
/** Advisory silence timestamp for a task, or null if it isn't idle. */
|
|
2891
|
+
getIdleSince(taskId: string): string | null;
|
|
2892
|
+
/** Restart the silence timer on fresh output; broadcasts the null transition if it was idle. */
|
|
2893
|
+
private touchIdle;
|
|
2894
|
+
/** Tear down idle tracking for a task; broadcasts the null transition if it was idle. */
|
|
2895
|
+
private clearIdle;
|
|
2851
2896
|
approveCheckpoint(taskId: string): void;
|
|
2852
2897
|
rejectCheckpoint(taskId: string, reason: string): void;
|
|
2853
2898
|
/**
|
|
@@ -2934,7 +2979,7 @@ declare function runnerAssignment(catalog: RunnerCatalog, current?: Pick<Task, '
|
|
|
2934
2979
|
*/
|
|
2935
2980
|
declare function retargetTaskRunner(task: Task, runner: RunnerId, catalog: RunnerCatalog): Partial<Task>;
|
|
2936
2981
|
|
|
2937
|
-
declare function buildResearchToolsPrompt(
|
|
2982
|
+
declare function buildResearchToolsPrompt(): string;
|
|
2938
2983
|
/**
|
|
2939
2984
|
* System prompt for one read-only research subagent (issue #34). The digest
|
|
2940
2985
|
* contract matters: the reply goes back to the planner as a tool result, so it
|
|
@@ -2942,7 +2987,7 @@ declare function buildResearchToolsPrompt(subagentsEnabled?: boolean): string;
|
|
|
2942
2987
|
* never a task plan.
|
|
2943
2988
|
*/
|
|
2944
2989
|
declare function buildSubagentSystemPrompt(): string;
|
|
2945
|
-
declare function buildConversationSystemPrompt(goal: string, context: string, modelsByRunner: Partial<Record<RunnerId, DiscoveredModel[]>>, runners: RunnerId[], runnerModes?: Record<RunnerId, RunnerModeInfo[]>, autonomousDefault?: boolean,
|
|
2990
|
+
declare function buildConversationSystemPrompt(goal: string, context: string, modelsByRunner: Partial<Record<RunnerId, DiscoveredModel[]>>, runners: RunnerId[], runnerModes?: Record<RunnerId, RunnerModeInfo[]>, autonomousDefault?: boolean, verificationEnabled?: boolean,
|
|
2946
2991
|
/** Harness planner (ADR-0009): the agent owns its own tools and research budget. */
|
|
2947
2992
|
harnessMode?: boolean): string;
|
|
2948
2993
|
declare const CORE_PLANNER_PROMPT: string;
|
|
@@ -2980,7 +3025,7 @@ declare function buildSplitPrompt(taskId: string, tasks: Task[]): string;
|
|
|
2980
3025
|
* driver (it also runs the tool rounds) but delegates classification here.
|
|
2981
3026
|
* - The corrective prompt texts live here, once.
|
|
2982
3027
|
*
|
|
2983
|
-
* Policies stay at the call sites (
|
|
3028
|
+
* Policies stay at the call sites (ops validation, abort guards) —
|
|
2984
3029
|
* they are inputs to the loop, not part of it.
|
|
2985
3030
|
*/
|
|
2986
3031
|
type RepairVerdict<T> = {
|
|
@@ -3110,7 +3155,13 @@ declare function summarizeOutput(reviewReason: string | undefined, output: strin
|
|
|
3110
3155
|
declare function collectDirectDependencyOutputs(task: Task, allTasks: Task[]): PriorOutput[];
|
|
3111
3156
|
declare function renderPriorOutputs(outputs: PriorOutput[]): string;
|
|
3112
3157
|
declare function augmentPromptWithPriorOutputs(task: Task, allTasks: Task[]): string;
|
|
3113
|
-
|
|
3158
|
+
/**
|
|
3159
|
+
* Numbered task list for the model's context. `planTasks` is the nested task
|
|
3160
|
+
* tree; subtasks render indented under their parent with the same dotted
|
|
3161
|
+
* `taskOrderLabel` the other surfaces use, so an `N.M` the model echoes back
|
|
3162
|
+
* matches what `resolveTaskId` accepts.
|
|
3163
|
+
*/
|
|
3164
|
+
declare function renderPlanMap(planTasks: Task[], currentTaskId: string, opts?: {
|
|
3114
3165
|
maxEntries?: number;
|
|
3115
3166
|
}): string;
|
|
3116
3167
|
interface ComposeOptions {
|
|
@@ -3645,4 +3696,4 @@ declare class PlannerModelMemory {
|
|
|
3645
3696
|
recall(provider: string, catalog: PlannerModelCandidate[]): PlannerModelRecall;
|
|
3646
3697
|
}
|
|
3647
3698
|
|
|
3648
|
-
export { ALLOWED_PLUGIN_HOSTS, ALL_PROVIDERS, AUTO_COMMANDS, AbstractRunner, AbstractTerminalSession, ActiveTaskSession, type AgentAdapter, type AgentAdapterFactory, type AgentEvent, type AgentProcessDeps, type AgentStartOptions, AiProvider, ApprovalKind, ApprovalMode, ApprovalRequest, ApprovalSource, BaseAiService, BaseConfig, BaseFileSystem, CLAUDE_CODE_MANIFEST, CLI_PROVIDERS, CMD_EXE_MAX_COMMAND_LINE, CORE_PLANNER_PROMPT, type CappedRows, type CheckpointListener, ClaudeCodeAdapter, CliAgentAiService, type CliAgentAiServiceDeps, CodexAdapter, type CommandClassification, CommandLineTooLongError, type CommandTier, type ComposeOptions, ConsoleLogger, ContextCollector, ConversationMessage, type ConversationRequest, type ConversationTurn, DAEMON_SUBPROTOCOL, DAEMON_TOKEN_SUBPROTOCOL_PREFIX, DiscoveredModel, EmbeddedNewlineError, type EnvAdmission, EnvConfig, type ExecFileFn, type ExecImpl, ExecutableNotFoundError, FindSymbolOptions, FsPluginStore, GIT_READONLY_SUBCOMMANDS, GeminiService, GlobOptions, type GrepInvocation, GrepOptions, type HasBinFn, HeadlessRunner, type HeadlessRunnerDeps, HeadlessSession, type IAiService, IApproval, IConfig, IFileSystem, type ILogger, type INotification, IPluginStore, ITerminalRunner, ITerminalSession, JSON_REPAIR_INSTRUCTION, type KillTreeDeps, type LaunchDeps, type LaunchPlan, LegacyPlanState, LineBuffer, type MappedTool, ModelResolver, type ModelResolverDeps, type ModifyPlanRequest, type NotificationAction, OPENCODE_MANIFEST, ORDEWELL_SETTABLE_ENV, OpenAiService, OpenCodeAdapter, type OrchestratorObserver, OrchestratorOption, PLUGIN_NAME_PATTERN, PROVIDER_CREDENTIAL_ENV, PROVIDER_DETECT_PRIORITY, PROVIDER_LABEL, PROVIDER_PRIORITY, PROVIDER_SHORT_LABEL, type PendingApproval, PendingApprovals, type PendingApprovalsOptions, PlanEditError, PlanParseError, type PlanRequest, PlanState, PlanStatus, PlanStore, Planner, type PlannerModelCandidate, type PlannerModelChoice, PlannerModelMemory, type PlannerModelRecall, type PlannerModelStore, type PlannerReplyClassification, type PlannerRuntimeToggles, type PluginSource, type PrdBlock, type PreparedLaunch, type PriorOutput, type ProbeFn, ProviderModelLists, type ProviderRegistration, QueuedMessage, REFUSED_COMMANDS, ReadFileOpts, type RepairLoopOpts, type RepairVerdict, type ResearchChat, ResearchLogEntry, ResearchProgress, type ResearchShell, type ResearchShellDeps, ResearchStep, ResearchToolType, type ResearchTurn, ResolveContext, type RunnerCatalog, RunnerId, RunnerInstallation, RunnerInvocation, type RunnerMode, RunnerModeInfo, RunnerPluginManifest, RunnerRegistry, type RunnerSpawnOptions, SETTINGS_ENV_ALLOWLIST, SETTINGS_ENV_REFUSED, STATE_DIR, STOPPED_TOOL_RESULT, SYMBOL_LANGUAGES, type SerializedPlan, type SerializedTask, type SerializedTaskStatus, Session, type SessionBroadcaster, type SessionData, type SessionDeps, type SessionMessage, type SessionMeta, type SessionPlanner, type SessionRuntimeSettings, SettingsService, type ShellDialect, type SpawnSpec, StdioAgentAdapter, TASK_QUERY_ANSWER_OR_OPS, TASK_QUERY_FIELDS, TASK_QUERY_PROTOCOL, TASK_QUERY_REMINDER, TRUNCATED_PLAN_REPAIR_INSTRUCTION, Task, TaskOp, TaskOrchestrator, type TaskQuery, type TaskQueryCatalog, type TaskQueryField, TaskSnapshot, TmuxRunner, type TmuxRunnerDeps, type TokenCarriers, type ToolCall, ToolOutcome, type ToolResult, type UserSettings, Verdict, VerdictEngine, type VerdictListener, WINDOWS_MAX_COMMAND_LINE, type WorkspaceCheckDeps, WorkspaceNotAProjectError, WorkspaceNotFoundError, type WorkspaceProjectCheckDeps, admitSettingsEnv, applyHeadLimit, assertInstallablePluginUrl, assertPlainPluginName, assertWorkspaceExists, assertWorkspaceIsProject, augmentPromptWithPriorOutputs, augmentedPath, bearerHeaderValue, buildConversationSystemPrompt, buildFallbackGrepArgs, buildGlobArgs, buildGrepArgs, buildMergePrompt, buildModifyDuringExecutionPrompt, buildModifyPlanPrompt, buildPlanWithResults, buildResearchPrompt, buildResearchToolsPrompt, buildRunnerInvocation, buildShellInvocation, buildSplitPrompt, buildSubagentSystemPrompt, clampThinkingEffort, classifyCommand, classifyPlannerReply, classifyPluginSource, clearAugmentedPathCache, clearDaemonToken, clearResearchShellCache, clearState, clipboardCopyCommand, coerceAssignments, collectDirectDependencyOutputs, composeAugmentedPrompt, configuredProviders, createAiService, daemonTokenPath, defaultLogger, definitionPattern, deleteSession, discoverGeminiModels, effectiveAllowlist, ensureDir, ensureStateDirIgnored, executionLogBlock, executionSummary, extractPrdBlock, extractPresentedToken, filterFallbackByAnchoredInclude, filterModelsForPrompt, formatSearchOutput, generatePlanWithRepair, getLatestSession, getProviderMeta, getSettingsPath, getStateDir, grantScopeFor, hasTmux, includeGlobFor, isCliProvider, isExecutableResolved, isOpenAiProvider, isPlainPluginName, isValidManifest, killTree, languageForId, listSessions, loadSession, loadSessionPlanState, loadState, mapAgentTool, mintDaemonToken, mintSessionId, modelContextBlock, modifyValidationFeedback, normalizeAgentArgs, normalizeGeminiModel, parseTaskQueryJson, pendingEditRulesBlock, planDirectLaunch, planShellLaunch, posixShellQuote, prefixModelId, providerForRunner, reEmitPlanPrompt, reEmitTaskOpsPrompt, reEmitTaskQueryPrompt, readDaemonToken, referencePattern, renderPlanMap, renderPriorOutputs, renderTaskQueryAnswer, repairLoop, researchShellWarning, researchToolsPath, resolveArgs, resolvePluginInstallDir, resolveProviderFromPrefix, resolveResearchShell, resolveWithin, retargetTaskRunner, runnerAssignment, runnerForProvider, sanitizeSlug, savePrdMarkdown, saveSession, saveState, serializePlan, serializeTask, serializeTaskStatus, sessionRuntimeSettings, stateExists, stripAnsi, stripModelPrefix, summarizeOutput, taskOpsRejectedPrompt, taskQuerySignature, textHasTaskQuery, tmuxSessionName, tmuxSocketName, tmuxWindowName, tokenSubprotocols, tokensMatch, truncatedPlanReEmitPrompt, wellKnownBinDirs, windowsCommandLine, withPath, wrapWithPty };
|
|
3699
|
+
export { ALLOWED_PLUGIN_HOSTS, ALL_PROVIDERS, AUTO_COMMANDS, AbstractRunner, AbstractTerminalSession, ActiveTaskSession, type AgentAdapter, type AgentAdapterFactory, type AgentEvent, type AgentProcessDeps, type AgentStartOptions, AiProvider, ApprovalKind, ApprovalMode, ApprovalRequest, ApprovalSource, BUILTIN_SKILL_NAMES, BaseAiService, BaseConfig, BaseFileSystem, CLAUDE_CODE_MANIFEST, CLI_PROVIDERS, CMD_EXE_MAX_COMMAND_LINE, CORE_PLANNER_PROMPT, type CappedRows, type CheckpointListener, ClaudeCodeAdapter, CliAgentAiService, type CliAgentAiServiceDeps, CodexAdapter, type CommandClassification, CommandLineTooLongError, type CommandTier, type ComposeOptions, ConsoleLogger, ContextCollector, ConversationMessage, type ConversationRequest, type ConversationTurn, DAEMON_SUBPROTOCOL, DAEMON_TOKEN_SUBPROTOCOL_PREFIX, DiscoveredModel, EmbeddedNewlineError, type EnvAdmission, EnvConfig, type ExecFileFn, type ExecImpl, ExecutableNotFoundError, FindSymbolOptions, FsPluginStore, GIT_READONLY_SUBCOMMANDS, GeminiService, GlobOptions, type GrepInvocation, GrepOptions, type HasBinFn, HeadlessRunner, type HeadlessRunnerDeps, HeadlessSession, type IAiService, IApproval, IConfig, IFileSystem, type ILogger, type INotification, IPluginStore, ITerminalRunner, ITerminalSession, JSON_REPAIR_INSTRUCTION, type KillTreeDeps, type LaunchDeps, type LaunchPlan, LegacyPlanState, LineBuffer, type MappedTool, ModelResolver, type ModelResolverDeps, type ModifyPlanRequest, type NotificationAction, OPENCODE_MANIFEST, ORDEWELL_SETTABLE_ENV, OpenAiService, OpenCodeAdapter, type OrchestratorObserver, OrchestratorOption, PLUGIN_NAME_PATTERN, PROVIDER_CREDENTIAL_ENV, PROVIDER_DETECT_PRIORITY, PROVIDER_LABEL, PROVIDER_PRIORITY, PROVIDER_SHORT_LABEL, type PendingApproval, PendingApprovals, type PendingApprovalsOptions, PlanEditError, PlanParseError, type PlanRequest, PlanState, PlanStatus, PlanStore, Planner, type PlannerModelCandidate, type PlannerModelChoice, PlannerModelMemory, type PlannerModelRecall, type PlannerModelStore, type PlannerReplyClassification, type PlannerRuntimeToggles, type PluginSource, type PrdBlock, type PreparedLaunch, type PriorOutput, type ProbeFn, ProviderModelLists, type ProviderRegistration, QueuedMessage, REFUSED_COMMANDS, ReadFileOpts, type RepairLoopOpts, type RepairVerdict, type ResearchChat, ResearchLogEntry, ResearchProgress, type ResearchShell, type ResearchShellDeps, ResearchStep, ResearchToolType, type ResearchTurn, ResolveContext, type RunnerCatalog, RunnerId, RunnerInstallation, RunnerInvocation, type RunnerMode, RunnerModeInfo, RunnerPluginManifest, RunnerRegistry, type RunnerSpawnOptions, SETTINGS_ENV_ALLOWLIST, SETTINGS_ENV_REFUSED, STATE_DIR, STOPPED_TOOL_RESULT, SYMBOL_LANGUAGES, type SerializedPlan, type SerializedTask, type SerializedTaskStatus, Session, type SessionBroadcaster, type SessionData, type SessionDeps, type SessionMessage, type SessionMeta, type SessionPlanner, type SessionRuntimeSettings, SettingsService, type ShellDialect, type SkillInfo, type SkillMetadata, SkillsService, type SpawnSpec, StdioAgentAdapter, TASK_QUERY_ANSWER_OR_OPS, TASK_QUERY_FIELDS, TASK_QUERY_PROTOCOL, TASK_QUERY_REMINDER, TRUNCATED_PLAN_REPAIR_INSTRUCTION, Task, TaskOp, TaskOrchestrator, type TaskQuery, type TaskQueryCatalog, type TaskQueryField, TaskSnapshot, TmuxRunner, type TmuxRunnerDeps, type TokenCarriers, type ToolCall, ToolOutcome, type ToolResult, type UserSettings, Verdict, VerdictEngine, type VerdictListener, WINDOWS_MAX_COMMAND_LINE, type WorkspaceCheckDeps, WorkspaceNotAProjectError, WorkspaceNotFoundError, type WorkspaceProjectCheckDeps, admitSettingsEnv, applyHeadLimit, assertInstallablePluginUrl, assertPlainPluginName, assertWorkspaceExists, assertWorkspaceIsProject, augmentPromptWithPriorOutputs, augmentedPath, bearerHeaderValue, buildConversationSystemPrompt, buildFallbackGrepArgs, buildGlobArgs, buildGrepArgs, buildMergePrompt, buildModifyDuringExecutionPrompt, buildModifyPlanPrompt, buildPlanWithResults, buildResearchPrompt, buildResearchToolsPrompt, buildRunnerInvocation, buildShellInvocation, buildSplitPrompt, buildSubagentSystemPrompt, clampThinkingEffort, classifyCommand, classifyPlannerReply, classifyPluginSource, clearAugmentedPathCache, clearDaemonToken, clearResearchShellCache, clearState, clipboardCopyCommand, coerceAssignments, collectDirectDependencyOutputs, composeAugmentedPrompt, configuredProviders, createAiService, createSkillsService, daemonTokenPath, defaultLogger, definitionPattern, deleteSession, discoverGeminiModels, effectiveAllowlist, ensureDir, ensureStateDirIgnored, executionLogBlock, executionSummary, extractPrdBlock, extractPresentedToken, filterFallbackByAnchoredInclude, filterModelsForPrompt, formatSearchOutput, generatePlanWithRepair, getLatestSession, getProviderMeta, getSettingsPath, getStateDir, globalDataDir, grantScopeFor, hasTmux, includeGlobFor, isCliProvider, isExecutableResolved, isOpenAiProvider, isPlainPluginName, isValidManifest, killTree, languageForId, listSessions, loadSession, loadSessionPlanState, loadState, mapAgentTool, migrateOldConfigDir, mintDaemonToken, mintSessionId, modelContextBlock, modifyValidationFeedback, normalizeAgentArgs, normalizeGeminiModel, parseTaskQueryJson, pendingEditRulesBlock, planDirectLaunch, planShellLaunch, posixShellQuote, prefixModelId, providerForRunner, reEmitPlanPrompt, reEmitTaskOpsPrompt, reEmitTaskQueryPrompt, readDaemonToken, referencePattern, renderPlanMap, renderPriorOutputs, renderTaskQueryAnswer, repairLoop, researchShellWarning, researchToolsPath, resolveArgs, resolvePluginInstallDir, resolveProviderFromPrefix, resolveResearchShell, resolveSkillInvocation, resolveWithin, retargetTaskRunner, runnerAssignment, runnerForProvider, sanitizeSlug, savePrdMarkdown, saveSession, saveState, serializePlan, serializeTask, serializeTaskStatus, sessionRuntimeSettings, stateExists, stripAnsi, stripModelPrefix, summarizeOutput, taskOpsRejectedPrompt, taskQuerySignature, textHasTaskQuery, tmuxSessionName, tmuxSocketName, tmuxWindowName, tokenSubprotocols, tokensMatch, truncatedPlanReEmitPrompt, wellKnownBinDirs, windowsCommandLine, withPath, wrapWithPty };
|