@timurproko/a1 0.2.4-dev.667 → 0.2.4

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 (95) hide show
  1. package/README.md +50 -39
  2. package/bin/pinned-pi-public.js +20 -2
  3. package/dist/app/session-shell/session-shell-root.d.ts +0 -1
  4. package/dist/app/session-shell/session-shell-root.js +2 -7
  5. package/dist/app/session-shell/session-shell.js +2 -12
  6. package/dist/features/owned-ui/resources/release-notes.json +4 -0
  7. package/dist/foundation/release/progress-palette.generated.d.ts +5 -0
  8. package/dist/foundation/release/progress-palette.generated.js +5 -0
  9. package/dist/foundation/release/update.js +4 -5
  10. package/dist/foundation/startup/startup-descriptor.js +2 -2
  11. package/dist/integrations/pi/components/index.d.ts +1 -1
  12. package/dist/integrations/pi/components/index.js +1 -1
  13. package/dist/integrations/pi/components/resources/builtin-themes.d.ts +1 -1
  14. package/dist/integrations/pi/components/resources/builtin-themes.js +1 -1
  15. package/dist/integrations/pi/components/shell-presenters-transcript.js +10 -6
  16. package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +0 -1
  17. package/dist/integrations/pi/components/shell-selectors-dialogs.js +0 -5
  18. package/dist/integrations/pi/components/shell-shared-facade.d.ts +1 -1
  19. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +1 -1
  20. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +1 -1
  21. package/dist/integrations/pi/components/upstream/assets/earendil-image.json +2 -2
  22. package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +1 -1
  23. package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +1 -1
  24. package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +1 -1
  25. package/dist/integrations/pi/components/upstream/components/extension-editor.js +1 -1
  26. package/dist/integrations/pi/components/upstream/components/extension-input.js +1 -1
  27. package/dist/integrations/pi/components/upstream/components/extension-selector.js +1 -1
  28. package/dist/integrations/pi/components/upstream/components/mermaid.js +1 -1
  29. package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +1 -1
  30. package/dist/integrations/pi/components/upstream/components/owned-editor.js +1 -1
  31. package/dist/integrations/pi/components/upstream/components/pi-logo.js +1 -1
  32. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +1 -1
  33. package/dist/integrations/pi/components/upstream/components/session-footer.js +1 -1
  34. package/dist/integrations/pi/components/upstream/components/session-selector-search.js +1 -1
  35. package/dist/integrations/pi/components/upstream/components/session-selector.js +1 -1
  36. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +1 -1
  37. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +1 -1
  38. package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +1 -1
  39. package/dist/integrations/pi/components/upstream/components/status-indicator.js +1 -1
  40. package/dist/integrations/pi/components/upstream/components/themed-text.d.ts +1 -1
  41. package/dist/integrations/pi/components/upstream/components/themed-text.js +1 -1
  42. package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +1 -1
  43. package/dist/integrations/pi/components/upstream/components/thinking-selector.js +1 -1
  44. package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +4 -3
  45. package/dist/integrations/pi/components/upstream/components/tool-execution.js +8 -7
  46. package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +1 -1
  47. package/dist/integrations/pi/components/upstream/components/tree-selector.js +1 -1
  48. package/dist/integrations/pi/components/upstream/components/trust-selector.js +1 -1
  49. package/dist/integrations/pi/components/upstream/external-editor.js +1 -1
  50. package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +1 -1
  51. package/dist/integrations/pi/components/upstream/history/editor-core.js +1 -1
  52. package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +1 -1
  53. package/dist/integrations/pi/components/upstream/history/kill-ring.js +1 -1
  54. package/dist/integrations/pi/components/upstream/history/printable-key.js +1 -1
  55. package/dist/integrations/pi/components/upstream/history/text-helpers.js +1 -1
  56. package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +1 -1
  57. package/dist/integrations/pi/components/upstream/history/undo-stack.js +1 -1
  58. package/dist/integrations/pi/components/upstream/history/word-navigation.js +1 -1
  59. package/dist/integrations/pi/components/upstream/model-search.d.ts +1 -1
  60. package/dist/integrations/pi/components/upstream/theme/system-theme.d.ts +1 -1
  61. package/dist/integrations/pi/components/upstream/theme/system-theme.js +1 -1
  62. package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +1 -1
  63. package/dist/integrations/pi/components/upstream/theme/theme.js +1 -1
  64. package/dist/integrations/pi/engine/adapter.d.ts +1 -1
  65. package/dist/integrations/pi/engine/adapter.js +8 -2
  66. package/dist/integrations/pi/engine/resources/changelog.json +4 -4
  67. package/dist/integrations/pi/startup-public.js +164 -166
  68. package/dist/integrations/pi/startup-public.manifest.json +3081 -3075
  69. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +1 -1
  70. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +1 -1
  71. package/dist/native/darwin-arm64/manifest.json +1 -1
  72. package/dist/native/linux-x64/manifest.json +1 -1
  73. package/dist/native/win32-x64/manifest.json +2 -2
  74. package/dist/native/win32-x64/process-guardian.exe +0 -0
  75. package/dist/runtime-payload-inventory.json +37842 -29757
  76. package/dist/ui/components/transcript-viewport.js +10 -7
  77. package/docs/architecture/project-structure.md +3 -1
  78. package/docs/assets/readme/gears-dark.svg +56 -0
  79. package/docs/assets/readme/gears.svg +0 -1
  80. package/docs/assets/readme/plugins-dark.svg +76 -0
  81. package/docs/assets/readme/plugins.svg +0 -1
  82. package/docs/assets/readme/rocket-dark.svg +66 -0
  83. package/docs/assets/readme/rocket.svg +0 -1
  84. package/docs/assets/readme/separator-dark.svg +13 -0
  85. package/docs/assets/readme/separator.svg +13 -0
  86. package/docs/assets/readme/terminal-dark.svg +76 -0
  87. package/docs/assets/readme/terminal.svg +0 -1
  88. package/docs/assets/readme/waves-dark.svg +142 -0
  89. package/docs/assets/readme/waves.svg +0 -1
  90. package/docs/local-worktree-cleanup.md +4 -2
  91. package/docs/openspec-archive-automation.md +14 -5
  92. package/docs/releases/0.2.4.md +22 -0
  93. package/package.json +3 -3
  94. package/dist/integrations/pi/components/upstream/components/daxnuts.d.ts +0 -29
  95. package/dist/integrations/pi/components/upstream/components/daxnuts.js +0 -146
@@ -429,7 +429,6 @@ export class TranscriptViewport {
429
429
  const bottomHovered = pointer !== undefined && pointer.row === bottomHit.row
430
430
  && pointer.column >= bottomHit.columnStart && pointer.column <= bottomHit.columnEnd;
431
431
  control = { row, left, text: `${CONTROL_STYLE_RESET}${theme.bottomControl(label, bottomHovered)}` };
432
- frameRows[row] = overlaySpan(padRowPreservingBackground(frameRows[row] ?? "", width), left, left + labelWidth, control.text);
433
432
  // Invariant: the control floats above selection; its cells are never selected or copied.
434
433
  selectionRows[row] = overlaySpan(padRowPreservingBackground(selectionRows[row] ?? "", width), left, left + labelWidth, " ".repeat(labelWidth));
435
434
  }
@@ -479,16 +478,20 @@ export class TranscriptViewport {
479
478
  ? truncateToWidth(input.frameOverlay.text, overlayLimit)
480
479
  : "";
481
480
  const overlayWidth = displayWidth(overlayText);
482
- const final = cachedString(this.#finalRowCache, `${width}\u0000${railCell}\u0000${overlayText}\u0000${selected.value}`, cacheLimit, () => {
481
+ const rowControl = control?.row === row && bottomHit !== null
482
+ ? { left: control.left, right: bottomHit.columnEnd, text: control.text }
483
+ : null;
484
+ const final = cachedString(this.#finalRowCache, `${width}\u0000${railCell}\u0000${overlayText}\u0000${rowControl?.text ?? ""}\u0000${selected.value}`, cacheLimit, () => {
483
485
  const withRail = railCell.length === 0 ? selected.value : overlaySpan(selected.value, width - 1, width, `${GUTTER_DECORATION_RESET}${railCell}`, { inheritStartStyle: true });
484
- return overlayWidth === 0 ? withRail : overlaySpan(padRowPreservingBackground(withRail, width), overlayLimit - overlayWidth, overlayLimit, `${CONTROL_STYLE_RESET}${overlayText}`);
486
+ // Invariant: floating control styling is applied only after the row and
487
+ // gutter surfaces are resolved, so its inline background cannot leak.
488
+ const withControl = rowControl === null ? withRail : overlaySpan(withRail, rowControl.left, rowControl.right, rowControl.text);
489
+ return overlayWidth === 0 ? withControl : overlaySpan(padRowPreservingBackground(withControl, width), overlayLimit - overlayWidth, overlayLimit, `${CONTROL_STYLE_RESET}${overlayText}`);
485
490
  });
486
491
  rowRecomputed ||= !final.reused;
487
- frameRows[row] = control?.row === row && paintRange !== null && bottomHit !== null
488
- ? overlaySpan(final.value, control.left, bottomHit.columnEnd, control.text)
489
- : final.value;
492
+ frameRows[row] = final.value;
490
493
  (rowRecomputed ? recomputedRows : reusedRows).push(row + 1);
491
- const state = `${width}\u0000${row}\u0000${painted}\u0000${rangeKey}\u0000${range === null ? "" : selectionPainterId}\u0000${railCell}\u0000${overlayText}`;
494
+ const state = `${width}\u0000${row}\u0000${painted}\u0000${rangeKey}\u0000${range === null ? "" : selectionPainterId}\u0000${railCell}\u0000${overlayText}\u0000${rowControl?.text ?? ""}`;
492
495
  visibleStates.push(state);
493
496
  if (this.#previousVisibleStates[row] !== state)
494
497
  selectionDamagedRows.push(row + 1);
@@ -86,7 +86,7 @@ Prefer the smallest independent boundary that proves the observable result. Do n
86
86
 
87
87
  The repository has one root `package.json`, `package-lock.json`, TypeScript configuration, Vitest configuration, and dependency installation. Nested manifests, lockfiles, `node_modules`, vendored package caches, logs, sessions, browser profiles, generated output, and runtime state are forbidden under production and feature trees.
88
88
 
89
- Build output mirrors the production namespaces directly under ignored `dist/`, without an intermediate `src/` directory; release and test evidence belongs in ignored `.artifacts/`; temporary agent work belongs in ignored `.worktrees/` and `.builds/`. Repository tooling is grouped under `scripts/governance`, `scripts/release`, `scripts/pi`, and `scripts/development`; the few root scripts are standalone maintenance or build commands. Package contents are selected by the root manifest. The Rust process guardian and console terminal-host proof live under `native/`; Cargo output is ignored. Third-party terminal parser sources are isolated under `native/terminal-host/vendor/` and are not owned application modules.
89
+ Build output mirrors the production namespaces directly under ignored `dist/`, without an intermediate `src/` directory; generated release/test evidence and agent-selected scratch files belong in ignored `.artifacts/`; task worktrees and local package outputs belong in ignored `.worktrees/` and `.builds/`. Repository tooling is grouped under `scripts/governance`, `scripts/release`, `scripts/pi`, and `scripts/development`; the few root scripts are standalone maintenance or build commands. Package contents are selected by the root manifest. The Rust process guardian and console terminal-host proof live under `native/`; Cargo output is ignored. Third-party terminal parser sources are isolated under `native/terminal-host/vendor/` and are not owned application modules.
90
90
 
91
91
  ## Development worktrees
92
92
 
@@ -105,6 +105,8 @@ A successful link response confirming the exact canonical worktree is required b
105
105
 
106
106
  The association switches bare A1's footer repository context and pull-request discovery; it does not change process or tool cwd and does not register, claim, release, or authorize cleanup of the worktree. Repository commands therefore keep an explicit worktree path. The primary worktree stays on `develop` for integration and must not be used for task edits. Do not edit, adopt, move, or remove another session's worktree.
107
107
 
108
+ An agent that directly chooses a transient file path for a PR/comment body, command payload, captured output, temporary patch/diff, or ad hoc log must place it beneath the linked worktree's exact `.artifacts/` root, never the primary checkout, another worktree, OS temp, home/desktop, or a sibling path. Such scratch remains ignored, unstaged, uncommitted, disposable, non-authoritative, and secret-free. This repository path rule does not relocate storage internally selected by tools, product runtime code, or hermetic tests.
109
+
108
110
  ## Documentation and comments
109
111
 
110
112
  - README explains installation, commands, and current limitations.