pantheon-opencode 1.5.0-beta.13 → 1.5.0-beta.15
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/CHANGELOG.md +59 -0
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/pyproject.toml +2 -5
- package/src/agents/zeus.md +4 -26
- package/src/pantheon/background-job-board.ts +4 -4
- package/src/pantheon/delegate-manager.ts +95 -10
- package/src/pantheon/delegation-classifier.ts +3 -4
- package/src/pantheon/delegation-finalize.ts +69 -7
- package/src/pantheon/delegation.ts +16 -4
- package/src/pantheon/presets.d.mts +0 -20
- package/src/pantheon/presets.mjs +0 -64
- package/src/pantheon/toon-codec.ts +1 -1
- package/src/plugin-v2.ts +4 -6
- package/src/plugin.ts +6 -6
- package/src/plugins/pantheon-hooks.ts +1 -1
- package/src/plugins/tui/dist/tui.d.ts +57 -40
- package/src/plugins/tui/dist/tui.d.ts.map +1 -1
- package/src/plugins/tui/dist/tui.js +145 -54
- package/src/plugins/tui/package-lock.json +2 -2
- package/src/plugins/tui/package.json +1 -1
- package/src/plugins/tui/src/index.tsx +245 -83
- package/src/routing.yml +0 -16
- package/scripts/hash_verify.py +0 -192
- package/scripts/test-context-compression.sh +0 -169
- package/src/pantheon/auto-wake.ts +0 -85
- package/src/pantheon/chat-reminders.ts +0 -9
- package/src/pantheon/comment-checker.ts +0 -48
- package/src/pantheon/compaction-assert.ts +0 -160
- package/src/pantheon/compaction-handoff.ts +0 -304
- package/src/pantheon/cost-tracker.ts +0 -108
- package/src/pantheon/dispatch-guard.ts +0 -109
- package/src/pantheon/permission-eval.ts +0 -284
- package/src/pantheon/preemptive-compact.ts +0 -76
- package/src/pantheon/provider-capabilities.ts +0 -221
- package/src/pantheon/provider-stream-tracker.ts +0 -182
- package/src/pantheon/retry-policy.ts +0 -212
- package/src/pantheon/token-opt.ts +0 -689
- package/src/pantheon/v2-events.ts +0 -148
- package/src/pantheon/v2-hooks.ts +0 -287
- package/src/pantheon/v2-tool-definitions.ts +0 -331
- package/src/pantheon/zeus-delegate-with-retry.ts +0 -406
package/src/pantheon/presets.mjs
CHANGED
|
@@ -213,70 +213,6 @@ function loadRoutingYaml(routingPath) {
|
|
|
213
213
|
return routing && typeof routing === 'object' ? routing : null
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
-
const RETRY_ERROR_TYPES = new Set(['auth', 'rate_limit', 'timeout', 'other'])
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
* Load the R1 per-error-type retry policy from routing.yml (`retry_policy:`).
|
|
220
|
-
* Fail-open: missing/unparseable config yields null (the caller falls back
|
|
221
|
-
* to DEFAULT_RETRY_POLICY) and warns via the optional logger.
|
|
222
|
-
*
|
|
223
|
-
* @param {object} [opts]
|
|
224
|
-
* @param {string} [opts.routingPath]
|
|
225
|
-
* @param {{warn?: Function}} [opts.logger]
|
|
226
|
-
* @returns {Record<string, number>|null} error-type → max retries
|
|
227
|
-
*/
|
|
228
|
-
export function loadRoutingRetryPolicy({ routingPath, logger = console } = {}) {
|
|
229
|
-
try {
|
|
230
|
-
const routing = loadRoutingYaml(routingPath)
|
|
231
|
-
const policy = routing?.retry_policy
|
|
232
|
-
if (!policy || typeof policy !== 'object' || Array.isArray(policy)) return null
|
|
233
|
-
const out = {}
|
|
234
|
-
for (const [type, max] of Object.entries(policy)) {
|
|
235
|
-
if (RETRY_ERROR_TYPES.has(type) && Number.isSafeInteger(max) && max >= 0) {
|
|
236
|
-
out[type] = max
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
return Object.keys(out).length > 0 ? out : null
|
|
240
|
-
} catch (err) {
|
|
241
|
-
const reason = err instanceof Error ? err.message : String(err)
|
|
242
|
-
logger.warn?.(`presets: routing.yml retry_policy unavailable (${reason})`)
|
|
243
|
-
return null
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* Load the R1 provider cooldown config from routing.yml (`cooldown:`).
|
|
249
|
-
* Fail-open: missing/unparseable config yields null (caller falls back to
|
|
250
|
-
* DEFAULT_COOLDOWN).
|
|
251
|
-
*
|
|
252
|
-
* @param {object} [opts]
|
|
253
|
-
* @param {string} [opts.routingPath]
|
|
254
|
-
* @param {{warn?: Function}} [opts.logger]
|
|
255
|
-
* @returns {{allowed_fails: number, cooldown_time_seconds: number}|null}
|
|
256
|
-
*/
|
|
257
|
-
export function loadRoutingCooldown({ routingPath, logger = console } = {}) {
|
|
258
|
-
try {
|
|
259
|
-
const routing = loadRoutingYaml(routingPath)
|
|
260
|
-
const cooldown = routing?.cooldown
|
|
261
|
-
if (!cooldown || typeof cooldown !== 'object' || Array.isArray(cooldown)) return null
|
|
262
|
-
const allowedFails = cooldown.allowed_fails
|
|
263
|
-
const cooldownTimeSeconds = cooldown.cooldown_time_seconds
|
|
264
|
-
if (
|
|
265
|
-
!Number.isSafeInteger(allowedFails) ||
|
|
266
|
-
allowedFails < 1 ||
|
|
267
|
-
!Number.isSafeInteger(cooldownTimeSeconds) ||
|
|
268
|
-
cooldownTimeSeconds < 1
|
|
269
|
-
) {
|
|
270
|
-
return null
|
|
271
|
-
}
|
|
272
|
-
return { allowed_fails: allowedFails, cooldown_time_seconds: cooldownTimeSeconds }
|
|
273
|
-
} catch (err) {
|
|
274
|
-
const reason = err instanceof Error ? err.message : String(err)
|
|
275
|
-
logger.warn?.(`presets: routing.yml cooldown unavailable (${reason})`)
|
|
276
|
-
return null
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
|
|
280
216
|
/**
|
|
281
217
|
* Load the R4 per-agent step caps from routing.yml
|
|
282
218
|
* (`agents.<name>.max_steps`). Fail-open: missing config yields {}.
|
|
@@ -53,7 +53,7 @@ function looksNumeric(text: string): boolean {
|
|
|
53
53
|
return INT_RE.test(text) || FLOAT_RE.test(text)
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
/** Nominal chars-per-token ratio (same fixed basis as
|
|
56
|
+
/** Nominal chars-per-token ratio (same fixed basis as toon-codec metering). */
|
|
57
57
|
export const CHARS_PER_TOKEN = 4
|
|
58
58
|
|
|
59
59
|
function charsToTokens(chars: number): number {
|
package/src/plugin-v2.ts
CHANGED
|
@@ -681,12 +681,10 @@ function createV2ToolDefinitionsFromContext(_context: PluginContext): V2ToolDef[
|
|
|
681
681
|
name,
|
|
682
682
|
description: toolDescriptions[name] ?? `Pantheon tool: ${name}`,
|
|
683
683
|
input: { type: 'object' as const, properties: {} },
|
|
684
|
-
// FOLLOW-UP:
|
|
685
|
-
//
|
|
686
|
-
//
|
|
687
|
-
//
|
|
688
|
-
// are likewise unwired. Until then, placeholders resolve to the object
|
|
689
|
-
// shape so the beta host never sees a bare string.
|
|
684
|
+
// FOLLOW-UP: wire the real tool wrappers (costCommand/goalTools) once V1
|
|
685
|
+
// infrastructure is resolvable in the V2 standalone context. Until then,
|
|
686
|
+
// placeholders resolve to the object shape so the beta host never sees a
|
|
687
|
+
// bare string.
|
|
690
688
|
execute: async (_input: Record<string, unknown>, _context: unknown): Promise<V2ToolResult> => {
|
|
691
689
|
return { output: `${name}: ${v2UnavailableMessage}` }
|
|
692
690
|
},
|
package/src/plugin.ts
CHANGED
|
@@ -66,10 +66,10 @@ import { activePresetCandidates, createVisionHandler } from './pantheon/vision.t
|
|
|
66
66
|
const log = createPantheonLogger({ module: 'pantheon-plugin' })
|
|
67
67
|
|
|
68
68
|
// R4: per-agent step caps from routing.yml `agents.<name>.max_steps`
|
|
69
|
-
// (fail-open → {} = no agent capped). R1 retry_policy/cooldown
|
|
70
|
-
//
|
|
71
|
-
//
|
|
72
|
-
//
|
|
69
|
+
// (fail-open → {} = no agent capped). The R1 retry_policy/cooldown block and
|
|
70
|
+
// its presets.mjs loaders were removed together with their only consumer
|
|
71
|
+
// (zeus-delegate-with-retry.ts); the plugin has no retry path (opencode cannot
|
|
72
|
+
// intercept task completion).
|
|
73
73
|
const stepCapTracker = new StepCapTracker(loadRoutingMaxSteps({ logger: log }))
|
|
74
74
|
|
|
75
75
|
// O5: permission.task glob rules from routing.yml `permission.task`
|
|
@@ -517,8 +517,8 @@ const plugin: Plugin = async (input: PluginInput) => {
|
|
|
517
517
|
|
|
518
518
|
// Wave 4 (PR #46): /cost — delegation cost + token visibility. Reads
|
|
519
519
|
// opencode.db read-only via the single node:sqlite backend.
|
|
520
|
-
// Fully wired (
|
|
521
|
-
//
|
|
520
|
+
// Fully wired. (opencode 1.18.x cannot intercept task completion via hooks,
|
|
521
|
+
// so empty-result handling lives in delegation-classifier.ts.)
|
|
522
522
|
const costCommand = createCostCommand()
|
|
523
523
|
const modelCommand = createModelCommand()
|
|
524
524
|
|
|
@@ -783,7 +783,7 @@ function delegationAgent(tool: string, args?: unknown): string {
|
|
|
783
783
|
* panel tracks the child end-to-end. Fire-and-forget and silent: a mirror
|
|
784
784
|
* failure must never surface into the tool call or the transcript.
|
|
785
785
|
* registerLaunchIfAbsent keeps it idempotent against any other dispatcher
|
|
786
|
-
* (
|
|
786
|
+
* (plugin double-load, repeated after-hook firings).
|
|
787
787
|
*/
|
|
788
788
|
function mirrorNativeBackgroundDispatch(
|
|
789
789
|
input: { tool: string; sessionID: string },
|
|
@@ -44,11 +44,12 @@ declare function parseDelegationMarkdown(raw: string, fileAlias?: string, sessio
|
|
|
44
44
|
declare function readDelegationEntries(dir: string): Promise<DelegationEntry[]>;
|
|
45
45
|
/** Read delegation reports from EVERY session under
|
|
46
46
|
* `<root>/.pantheon/delegations/<sessionID>/<alias>.md` — the panel's
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
47
|
+
* ENRICHMENT source. The read is deliberately unfiltered (each entry carries
|
|
48
|
+
* its directory's sessionID, so a taskID match can enrich any channel);
|
|
49
|
+
* callers MUST scope the merged result with {@link filterDelegationsToSession}
|
|
50
|
+
* before rendering — only the active session's reports are shown. Entries are
|
|
51
|
+
* running first, Finalized desc (the sort applied by readDelegationEntries).
|
|
52
|
+
* Fail-open: a missing/unreadable directory yields []. */
|
|
52
53
|
declare function readAllDelegationEntries(root: string): Promise<DelegationEntry[]>;
|
|
53
54
|
/** The persisted subset of BackgroundJobRecord the panel consumes. Duck-typed
|
|
54
55
|
* so a corrupt/older record never breaks parsing. */
|
|
@@ -118,6 +119,15 @@ declare const STALE_RUNNING_THRESHOLD_MS: number;
|
|
|
118
119
|
* considered stale. Combined with the stale-running threshold to produce the
|
|
119
120
|
* display-only `stale-running` state. */
|
|
120
121
|
declare const IDLE_SILENCE_MS: number;
|
|
122
|
+
/** Visual-only terminal retention windows. Reports remain on disk and in the
|
|
123
|
+
* board; these constants only control which rows enter the TUI window. */
|
|
124
|
+
declare const DELEGATION_DONE_RETENTION_MS: number;
|
|
125
|
+
declare const DELEGATION_FAILED_RETENTION_MS: number;
|
|
126
|
+
/** Alias-less NATIVE task() live entries never receive a board alias (the
|
|
127
|
+
* task tool output carries none), so the 30s alias-less prune in
|
|
128
|
+
* mergeChildDelegationSources must not apply to them — 5 minutes covers a
|
|
129
|
+
* slow child listing while still bounding the live map. */
|
|
130
|
+
declare const NATIVE_LIVE_ALIASLESS_TTL_MS: number;
|
|
121
131
|
/**
|
|
122
132
|
* Mark a running entry as `stale-running` if it has been running longer than
|
|
123
133
|
* the threshold AND has no recent activity (no `updatedAt` change in the last
|
|
@@ -150,11 +160,12 @@ declare function delegationSpinnerFrame(now: number): string;
|
|
|
150
160
|
type DelegationDisplayState = DelegationEntry['state'];
|
|
151
161
|
/** Semantic tone mapped to the TUI theme at the row ({@link DelegationRow}).
|
|
152
162
|
* Kept separate + pure so the color channel is testable without booting the
|
|
153
|
-
* renderer.
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
*
|
|
163
|
+
* renderer. Every display state resolves to one of the three status colors;
|
|
164
|
+
* the row paints its whole content with it (see {@link DelegationRow}). */
|
|
165
|
+
type DelegationStateTone = 'warning' | 'error' | 'success';
|
|
166
|
+
/** Status → color mapping for the whole-row tone. Red = failure, green =
|
|
167
|
+
* terminal, yellow = in flight. The glyph remains a redundant channel so the
|
|
168
|
+
* state stays legible in monochrome. Display-only; no behavior change. */
|
|
158
169
|
declare function delegationStateTone(state: DelegationDisplayState): DelegationStateTone;
|
|
159
170
|
type ToolActivity = {
|
|
160
171
|
tool: string;
|
|
@@ -287,10 +298,29 @@ declare function boardRecordToDelegationEntry(record: BoardJobRecord): Delegatio
|
|
|
287
298
|
* other channel (running first, then most recent). Pure. */
|
|
288
299
|
declare function boardRecordsToDelegationEntries(records: readonly BoardJobRecord[]): DelegationEntry[];
|
|
289
300
|
/** Merge the board over any other channel. The board is AUTHORITATIVE for
|
|
290
|
-
* state/alias/agent (it is the persisted FSM)
|
|
291
|
-
*
|
|
292
|
-
*
|
|
301
|
+
* state/alias/agent (it is the persisted FSM). This merge is intentionally
|
|
302
|
+
* UNSCOPED so the board can enrich an active-session row (dedup by taskID);
|
|
303
|
+
* the caller scopes the merged list with {@link filterDelegationsToSession},
|
|
304
|
+
* which is what keeps other-session board jobs out of the panel. Dedup by
|
|
305
|
+
* taskID first, then by (sessionID, alias) — aliases are per parent session. Pure. */
|
|
293
306
|
declare function mergeBoardDelegationSources(base: readonly DelegationEntry[], board: readonly DelegationEntry[]): DelegationEntry[];
|
|
307
|
+
/** Scope a fully-merged display list to the ACTIVE session only.
|
|
308
|
+
*
|
|
309
|
+
* The panel is session-scoped: rows from other sessions (board snapshot, md
|
|
310
|
+
* history under `.pantheon/delegations/<other-session>/`) and rows with no
|
|
311
|
+
* attributable session (empty sessionID) are DROPPED. The previous
|
|
312
|
+
* cross-session behavior rendered those rows and clicking them led to
|
|
313
|
+
* "Session not found" — there is no cross-session channel anymore.
|
|
314
|
+
*
|
|
315
|
+
* The board/md channels still feed the merge UNFILTERED so the board can
|
|
316
|
+
* ENRICH an active-session row with state/alias/agent (dedup by taskID), but
|
|
317
|
+
* they can never introduce a row for another session: this filter is applied
|
|
318
|
+
* ONCE, after every merge (children + live + md + board).
|
|
319
|
+
*
|
|
320
|
+
* Returns [] when no active session resolves (null/placeholder) — there is no
|
|
321
|
+
* scope to show. Native children always carry the active session id (stamped
|
|
322
|
+
* by `childrenToDelegationEntries`), so they survive the filter. Pure. */
|
|
323
|
+
declare function filterDelegationsToSession(entries: readonly DelegationEntry[], activeSessionID: string | null | undefined): DelegationEntry[];
|
|
294
324
|
/** Server-aligned session id validity: opencode rejects anything not starting
|
|
295
325
|
* with "ses" (SchemaError). This deliberately mirrors that exact contract —
|
|
296
326
|
* nothing stricter, nothing looser — so a template placeholder ("{sessionID}"),
|
|
@@ -390,8 +420,9 @@ declare function delegationRowGlyph(status: DelegationRowStatus): string;
|
|
|
390
420
|
* Pure. */
|
|
391
421
|
declare function delegationRowMarker(state: DelegationDisplayState, now?: number): string;
|
|
392
422
|
/** ONE identity per row: the short board alias (`apo-1`); a row without a
|
|
393
|
-
* board alias (native task() child
|
|
394
|
-
*
|
|
423
|
+
* board alias (native task() child `native-task` / `native-<id>`, or an
|
|
424
|
+
* alias-less native live row `live-<callID>` kept as children-only) shows
|
|
425
|
+
* the agent instead — never alias + agent stacked. Pure. */
|
|
395
426
|
declare function delegationRowIdentity(entry: DelegationEntry): string;
|
|
396
427
|
/** Fixed alias cell, pad-right + hard-truncate to `width` (default 7) so
|
|
397
428
|
* identities line up across rows. Pure. */
|
|
@@ -422,12 +453,14 @@ declare const DELEGATION_VISIBLE_CEILING = 8;
|
|
|
422
453
|
* still a live job — it must never read as done); failed counts
|
|
423
454
|
* error/startup_failed; cancelled reads as done. Pure. */
|
|
424
455
|
declare function formatDelegationHeader(entries: readonly DelegationEntry[]): string;
|
|
425
|
-
/** Cap the panel: live rows first, then most-recent terminal rows, at
|
|
426
|
-
* `maxVisible` total.
|
|
427
|
-
*
|
|
456
|
+
/** Cap the panel: live rows first, then most-recent retained terminal rows, at
|
|
457
|
+
* most `maxVisible` total. Hidden counts describe the retained render list,
|
|
458
|
+
* not expired history. */
|
|
428
459
|
declare function ceilingDelegationList(all: readonly DelegationEntry[], maxVisible?: number, now?: number): {
|
|
429
460
|
visible: DelegationEntry[];
|
|
430
461
|
hidden: number;
|
|
462
|
+
hiddenActive: number;
|
|
463
|
+
hiddenTerminal: number;
|
|
431
464
|
};
|
|
432
465
|
/** Split a display list into native task() rows vs pantheon_delegate rows.
|
|
433
466
|
* Native = source 'children-only' (no board report); everything else counts
|
|
@@ -441,26 +474,6 @@ declare function countDelegationSources(entries: readonly DelegationEntry[]): {
|
|
|
441
474
|
* breakdown (pantheon = children WITH a board report, native = children
|
|
442
475
|
* WITHOUT one). Pure — the View logs the returned string verbatim. */
|
|
443
476
|
declare function formatPanelLogLine(children: number, pantheon: number, native: number, md: number, events: number): string;
|
|
444
|
-
/** Turn child sessions (PRIMARY) enriched with md reports into the display
|
|
445
|
-
* list. One entry per child id (duplicates across re-fetches collapse).
|
|
446
|
-
* The md report is matched by `Task ID` (== child.id) and supplies alias,
|
|
447
|
-
* agent, description, terminal state and duration. A child without a
|
|
448
|
-
* report still renders: description from its title, agent from the child
|
|
449
|
-
* itself (fallback 'agent'), state derived from its status, startedAt from
|
|
450
|
-
* time.created. A report-less child is a NATIVE task() child (every
|
|
451
|
-
* child of the current session — pantheon_delegate OR the native `task()`
|
|
452
|
-
* tool — carries parentID = caller), so it gets source 'children-only',
|
|
453
|
-
* the internal alias 'native-task' instead of a
|
|
454
|
-
* board alias. The 'task nativa' description fallback keeps the row
|
|
455
|
-
* non-empty when the child carries no title.
|
|
456
|
-
* Terminal md state wins over the derived state; a running md defers to
|
|
457
|
-
* the child's live status. A running child is NEVER archived — it always
|
|
458
|
-
* lands in the active split (splitDelegationList active = running/retry).
|
|
459
|
-
* `parentSessionID` (the focused session id) is stamped on report-less
|
|
460
|
-
* children so the row carries its origin session; omit it and they stay
|
|
461
|
-
* unscoped ('').
|
|
462
|
-
* Sorted running-first (compareDelegationEntries).
|
|
463
|
-
* Pure — no I/O. */
|
|
464
477
|
declare function childrenToDelegationEntries(children: readonly ChildDelegationLike[] | undefined, md: readonly DelegationEntry[], now?: number, parentSessionID?: string): DelegationEntry[];
|
|
465
478
|
/** Navigate the TUI to a child session (click/Enter on a delegation row).
|
|
466
479
|
* Returns false when the route API is unavailable or the target id is
|
|
@@ -468,8 +481,12 @@ declare function childrenToDelegationEntries(children: readonly ChildDelegationL
|
|
|
468
481
|
* server-valid session id ("ses...") ever reaches the router, so an
|
|
469
482
|
* unsubstituted "{sessionID}" placeholder can never be routed. */
|
|
470
483
|
declare function navigateToDelegationSession(route: {
|
|
471
|
-
navigate?: (name: string, params?: Record<string, unknown>) => void
|
|
484
|
+
navigate?: (name: string, params?: Record<string, unknown>) => void | PromiseLike<void>;
|
|
472
485
|
} | undefined, taskID: string | undefined): boolean;
|
|
486
|
+
/** Build the mouse handler used by each delegation row. */
|
|
487
|
+
declare function createDelegationRowOpenHandler(route: {
|
|
488
|
+
navigate?: (name: string, params?: Record<string, unknown>) => void | PromiseLike<void>;
|
|
489
|
+
} | undefined, taskID: string | undefined): () => void;
|
|
473
490
|
/** Plugin-level live delegation store shared with the event subscriptions
|
|
474
491
|
* in `tui()`: the map of live entries + a version signal bumped on every
|
|
475
492
|
* mutation. The View subscribes to the version (in an effect) to refresh the
|
|
@@ -486,5 +503,5 @@ declare const plugin: TuiPluginModule & {
|
|
|
486
503
|
setup: () => Promise<void>;
|
|
487
504
|
};
|
|
488
505
|
//#endregion
|
|
489
|
-
export { BoardJobRecord, ChildDelegationLike, DELEGATION_ALIAS_WIDTH, DELEGATION_DESCRIPTION_MAX, DELEGATION_ELAPSED_WIDTH, DELEGATION_ROW_GLYPHS, DELEGATION_VISIBLE_CEILING, DelegationActivity, DelegationDisplayState, DelegationEntry, DelegationRowStatus, DelegationStateTone, DelegationToolPart, IDLE_SILENCE_MS, LiveDelegationEntry, LiveDelegationStore, ParsedDelegationToolPart, STALE_RUNNING_THRESHOLD_MS, ToolActivity, TuiSessionSources, boardRecordToDelegationEntry, boardRecordsToDelegationEntries, boardStatePath, buildChildrenPath, ceilingDelegationList, childStatusToState, childrenToDelegationEntries, collectDelegationToolParts, compareDelegationEntries, countDelegationSources, plugin as default, delegationActivity, delegationActivityLabel, delegationElapsed, delegationRowGlyph, delegationRowIdentity, delegationRowMarker, delegationRowStatus, delegationSpinnerFrame, delegationStateTone, extractToolActivity, fmtElapsed, formatDelegationAlias, formatDelegationElapsed, formatDelegationHeader, formatDelegationRowLead, formatPanelLogLine, isValidSessionId, latestToolActivityFor, markStaleIfRunning, mergeBoardDelegationSources, mergeChildDelegationSources, mergeDelegationSources, navigateToDelegationSession, panelLogDir, parseDelegationMarkdown, parseDelegationToolPart, readAllDelegationEntries, readBoardState, readDelegationEntries, reduceDelegationToolPart, removeDelegationEntry, resolveCurrentSessionID, resolveDelegationsDir, resolvePantheonRoot, safeSessionPath, seedLiveDelegationMap, splitDelegationList, toDelegationEntry, trackToolActivity, truncateDelegationDescription, tuiLogPath, visibleDelegationList };
|
|
506
|
+
export { BoardJobRecord, ChildDelegationLike, DELEGATION_ALIAS_WIDTH, DELEGATION_DESCRIPTION_MAX, DELEGATION_DONE_RETENTION_MS, DELEGATION_ELAPSED_WIDTH, DELEGATION_FAILED_RETENTION_MS, DELEGATION_ROW_GLYPHS, DELEGATION_VISIBLE_CEILING, DelegationActivity, DelegationDisplayState, DelegationEntry, DelegationRowStatus, DelegationStateTone, DelegationToolPart, IDLE_SILENCE_MS, LiveDelegationEntry, LiveDelegationStore, NATIVE_LIVE_ALIASLESS_TTL_MS, ParsedDelegationToolPart, STALE_RUNNING_THRESHOLD_MS, ToolActivity, TuiSessionSources, boardRecordToDelegationEntry, boardRecordsToDelegationEntries, boardStatePath, buildChildrenPath, ceilingDelegationList, childStatusToState, childrenToDelegationEntries, collectDelegationToolParts, compareDelegationEntries, countDelegationSources, createDelegationRowOpenHandler, plugin as default, delegationActivity, delegationActivityLabel, delegationElapsed, delegationRowGlyph, delegationRowIdentity, delegationRowMarker, delegationRowStatus, delegationSpinnerFrame, delegationStateTone, extractToolActivity, filterDelegationsToSession, fmtElapsed, formatDelegationAlias, formatDelegationElapsed, formatDelegationHeader, formatDelegationRowLead, formatPanelLogLine, isValidSessionId, latestToolActivityFor, markStaleIfRunning, mergeBoardDelegationSources, mergeChildDelegationSources, mergeDelegationSources, navigateToDelegationSession, panelLogDir, parseDelegationMarkdown, parseDelegationToolPart, readAllDelegationEntries, readBoardState, readDelegationEntries, reduceDelegationToolPart, removeDelegationEntry, resolveCurrentSessionID, resolveDelegationsDir, resolvePantheonRoot, safeSessionPath, seedLiveDelegationMap, splitDelegationList, toDelegationEntry, trackToolActivity, truncateDelegationDescription, tuiLogPath, visibleDelegationList };
|
|
490
507
|
//# sourceMappingURL=tui.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","names":[],"sources":["../src/index.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"tui.d.ts","names":[],"sources":["../src/index.tsx"],"mappings":"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"}
|