@timurproko/a1 0.2.7-dev.1270 → 0.2.7-dev.1275

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +6 -0
  2. package/dist/app/session-shell/apps-dialog.d.ts +33 -0
  3. package/dist/app/session-shell/apps-dialog.js +61 -0
  4. package/dist/app/session-shell/dialog-coordinator.d.ts +8 -0
  5. package/dist/app/session-shell/dialog-coordinator.js +72 -3
  6. package/dist/app/session-shell/session-selectors.d.ts +1 -1
  7. package/dist/app/session-shell/session-selectors.js +1 -1
  8. package/dist/app/session-shell/session-shell.js +9 -3
  9. package/dist/app/session-shell/shell-host.d.ts +1 -0
  10. package/dist/app/session-shell/shell-host.js +22 -11
  11. package/dist/app/session-shell/workflow-output.js +12 -0
  12. package/dist/app/session-shell/workflow-router.d.ts +1 -1
  13. package/dist/composition/owned-ui.js +17 -13
  14. package/dist/contracts/owned-ui/session-presenters.d.ts +1 -1
  15. package/dist/contracts/owned-ui/session-workflows.d.ts +3 -1
  16. package/dist/contracts/owned-ui/shell-components.d.ts +2 -0
  17. package/dist/contracts/presentation/progress-palette.generated.d.ts +1 -1
  18. package/dist/contracts/presentation/progress-palette.generated.js +1 -1
  19. package/dist/contracts/presentation/terminal.d.ts +4 -0
  20. package/dist/contracts/presentation/theme.d.ts +2 -0
  21. package/dist/foundation/lifecycle/user-exports.d.ts +5 -0
  22. package/dist/foundation/lifecycle/user-exports.js +37 -0
  23. package/dist/foundation/startup/startup-descriptor.js +2 -2
  24. package/dist/integrations/pi/components/models-dialog-loader.d.ts +11 -0
  25. package/dist/integrations/pi/components/models-dialog-loader.js +45 -0
  26. package/dist/integrations/pi/components/models-dialog.d.ts +2 -0
  27. package/dist/integrations/pi/components/models-dialog.js +13 -7
  28. package/dist/integrations/pi/components/resources/builtin-themes.d.ts +2 -2
  29. package/dist/integrations/pi/components/resources/builtin-themes.js +2 -2
  30. package/dist/integrations/pi/components/shell-editor-autocomplete.js +21 -15
  31. package/dist/integrations/pi/components/shell-footer-status.js +3 -2
  32. package/dist/integrations/pi/components/shell-presenters-info.js +1 -1
  33. package/dist/integrations/pi/components/shell-presenters-transcript.js +3 -1
  34. package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +2 -1
  35. package/dist/integrations/pi/components/shell-selectors-dialogs.js +2 -8
  36. package/dist/integrations/pi/components/theme.d.ts +2 -0
  37. package/dist/integrations/pi/components/theme.js +5 -0
  38. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +8 -7
  39. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +13 -7
  40. package/dist/integrations/pi/components/upstream/assets/earendil-image.json +2 -2
  41. package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +1 -1
  42. package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +1 -1
  43. package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +1 -1
  44. package/dist/integrations/pi/components/upstream/components/extension-editor.js +1 -1
  45. package/dist/integrations/pi/components/upstream/components/extension-input.js +1 -1
  46. package/dist/integrations/pi/components/upstream/components/extension-selector.js +9 -2
  47. package/dist/integrations/pi/components/upstream/components/mermaid.d.ts +2 -1
  48. package/dist/integrations/pi/components/upstream/components/mermaid.js +26 -21
  49. package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +1 -1
  50. package/dist/integrations/pi/components/upstream/components/owned-editor.js +1 -1
  51. package/dist/integrations/pi/components/upstream/components/pi-logo.js +1 -1
  52. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +1 -1
  53. package/dist/integrations/pi/components/upstream/components/session-footer.js +9 -14
  54. package/dist/integrations/pi/components/upstream/components/session-selector-search.js +1 -1
  55. package/dist/integrations/pi/components/upstream/components/session-selector.js +1 -1
  56. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +6 -2
  57. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +27 -3
  58. package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +1 -1
  59. package/dist/integrations/pi/components/upstream/components/status-indicator.js +1 -1
  60. package/dist/integrations/pi/components/upstream/components/themed-text.d.ts +1 -1
  61. package/dist/integrations/pi/components/upstream/components/themed-text.js +1 -1
  62. package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +1 -1
  63. package/dist/integrations/pi/components/upstream/components/thinking-selector.js +1 -1
  64. package/dist/integrations/pi/components/upstream/components/tool-execution.js +1 -1
  65. package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +1 -1
  66. package/dist/integrations/pi/components/upstream/components/tree-selector.js +7 -6
  67. package/dist/integrations/pi/components/upstream/components/trust-selector.js +1 -1
  68. package/dist/integrations/pi/components/upstream/external-editor.js +1 -1
  69. package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +1 -1
  70. package/dist/integrations/pi/components/upstream/history/editor-core.js +2 -2
  71. package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +1 -1
  72. package/dist/integrations/pi/components/upstream/history/kill-ring.js +1 -1
  73. package/dist/integrations/pi/components/upstream/history/printable-key.js +1 -1
  74. package/dist/integrations/pi/components/upstream/history/text-helpers.js +1 -1
  75. package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +1 -1
  76. package/dist/integrations/pi/components/upstream/history/undo-stack.js +1 -1
  77. package/dist/integrations/pi/components/upstream/history/word-navigation.js +1 -1
  78. package/dist/integrations/pi/components/upstream/model-search.d.ts +1 -1
  79. package/dist/integrations/pi/components/upstream/program-status-reporter.d.ts +1 -1
  80. package/dist/integrations/pi/components/upstream/theme/theme.js +1 -1
  81. package/dist/integrations/pi/engine/adapter.d.ts +1 -1
  82. package/dist/integrations/pi/engine/adapter.js +3 -3
  83. package/dist/integrations/pi/engine/host.d.ts +1 -1
  84. package/dist/integrations/pi/engine/resources/changelog.json +4 -4
  85. package/dist/integrations/pi/engine/workflow-export.d.ts +4 -0
  86. package/dist/integrations/pi/engine/workflow-export.js +25 -0
  87. package/dist/integrations/pi/engine/workflow-runner.d.ts +1 -0
  88. package/dist/integrations/pi/engine/workflow-runner.js +6 -10
  89. package/dist/integrations/pi/engine/workflow-support.d.ts +2 -1
  90. package/dist/integrations/pi/engine/workflow-support.js +28 -25
  91. package/dist/integrations/pi/engine/workflows.d.ts +6 -1
  92. package/dist/integrations/pi/engine/workflows.js +1 -1
  93. package/dist/integrations/pi/session-presenters/presentation.js +2 -1
  94. package/dist/integrations/pi/session-presenters/presenters.js +22 -10
  95. package/dist/integrations/pi/startup-public.js +289 -240
  96. package/dist/integrations/pi/startup-public.manifest.json +579 -363
  97. package/dist/integrations/pi/tui-runtime/adapter.js +3 -1
  98. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +1 -1
  99. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +1 -1
  100. package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +5 -2
  101. package/dist/integrations/pi/tui-runtime/overlay-geometry.js +12 -2
  102. package/dist/runtime-payload-inventory.json +8044 -6930
  103. package/dist/ui/components/dialog-panel.d.ts +4 -3
  104. package/dist/ui/components/dialog-panel.js +9 -13
  105. package/dist/ui/components/index.d.ts +1 -1
  106. package/dist/ui/components/index.js +1 -1
  107. package/dist/ui/components/spans.d.ts +7 -0
  108. package/dist/ui/components/spans.js +63 -1
  109. package/docs/architecture/prompt-suggestions.md +1 -1
  110. package/docs/architecture/ui-reference-provenance.md +2 -1
  111. package/docs/features/prompt-history.md +1 -1
  112. package/docs/features/session-exports.md +15 -0
  113. package/docs/local-worktree-cleanup.md +24 -0
  114. package/package.json +6 -6
@@ -144,7 +144,7 @@ export class PiTuiRuntimeAdapter {
144
144
  #presentationFrozen = false;
145
145
  #presentationHolds = new Set();
146
146
  constructor(options) {
147
- this.#overlayGeometry = options.onOverlayGeometry === undefined ? undefined : new OverlayGeometryTracker(options.onOverlayGeometry);
147
+ this.#overlayGeometry = options.onOverlayGeometry === undefined ? undefined : new OverlayGeometryTracker(options.onOverlayGeometry, options.paintModalBackdrop);
148
148
  this.#terminal = options.terminal ?? new ProcessTerminal();
149
149
  this.#consumeUnhandledMouse = options.consumeUnhandledMouse ?? false;
150
150
  const diagnostics = options.inputDiagnostics;
@@ -246,6 +246,8 @@ export class PiTuiRuntimeAdapter {
246
246
  const bridge = new ComponentBridge(component);
247
247
  this.#bridges.set(component, bridge);
248
248
  this.#overlayGeometry?.ports.set(bridge, component);
249
+ if (options?.modal)
250
+ this.#overlayGeometry?.modals.add(component);
249
251
  let hidden = false;
250
252
  const dispose = () => {
251
253
  if (hidden)
@@ -1,5 +1,5 @@
1
1
  import type { TerminalPort } from "../../../contracts/presentation/index.js";
2
- export declare const PINNED_PI_TUI_DAMAGE_GRAMMAR = "@earendil-works/pi-tui@1.5.0:tui-alt-screen-one-write-v1";
2
+ export declare const PINNED_PI_TUI_DAMAGE_GRAMMAR = "@earendil-works/pi-tui@1.5.1:tui-alt-screen-one-write-v1";
3
3
  import type { TerminalDamageDecision, TerminalDamageDecisionReason, TerminalDamageFrameDescriptor, TerminalDamageFrameSafety } from "../../../contracts/presentation/index.js";
4
4
  export type PiTuiDamageFrameDescriptor = TerminalDamageFrameDescriptor;
5
5
  export type PiTuiDamageFrameSafety = TerminalDamageFrameSafety;
@@ -1,4 +1,4 @@
1
- export const PINNED_PI_TUI_DAMAGE_GRAMMAR = "@earendil-works/pi-tui@1.5.0:tui-alt-screen-one-write-v1";
1
+ export const PINNED_PI_TUI_DAMAGE_GRAMMAR = "@earendil-works/pi-tui@1.5.1:tui-alt-screen-one-write-v1";
2
2
  const BEGIN_SYNCHRONIZED_OUTPUT = "\u001b[?2026h";
3
3
  const END_SYNCHRONIZED_OUTPUT = "\u001b[?2026l";
4
4
  const ROW_MARKER = /\u001b\[(\d+);1H\u001b\[2K/gu;
@@ -1,13 +1,16 @@
1
1
  import { TuiAltScreen, type Component, type OverlayHandle, type OverlayOptions } from "@earendil-works/pi-tui";
2
2
  import type { PresentationComponentPort, PresentationPointerSurface } from "../../../contracts/presentation/index.js";
3
3
  import { samePointerSurfaces } from "../../../contracts/presentation/index.js";
4
- import type { TerminalOverlayOptions } from "../../../contracts/presentation/index.js";
4
+ import type { TerminalOverlayOptions, TerminalRuntimeOptions } from "../../../contracts/presentation/index.js";
5
5
  /** Observes public component renders in compositor order, without accessing renderer state. */
6
6
  export declare class OverlayGeometryTracker {
7
7
  #private;
8
8
  readonly ports: WeakMap<Component, PresentationComponentPort>;
9
+ readonly modals: WeakSet<PresentationComponentPort>;
10
+ readonly paintBackdrop: TerminalRuntimeOptions["paintModalBackdrop"];
11
+ paint(lines: string[], width: number, height: number): string[];
9
12
  readonly publish: (surfaces: readonly PresentationPointerSurface[] | null) => void;
10
- constructor(publish: (surfaces: readonly PresentationPointerSurface[] | null) => void);
13
+ constructor(publish: (surfaces: readonly PresentationPointerSurface[] | null) => void, paintBackdrop?: TerminalRuntimeOptions["paintModalBackdrop"]);
11
14
  invalidate(): void;
12
15
  begin(columns: number, rows: number): void;
13
16
  record(component: PresentationComponentPort, options: TerminalOverlayOptions | undefined, width: number, height: number): void;
@@ -7,8 +7,18 @@ export class OverlayGeometryTracker {
7
7
  #columns = 0;
8
8
  #rows = 0;
9
9
  ports = new WeakMap();
10
+ modals = new WeakSet();
11
+ paintBackdrop;
12
+ paint(lines, width, height) {
13
+ const top = this.#frame?.at(-1);
14
+ return top !== undefined && this.modals.has(top.component) && this.paintBackdrop !== undefined
15
+ ? this.paintBackdrop(lines, width, height, top) : lines;
16
+ }
10
17
  publish;
11
- constructor(publish) { this.publish = publish; }
18
+ constructor(publish, paintBackdrop) {
19
+ this.publish = publish;
20
+ this.paintBackdrop = paintBackdrop;
21
+ }
12
22
  invalidate() {
13
23
  if (this.#frame === null)
14
24
  return;
@@ -95,7 +105,7 @@ export class GeometryObservedAltScreen extends TuiAltScreen {
95
105
  this.geometry?.begin(width, height);
96
106
  const result = super.compositeOverlays(lines, width, height);
97
107
  this.geometry?.end();
98
- return result;
108
+ return this.geometry?.paint(result, width, height) ?? result;
99
109
  }
100
110
  }
101
111
  export { samePointerSurfaces };