pantheon-opencode 1.4.2 → 1.5.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.pantheon/code-mode/.gitkeep +0 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/checkpoint-1.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/checkpoint-10.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/checkpoint-11.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/checkpoint-2.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/checkpoint-3.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/checkpoint-4.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/checkpoint-5.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/checkpoint-6.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/checkpoint-7.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/checkpoint-8.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/checkpoint-9.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/heartbeat.json +8 -0
- package/.pantheon/code-mode/.pantheon/deepwork/initial-token-40k/session.json +11 -0
- package/.pantheon/code-mode/README.md +93 -0
- package/.pantheon/code-mode/checkpoint-session.py +7 -0
- package/.pantheon/code-mode/checkpoint-session.sh +11 -0
- package/.pantheon/code-mode/checkpoint_session.py +481 -0
- package/.pantheon/code-mode/compress-inline.py +450 -0
- package/.pantheon/code-mode/eval-llm-judge.py +255 -0
- package/.pantheon/code-mode/eval-monte-carlo.py +368 -0
- package/.pantheon/code-mode/eval-run.py +197 -0
- package/.pantheon/code-mode/eval-static.py +321 -0
- package/.pantheon/code-mode/example-sync.sh +5 -0
- package/.pantheon/code-mode/session-end-save.py +186 -0
- package/.pantheon/code-mode/session-end-save.sh +18 -0
- package/.pantheon/code-mode/test-allowed.sh +5 -0
- package/.pantheon/code-mode/test-auto-continue-checkpoint.sh +179 -0
- package/.pantheon/code-mode/test-env.sh +7 -0
- package/.pantheon/code-mode/test-prlimit.sh +9 -0
- package/.pantheon/code-mode/test-timeout.sh +6 -0
- package/README.md +158 -1189
- package/README.pt-BR.md +222 -0
- package/bin/pantheon-init.mjs +30 -11
- package/opencode.json +1 -0
- package/package.json +14 -3
- package/plugin.json +15 -0
- package/scripts/_pantheon_paths.py +48 -7
- package/scripts/ci-validate-yaml.py +7 -2
- package/scripts/code_mode_server.py +33 -2
- package/scripts/doctor.mjs +135 -127
- package/scripts/generate-preset-docs.mjs +127 -66
- package/scripts/generate-prompts.sh +2 -2
- package/scripts/install/cli-ui.mjs +8 -1
- package/scripts/install/config-migration.mjs +401 -0
- package/scripts/install/health-check.mjs +3 -3
- package/scripts/install/model-picker.mjs +72 -23
- package/scripts/install/opencode-version.mjs +47 -0
- package/scripts/install/opencode.mjs +261 -88
- package/scripts/install/plugin.mjs +112 -42
- package/scripts/install/shared.mjs +13 -158
- package/scripts/install-mcp.mjs +44 -232
- package/scripts/mcp_persistence_server.py +344 -15
- package/scripts/mcp_resources_server.py +144 -40
- package/scripts/memory_mcp_server.py +2 -2
- package/scripts/recover-zenodo-deposition.mjs +146 -0
- package/scripts/sync-tui.mjs +32 -7
- package/scripts/test-opencode-v1-v2-sandbox.sh +591 -0
- package/scripts/uninstall.mjs +298 -954
- package/scripts/validate-zenodo-release.mjs +154 -0
- package/scripts/zenodo-artifact.mjs +21 -0
- package/scripts/zenodo-release-state.mjs +53 -0
- package/src/mcp/_pantheon_paths.py +48 -7
- package/src/mcp/code_mode_server.py +33 -2
- package/src/mcp/eval_store.py +1 -1
- package/src/mcp/mcp_persistence_server.py +344 -15
- package/src/mcp/mcp_resources_server.py +144 -40
- package/src/mcp/pantheon_vision_server.py +1 -1
- package/src/mcp/toon_codec.py +491 -0
- package/src/pantheon/background-job-board.ts +67 -1
- package/src/pantheon/cost-command.ts +6 -2
- package/src/pantheon/delegate-manager.ts +384 -0
- package/src/pantheon/delegate-task-adapter.ts +444 -0
- package/src/pantheon/delegation-notify.ts +35 -20
- package/src/pantheon/model-command.ts +86 -32
- package/src/pantheon/token-opt.ts +555 -0
- package/src/pantheon/toon-codec.ts +481 -0
- package/src/pantheon/tui-version-check.ts +1 -3
- package/src/pantheon/v2-bridge.ts +129 -0
- package/src/pantheon/v2-events.ts +131 -0
- package/src/pantheon/v2-hooks.ts +287 -0
- package/src/pantheon/v2-tool-definitions.ts +331 -0
- package/src/plugin-v2/index.ts +21 -0
- package/src/plugin-v2.ts +836 -0
- package/src/plugin.ts +57 -10
- package/src/plugins/tui/dist/server.d.ts +1 -1
- package/src/plugins/tui/dist/server.d.ts.map +1 -1
- package/src/plugins/tui/dist/server.js +1 -1
- package/src/plugins/tui/dist/server.js.map +1 -1
- package/src/plugins/tui/dist/tui.d.ts +10 -7
- package/src/plugins/tui/dist/tui.d.ts.map +1 -1
- package/src/plugins/tui/dist/tui.js +11 -8
- package/src/plugins/tui/dist/tui.js.map +1 -1
- package/src/plugins/tui/dist/tui.tsx +22 -16
- package/src/plugins/tui/package-lock.json +51 -51
- package/src/plugins/tui/package.json +7 -7
- package/src/plugins/tui/src/index.tsx +22 -16
- package/src/skills/README.md +0 -2
package/src/plugin.ts
CHANGED
|
@@ -12,6 +12,11 @@ import {
|
|
|
12
12
|
DEFAULT_LIMITS as SANDBOX_DEFAULT_LIMITS,
|
|
13
13
|
} from './pantheon/context-sandbox.ts'
|
|
14
14
|
import { createCostCommand } from './pantheon/cost-command.ts'
|
|
15
|
+
import {
|
|
16
|
+
buildPluginNativeDelegation,
|
|
17
|
+
resolveDelegateMode,
|
|
18
|
+
withDelegationKillSwitch,
|
|
19
|
+
} from './pantheon/delegate-task-adapter.ts'
|
|
15
20
|
import {
|
|
16
21
|
collectRootSessionIDs,
|
|
17
22
|
createDelegationTools,
|
|
@@ -118,6 +123,14 @@ setInterval(
|
|
|
118
123
|
|
|
119
124
|
// ─── Phase 4: Read-Only Enforcement + Compaction Context ───────────────
|
|
120
125
|
|
|
126
|
+
// WS1 (PR #94): root-session predicate shared by the Phase 4 enforcement
|
|
127
|
+
// guard and the native delegate toolset — both must agree on what a root is.
|
|
128
|
+
// (Hoisted function: `rootSessions`/`sessionHierarchy` below are resolved at
|
|
129
|
+
// call time, after module init.)
|
|
130
|
+
function isRootSession(sessionID: string): boolean {
|
|
131
|
+
return rootSessions.has(sessionID) || sessionHierarchy.isRoot(sessionID)
|
|
132
|
+
}
|
|
133
|
+
|
|
121
134
|
// The read-only registry is populated by createDelegationTools (delegation.ts)
|
|
122
135
|
// when a delegate is read-only (explicit flag or agent ∈ readOnlyAgents).
|
|
123
136
|
// The guard denies edit/write/bash/task inside those sessions by throwing
|
|
@@ -126,7 +139,7 @@ const enforcementGuard = createEnforcementGuard({
|
|
|
126
139
|
getReadOnlySessions: () => readOnlyRegistry.sessionIDs(),
|
|
127
140
|
options: {
|
|
128
141
|
getSessionAgent: (sessionID) => sessionAgents.get(sessionID),
|
|
129
|
-
isRootSession
|
|
142
|
+
isRootSession,
|
|
130
143
|
isChildSession: (sessionID) => sessionHierarchy.isChild(sessionID),
|
|
131
144
|
logger: log,
|
|
132
145
|
},
|
|
@@ -359,9 +372,25 @@ const plugin: Plugin = async (input: PluginInput) => {
|
|
|
359
372
|
const delegationBudgets = resolveDelegationBudgets()
|
|
360
373
|
const wallClockTimeoutMs = resolveDelegationTimeoutMs()
|
|
361
374
|
|
|
362
|
-
|
|
375
|
+
// WS1 (PR #94): delegation backend gate. Default = legacy (the V1
|
|
376
|
+
// fire-and-forget toolset, intact); PANTHEON_DELEGATE_MODE=native selects
|
|
377
|
+
// the thin manager over native task() semantics. Kill-switch
|
|
378
|
+
// PANTHEON_DELEGATION=off covers BOTH modes (native guards internally;
|
|
379
|
+
// legacy via withDelegationKillSwitch). finalizeDelegation always stays on
|
|
380
|
+
// the legacy observer: it works on the shared board in both modes and must
|
|
381
|
+
// never be kill-switched, so children never orphan. The idle hook below is
|
|
382
|
+
// untouched.
|
|
383
|
+
const delegationClient = adaptDelegationClient(input.client)
|
|
384
|
+
// Only an explicitly active routing profile may provide child models.
|
|
385
|
+
// An empty map deliberately lets OpenCode inherit the parent model.
|
|
386
|
+
const routingAgentModels = loadRoutingAgentModels({
|
|
387
|
+
candidates: activePresetCandidates(),
|
|
388
|
+
logger: log,
|
|
389
|
+
})
|
|
390
|
+
const readOnlyAgents = new Set(['apollo', 'gaia'])
|
|
391
|
+
const legacyDelegation = createDelegationTools({
|
|
363
392
|
board,
|
|
364
|
-
client:
|
|
393
|
+
client: delegationClient,
|
|
365
394
|
options: {
|
|
366
395
|
rootSessions,
|
|
367
396
|
isChildSession: (sessionID) => sessionHierarchy.isChild(sessionID),
|
|
@@ -369,19 +398,37 @@ const plugin: Plugin = async (input: PluginInput) => {
|
|
|
369
398
|
sessionHierarchy.register({ id: sessionID, parentID })
|
|
370
399
|
},
|
|
371
400
|
enforceRuntimeMatrix: true,
|
|
372
|
-
readOnlyAgents
|
|
373
|
-
|
|
374
|
-
// An empty map deliberately lets OpenCode inherit the parent model.
|
|
375
|
-
agentModels: loadRoutingAgentModels({
|
|
376
|
-
candidates: activePresetCandidates(),
|
|
377
|
-
logger: log,
|
|
378
|
-
}),
|
|
401
|
+
readOnlyAgents,
|
|
402
|
+
agentModels: routingAgentModels,
|
|
379
403
|
delegationBudgets,
|
|
380
404
|
stepCapTracker,
|
|
381
405
|
...(routingPermissionTask != null ? { permissionTask: routingPermissionTask } : {}),
|
|
382
406
|
...(wallClockTimeoutMs !== undefined ? { wallClockTimeoutMs } : {}),
|
|
383
407
|
},
|
|
384
408
|
})
|
|
409
|
+
const delegateMode = resolveDelegateMode()
|
|
410
|
+
if (delegateMode === 'native') {
|
|
411
|
+
log.info('[Pantheon Plugin] Delegation mode: native (PANTHEON_DELEGATE_MODE=native)')
|
|
412
|
+
}
|
|
413
|
+
const delegation =
|
|
414
|
+
delegateMode === 'native'
|
|
415
|
+
? buildPluginNativeDelegation({
|
|
416
|
+
board,
|
|
417
|
+
client: delegationClient,
|
|
418
|
+
isRootSession,
|
|
419
|
+
registerChildSession: (sessionID, parentID) => {
|
|
420
|
+
sessionHierarchy.register({ id: sessionID, parentID })
|
|
421
|
+
},
|
|
422
|
+
registerReadOnlySession: (sessionID, info) => {
|
|
423
|
+
readOnlyRegistry.register(sessionID, info)
|
|
424
|
+
},
|
|
425
|
+
readOnlyAgents,
|
|
426
|
+
agentModels: routingAgentModels,
|
|
427
|
+
stepCap: stepCapTracker,
|
|
428
|
+
...(wallClockTimeoutMs !== undefined ? { wallClockTimeoutMs } : {}),
|
|
429
|
+
finalizeDelegation: legacyDelegation.finalizeDelegation,
|
|
430
|
+
})
|
|
431
|
+
: withDelegationKillSwitch(legacyDelegation)
|
|
385
432
|
|
|
386
433
|
// Proactive idle-child scan (Fix 2): finalize children that are idle on the
|
|
387
434
|
// board but have no MD report on disk — eliminates the phantom "running"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","names":[],"sources":["../src/server.ts"],"mappings":";;;;;;;;;;;;;iBAYwB"}
|
|
1
|
+
{"version":3,"file":"server.d.ts","names":[],"sources":["../src/server.ts"],"mappings":";;;;;;;;;;;;;iBAYwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","names":[],"sources":["../src/server.ts"],"sourcesContent":["/**\n * No-op server stub for the opencode plugin loader.\n *\n * The opencode plugin host requires every plugin (TUI included) to expose a\n * `server()` entry via `exports[\"./server\"]` (or package.json `main`). When\n * that entry is missing the host fails to attach the plugin's server half and\n * the TUI runtime never wires the reactive channel — the initial JSX mounts\n * but effects/refresh/events stay dead (the \"mudo panel\" symptom).\n *\n * This stub satisfies the loader contract; pantheon-tui is TUI-only and has\n * no background server work of its own.\n */\nexport default function server() {\n return {}\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,SAAwB,SAAS;CAC/B,OAAO,CAAC;AACV"}
|
|
1
|
+
{"version":3,"file":"server.js","names":[],"sources":["../src/server.ts"],"sourcesContent":["/**\n * No-op server stub for the opencode plugin loader.\n *\n * The opencode plugin host requires every plugin (TUI included) to expose a\n * `server()` entry via `exports[\"./server\"]` (or package.json `main`). When\n * that entry is missing the host fails to attach the plugin's server half and\n * the TUI runtime never wires the reactive channel — the initial JSX mounts\n * but effects/refresh/events stay dead (the \"mudo panel\" symptom).\n *\n * This stub satisfies the loader contract; pantheon-tui is TUI-only and has\n * no background server work of its own.\n */\nexport default function server() {\n return {}\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,SAAwB,SAAS;CAC/B,OAAO,CAAC;AACV"}
|
|
@@ -22,7 +22,7 @@ type DelegationEntry = {
|
|
|
22
22
|
read?: boolean;
|
|
23
23
|
/** Internal provenance used to keep a finalized md report authoritative.
|
|
24
24
|
* 'children-only' = a native task() child session with NO board report
|
|
25
|
-
* (rendered with the distinct `[
|
|
25
|
+
* (rendered with the distinct `[native]` tag); 'md' = board report wins. */
|
|
26
26
|
source?: 'child' | 'live' | 'md' | 'children-only';
|
|
27
27
|
};
|
|
28
28
|
/** Parse one delegation report md header into a structured entry.
|
|
@@ -59,7 +59,7 @@ declare function readAllDelegationEntries(root: string): Promise<DelegationEntry
|
|
|
59
59
|
declare function resolveDelegationsDir(state: {
|
|
60
60
|
directory?: string;
|
|
61
61
|
worktree?: string;
|
|
62
|
-
} | undefined, cwd?:
|
|
62
|
+
} | undefined, cwd?: any): string;
|
|
63
63
|
/** Project root derived from the delegations dir: `<root>/.pantheon/delegations`
|
|
64
64
|
* → `<root>`. Used to point the panel logger at the REAL hooks.log — passing
|
|
65
65
|
* the delegations dir (or its dirname) directly made createTuiLogger append
|
|
@@ -279,10 +279,12 @@ type ChildDelegationLike = {
|
|
|
279
279
|
* (fail-open: a freshly-seen child is assumed active; the 1s poll + md
|
|
280
280
|
* correct it as soon as terminal data exists). */
|
|
281
281
|
declare function childStatusToState(status: string | undefined): 'running' | 'completed';
|
|
282
|
-
/** Row tag for a delegation entry: `[
|
|
283
|
-
* (source 'children-only' — no board report), `[
|
|
284
|
-
* ([apo-1])
|
|
285
|
-
*
|
|
282
|
+
/** Row tag for a delegation entry: `[native]` for native task() children
|
|
283
|
+
* (source 'children-only' — no board report), `[pantheon:<alias>]` for board
|
|
284
|
+
* rows ([pantheon:apo-1]) — the same tags the manager prints in
|
|
285
|
+
* pantheon_delegation_list, so panel rows and CLI list lines match. The
|
|
286
|
+
* panel renders the tag with a distinct style so native task() children are
|
|
287
|
+
* visually separable from pantheon_delegate jobs. */
|
|
286
288
|
declare function delegationTag(entry: DelegationEntry): string;
|
|
287
289
|
/** Turn child sessions (PRIMARY) enriched with md reports into the display
|
|
288
290
|
* list. One entry per child id (duplicates across re-fetches collapse).
|
|
@@ -293,7 +295,7 @@ declare function delegationTag(entry: DelegationEntry): string;
|
|
|
293
295
|
* time.created. A report-less child is a NATIVE task() child (every
|
|
294
296
|
* child of the current session — pantheon_delegate OR the native `task()`
|
|
295
297
|
* tool — carries parentID = caller), so it gets source 'children-only'
|
|
296
|
-
* and the `[
|
|
298
|
+
* and the `[native]` tag instead of a board alias.
|
|
297
299
|
* Terminal md state wins over the derived state; a running md defers to
|
|
298
300
|
* the child's live status. Sorted running-first (compareDelegationEntries).
|
|
299
301
|
* Pure — no I/O. */
|
|
@@ -319,6 +321,7 @@ type LiveDelegationStore = {
|
|
|
319
321
|
};
|
|
320
322
|
declare const plugin: TuiPluginModule & {
|
|
321
323
|
id: string;
|
|
324
|
+
setup: () => Promise<void>;
|
|
322
325
|
};
|
|
323
326
|
//#endregion
|
|
324
327
|
export { ChildDelegationLike, DelegationActivity, DelegationEntry, DelegationToolPart, IDLE_SILENCE_MS, LiveDelegationEntry, LiveDelegationStore, ParsedDelegationToolPart, STALE_RUNNING_THRESHOLD_MS, TuiSessionSources, buildChildrenPath, childStatusToState, childrenToDelegationEntries, collectDelegationToolParts, compareDelegationEntries, plugin as default, delegationActivity, delegationActivityLabel, delegationElapsed, delegationSpinnerFrame, delegationTag, fmtElapsed, isValidSessionId, markStaleIfRunning, mergeChildDelegationSources, mergeDelegationSources, navigateToDelegationSession, panelLogDir, parseDelegationMarkdown, parseDelegationToolPart, readAllDelegationEntries, readDelegationEntries, reduceDelegationToolPart, removeDelegationEntry, resolveCurrentSessionID, resolveDelegationsDir, safeSessionPath, seedLiveDelegationMap, toDelegationEntry, tuiLogPath, visibleDelegationList };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","names":[],"sources":["../src/index.tsx"],"mappings":";;KAo7BY;;EAEV;;EAEA;;;;EAIA;;EAEA;EACA;;EASA;;EAEA;EACA;EACA;;EAEA;;;;EAIA;;;;;;;;;;;iBAsBc,wBACd,aACA,oBACA,qBACC;;;;;;iBAkHmB,sBAAsB,cAAc,QAAQ;;;;;;;;iBAwC5C,yBAAyB,eAAe,QAAQ;;;;;;;;iBAWtD,sBACd;EAAS;EAAoB;eAC7B;;;;;;iBAYc,YAAY;;;iBAMZ,WAAW;;;;iBAOX,yBAAyB,GAAG,iBAAiB,GAAG;;;;;iBAWhD,sBACd,cAAc,mBACd,sBACA,cACA,4BACC;;cASU;;;;cAKA;;;;;;;;;iBAUG,mBACd,OAAO,iBACP,aACA,uBACC;;;iBAWa,WAAW;;;iBAcX,kBAAkB,OAAO,iBAAiB;;;KAQ9C;iBAQI,mBAAmB,OAAO,kBAAkB;iBAc5C,wBAAwB,OAAO;;iBAoB/B,uBAAuB;;;;;;;iBAWvB,4BACd,mBAAmB,mBACnB,eAAe,wBACd;;KAmFS;EACV;EACA;EACA;EACA;EACA;EACA;IACE;IACA,QAAQ;IACR;IACA;IACA;MAAS;MAAgB;;;;;KAKjB;;EAEV;;EAEA;;EAEA;EACA;;EAEA;EACA;;EAEA;;EAEA;EACA;EACA;EACA;;EAEA;;;KAIU;EACV;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;;;;iBAac,wBACd,MAAM,oBACN,eACC;;;iBA+Ea,yBACd,KAAK,YAAY,sBACjB,MAAM,oBACN;;;iBA+Fc,sBACd,KAAK,YAAY,sBACjB;;;;;;iBAiBc,2BACd;EAAqB;EAAa;iBAClC,YAAY,uDACX;;;;;iBA2Ba,sBACd,KAAK,YAAY,sBACjB,gBAAgB,sBAChB;;;iBAWc,kBAAkB,MAAM,sBAAsB;;;;;;iBAqB9C,uBACd,eAAe,uBACf,aAAa,oBACZ;;;;;;;;;iBA8Da,iBAAiB,cAAc;;;;KAOnC;;EAEV;EACA;;IAEE;MAAU;;;IAEV;MAAU;QAAY;QAAe,SAAS;;;;;;;;;;iBASlC,wBAAwB,SAAS;;;;;;;;iBAmBjC,gBAAgB;EAAgB;IAAQ;;;;;;;iBASxC,kBAAkB;EAAkC;IAAQ;;;;KAKhE;;EAEV;;EAEA;;;EAGA;;;EAGA;EACA;IACE;IACA;;;;;;;iBAQY,mBAAmB
|
|
1
|
+
{"version":3,"file":"tui.d.ts","names":[],"sources":["../src/index.tsx"],"mappings":";;KAo7BY;;EAEV;;EAEA;;;;EAIA;;EAEA;EACA;;EASA;;EAEA;EACA;EACA;;EAEA;;;;EAIA;;;;;;;;;;;iBAsBc,wBACd,aACA,oBACA,qBACC;;;;;;iBAkHmB,sBAAsB,cAAc,QAAQ;;;;;;;;iBAwC5C,yBAAyB,eAAe,QAAQ;;;;;;;;iBAWtD,sBACd;EAAS;EAAoB;eAC7B;;;;;;iBAYc,YAAY;;;iBAMZ,WAAW;;;;iBAOX,yBAAyB,GAAG,iBAAiB,GAAG;;;;;iBAWhD,sBACd,cAAc,mBACd,sBACA,cACA,4BACC;;cASU;;;;cAKA;;;;;;;;;iBAUG,mBACd,OAAO,iBACP,aACA,uBACC;;;iBAWa,WAAW;;;iBAcX,kBAAkB,OAAO,iBAAiB;;;KAQ9C;iBAQI,mBAAmB,OAAO,kBAAkB;iBAc5C,wBAAwB,OAAO;;iBAoB/B,uBAAuB;;;;;;;iBAWvB,4BACd,mBAAmB,mBACnB,eAAe,wBACd;;KAmFS;EACV;EACA;EACA;EACA;EACA;EACA;IACE;IACA,QAAQ;IACR;IACA;IACA;MAAS;MAAgB;;;;;KAKjB;;EAEV;;EAEA;;EAEA;EACA;;EAEA;EACA;;EAEA;;EAEA;EACA;EACA;EACA;;EAEA;;;KAIU;EACV;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;;;;iBAac,wBACd,MAAM,oBACN,eACC;;;iBA+Ea,yBACd,KAAK,YAAY,sBACjB,MAAM,oBACN;;;iBA+Fc,sBACd,KAAK,YAAY,sBACjB;;;;;;iBAiBc,2BACd;EAAqB;EAAa;iBAClC,YAAY,uDACX;;;;;iBA2Ba,sBACd,KAAK,YAAY,sBACjB,gBAAgB,sBAChB;;;iBAWc,kBAAkB,MAAM,sBAAsB;;;;;;iBAqB9C,uBACd,eAAe,uBACf,aAAa,oBACZ;;;;;;;;;iBA8Da,iBAAiB,cAAc;;;;KAOnC;;EAEV;EACA;;IAEE;MAAU;;;IAEV;MAAU;QAAY;QAAe,SAAS;;;;;;;;;;iBASlC,wBAAwB,SAAS;;;;;;;;iBAmBjC,gBAAgB;EAAgB;IAAQ;;;;;;;iBASxC,kBAAkB;EAAkC;IAAQ;;;;KAKhE;;EAEV;;EAEA;;;EAGA;;;EAGA;EACA;IACE;IACA;;;;;;;iBAQY,mBAAmB;;;;;;;iBAWnB,cAAc,OAAO;;;;;;;;;;;;;;iBAiBrB,4BACd,mBAAmB,mCACnB,aAAa,mBACb,eACC;;;;;;iBA0Ca,4BACd;EAAS,YAAY,cAAc,SAAS;eAC5C;;;;;KAiLU;EACV,KAAK,YAAY;;EAEjB;;EAEA;;cAucI,QAAQ;EAAoB;EAAY,aAAa"}
|
|
@@ -164,7 +164,7 @@ async function detectVersion(api) {
|
|
|
164
164
|
if (ver) return ver;
|
|
165
165
|
}
|
|
166
166
|
} catch {}
|
|
167
|
-
return "1.
|
|
167
|
+
return "1.5.0";
|
|
168
168
|
}
|
|
169
169
|
/**
|
|
170
170
|
* usage-bar — AI subscription usage gauge for the opencode TUI.
|
|
@@ -1311,12 +1311,14 @@ function childStatusToState(status) {
|
|
|
1311
1311
|
if (status === "idle") return "completed";
|
|
1312
1312
|
return "running";
|
|
1313
1313
|
}
|
|
1314
|
-
/** Row tag for a delegation entry: `[
|
|
1315
|
-
* (source 'children-only' — no board report), `[
|
|
1316
|
-
* ([apo-1])
|
|
1317
|
-
*
|
|
1314
|
+
/** Row tag for a delegation entry: `[native]` for native task() children
|
|
1315
|
+
* (source 'children-only' — no board report), `[pantheon:<alias>]` for board
|
|
1316
|
+
* rows ([pantheon:apo-1]) — the same tags the manager prints in
|
|
1317
|
+
* pantheon_delegation_list, so panel rows and CLI list lines match. The
|
|
1318
|
+
* panel renders the tag with a distinct style so native task() children are
|
|
1319
|
+
* visually separable from pantheon_delegate jobs. */
|
|
1318
1320
|
function delegationTag(entry) {
|
|
1319
|
-
return entry.source === "children-only" ? "[
|
|
1321
|
+
return entry.source === "children-only" ? "[native]" : `[pantheon:${entry.alias}]`;
|
|
1320
1322
|
}
|
|
1321
1323
|
/** Turn child sessions (PRIMARY) enriched with md reports into the display
|
|
1322
1324
|
* list. One entry per child id (duplicates across re-fetches collapse).
|
|
@@ -1327,7 +1329,7 @@ function delegationTag(entry) {
|
|
|
1327
1329
|
* time.created. A report-less child is a NATIVE task() child (every
|
|
1328
1330
|
* child of the current session — pantheon_delegate OR the native `task()`
|
|
1329
1331
|
* tool — carries parentID = caller), so it gets source 'children-only'
|
|
1330
|
-
* and the `[
|
|
1332
|
+
* and the `[native]` tag instead of a board alias.
|
|
1331
1333
|
* Terminal md state wins over the derived state; a running md defers to
|
|
1332
1334
|
* the child's live status. Sorted running-first (compareDelegationEntries).
|
|
1333
1335
|
* Pure — no I/O. */
|
|
@@ -1871,7 +1873,8 @@ const tui = (api, _options, _meta) => {
|
|
|
1871
1873
|
};
|
|
1872
1874
|
const plugin = {
|
|
1873
1875
|
id: "pantheon.tui",
|
|
1874
|
-
tui
|
|
1876
|
+
tui,
|
|
1877
|
+
setup: async () => {}
|
|
1875
1878
|
};
|
|
1876
1879
|
//#endregion
|
|
1877
1880
|
export { IDLE_SILENCE_MS, STALE_RUNNING_THRESHOLD_MS, buildChildrenPath, childStatusToState, childrenToDelegationEntries, collectDelegationToolParts, compareDelegationEntries, plugin as default, delegationActivity, delegationActivityLabel, delegationElapsed, delegationSpinnerFrame, delegationTag, fmtElapsed, isValidSessionId, markStaleIfRunning, mergeChildDelegationSources, mergeDelegationSources, navigateToDelegationSession, panelLogDir, parseDelegationMarkdown, parseDelegationToolPart, readAllDelegationEntries, readDelegationEntries, reduceDelegationToolPart, removeDelegationEntry, resolveCurrentSessionID, resolveDelegationsDir, safeSessionPath, seedLiveDelegationMap, toDelegationEntry, tuiLogPath, visibleDelegationList };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.js","names":[],"sources":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"tui.js","names":[],"sources":[],"mappings":""}
|
|
@@ -892,18 +892,18 @@ async function setupUsageBar(api: TuiPluginApi) {
|
|
|
892
892
|
* (`client.session.children` + `session.parentID === current`).
|
|
893
893
|
* Live status comes from `api.state.session.status(childID)`
|
|
894
894
|
* (busy/retry → running; idle → terminal). This does NOT depend on
|
|
895
|
-
*
|
|
896
|
-
*
|
|
895
|
+
* tool-part events, which runtime 1.18.13 may not deliver for
|
|
896
|
+
* pantheon_delegate (the "(0) even while delegating" symptom).
|
|
897
897
|
*
|
|
898
898
|
* 1b. NATIVE task() CHILDREN — `session.children` returns ALL children,
|
|
899
899
|
* and the native `task()` tool ALSO spawns a child session with
|
|
900
900
|
* parentID = caller. A child WITHOUT a board report is a native
|
|
901
901
|
* task() child: childrenToDelegationEntries tags it source
|
|
902
|
-
* 'children-only' with the `[
|
|
902
|
+
* 'children-only' with the `[native]` row tag (distinct info color),
|
|
903
903
|
* so native task() work is visible in the panel alongside board
|
|
904
|
-
* delegates ([apo-1]) — never filtered out, never duplicated
|
|
905
|
-
* board row for the same child (a child WITH a report keeps the
|
|
906
|
-
* entry, source 'md').
|
|
904
|
+
* delegates ([pantheon:apo-1]) — never filtered out, never duplicated
|
|
905
|
+
* with a board row for the same child (a child WITH a report keeps the
|
|
906
|
+
* md entry, source 'md').
|
|
907
907
|
*
|
|
908
908
|
* 2. ENRICHMENT + HISTORY — markdown reports the job board persists under
|
|
909
909
|
* `.pantheon/delegations/<sessionID>/<alias>.md` (written by
|
|
@@ -975,7 +975,7 @@ export type DelegationEntry = {
|
|
|
975
975
|
read?: boolean
|
|
976
976
|
/** Internal provenance used to keep a finalized md report authoritative.
|
|
977
977
|
* 'children-only' = a native task() child session with NO board report
|
|
978
|
-
* (rendered with the distinct `[
|
|
978
|
+
* (rendered with the distinct `[native]` tag); 'md' = board report wins. */
|
|
979
979
|
source?: 'child' | 'live' | 'md' | 'children-only'
|
|
980
980
|
}
|
|
981
981
|
|
|
@@ -1885,12 +1885,14 @@ export function childStatusToState(status: string | undefined): 'running' | 'com
|
|
|
1885
1885
|
return 'running' // busy, retry, or unknown
|
|
1886
1886
|
}
|
|
1887
1887
|
|
|
1888
|
-
/** Row tag for a delegation entry: `[
|
|
1889
|
-
* (source 'children-only' — no board report), `[
|
|
1890
|
-
* ([apo-1])
|
|
1891
|
-
*
|
|
1888
|
+
/** Row tag for a delegation entry: `[native]` for native task() children
|
|
1889
|
+
* (source 'children-only' — no board report), `[pantheon:<alias>]` for board
|
|
1890
|
+
* rows ([pantheon:apo-1]) — the same tags the manager prints in
|
|
1891
|
+
* pantheon_delegation_list, so panel rows and CLI list lines match. The
|
|
1892
|
+
* panel renders the tag with a distinct style so native task() children are
|
|
1893
|
+
* visually separable from pantheon_delegate jobs. */
|
|
1892
1894
|
export function delegationTag(entry: DelegationEntry): string {
|
|
1893
|
-
return entry.source === 'children-only' ? '[
|
|
1895
|
+
return entry.source === 'children-only' ? '[native]' : `[pantheon:${entry.alias}]`
|
|
1894
1896
|
}
|
|
1895
1897
|
|
|
1896
1898
|
/** Turn child sessions (PRIMARY) enriched with md reports into the display
|
|
@@ -1902,7 +1904,7 @@ export function delegationTag(entry: DelegationEntry): string {
|
|
|
1902
1904
|
* time.created. A report-less child is a NATIVE task() child (every
|
|
1903
1905
|
* child of the current session — pantheon_delegate OR the native `task()`
|
|
1904
1906
|
* tool — carries parentID = caller), so it gets source 'children-only'
|
|
1905
|
-
* and the `[
|
|
1907
|
+
* and the `[native]` tag instead of a board alias.
|
|
1906
1908
|
* Terminal md state wins over the derived state; a running md defers to
|
|
1907
1909
|
* the child's live status. Sorted running-first (compareDelegationEntries).
|
|
1908
1910
|
* Pure — no I/O. */
|
|
@@ -2092,8 +2094,8 @@ function DelegationRow(props: {
|
|
|
2092
2094
|
}
|
|
2093
2095
|
})
|
|
2094
2096
|
|
|
2095
|
-
// The row tag: `[
|
|
2096
|
-
// `[apo-1]`-style alias for pantheon_delegate board rows. Rendered with
|
|
2097
|
+
// The row tag: `[native]` for native task() children (no board report),
|
|
2098
|
+
// `[pantheon:apo-1]`-style alias for pantheon_delegate board rows. Rendered with
|
|
2097
2099
|
// the info color so task() children are visually distinct from delegates.
|
|
2098
2100
|
const tagColor = createMemo(() => (props.job.source === 'children-only' ? theme().info : color()))
|
|
2099
2101
|
|
|
@@ -2591,9 +2593,13 @@ const tui: TuiPlugin = (api, _options, _meta) => {
|
|
|
2591
2593
|
})
|
|
2592
2594
|
}
|
|
2593
2595
|
|
|
2594
|
-
const plugin: TuiPluginModule & { id: string } = {
|
|
2596
|
+
const plugin: TuiPluginModule & { id: string; setup: () => Promise<void> } = {
|
|
2595
2597
|
id: 'pantheon.tui',
|
|
2596
2598
|
tui,
|
|
2599
|
+
// Beta loader contract: every `plugins` directory entry must expose a
|
|
2600
|
+
// no-op `setup` so the entry loads as `pantheon.tui` with zero errors
|
|
2601
|
+
// (sandbox probe evidence). The TUI itself boots via `tui()`.
|
|
2602
|
+
setup: async () => {},
|
|
2597
2603
|
}
|
|
2598
2604
|
|
|
2599
2605
|
export default plugin
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pantheon-tui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pantheon-tui",
|
|
9
|
-
"version": "1.
|
|
9
|
+
"version": "1.5.0",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@opencode-ai/plugin": ">=1.14.0",
|
|
13
|
-
"@opentui/core": ">=0.
|
|
14
|
-
"@opentui/solid": ">=0.
|
|
15
|
-
"solid-js": ">=1.9.
|
|
13
|
+
"@opentui/core": ">=0.5.10",
|
|
14
|
+
"@opentui/solid": ">=0.5.10",
|
|
15
|
+
"solid-js": ">=1.9.12"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"rolldown-plugin-solid": "^0.2.1",
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"@opencode-ai/plugin": ">=1.14.0",
|
|
23
23
|
"@opencode-ai/sdk": ">=1.14.0",
|
|
24
|
-
"@opentui/core": ">=0.
|
|
25
|
-
"@opentui/solid": ">=0.
|
|
26
|
-
"solid-js": ">=1.9.
|
|
24
|
+
"@opentui/core": ">=0.5.10",
|
|
25
|
+
"@opentui/solid": ">=0.5.10",
|
|
26
|
+
"solid-js": ">=1.9.12"
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"node_modules/@ai-sdk/provider": {
|
|
@@ -660,35 +660,35 @@
|
|
|
660
660
|
}
|
|
661
661
|
},
|
|
662
662
|
"node_modules/@opentui/core": {
|
|
663
|
-
"version": "0.
|
|
664
|
-
"resolved": "https://registry.npmjs.org/@opentui/core/-/core-0.
|
|
665
|
-
"integrity": "sha512-
|
|
663
|
+
"version": "0.5.10",
|
|
664
|
+
"resolved": "https://registry.npmjs.org/@opentui/core/-/core-0.5.10.tgz",
|
|
665
|
+
"integrity": "sha512-C3a2UbmefeAjIxAgm4BqjuSxKT4oqutfvYFwVvUgMxmGRHkNbBc/s7sukV0JgwcxFcV3uMFrXxo+E+BQtvuOiw==",
|
|
666
666
|
"license": "MIT",
|
|
667
667
|
"dependencies": {
|
|
668
|
-
"bun-ffi-structs": "0.
|
|
668
|
+
"bun-ffi-structs": "0.3.1",
|
|
669
669
|
"diff": "9.0.0",
|
|
670
670
|
"marked": "17.0.1",
|
|
671
671
|
"string-width": "7.2.0",
|
|
672
672
|
"strip-ansi": "7.1.2"
|
|
673
673
|
},
|
|
674
674
|
"optionalDependencies": {
|
|
675
|
-
"@opentui/core-darwin-arm64": "0.
|
|
676
|
-
"@opentui/core-darwin-x64": "0.
|
|
677
|
-
"@opentui/core-linux-arm64": "0.
|
|
678
|
-
"@opentui/core-linux-arm64-musl": "0.
|
|
679
|
-
"@opentui/core-linux-x64": "0.
|
|
680
|
-
"@opentui/core-linux-x64-musl": "0.
|
|
681
|
-
"@opentui/core-win32-arm64": "0.
|
|
682
|
-
"@opentui/core-win32-x64": "0.
|
|
675
|
+
"@opentui/core-darwin-arm64": "0.5.10",
|
|
676
|
+
"@opentui/core-darwin-x64": "0.5.10",
|
|
677
|
+
"@opentui/core-linux-arm64": "0.5.10",
|
|
678
|
+
"@opentui/core-linux-arm64-musl": "0.5.10",
|
|
679
|
+
"@opentui/core-linux-x64": "0.5.10",
|
|
680
|
+
"@opentui/core-linux-x64-musl": "0.5.10",
|
|
681
|
+
"@opentui/core-win32-arm64": "0.5.10",
|
|
682
|
+
"@opentui/core-win32-x64": "0.5.10"
|
|
683
683
|
},
|
|
684
684
|
"peerDependencies": {
|
|
685
685
|
"web-tree-sitter": "0.25.10"
|
|
686
686
|
}
|
|
687
687
|
},
|
|
688
688
|
"node_modules/@opentui/core-darwin-arm64": {
|
|
689
|
-
"version": "0.
|
|
690
|
-
"resolved": "https://registry.npmjs.org/@opentui/core-darwin-arm64/-/core-darwin-arm64-0.
|
|
691
|
-
"integrity": "sha512-
|
|
689
|
+
"version": "0.5.10",
|
|
690
|
+
"resolved": "https://registry.npmjs.org/@opentui/core-darwin-arm64/-/core-darwin-arm64-0.5.10.tgz",
|
|
691
|
+
"integrity": "sha512-Vyb+nTbhab8ZcRy5gg1loEEGwRcIbjAeVRIBfHBcbFDqmITBOg7x2gqJ+x/TnoOy4uwMhCmICUN2wiyREw3r1Q==",
|
|
692
692
|
"cpu": [
|
|
693
693
|
"arm64"
|
|
694
694
|
],
|
|
@@ -699,9 +699,9 @@
|
|
|
699
699
|
]
|
|
700
700
|
},
|
|
701
701
|
"node_modules/@opentui/core-darwin-x64": {
|
|
702
|
-
"version": "0.
|
|
703
|
-
"resolved": "https://registry.npmjs.org/@opentui/core-darwin-x64/-/core-darwin-x64-0.
|
|
704
|
-
"integrity": "sha512-
|
|
702
|
+
"version": "0.5.10",
|
|
703
|
+
"resolved": "https://registry.npmjs.org/@opentui/core-darwin-x64/-/core-darwin-x64-0.5.10.tgz",
|
|
704
|
+
"integrity": "sha512-tTFLcM7Oj1gTyhm/bUdAt3C6grZdCxPk6+/g2azcZBUlI3/62LwbeRS6HbQKFFmm+1fUmX8cq6kWrtul885mVg==",
|
|
705
705
|
"cpu": [
|
|
706
706
|
"x64"
|
|
707
707
|
],
|
|
@@ -712,9 +712,9 @@
|
|
|
712
712
|
]
|
|
713
713
|
},
|
|
714
714
|
"node_modules/@opentui/core-linux-arm64": {
|
|
715
|
-
"version": "0.
|
|
716
|
-
"resolved": "https://registry.npmjs.org/@opentui/core-linux-arm64/-/core-linux-arm64-0.
|
|
717
|
-
"integrity": "sha512-
|
|
715
|
+
"version": "0.5.10",
|
|
716
|
+
"resolved": "https://registry.npmjs.org/@opentui/core-linux-arm64/-/core-linux-arm64-0.5.10.tgz",
|
|
717
|
+
"integrity": "sha512-ncJXcgudhBf2GdJyF3xVQN/Ec+1F7GOL+pRrURmgBYSj2v1w6EyoDQFAACtPTK2c3R38W6fvZwL4JSLlm4EFXQ==",
|
|
718
718
|
"cpu": [
|
|
719
719
|
"arm64"
|
|
720
720
|
],
|
|
@@ -725,9 +725,9 @@
|
|
|
725
725
|
]
|
|
726
726
|
},
|
|
727
727
|
"node_modules/@opentui/core-linux-arm64-musl": {
|
|
728
|
-
"version": "0.
|
|
729
|
-
"resolved": "https://registry.npmjs.org/@opentui/core-linux-arm64-musl/-/core-linux-arm64-musl-0.
|
|
730
|
-
"integrity": "sha512-
|
|
728
|
+
"version": "0.5.10",
|
|
729
|
+
"resolved": "https://registry.npmjs.org/@opentui/core-linux-arm64-musl/-/core-linux-arm64-musl-0.5.10.tgz",
|
|
730
|
+
"integrity": "sha512-dGMphDKexSdeYqwl0wgoFBP88Ta/cdi1Zc1mk29/ENkSCGz+74zlCHgqTHRNGLmI8W5TfuUtCyktQH11/Z+TBQ==",
|
|
731
731
|
"cpu": [
|
|
732
732
|
"arm64"
|
|
733
733
|
],
|
|
@@ -738,9 +738,9 @@
|
|
|
738
738
|
]
|
|
739
739
|
},
|
|
740
740
|
"node_modules/@opentui/core-linux-x64": {
|
|
741
|
-
"version": "0.
|
|
742
|
-
"resolved": "https://registry.npmjs.org/@opentui/core-linux-x64/-/core-linux-x64-0.
|
|
743
|
-
"integrity": "sha512-
|
|
741
|
+
"version": "0.5.10",
|
|
742
|
+
"resolved": "https://registry.npmjs.org/@opentui/core-linux-x64/-/core-linux-x64-0.5.10.tgz",
|
|
743
|
+
"integrity": "sha512-5qtYaOgwVycZD1GaGshTRsi0rXPAmVExO03N1JQaHu+NYxK/vXSOc7Bu4QW0sPXx3Sp0SpzpP+FHjXABfoK66g==",
|
|
744
744
|
"cpu": [
|
|
745
745
|
"x64"
|
|
746
746
|
],
|
|
@@ -751,9 +751,9 @@
|
|
|
751
751
|
]
|
|
752
752
|
},
|
|
753
753
|
"node_modules/@opentui/core-linux-x64-musl": {
|
|
754
|
-
"version": "0.
|
|
755
|
-
"resolved": "https://registry.npmjs.org/@opentui/core-linux-x64-musl/-/core-linux-x64-musl-0.
|
|
756
|
-
"integrity": "sha512-
|
|
754
|
+
"version": "0.5.10",
|
|
755
|
+
"resolved": "https://registry.npmjs.org/@opentui/core-linux-x64-musl/-/core-linux-x64-musl-0.5.10.tgz",
|
|
756
|
+
"integrity": "sha512-Oj4H9hApuvuTKPWxh4SoZAgGJorR7vbvnrZA/cAkSMAk2VGSoHRRcqeXQbcH8IcdjVZ0KFpv8Zkl/D5Ye+2mew==",
|
|
757
757
|
"cpu": [
|
|
758
758
|
"x64"
|
|
759
759
|
],
|
|
@@ -764,9 +764,9 @@
|
|
|
764
764
|
]
|
|
765
765
|
},
|
|
766
766
|
"node_modules/@opentui/core-win32-arm64": {
|
|
767
|
-
"version": "0.
|
|
768
|
-
"resolved": "https://registry.npmjs.org/@opentui/core-win32-arm64/-/core-win32-arm64-0.
|
|
769
|
-
"integrity": "sha512-
|
|
767
|
+
"version": "0.5.10",
|
|
768
|
+
"resolved": "https://registry.npmjs.org/@opentui/core-win32-arm64/-/core-win32-arm64-0.5.10.tgz",
|
|
769
|
+
"integrity": "sha512-A9VhgvTxQoUdZ+8LmUumEng1sQNbj9QQQT3NYG9mSxI54qTANi7vOWNSphMiY6RMVsr22pgm6nUvSSvJXv7Jog==",
|
|
770
770
|
"cpu": [
|
|
771
771
|
"arm64"
|
|
772
772
|
],
|
|
@@ -777,9 +777,9 @@
|
|
|
777
777
|
]
|
|
778
778
|
},
|
|
779
779
|
"node_modules/@opentui/core-win32-x64": {
|
|
780
|
-
"version": "0.
|
|
781
|
-
"resolved": "https://registry.npmjs.org/@opentui/core-win32-x64/-/core-win32-x64-0.
|
|
782
|
-
"integrity": "sha512-
|
|
780
|
+
"version": "0.5.10",
|
|
781
|
+
"resolved": "https://registry.npmjs.org/@opentui/core-win32-x64/-/core-win32-x64-0.5.10.tgz",
|
|
782
|
+
"integrity": "sha512-u3KHa7kEeWrmKVDRJYpxSGO+g5E9cMGlrmTsPN3GVPHUmQMiREUawLXUvsU8+IHaQnqG3Q5nuE1yf4fPBzS+Qw==",
|
|
783
783
|
"cpu": [
|
|
784
784
|
"x64"
|
|
785
785
|
],
|
|
@@ -790,14 +790,14 @@
|
|
|
790
790
|
]
|
|
791
791
|
},
|
|
792
792
|
"node_modules/@opentui/solid": {
|
|
793
|
-
"version": "0.
|
|
794
|
-
"resolved": "https://registry.npmjs.org/@opentui/solid/-/solid-0.
|
|
795
|
-
"integrity": "sha512-
|
|
793
|
+
"version": "0.5.10",
|
|
794
|
+
"resolved": "https://registry.npmjs.org/@opentui/solid/-/solid-0.5.10.tgz",
|
|
795
|
+
"integrity": "sha512-KrmMIsHiKBHOABTC0brOwqWm+sGq1ZX2sGCAx6WgtBbE3STMup9n8TAy/6gUYhwcjC9zugT53ytfSVwCwVWZUg==",
|
|
796
796
|
"license": "MIT",
|
|
797
797
|
"dependencies": {
|
|
798
798
|
"@babel/core": "7.28.0",
|
|
799
799
|
"@babel/preset-typescript": "7.27.1",
|
|
800
|
-
"@opentui/core": "0.
|
|
800
|
+
"@opentui/core": "0.5.10",
|
|
801
801
|
"babel-plugin-module-resolver": "5.0.2",
|
|
802
802
|
"babel-preset-solid": "1.9.12",
|
|
803
803
|
"entities": "7.0.1",
|
|
@@ -1568,9 +1568,9 @@
|
|
|
1568
1568
|
}
|
|
1569
1569
|
},
|
|
1570
1570
|
"node_modules/bun-ffi-structs": {
|
|
1571
|
-
"version": "0.
|
|
1572
|
-
"resolved": "https://registry.npmjs.org/bun-ffi-structs/-/bun-ffi-structs-0.
|
|
1573
|
-
"integrity": "sha512-
|
|
1571
|
+
"version": "0.3.1",
|
|
1572
|
+
"resolved": "https://registry.npmjs.org/bun-ffi-structs/-/bun-ffi-structs-0.3.1.tgz",
|
|
1573
|
+
"integrity": "sha512-3gM7PpVWLyrwxWjcilSiGuhWanhZivvo6l0u573NziPH6f/gwk6McbaYgn7oJWov6pKGRTDbrg94W5DcJsKTtQ==",
|
|
1574
1574
|
"license": "MIT",
|
|
1575
1575
|
"peerDependencies": {
|
|
1576
1576
|
"typescript": "^5"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pantheon-tui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.5.0-beta.1",
|
|
5
5
|
"description": "Pantheon TUI plugin — sidebar (version, preset, sessions, real-time delegations) + AI subscription usage gauges incl. OpenCode Go/Zen dollar limits (vendored, MIT)",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"exports": {
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"peerDependencies": {
|
|
20
20
|
"@opencode-ai/plugin": ">=1.14.0",
|
|
21
21
|
"@opencode-ai/sdk": ">=1.14.0",
|
|
22
|
-
"@opentui/core": ">=0.
|
|
23
|
-
"@opentui/solid": ">=0.
|
|
24
|
-
"solid-js": ">=1.9.
|
|
22
|
+
"@opentui/core": ">=0.5.10",
|
|
23
|
+
"@opentui/solid": ">=0.5.10",
|
|
24
|
+
"solid-js": ">=1.9.12"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"rolldown-plugin-solid": "^0.2.1",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@opencode-ai/plugin": ">=1.14.0",
|
|
32
|
-
"@opentui/core": ">=0.
|
|
33
|
-
"@opentui/solid": ">=0.
|
|
34
|
-
"solid-js": ">=1.9.
|
|
32
|
+
"@opentui/core": ">=0.5.10",
|
|
33
|
+
"@opentui/solid": ">=0.5.10",
|
|
34
|
+
"solid-js": ">=1.9.12"
|
|
35
35
|
}
|
|
36
36
|
}
|