@timurproko/a1 0.1.8-dev.299 → 0.1.8-dev.322

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 (73) hide show
  1. package/README.md +16 -4
  2. package/bin/guardian.js +4 -3
  3. package/bin/ui.js +4 -2
  4. package/bin/update-recovery.js +3 -1
  5. package/dist/composition/owned-ui.js +2 -1
  6. package/dist/features/launch/profile-paths.d.ts +2 -0
  7. package/dist/features/launch/profile-paths.js +11 -0
  8. package/dist/foundation/launch-context/index.d.ts +29 -0
  9. package/dist/foundation/launch-context/index.js +83 -0
  10. package/dist/foundation/launch-guardian/main.js +4 -3
  11. package/dist/foundation/release/bootstrap.d.ts +1 -1
  12. package/dist/foundation/release/bootstrap.js +18 -12
  13. package/dist/foundation/release/cohort-state.d.ts +1 -0
  14. package/dist/foundation/release/cohort-state.js +4 -0
  15. package/dist/foundation/release/release-gc.js +2 -2
  16. package/dist/foundation/release/release-store.js +10 -3
  17. package/dist/foundation/release/release.d.ts +3 -1
  18. package/dist/foundation/release/release.js +7 -3
  19. package/dist/foundation/release/restart-certification.d.ts +1 -0
  20. package/dist/foundation/release/restart-certification.js +5 -0
  21. package/dist/foundation/release/update-recovery.d.ts +2 -0
  22. package/dist/foundation/release/update-recovery.js +4 -0
  23. package/dist/foundation/release/update.js +5 -0
  24. package/dist/foundation/release/warmup.d.ts +1 -1
  25. package/dist/foundation/release/warmup.js +5 -4
  26. package/dist/foundation/startup/startup-runtime.js +13 -11
  27. package/dist/foundation/supervision/main.js +8 -7
  28. package/dist/integrations/pi/components/owned-editor-ux.d.ts +1 -0
  29. package/dist/integrations/pi/components/owned-editor-ux.js +54 -3
  30. package/dist/integrations/pi/components/shell-editor-autocomplete.js +3 -0
  31. package/dist/integrations/pi/components/shell-presenters-info.d.ts +9 -2
  32. package/dist/integrations/pi/components/shell-presenters-info.js +35 -4
  33. package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +3 -2
  34. package/dist/integrations/pi/components/shell-selectors-dialogs.js +8 -5
  35. package/dist/integrations/pi/components/shell-shared-facade.d.ts +9 -2
  36. package/dist/integrations/pi/components/upstream/assets/earendil-image.json +12 -0
  37. package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +25 -2
  38. package/dist/integrations/pi/engine/adapter.d.ts +13 -1
  39. package/dist/integrations/pi/engine/adapter.js +86 -25
  40. package/dist/integrations/pi/engine/changelog.d.ts +2 -0
  41. package/dist/integrations/pi/engine/changelog.js +63 -0
  42. package/dist/integrations/pi/engine/resources/changelog.json +12 -0
  43. package/dist/integrations/pi/engine/workflow-controllers.d.ts +1 -1
  44. package/dist/integrations/pi/engine/workflows.d.ts +1 -1
  45. package/dist/integrations/pi/session-ui/prompt-chips.d.ts +3 -1
  46. package/dist/integrations/pi/session-ui/prompt-chips.js +37 -13
  47. package/dist/integrations/pi/session-ui/session-shell-root.d.ts +25 -0
  48. package/dist/integrations/pi/session-ui/session-shell-root.js +65 -74
  49. package/dist/integrations/pi/session-ui/session-shell.d.ts +1 -1
  50. package/dist/integrations/pi/session-ui/session-shell.js +58 -7
  51. package/dist/integrations/pi/session-ui/session-viewport-controller.d.ts +5 -0
  52. package/dist/integrations/pi/session-ui/session-viewport-controller.js +21 -15
  53. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +7 -0
  54. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +7 -6
  55. package/dist/native/darwin-arm64/manifest.json +1 -1
  56. package/dist/native/linux-x64/manifest.json +1 -1
  57. package/dist/native/win32-x64/manifest.json +2 -2
  58. package/dist/native/win32-x64/process-guardian.exe +0 -0
  59. package/dist/product-identity.d.ts +1 -1
  60. package/dist/product-identity.js +2 -35
  61. package/dist/product-identity.json +0 -22
  62. package/dist/ui/components/transcript-viewport.d.ts +8 -0
  63. package/dist/ui/components/transcript-viewport.js +23 -2
  64. package/dist/ui/components/visible-hyperlinks.d.ts +7 -0
  65. package/dist/ui/components/visible-hyperlinks.js +1 -0
  66. package/dist/ui/settings/declarations.js +1 -0
  67. package/dist/ui/settings/sections.js +11 -1
  68. package/docs/architecture/boundaries.md +2 -1
  69. package/docs/architecture/internal-naming.md +89 -0
  70. package/docs/architecture/resource-and-data-policy.md +9 -4
  71. package/docs/architecture/toolchain.md +15 -1
  72. package/docs/features/prompt-history.md +39 -11
  73. package/package.json +8 -3
@@ -36,10 +36,23 @@ imported automatically.
36
36
 
37
37
  | Platform | Default durable location |
38
38
  |---|---|
39
- | Windows | `%LOCALAPPDATA%/a1/history/<profile-id>.sqlite3` |
40
- | Current Unix policy (including macOS) | `$XDG_DATA_HOME/a1/history/<profile-id>.sqlite3`, or `~/.local/share/a1/history/<profile-id>.sqlite3` |
39
+ | Windows | `%USERPROFILE%/.a1/data/history/<profile-id>.sqlite3` |
40
+ | Linux and macOS | `~/.a1/data/history/<profile-id>.sqlite3` |
41
41
  | Explicit override | `<A1_DATA_DIR>/history/<profile-id>.sqlite3` |
42
42
 
43
+ The default uses A1's effective profile home: `A1_PROFILE_HOME` when set, otherwise
44
+ the operating-system home. A custom agent-profile directory changes the history
45
+ identity, not this default root. `A1_DATA_DIR` takes precedence for storage;
46
+ `XDG_DATA_HOME` does not redirect default history. Control metadata, settings,
47
+ agent resources, releases, logs, runtime files, and caches keep their existing
48
+ locations.
49
+
50
+ **The home-based default starts fresh.** Previous versions used
51
+ `%LOCALAPPDATA%/a1/history` on Windows, or `$XDG_DATA_HOME/a1/history` /
52
+ `~/.local/share/a1/history` on Unix. A1 does not probe, import, merge, delete, or
53
+ fall back to those stores. Explicit `A1_DATA_DIR` selections still work normally.
54
+ Old and new releases using different roots do not synchronize history.
55
+
43
56
  The profile filename is `a1-` followed by a SHA-256 digest of a versioned tuple
44
57
  containing the launch kind and normalized effective agent-profile path. It is
45
58
  independent of project, session, checkout, and release. Windows ordinary case and
@@ -48,13 +61,16 @@ files. Moving a profile, unresolved symlink aliases, or selecting a different
48
61
  data root can select a different history; A1 never silently merges or imports it.
49
62
 
50
63
  The database is separate from `control.sqlite3`, agent resources, and disposable
51
- caches. Upgrades, release rollback, cache cleanup, and conversation deletion do
52
- not clear it. SQLite may keep `-wal` and `-shm` sidecars beside the database.
64
+ caches. Upgrades, ordinary npm uninstall/reinstall, release rollback, cache cleanup,
65
+ and conversation deletion do not clear it. Reusing saved history requires the
66
+ same profile and history root; explicitly deleting user data still removes it.
67
+ SQLite may keep `-wal` and `-shm` sidecars beside the database.
53
68
 
54
69
  **History is unencrypted potentially sensitive user text.** Owner permissions
55
- are restricted where supported; Windows uses the account's application-data
56
- ACLs. These protections do not make it safe to submit secrets. Credential files,
57
- image data, arbitrary environment values, assistant/tool output, and terminal
70
+ are restricted where supported; Windows uses inherited ACLs at the selected
71
+ history directory. Review parent-directory permissions if you customize your home
72
+ or override root. These protections do not make it safe to submit secrets.
73
+ Credential files, image data, arbitrary environment values, assistant/tool output, and terminal
58
74
  streams are not copied into this store. Prompt content and private provenance
59
75
  must not appear in history diagnostics or test evidence.
60
76
 
@@ -96,15 +112,27 @@ two seconds and reports an incomplete flush without preventing exit.
96
112
 
97
113
  First close **every instance using the selected profile**. Then remove only that
98
114
  profile's `.sqlite3` file and its matching `-wal` and `-shm` sidecars, if present.
99
- Do not delete an open database or the whole application-data root. Disabling the
100
- setting alone is not an erase operation. There is no interactive clear/export
101
- command in this release.
115
+ Do not delete an open database, the whole `.a1` directory, or the whole
116
+ application-data root. Disabling the setting alone is not an erase operation.
117
+ There is no interactive clear/export command in this release.
118
+
119
+ Removing a former default store is likewise a one-time manual cleanup, not an
120
+ application feature. Wait until you have switched to the new version and closed
121
+ all instances using the old store; an older running version can otherwise keep
122
+ using or recreate it. Remove only the identified old profile database and matching
123
+ sidecars, not other profiles or either application's caches.
102
124
 
103
125
  ## Manual acceptance
104
126
 
105
127
  Build the checkout, then launch it through `./scripts/dev`. Use an isolated
106
128
  `A1_DATA_DIR` for disposable history checks; keep that same directory on each
107
- restart and in both concurrent terminals. Test:
129
+ restart and in both concurrent terminals. The development launcher always sets
130
+ an isolated `A1_DATA_DIR`; to try the home-based location in that launcher,
131
+ explicitly select `A1_DATA_DIR=<effective-home>/.a1/data` and keep
132
+ `A1_DATABASE_PATH` in a separate disposable directory so control metadata is not
133
+ placed beside history. For a history-only review, `NODE_DISABLE_COMPILE_CACHE=1`
134
+ also avoids creating compile-cache files under that explicitly overridden root.
135
+ The focused path/composition tests cover normal no-override selection. Test:
108
136
 
109
137
  1. Submit two text prompts and one repeated prompt; start `/new`, then restart.
110
138
  The latest unique prompts remain recallable.
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@timurproko/a1",
3
- "version": "0.1.8-dev.299",
3
+ "version": "0.1.8-dev.322",
4
4
  "description": "Standalone terminal workspace for supervised native and managed agents",
5
5
  "type": "module",
6
+ "privateLaunchContract": "neutral-launch-v1",
6
7
  "packageManager": "npm@11.13.0",
7
8
  "bin": {
8
9
  "a1": "bin/cli.js"
@@ -26,7 +27,9 @@
26
27
  "build": "npm run clean && tsc -p tsconfig.build.json && node scripts/development/build-process-guardian.mjs && node scripts/release/generate-runtime-payload-inventory.mjs",
27
28
  "build:process-guardian": "node scripts/development/build-process-guardian.mjs",
28
29
  "typecheck": "tsgo -p tsconfig.json --noEmit",
29
- "check:architecture": "node scripts/governance/check-architecture.mjs && node scripts/governance/product-identifier-policy.mjs --check && node scripts/governance/check-product-identity-boundaries.mjs && node scripts/governance/check-package-identity.mjs && node scripts/governance/check-pinned-pi-source-ledger.mjs && node scripts/governance/check-terminal-host-provenance.mjs",
30
+ "check:architecture": "node scripts/governance/check-architecture.mjs && node scripts/governance/check-product-identity-boundaries.mjs && node scripts/governance/check-package-identity.mjs && node scripts/governance/check-pinned-pi-source-ledger.mjs && node scripts/governance/check-terminal-host-provenance.mjs",
31
+ "check:names": "node scripts/governance/product-identifier-policy.mjs --check",
32
+ "check:names:changed": "node scripts/governance/product-identifier-policy.mjs --check --selection .artifacts/validation/impact.json",
30
33
  "check:code-documentation": "node scripts/governance/check-code-documentation.mjs --mode full",
31
34
  "check:code-documentation:changed": "node scripts/release/run-changed-documentation.mjs",
32
35
  "select:validation-impact": "node scripts/release/select-validation-impact.mjs",
@@ -70,6 +73,7 @@
70
73
  "undici": "8.9.0"
71
74
  },
72
75
  "devDependencies": {
76
+ "@lezer/python": "1.1.19",
73
77
  "@types/cross-spawn": "6.0.6",
74
78
  "@types/node": "24.2.1",
75
79
  "@types/semver": "7.8.0",
@@ -78,7 +82,8 @@
78
82
  "node-pty": "1.1.0",
79
83
  "tsx": "4.20.3",
80
84
  "typescript": "5.9.2",
81
- "vitest": "3.2.7"
85
+ "vitest": "3.2.7",
86
+ "yaml": "2.9.1"
82
87
  },
83
88
  "keywords": [
84
89
  "cli",