@timurproko/a1 0.1.8-dev.512 → 0.1.8-dev.521
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/README.md +64 -20
- package/dist/app/session-shell/index.d.ts +1 -1
- package/dist/app/session-shell/prompt-suggestion-controller.d.ts +2 -0
- package/dist/app/session-shell/prompt-suggestion-controller.js +12 -0
- package/dist/app/session-shell/session-shell-root.d.ts +10 -0
- package/dist/app/session-shell/session-shell-root.js +12 -2
- package/dist/app/session-shell/session-shell.d.ts +8 -1
- package/dist/app/session-shell/session-shell.js +217 -18
- package/dist/composition/index.d.ts +1 -1
- package/dist/composition/owned-ui.js +21 -3
- package/dist/composition/settings-route-host.d.ts +17 -4
- package/dist/composition/settings-route-host.js +47 -16
- package/dist/contracts/owned-ui/index.d.ts +1 -1
- package/dist/contracts/owned-ui/model.d.ts +1 -5
- package/dist/features/owned-ui/index.d.ts +3 -0
- package/dist/features/owned-ui/index.js +2 -0
- package/dist/features/owned-ui/reference-routes.d.ts +6 -0
- package/dist/features/owned-ui/reference-routes.js +6 -0
- package/dist/features/owned-ui/reference-screen-app.d.ts +37 -0
- package/dist/features/owned-ui/reference-screen-app.js +232 -0
- package/dist/features/owned-ui/settings-app.js +2 -7
- package/dist/integrations/pi/components/index.d.ts +4 -2
- package/dist/integrations/pi/components/index.js +2 -1
- package/dist/integrations/pi/components/models-dialog.d.ts +55 -0
- package/dist/integrations/pi/components/models-dialog.js +310 -0
- package/dist/integrations/pi/components/shell-editor-autocomplete.d.ts +10 -0
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +29 -5
- package/dist/integrations/pi/components/shell-footer-status.js +2 -1
- package/dist/integrations/pi/components/shell-presenters-info.d.ts +10 -0
- package/dist/integrations/pi/components/shell-presenters-info.js +31 -11
- package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +11 -1
- package/dist/integrations/pi/components/shell-selectors-dialogs.js +13 -0
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +8 -0
- package/dist/integrations/pi/components/skills-command.d.ts +47 -0
- package/dist/integrations/pi/components/skills-command.js +118 -0
- package/dist/integrations/pi/components/skills-dialog.d.ts +9 -0
- package/dist/integrations/pi/components/skills-dialog.js +123 -0
- package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +8 -2
- package/dist/integrations/pi/components/upstream/components/owned-editor.js +42 -7
- package/dist/integrations/pi/engine/adapter.d.ts +5 -1
- package/dist/integrations/pi/engine/adapter.js +13 -1
- package/dist/integrations/pi/engine/index.d.ts +2 -2
- package/dist/integrations/pi/engine/index.js +1 -1
- package/dist/integrations/pi/engine/resource-catalog.d.ts +2 -1
- package/dist/integrations/pi/engine/resource-catalog.js +19 -9
- package/dist/integrations/pi/engine/workflow-contexts.d.ts +8 -1
- package/dist/integrations/pi/engine/workflow-contexts.js +52 -8
- package/dist/integrations/pi/engine/workflow-runner.js +98 -74
- package/dist/integrations/pi/engine/workflows.d.ts +26 -2
- package/dist/integrations/pi/engine/workflows.js +8 -0
- package/dist/native/darwin-arm64/manifest.json +1 -1
- package/dist/native/linux-x64/manifest.json +1 -1
- package/dist/native/win32-x64/manifest.json +2 -2
- package/dist/native/win32-x64/process-guardian.exe +0 -0
- package/dist/ui/apps/contracts.d.ts +9 -1
- package/dist/ui/apps/index.d.ts +1 -1
- package/dist/ui/settings/declarations.d.ts +15 -29
- package/dist/ui/settings/declarations.js +14 -25
- package/dist/ui/settings/index.d.ts +1 -1
- package/dist/ui/settings/index.js +1 -1
- package/dist/ui/settings/migrations.js +18 -0
- package/docs/architecture/prompt-suggestions.md +1 -1
- package/docs/architecture/ui-reference-provenance.md +1 -0
- package/docs/ci-release-runbook.md +31 -23
- package/docs/features/modal-content-interaction.md +3 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -53,10 +53,40 @@ shown on the level name in the status bar, not on the input bars.
|
|
|
53
53
|
|
|
54
54
|
In bare A1, **Ctrl+L cycles the thinking level**. **Shift+Tab is unassigned** and
|
|
55
55
|
performs no agent-input action, including while a suggestion is visible. Model
|
|
56
|
-
selection has **no default shortcut**; use `/
|
|
56
|
+
selection has **no default shortcut**; use `/models`. Explicit keybinding overrides
|
|
57
57
|
remain configurable, and `/hotkeys` shows the resolved bindings. The `a1 pi`
|
|
58
58
|
comparison profile keeps its original presentation and shortcuts.
|
|
59
59
|
|
|
60
|
+
## Models
|
|
61
|
+
|
|
62
|
+
Bare A1 has one model command, `/models`, which replaces the pinned `/model` and
|
|
63
|
+
`/scoped-models` pair (those remain in the `a1 pi` comparison profile). The dialog
|
|
64
|
+
lists every authenticated model with `all` and `scoped` filters (Tab), a search box,
|
|
65
|
+
a scope marker before each model id, and the active checkmark after `[provider]`.
|
|
66
|
+
Enter switches to the highlighted model and persists it as the default; Space adds or
|
|
67
|
+
removes it from the Ctrl+P cycling scope for this session only; Ctrl+S saves that scope
|
|
68
|
+
to settings. While the scope or its order differs from the last save, the title reads
|
|
69
|
+
`Models (unsaved)`; Escape closes without saving and keeps the session-only scope.
|
|
70
|
+
`/models <text>` seeds the search instead of switching. The bulk, provider, and reorder
|
|
71
|
+
scope actions keep their existing bindings and appear under `/hotkeys`.
|
|
72
|
+
|
|
73
|
+
## Reference screens
|
|
74
|
+
|
|
75
|
+
In bare A1, `/changelog` and `/hotkeys` open a full-screen read-only reference
|
|
76
|
+
screen over the session instead of appending a long document to the
|
|
77
|
+
conversation: `What's New` shows the complete pinned changelog and
|
|
78
|
+
`Keyboard Shortcuts` shows the bare-A1 keybinding tables, including extension
|
|
79
|
+
shortcuts as bound when the screen opens. Scroll with ↑/↓, PageUp/PageDown,
|
|
80
|
+
Home/End, the mouse wheel, or the scrollbar rail, which follows the
|
|
81
|
+
`/settings` → Scroll appearance, style, and speed; press `Esc` to close. The
|
|
82
|
+
screen is framed between two border-coloured rules with the hint below, as the
|
|
83
|
+
v2 extension drew it. After
|
|
84
|
+
an upgrade, the release notes newer than the last acknowledged version open the
|
|
85
|
+
same `What's New` screen once at startup while the feed keeps only the
|
|
86
|
+
`Run /changelog to view the full release notes.` hint. If another dialog is up
|
|
87
|
+
at that moment, the screen is not opened for that launch. The `a1 pi`
|
|
88
|
+
comparison profile keeps Pi's in-feed changelog and hotkeys documents.
|
|
89
|
+
|
|
60
90
|
## Prompt suggestions
|
|
61
91
|
|
|
62
92
|
Bare A1's `/settings` → Agent → Prompt suggestions controls faint next-prompt
|
|
@@ -71,6 +101,19 @@ preferred when consistent with your intent; genuinely unclear cases can remain
|
|
|
71
101
|
empty. [Private diagnostic capture](docs/architecture/prompt-suggestions.md)
|
|
72
102
|
explains how to distinguish skipped, empty, rejected, and timed-out suggestions.
|
|
73
103
|
|
|
104
|
+
## Skills
|
|
105
|
+
|
|
106
|
+
Bare A1's `/settings` → Agent → Skills chooses how discovered skills appear in the
|
|
107
|
+
slash-command menu. `collapse` (the default) replaces the per-skill `/skill:<name>`
|
|
108
|
+
entries with one `/skills` command: bare `/skills` opens a searchable Skills dialog,
|
|
109
|
+
`/skills <name> [args]` applies a skill directly (an unknown name reports
|
|
110
|
+
`Unknown skill: <name>`), and typing `/skills:` lists every skill inline so
|
|
111
|
+
`/skills:<name> args` runs as `/skill:<name> args`. With the `skills` row selected in
|
|
112
|
+
the menu, typing `:` completes to `/skills:`. `expand` lists every `/skill:<name>`
|
|
113
|
+
command as before. Both take effect immediately; a typed `/skill:<name>` always
|
|
114
|
+
works, and the engine's own Skill commands toggle still governs whether skills are
|
|
115
|
+
offered at all. The `a1 pi` comparison profile is unchanged.
|
|
116
|
+
|
|
74
117
|
## Quitting
|
|
75
118
|
|
|
76
119
|
`/quit`, `Ctrl+C` twice, and `Ctrl+D` on an empty prompt end a bare A1 session.
|
|
@@ -187,29 +230,30 @@ a1 update --develop 0.1.8-dev.107 # install that exact full preview versio
|
|
|
187
230
|
### Stable
|
|
188
231
|
|
|
189
232
|
```sh
|
|
190
|
-
npm run release -- patch # 0.1.8-dev -> 0.1.8
|
|
233
|
+
npm run release -- patch # 0.1.8-dev -> 0.1.8
|
|
191
234
|
npm run release -- minor # 0.1.8-dev -> 0.2.0
|
|
192
235
|
npm run release -- major # 0.1.8-dev -> 1.0.0
|
|
193
236
|
npm run release -- 0.4.0 # an exact stable version
|
|
194
237
|
```
|
|
195
238
|
|
|
196
|
-
Run from the repository root on a clean `develop` matching `origin/develop
|
|
197
|
-
A target is required; bare `npm run release`
|
|
198
|
-
`patch` promotes the current prerelease rather
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
Only after confirmed publication of `0.1.8` does the command prepare the
|
|
209
|
-
`0.1.9-dev
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
the
|
|
239
|
+
Run from the repository root on a clean `develop` matching `origin/develop` that
|
|
240
|
+
declares the open `-dev` version. A target is required; bare `npm run release`
|
|
241
|
+
displays usage and releases nothing. `patch` promotes the current prerelease rather
|
|
242
|
+
than skipping its stable version.
|
|
243
|
+
|
|
244
|
+
The stable version is never committed. The command dispatches publication for the
|
|
245
|
+
exact authoritative `develop` commit with the stable version named in the request,
|
|
246
|
+
and waits for success. CI stamps that version on the checked-out source before
|
|
247
|
+
packing, validates the packed release on Windows, Linux, and macOS, publishes to
|
|
248
|
+
npm `latest` with provenance, then writes the `v<version>` tag on that same
|
|
249
|
+
`develop` commit, records the GitHub Release, and fast-forwards `master`.
|
|
250
|
+
|
|
251
|
+
Only after confirmed publication of `0.1.8` does the command prepare the one
|
|
252
|
+
version-only PR, `0.1.9-dev`, in an isolated detached worktree, print its URL, and
|
|
253
|
+
wait for you to **merge it manually**. It is not auto-merged, and green CI alone does
|
|
254
|
+
not advance the release. Work added to your checkout during the wait is preserved,
|
|
255
|
+
not reset. If publication fails or is uncertain, no reopening PR is prepared. If
|
|
256
|
+
publication succeeded but reopening failed, merge or repair the reported PR by
|
|
257
|
+
hand; do not republish the immutable stable version.
|
|
214
258
|
|
|
215
259
|
`docs/ci-release-runbook.md` has the full picture.
|
|
@@ -2,6 +2,6 @@ export { ClipboardDiagnosticCapture } from "./clipboard-diagnostics.js";
|
|
|
2
2
|
export { ContextualPromptSuggestionController, samePromptSuggestionIdentity } from "./prompt-suggestion-controller.js";
|
|
3
3
|
export type { ContextualPromptSuggestionControllerOptions, ContextualPromptSuggestionSurface } from "./prompt-suggestion-controller.js";
|
|
4
4
|
export { OwnedUiSessionShell, OwnedUiSessionShellRoot, formatSessionResumeCommand, quoteCommandArgument } from "./session-shell.js";
|
|
5
|
-
export type { OwnedUiSessionShellOptions, OwnedUiShellDiagnosticOptions, OwnedUiShellEngineOptions, OwnedUiShellHistoryOptions, OwnedUiShellPresentationOptions, OwnedUiShellSuggestionOptions, SessionResumeCommandMetadata, } from "./session-shell.js";
|
|
5
|
+
export type { OwnedUiSessionShellOptions, OwnedUiShellDiagnosticOptions, OwnedUiShellEngineOptions, OwnedUiShellHistoryOptions, OwnedUiShellPresentationOptions, OwnedUiShellSkillsOptions, OwnedUiShellSuggestionOptions, SessionResumeCommandMetadata, } from "./session-shell.js";
|
|
6
6
|
export { STREAM_PRESENTATION_INTERVAL_MS, StreamPresentationCoalescer } from "./stream-presentation-coalescer.js";
|
|
7
7
|
export type { StreamPresentationScheduler } from "./stream-presentation-coalescer.js";
|
|
@@ -29,6 +29,8 @@ export declare class ContextualPromptSuggestionController {
|
|
|
29
29
|
settle(identity: OwnedUiPromptSuggestionIdentity): void;
|
|
30
30
|
accept(): void;
|
|
31
31
|
invalidate(): void;
|
|
32
|
+
/** Retires only a generating request; a prepared or available suggestion survives the draft edit. */
|
|
33
|
+
abortPending(): void;
|
|
32
34
|
dispose(): void;
|
|
33
35
|
}
|
|
34
36
|
export declare function samePromptSuggestionIdentity(left: OwnedUiPromptSuggestionIdentity, right: OwnedUiPromptSuggestionIdentity): boolean;
|
|
@@ -88,6 +88,18 @@ export class ContextualPromptSuggestionController {
|
|
|
88
88
|
}
|
|
89
89
|
accept() { this.#invalidate(false); }
|
|
90
90
|
invalidate() { this.#invalidate(true); }
|
|
91
|
+
/** Retires only a generating request; a prepared or available suggestion survives the draft edit. */
|
|
92
|
+
abortPending() {
|
|
93
|
+
if (this.#state.status !== "generating")
|
|
94
|
+
return;
|
|
95
|
+
const request = this.#request;
|
|
96
|
+
this.#request = null;
|
|
97
|
+
this.#state = { status: "idle" };
|
|
98
|
+
if (request === null)
|
|
99
|
+
return;
|
|
100
|
+
this.#finish(request, "cancelled");
|
|
101
|
+
request.abort.abort();
|
|
102
|
+
}
|
|
91
103
|
dispose() {
|
|
92
104
|
this.#disposed = true;
|
|
93
105
|
this.invalidate();
|
|
@@ -4,6 +4,7 @@ import type { UiRouteHost } from "../../ui/apps/contracts.js";
|
|
|
4
4
|
import type { TranscriptViewportFrame, TranscriptViewportFrameDescriptor } from "../../ui/components/transcript-viewport.js";
|
|
5
5
|
import type { PiEngineAdapter } from "../../integrations/pi/engine/adapter.js";
|
|
6
6
|
import type { PiWorkflowMessage, PiWorkflowResult } from "../../integrations/pi/engine/workflows.js";
|
|
7
|
+
import { type PiShellHotkeysPresentation } from "../../integrations/pi/components/shell-presenters-info.js";
|
|
7
8
|
import { type PiShellClipboardContent, type PiShellComponentPort, type PiShellEditorPort, type PiShellExtensionRendererResolver, type PiShellHeaderOptions, type PiShellHeaderPort, type PiShellImageAssetResolver, type PiShellLoadedResourcesPort, type PiShellResourceEntry, type PiShellTranscriptComponentPort } from "../../integrations/pi/components/shell-shared-facade.js";
|
|
8
9
|
import { type PiTuiInputCoordinationScheduler, type PiTuiInputSurfaceKind } from "../../integrations/pi/tui-runtime/input-presentation-coordinator.js";
|
|
9
10
|
import type { PiTuiComponentPort, PiTuiInputDiagnosticsEvent, PiTuiLayoutNode, PiTuiTerminalPort } from "../../integrations/pi/tui-runtime/contracts.js";
|
|
@@ -109,12 +110,19 @@ export interface OwnedUiShellDiagnosticOptions {
|
|
|
109
110
|
/** Test seams for isolated paste preparation: an in-process starter, or the forked helper's entry. */
|
|
110
111
|
readonly pastePreparation?: Omit<PastePreparationClientOptions, "onEvent" | "spareIdleMs">;
|
|
111
112
|
}
|
|
113
|
+
/** The skills presentation choice: collapse the per-skill commands into one skills command or expand them. */
|
|
114
|
+
export interface OwnedUiShellSkillsOptions {
|
|
115
|
+
readonly presentation: () => "collapse" | "expand";
|
|
116
|
+
readonly onChange: (listener: () => void) => () => void;
|
|
117
|
+
}
|
|
112
118
|
/** What composes an owned session shell, grouped by the collaborator that provides each part. */
|
|
113
119
|
export interface OwnedUiSessionShellOptions {
|
|
114
120
|
readonly engine: OwnedUiShellEngineOptions;
|
|
115
121
|
readonly presentation?: OwnedUiShellPresentationOptions;
|
|
116
122
|
readonly history?: OwnedUiShellHistoryOptions;
|
|
117
123
|
readonly suggestions?: OwnedUiShellSuggestionOptions;
|
|
124
|
+
/** Supplied only to the bare-A1 composition; absent keeps the pinned per-skill command list. */
|
|
125
|
+
readonly skills?: OwnedUiShellSkillsOptions;
|
|
118
126
|
readonly diagnostics?: OwnedUiShellDiagnosticOptions;
|
|
119
127
|
}
|
|
120
128
|
/** Composes backend session state into the owned transcript, viewport, editor, and dock presentation. */
|
|
@@ -152,6 +160,7 @@ export declare class OwnedUiSessionShellRoot implements PiTuiComponentPort {
|
|
|
152
160
|
readonly captureClipboardPaste?: () => PasteSource;
|
|
153
161
|
readonly pasteDiagnostics?: (event: PasteEvent) => void;
|
|
154
162
|
readonly pastePreparation?: Omit<PastePreparationClientOptions, "onEvent">;
|
|
163
|
+
readonly skillsPresentation?: () => "collapse" | "expand";
|
|
155
164
|
}, startup?: PiShellHeaderOptions, agentDir?: string, extensionRenderers?: PiShellExtensionRendererResolver, sessionLayout?: "pinned" | "custom-viewport", imageAssets?: PiShellImageAssetResolver);
|
|
156
165
|
setEditorPaddingX(padding: number): void;
|
|
157
166
|
setAutocompleteMaxVisible(maxVisible: number): void;
|
|
@@ -244,6 +253,7 @@ export declare class OwnedUiSessionShellRoot implements PiTuiComponentPort {
|
|
|
244
253
|
setExtensionFooter(component: PiShellComponentPort | null): void;
|
|
245
254
|
setExtensionStatus(key: string, text: string | undefined): void;
|
|
246
255
|
setExtensionWorking(message: string | undefined, visible?: boolean): void;
|
|
256
|
+
hotkeysPresentation(): PiShellHotkeysPresentation;
|
|
247
257
|
resetWorkflowPresentation(): void;
|
|
248
258
|
resetExtensionUi(): void;
|
|
249
259
|
addExtensionNotification(message: string, type: "info" | "warning" | "error"): void;
|
|
@@ -682,7 +682,9 @@ export class OwnedUiSessionShellRoot {
|
|
|
682
682
|
.flatMap(diagnostic => renderPiShellPackageUpdateNotice(diagnostic.message.split("\n").filter(line => line.startsWith("- ")).map(line => line.slice(2)), width)));
|
|
683
683
|
rows.push(...diagnostics
|
|
684
684
|
.filter(diagnostic => diagnostic.code === "changelog-collapsed" || diagnostic.code === "changelog-expanded")
|
|
685
|
-
|
|
685
|
+
// Rationale: the custom viewport shows the new entries on the What's New screen, so its feed
|
|
686
|
+
// carries only the hint for either diagnostic; the pinned layout keeps the full document.
|
|
687
|
+
.flatMap(diagnostic => diagnostic.code === "changelog-collapsed" || this.#customViewport
|
|
686
688
|
? createPiShellCollapsedChangelog().render(width)
|
|
687
689
|
: createPiShellChangelog(diagnostic.message).render(width)));
|
|
688
690
|
rows.push(...diagnostics
|
|
@@ -809,7 +811,8 @@ export class OwnedUiSessionShellRoot {
|
|
|
809
811
|
}
|
|
810
812
|
if (result.command === "hotkeys" && result.outcome === "completed") {
|
|
811
813
|
this.#lastWorkflowStatusId = undefined;
|
|
812
|
-
const
|
|
814
|
+
const presentation = this.hotkeysPresentation();
|
|
815
|
+
const hotkeys = createPiShellHotkeys(presentation.bindings, presentation.getShortcuts, presentation.profile);
|
|
813
816
|
this.#appendAnchoredWorkflowComponent(width => hotkeys.render(width), () => hotkeys.dispose?.());
|
|
814
817
|
return;
|
|
815
818
|
}
|
|
@@ -903,6 +906,13 @@ export class OwnedUiSessionShellRoot {
|
|
|
903
906
|
this.#status.setWorkingOverride(visible ? message : undefined);
|
|
904
907
|
this.invalidate();
|
|
905
908
|
}
|
|
909
|
+
hotkeysPresentation() {
|
|
910
|
+
return {
|
|
911
|
+
bindings: this.editor.keybindingConfig(),
|
|
912
|
+
getShortcuts: bindings => this.#extensionRenderers.getShortcuts?.(bindings) ?? [],
|
|
913
|
+
profile: this.#customViewport ? "a1" : "pi",
|
|
914
|
+
};
|
|
915
|
+
}
|
|
906
916
|
resetWorkflowPresentation() {
|
|
907
917
|
this.#dockNotice = undefined;
|
|
908
918
|
for (const id of this.#workflowStatusAnchors.keys()) {
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { OwnedUiSessionViewModel, OwnedUiThinkingLevel } from "../../contracts/owned-ui/index.js";
|
|
2
2
|
import type { AdapterCommandResult } from "../../integrations/pi/engine/adapter.js";
|
|
3
3
|
import type { PiWorkflowRequest } from "../../integrations/pi/engine/workflows.js";
|
|
4
|
+
import { type PiShellSkillSummary } from "../../integrations/pi/components/skills-command.js";
|
|
5
|
+
import { type PiShellHotkeysPresentation } from "../../integrations/pi/components/shell-presenters-info.js";
|
|
4
6
|
import type { PiShellSelectorOption } from "../../integrations/pi/components/shell-shared-facade.js";
|
|
5
7
|
import { type PiTuiDamageDecision } from "../../integrations/pi/tui-runtime/damage-aware-terminal.js";
|
|
6
8
|
import { PiTuiRuntimeAdapter } from "../../integrations/pi/tui-runtime/adapter.js";
|
|
7
9
|
import type { PiTuiOverlayHandle } from "../../integrations/pi/tui-runtime/contracts.js";
|
|
8
10
|
import { OwnedUiSessionShellRoot, type OwnedUiBackendPort, type OwnedUiSessionShellOptions } from "./session-shell-root.js";
|
|
9
|
-
export { OwnedUiSessionShellRoot, type OwnedUiSessionShellOptions, type OwnedUiShellDiagnosticOptions, type OwnedUiShellEngineOptions, type OwnedUiShellHistoryOptions, type OwnedUiShellPresentationOptions, type OwnedUiShellSuggestionOptions, } from "./session-shell-root.js";
|
|
11
|
+
export { OwnedUiSessionShellRoot, type OwnedUiSessionShellOptions, type OwnedUiShellDiagnosticOptions, type OwnedUiShellEngineOptions, type OwnedUiShellHistoryOptions, type OwnedUiShellPresentationOptions, type OwnedUiShellSkillsOptions, type OwnedUiShellSuggestionOptions, } from "./session-shell-root.js";
|
|
10
12
|
/** Coordinates backend, owned presentation, and Pi TUI lifecycles for one interactive session. */
|
|
11
13
|
export declare class OwnedUiSessionShell {
|
|
12
14
|
#private;
|
|
@@ -35,6 +37,8 @@ export declare class OwnedUiSessionShell {
|
|
|
35
37
|
restoreQueuedInput(): void;
|
|
36
38
|
showSelector(title: string, options: readonly PiShellSelectorOption[], onSelect: (id: string) => void, onCancel?: () => void): PiTuiOverlayHandle;
|
|
37
39
|
showThinkingSelector(): void;
|
|
40
|
+
/** The Skills dialog: a replacement input like the model selector, applying the chosen skill through the prompt path. */
|
|
41
|
+
showSkillsSelector(skills?: readonly PiShellSkillSummary[]): void;
|
|
38
42
|
showModelSelector(initialSearchInput?: string): void;
|
|
39
43
|
showForkSelector(): void;
|
|
40
44
|
showLogoutSelector(): Promise<void>;
|
|
@@ -48,7 +52,10 @@ export declare class OwnedUiSessionShell {
|
|
|
48
52
|
runWorkflow(request: PiWorkflowRequest): Promise<AdapterCommandResult>;
|
|
49
53
|
showTrustSelector(): void;
|
|
50
54
|
showScopedModelsSelector(): void;
|
|
55
|
+
/** The bare-A1 unified Models dialog: switch on Enter, scope on Space, persist on Ctrl+S, all through the engine. */
|
|
56
|
+
showModelsDialog(initialQuery?: string): void;
|
|
51
57
|
dispose(): Promise<void>;
|
|
58
|
+
hotkeysPresentation(): PiShellHotkeysPresentation;
|
|
52
59
|
}
|
|
53
60
|
export interface SessionResumeCommandMetadata {
|
|
54
61
|
readonly sessionId: string;
|