@timurproko/a1 0.2.7-dev.810 → 0.2.7-dev.831

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 (124) hide show
  1. package/README.md +7 -1
  2. package/bin/automatic-update.js +7 -0
  3. package/bin/ui.js +1 -0
  4. package/dist/app/session-shell/resident-tab-coordinator.d.ts +6 -9
  5. package/dist/app/session-shell/resident-tab-coordinator.js +9 -52
  6. package/dist/app/session-shell/session-shell-root.d.ts +9 -3
  7. package/dist/app/session-shell/session-shell.js +70 -20
  8. package/dist/app/session-shell/session-viewport-controller.js +6 -4
  9. package/dist/app/session-shell/transcript-document.js +1 -1
  10. package/dist/composition/owned-ui.d.ts +3 -11
  11. package/dist/composition/owned-ui.js +93 -43
  12. package/dist/composition/resident-tab-bridge.d.ts +10 -1
  13. package/dist/composition/resident-tab-bridge.js +21 -0
  14. package/dist/composition/settings-route-host.d.ts +12 -2
  15. package/dist/composition/settings-route-host.js +27 -9
  16. package/dist/composition/settings-search-input.d.ts +9 -0
  17. package/dist/composition/settings-search-input.js +58 -0
  18. package/dist/contracts/owned-ui/session-backend.d.ts +2 -0
  19. package/dist/contracts/owned-ui/session-workflows.d.ts +7 -3
  20. package/dist/contracts/presentation/index.d.ts +11 -0
  21. package/dist/contracts/presentation/index.js +12 -0
  22. package/dist/features/launch/development-launch.js +6 -0
  23. package/dist/features/launch/profile-paths.js +4 -0
  24. package/dist/features/owned-ui/plus-menu-dialog.d.ts +22 -0
  25. package/dist/features/owned-ui/plus-menu-dialog.js +76 -0
  26. package/dist/features/owned-ui/reference-screen-app.d.ts +2 -0
  27. package/dist/features/owned-ui/reference-screen-app.js +12 -2
  28. package/dist/features/owned-ui/settings-app.d.ts +10 -3
  29. package/dist/features/owned-ui/settings-app.js +98 -45
  30. package/dist/features/owned-ui/settings-search-input.d.ts +29 -0
  31. package/dist/features/owned-ui/settings-search-input.js +1 -0
  32. package/dist/features/prompt-history/index.d.ts +1 -1
  33. package/dist/features/prompt-history/paths.d.ts +2 -1
  34. package/dist/features/prompt-history/paths.js +10 -2
  35. package/dist/features/prompt-history/service.d.ts +5 -0
  36. package/dist/features/prompt-history/service.js +1 -1
  37. package/dist/features/resident-tab/shortcut-declarations.d.ts +1 -1
  38. package/dist/features/resident-tab/shortcut-declarations.js +2 -0
  39. package/dist/foundation/launch-context/index.d.ts +2 -0
  40. package/dist/foundation/launch-context/index.js +1 -0
  41. package/dist/foundation/release/automatic-update.d.ts +37 -0
  42. package/dist/foundation/release/automatic-update.js +265 -0
  43. package/dist/foundation/release/bootstrap.d.ts +1 -9
  44. package/dist/foundation/release/bootstrap.js +7 -3
  45. package/dist/foundation/release/index.d.ts +1 -1
  46. package/dist/foundation/release/index.js +1 -1
  47. package/dist/foundation/release/latest-release.d.ts +3 -2
  48. package/dist/foundation/release/latest-release.js +1 -1
  49. package/dist/foundation/release/update-execution-lease.d.ts +36 -0
  50. package/dist/foundation/release/update-execution-lease.js +145 -0
  51. package/dist/foundation/release/update.d.ts +8 -6
  52. package/dist/foundation/release/update.js +232 -167
  53. package/dist/foundation/resident-tabs/bridge-client.d.ts +9 -3
  54. package/dist/foundation/resident-tabs/bridge-client.js +14 -7
  55. package/dist/foundation/resident-tabs/routes.d.ts +5 -0
  56. package/dist/foundation/resident-tabs/routes.js +5 -0
  57. package/dist/foundation/resident-tabs/settings.d.ts +0 -1
  58. package/dist/foundation/resident-tabs/settings.js +0 -2
  59. package/dist/integrations/pi/components/editor-interaction.d.ts +2 -0
  60. package/dist/integrations/pi/components/modal-frame.d.ts +17 -1
  61. package/dist/integrations/pi/components/modal-frame.js +48 -9
  62. package/dist/integrations/pi/components/models-dialog.js +4 -52
  63. package/dist/integrations/pi/components/owned-editor-ux.d.ts +3 -0
  64. package/dist/integrations/pi/components/owned-editor-ux.js +75 -4
  65. package/dist/integrations/pi/components/shell-editor-autocomplete.js +57 -37
  66. package/dist/integrations/pi/components/shell-footer-status.js +19 -3
  67. package/dist/integrations/pi/components/shell-presenters-transcript.js +4 -1
  68. package/dist/integrations/pi/components/shell-selectors-dialogs.js +4 -1
  69. package/dist/integrations/pi/components/shell-shared-facade.d.ts +9 -2
  70. package/dist/integrations/pi/components/skills-dialog.js +2 -2
  71. package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +7 -5
  72. package/dist/integrations/pi/components/upstream/components/owned-editor.js +15 -8
  73. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +3 -3
  74. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.js +2 -2
  75. package/dist/integrations/pi/components/upstream/components/session-footer.js +26 -23
  76. package/dist/integrations/pi/components/upstream/components/session-selector.js +7 -6
  77. package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +7 -6
  78. package/dist/integrations/pi/components/upstream/components/thinking-selector.js +9 -8
  79. package/dist/integrations/pi/components/upstream/components/tool-execution.js +6 -4
  80. package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +8 -8
  81. package/dist/integrations/pi/components/upstream/components/tree-selector.js +10 -10
  82. package/dist/integrations/pi/components/upstream/history/editor-core.js +2 -0
  83. package/dist/integrations/pi/engine/adapter.js +7 -2
  84. package/dist/integrations/pi/engine/ports.d.ts +1 -1
  85. package/dist/integrations/pi/engine/ports.js +4 -0
  86. package/dist/integrations/pi/engine/workflow-runner.js +9 -2
  87. package/dist/native/darwin-arm64/manifest.json +1 -1
  88. package/dist/native/darwin-arm64/terminal-host.manifest.json +3 -3
  89. package/dist/native/darwin-arm64/terminal-host.node +0 -0
  90. package/dist/native/darwin-x64/manifest.json +1 -1
  91. package/dist/native/darwin-x64/terminal-host.manifest.json +3 -3
  92. package/dist/native/darwin-x64/terminal-host.node +0 -0
  93. package/dist/native/linux-x64/manifest.json +1 -1
  94. package/dist/native/linux-x64/terminal-host.manifest.json +3 -3
  95. package/dist/native/linux-x64/terminal-host.node +0 -0
  96. package/dist/native/win32-x64/manifest.json +2 -2
  97. package/dist/native/win32-x64/process-guardian.node +0 -0
  98. package/dist/native/win32-x64/terminal-host.manifest.json +3 -3
  99. package/dist/native/win32-x64/terminal-host.node +0 -0
  100. package/dist/product-identity.d.ts +1 -1
  101. package/dist/product-identity.js +1 -1
  102. package/dist/product-identity.json +1 -0
  103. package/dist/ui/apps/host.d.ts +2 -0
  104. package/dist/ui/apps/host.js +7 -1
  105. package/dist/ui/components/dialog-panel.js +35 -30
  106. package/dist/ui/components/line-input.d.ts +3 -0
  107. package/dist/ui/components/line-input.js +3 -1
  108. package/dist/ui/components/prompt-input.d.ts +5 -4
  109. package/dist/ui/components/prompt-input.js +8 -6
  110. package/dist/ui/components/submitted-prompt.d.ts +2 -2
  111. package/dist/ui/components/submitted-prompt.js +3 -3
  112. package/dist/ui/components/surface.js +4 -2
  113. package/dist/ui/components/transcript-viewport.d.ts +1 -1
  114. package/dist/ui/components/transcript-viewport.js +141 -24
  115. package/dist/ui/settings/declarations.d.ts +65 -15
  116. package/dist/ui/settings/declarations.js +45 -13
  117. package/dist/ui/settings/manager.js +7 -3
  118. package/dist/ui/settings/migrations.js +22 -0
  119. package/dist/ui/settings/sections.d.ts +4 -0
  120. package/dist/ui/settings/sections.js +9 -3
  121. package/docs/architecture/resident-tabs.md +39 -11
  122. package/docs/architecture/tool-image-presentation.md +2 -1
  123. package/docs/features/prompt-history.md +41 -20
  124. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  # Persistent prompt history
2
2
 
3
- Bare A1 recalls recent prompts across sessions and projects within the same A1
4
- profile. It is input recall, not conversation recovery or agent memory. The Pi
3
+ Bare A1 recalls recent prompts within each agent session, including when that
4
+ session resumes. The optional Shared scope recalls prompts across agent sessions
5
+ and projects in the same A1 profile. It is input recall, not conversation recovery or agent memory. The Pi
5
6
  comparison (`a1 pi`) retains its ordinary current-session history.
6
7
 
7
8
  ## Recall
@@ -36,16 +37,21 @@ imported automatically.
36
37
 
37
38
  | Platform | Default durable location |
38
39
  |---|---|
39
- | Windows | `%USERPROFILE%/.a1/data/history/<profile-id>.sqlite3` |
40
- | Linux and macOS | `~/.a1/data/history/<profile-id>.sqlite3` |
41
- | Explicit override | `<A1_DATA_DIR>/history/<profile-id>.sqlite3` |
40
+ | Windows | `%USERPROFILE%/.a1/data/history/<history-id>.sqlite3` |
41
+ | Linux and macOS | `~/.a1/data/history/<history-id>.sqlite3` |
42
+ | Explicit override | `<A1_DATA_DIR>/history/<history-id>.sqlite3` |
42
43
 
43
44
  The default uses A1's effective profile home: `A1_PROFILE_HOME` when set, otherwise
44
45
  the operating-system home. A custom agent-profile directory changes the history
45
46
  identity, not this default root. `A1_DATA_DIR` takes precedence for storage;
46
47
  `XDG_DATA_HOME` does not redirect default history. Control metadata, settings,
47
48
  agent resources, releases, logs, runtime files, and caches keep their existing
48
- locations.
49
+ locations. For repository-local `./scripts/dev` launches, history uses a stable
50
+ checkout-wide data root so two independent solo instances share the selected
51
+ Shared database, while control and runtime data remain isolated per launch.
52
+ The development-only `A1_DEV_HISTORY_DATA_DIR` selects that root; an explicit
53
+ `A1_DATA_DIR` still overrides its launcher default. Existing histories in old
54
+ per-instance development roots are not moved or combined.
49
55
 
50
56
  **The home-based default starts fresh.** Previous versions used
51
57
  `%LOCALAPPDATA%/a1/history` on Windows, or `$XDG_DATA_HOME/a1/history` /
@@ -53,12 +59,15 @@ locations.
53
59
  fall back to those stores. Explicit `A1_DATA_DIR` selections still work normally.
54
60
  Old and new releases using different roots do not synchronize history.
55
61
 
56
- The profile filename is `a1-` followed by a SHA-256 digest of a versioned tuple
57
- containing the launch kind and normalized effective agent-profile path. It is
58
- independent of project, session, checkout, and release. Windows ordinary case and
59
- separator variants normalize together. Different profile roots use different
60
- files. Moving a profile, unresolved symlink aliases, or selecting a different
61
- data root can select a different history; A1 never silently merges or imports it.
62
+ In Shared mode the filename is the original `a1-` SHA-256 profile identity,
63
+ independent of project, session, checkout, and release. In Unique mode (the
64
+ default), a domain-separated digest also includes the stable conversation session
65
+ ID; two solo launches or resident tabs therefore use different databases and
66
+ image sidecars. Resuming the same session reuses its store; starting or forking a
67
+ session selects a different one. Windows ordinary case and separator variants
68
+ normalize together. Moving a profile, unresolved symlink aliases, or selecting a
69
+ different data root can select a different history; A1 never silently merges or
70
+ imports it.
62
71
 
63
72
  The database is separate from `control.sqlite3`, agent resources, and disposable
64
73
  caches. Upgrades, ordinary npm uninstall/reinstall, release rollback, cache cleanup,
@@ -79,11 +88,19 @@ must not appear in history diagnostics or test evidence.
79
88
  The History section in `/settings` provides:
80
89
 
81
90
  - **Persistent history:** on by default; applies on the next start. Off disables
82
- storage and cross-session recall for subsequent launches, not current-session
91
+ storage and durable recall for subsequent launches, not current-session
83
92
  recovery. Existing enabled instances keep running until closed.
93
+ - **History scope:** Unique (default) keeps each agent session's durable prompts
94
+ separate across solo launches and resident tabs. Shared restores the former
95
+ profile-wide store. Switching applies to running agents, including other solo
96
+ processes and resident tabs, when their shared settings update arrives. New
97
+ prompts use the newly selected store; already-submitted writes finish in their
98
+ original store. Switching never transfers or deletes records, and it preserves
99
+ unsent drafts. Existing profiles without this setting default to Unique, so
100
+ old Shared entries remain intact but do not appear until Shared is selected.
84
101
  - **History limit:** 10-100 in increments of 10, default 100; applies when a new
85
- enabled instance starts. All writers then use that profile store's updated
86
- retention limit. Raising the limit cannot restore pruned entries.
102
+ enabled instance starts. All writers using that selected store then use its
103
+ updated retention limit. Raising the limit cannot restore pruned entries.
87
104
 
88
105
  The settings use A1's existing settings document, not Pi's settings or a separate
89
106
  history configuration file. Disabling persistence does not delete saved data;
@@ -134,14 +151,18 @@ placed beside history. For a history-only review, `NODE_DISABLE_COMPILE_CACHE=1`
134
151
  also avoids creating compile-cache files under that explicitly overridden root.
135
152
  The focused path/composition tests cover normal no-override selection. Test:
136
153
 
137
- 1. Submit two text prompts and one repeated prompt; start `/new`, then restart.
138
- The latest unique prompts remain recallable.
154
+ 1. Submit two text prompts and one repeated prompt; resume the same session
155
+ after restart and check those prompts remain recallable. Start `/new` and
156
+ confirm its durable history is separate.
139
157
  2. Browse multiline input with a draft present. Check v2 caret placement,
140
158
  newest/oldest numbering, and draft restoration.
141
- 3. Submit from a second instance while the first browses. The first selection
142
- stays fixed; the update appears on a later safe browse cycle.
159
+ 3. Submit from a second instance while the first browses. Under Unique, the
160
+ first sees no cross-agent update. Switch to Shared without restarting; once
161
+ both agents apply the setting, the second instance's new prompt appears in
162
+ the first agent's shared history. Switching back restores each Unique store.
143
163
  4. Recall pasted text after restart; image tokens must not promise reattachment.
144
- 5. Save both History settings, restart, and verify effective values and opt-out.
164
+ 5. Save History scope and verify its immediate effective value. Restart only
165
+ for changes to Persistent history or History limit.
145
166
  6. Use a second isolated effective profile and verify no sharing. Run
146
167
  `./scripts/dev pi` and verify its ordinary history/editor remain unchanged.
147
168
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timurproko/a1",
3
- "version": "0.2.7-dev.810",
3
+ "version": "0.2.7-dev.831",
4
4
  "description": "Standalone terminal workspace for supervised native and managed agents",
5
5
  "type": "module",
6
6
  "privateLaunchContract": "neutral-launch-v1",