@timurproko/a1 0.2.2 → 0.2.3-dev.655
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/dist/app/session-shell/session-shell.js +9 -2
- package/dist/composition/owned-ui.js +3 -3
- package/dist/contracts/owned-ui/model.d.ts +5 -0
- package/dist/foundation/startup/startup-descriptor.js +2 -2
- package/dist/integrations/pi/components/resources/builtin-themes.d.ts +114 -126
- package/dist/integrations/pi/components/resources/builtin-themes.js +145 -157
- package/dist/integrations/pi/components/shell-footer-status.js +12 -8
- package/dist/integrations/pi/components/shell-presenters-info.js +1 -1
- package/dist/integrations/pi/components/shell-selectors-dialogs.js +1 -0
- package/dist/integrations/pi/components/shell-shared-facade.js +1 -2
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +2 -2
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +2 -2
- package/dist/integrations/pi/components/upstream/assets/earendil-image.json +2 -2
- package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/daxnuts.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/daxnuts.js +1 -1
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-editor.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-input.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/components/mermaid.js +1 -1
- package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/owned-editor.js +1 -1
- package/dist/integrations/pi/components/upstream/components/pi-logo.d.ts +2 -0
- package/dist/integrations/pi/components/upstream/components/pi-logo.js +21 -0
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/session-footer.js +13 -6
- package/dist/integrations/pi/components/upstream/components/session-selector-search.js +1 -1
- package/dist/integrations/pi/components/upstream/components/session-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +1 -1
- package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/status-indicator.js +1 -1
- package/dist/integrations/pi/components/upstream/components/themed-text.d.ts +16 -0
- package/dist/integrations/pi/components/upstream/components/themed-text.js +28 -0
- package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/thinking-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/components/tool-execution.js +25 -3
- package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/tree-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/components/trust-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/external-editor.js +1 -1
- package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/editor-core.js +5 -3
- package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/kill-ring.js +1 -1
- package/dist/integrations/pi/components/upstream/history/printable-key.js +1 -1
- package/dist/integrations/pi/components/upstream/history/text-helpers.js +1 -1
- package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/undo-stack.js +1 -1
- package/dist/integrations/pi/components/upstream/history/word-navigation.js +1 -1
- package/dist/integrations/pi/components/upstream/model-search.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/system-theme.d.ts +60 -0
- package/dist/integrations/pi/components/upstream/theme/system-theme.js +695 -0
- package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/theme.d.ts +6 -2
- package/dist/integrations/pi/components/upstream/theme/theme.js +22 -7
- package/dist/integrations/pi/engine/adapter.js +6 -0
- package/dist/integrations/pi/engine/pi-settings-metadata.json +10 -0
- package/dist/integrations/pi/engine/resources/changelog.json +4 -4
- package/dist/integrations/pi/engine/session-integration.d.ts +2 -2
- package/dist/integrations/pi/engine/session-integration.js +1 -1
- package/dist/integrations/pi/engine/settings-bridge.d.ts +1 -1
- package/dist/integrations/pi/engine/settings-bridge.js +9 -0
- package/dist/integrations/pi/engine/settings-port.js +4 -1
- package/dist/integrations/pi/engine/workflows.d.ts +2 -1
- package/dist/integrations/pi/engine/workflows.js +1 -0
- package/dist/integrations/pi/startup-public.js +1925 -1309
- package/dist/integrations/pi/startup-public.manifest.json +1611 -929
- package/dist/integrations/pi/tui-runtime/adapter.d.ts +2 -0
- package/dist/integrations/pi/tui-runtime/adapter.js +5 -0
- package/dist/integrations/pi/tui-runtime/contracts.d.ts +2 -1
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +1 -1
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +1 -1
- package/dist/native/darwin-arm64/manifest.json +3 -3
- package/dist/native/darwin-arm64/process-guardian +0 -0
- package/dist/native/linux-x64/manifest.json +3 -3
- package/dist/native/linux-x64/process-guardian +0 -0
- package/dist/native/win32-x64/manifest.json +3 -3
- package/dist/native/win32-x64/process-guardian.exe +0 -0
- package/dist/runtime-payload-inventory.json +40622 -27400
- package/docs/architecture/toolchain.md +1 -1
- package/docs/ci-release-runbook.md +19 -11
- package/package.json +3 -3
|
@@ -81,7 +81,7 @@ Presentation acceptance is the reader comparing `a1 pi` with pinned Pi. `node sc
|
|
|
81
81
|
|
|
82
82
|
## Publication
|
|
83
83
|
|
|
84
|
-
One reusable workflow publishes both npm channels: `.github/workflows/publish.yml`. Pushes do not publish. Nightly development verification runs at `03:17 UTC`; `npm run develop` dispatches the development wrapper for a numbered preview. `npm run release -- patch` generates a source-bound draft GitHub Release with a Pi-style version/date heading and categorized change sections, starts `.github/workflows/release-candidate.yml` to run the complete stable suite on that source, prints the run link, waits for it, and prints the draft editing link once only after it passes. Choosing native **Publish release** on the draft is the only stable npm trigger: GitHub creates the tag at the bound source, and the `release.published` workflow calls the default-branch publisher, which derives the authorized human actor, source, Release identity, normalized body, and digest, and requires the successful candidate run for that source and version. A preview is stamped as `-dev.<merged pull-request number>` and uses npm `next` only as an internal dist-tag. New candidates pack the application and dependency-free installer once each—including committed release history plus the approved current note snapshot—and validate their exact bytes on Windows, Linux, and macOS; after the click the published note is repacked and the exact-package gates run on the final bytes. A repeated nightly verifies both immutable registry tarballs. After npm verification, publication uploads the asset and fast-forwards `master`, then App-authenticated automation proposes one exact,
|
|
84
|
+
One reusable workflow publishes both npm channels: `.github/workflows/publish.yml`. Pushes do not publish. Nightly development verification runs at `03:17 UTC`; `npm run develop` dispatches the development wrapper for a numbered preview. `npm run release -- patch` generates a source-bound draft GitHub Release with a Pi-style version/date heading and categorized change sections, starts `.github/workflows/release-candidate.yml` to run the complete stable suite on that source, prints the run link, waits for it, and prints the draft editing link once only after it passes. Choosing native **Publish release** on the draft is the only stable npm trigger: GitHub creates the tag at the bound source, and the `release.published` workflow calls the default-branch publisher, which derives the authorized human actor, source, Release identity, normalized body, and digest, and requires the successful candidate run for that source and version. A preview is stamped as `-dev.<merged pull-request number>` and uses npm `next` only as an internal dist-tag. New candidates pack the application and dependency-free installer once each—including committed release history plus the approved current note snapshot—and validate their exact bytes on Windows, Linux, and macOS; after the click the published note is repacked and the exact-package gates run on the final bytes. A repeated nightly verifies both immutable registry tarballs. After npm verification, publication uploads the asset and fast-forwards `master`, then App-authenticated automation proposes one exact reopening PR, which documentation auto-merge re-verifies and merges after required CI, storing both next `-dev` versions and the note. A failure before either package reaches npm returns the Release to draft and deletes its unconsumed tag, the only tag deletion the release-automation App may perform; after npm, the same run's failed jobs are rerun. Tags are never moved or reused. All npm publication uses provenance from the `npm-publish` environment, a preview never changes `latest`, and one global non-cancelling concurrency group serializes the final registry check.
|
|
85
85
|
|
|
86
86
|
`docs/ci-release-runbook.md` is the operational reference.
|
|
87
87
|
|
|
@@ -13,7 +13,7 @@ channel. It starts at `03:17 UTC` for nightly development verification or as a
|
|
|
13
13
|
trusted reusable workflow: `npm run develop` dispatches `develop.yml`, the stable
|
|
14
14
|
release command dispatches `release-candidate.yml` to validate the prepared source
|
|
15
15
|
without publishing, and native **Publish release** on the prepared draft runs
|
|
16
|
-
`
|
|
16
|
+
`release.yml`, which publishes.
|
|
17
17
|
The maintainer never opens Actions or re-enters the version.
|
|
18
18
|
|
|
19
19
|
npm trusted publishing binds authorization to the exact workflow filename of the
|
|
@@ -23,13 +23,16 @@ npmjs.com, with repository `timurproko/a1` and environment `npm-publish`:
|
|
|
23
23
|
|
|
24
24
|
| Trusted publisher workflow | Publishes |
|
|
25
25
|
| --- | --- |
|
|
26
|
-
| `
|
|
26
|
+
| `release.yml` | stable `latest` after native **Publish release** |
|
|
27
27
|
| `develop.yml` | numbered previews from `npm run develop` |
|
|
28
28
|
| `publish.yml` | nightly `next` from its own schedule |
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
Before native stable publication, both package settings must show `release.yml`, and the
|
|
31
|
+
draft's bound source must contain `.github/workflows/release.yml`; reprepare any draft
|
|
32
|
+
bound to an older source rather than publishing it. Both packages should list exactly
|
|
33
|
+
these active caller identities; obsolete trusted-publisher entries should be removed.
|
|
34
|
+
No npm token is used: before either upload, the publish job requires npm >= 11.5.1
|
|
35
|
+
and completes the trusted-publishing token exchange for both packages. A refusal fails there, before
|
|
33
36
|
anything is uploaded, and names the workflow and environment to register. When a
|
|
34
37
|
caller's path changes, update both packages before the next publication through it.
|
|
35
38
|
|
|
@@ -82,7 +85,7 @@ effect of stable publication, not a trigger.
|
|
|
82
85
|
| `npm run develop` | Preview package gates on Windows, Linux, and macOS; an existing numbered preview is an early successful no-op |
|
|
83
86
|
| Nightly at `03:17 UTC` | One full documentation review plus the complete non-physical suite on Windows, Linux, and macOS, every night |
|
|
84
87
|
| `npm run release -- ...` | Creates an editable source-bound draft (or refreshes the existing draft of that version bound to an older `develop`, regenerating its notes and removing duplicate drafts of that version), starts the complete stable suite on that source in `.github/workflows/release-candidate.yml`, prints its run link, waits, and prints the draft edit link only after validation passes |
|
|
85
|
-
| Native **Publish release** on the prepared draft | GitHub creates the source-bound tag; `.github/workflows/
|
|
88
|
+
| Native **Publish release** on the prepared draft | GitHub creates the source-bound tag; `.github/workflows/release.yml` requires the successful candidate run, adopts the package pair it validated (replacing only the packaged release-note resource when the note was edited), proves npm trust, publishes both packages to npm `latest`, and proposes one reopening-and-note PR that auto-merges after required CI; a failure before npm returns the Release to draft |
|
|
86
89
|
| `.github/workflows/release-tag-cleanup.yml` | When a stable Release is deleted, or on dispatch with a version (`gh workflow run release-tag-cleanup.yml -f version=X.Y.Z`): the release-automation App deletes the leftover `vX.Y.Z` tag only while no Release uses it and npm serves neither package; a published version's tag is permanent |
|
|
87
90
|
| `.github/workflows/full-regression.yml` | Additional on-demand complete regression without publication authority |
|
|
88
91
|
| `.github/workflows/pi-upstream-sync.yml` | Nightly at `03:23 UTC`: when npm publishes a newer Pi than the pin that no closed proposal skipped, proposes the upgrade as a draft pull request with the vendored copies that follow upstream merged, the kept copies reported with their upstream delta, the ledger, headers, inventories, public API and feature baselines, startup graph, and parity evidence regenerated, and every gate verdict (passed, failed, or blocked by conflict markers) and review item in the body; never merges and never replaces a proposal a human has continued |
|
|
@@ -166,7 +169,11 @@ succeeds. If validation finishes before auto-merge can be armed and GitHub alrea
|
|
|
166
169
|
reports the pull request clean, the reconciler squash-merges only the validated head
|
|
167
170
|
SHA. Every current and renamed-from path must be under `openspec/**`, under
|
|
168
171
|
`docs/**` other than `docs/releases/**`, or exactly the root `README.md`. Release
|
|
169
|
-
history
|
|
172
|
+
history requires manual integration except in the verified release reopening PR:
|
|
173
|
+
a `chore/release-X.Y.Z-dev` PR opened by `openspec-ci[bot]` that modifies only the
|
|
174
|
+
three version declarations (base `<released>-dev`, head its patch successor `-dev`,
|
|
175
|
+
nothing else in the manifests) and adds exactly `docs/releases/<released>.md` equal
|
|
176
|
+
to the published stable Release body. It takes the same validated squash route. Eligible pull requests must use a
|
|
170
177
|
non-draft branch in this repository and target `develop`. Implementation-associated PRs and newly introduced active OpenSpec changes are held for manual integration even when their diff is documentation-only. Body edits trigger reconciliation; removing a marker cannot bypass the base/head tree check. Standalone existing-change revisions and archive moves remain eligible.
|
|
171
178
|
|
|
172
179
|
The exact allowlist covers maintained OpenSpec, architecture, feature, manual,
|
|
@@ -273,7 +280,7 @@ the version. The retired `--approve` form remains a mutation-free usage error.
|
|
|
273
280
|
2. **Edit.** When validation passes, open the printed Releases URL and edit the
|
|
274
281
|
changelog. **Save draft** is optional and starts nothing.
|
|
275
282
|
3. **Publish.** Choose native **Publish release**. GitHub creates the tag at the bound
|
|
276
|
-
source, and its `release.published` event starts `
|
|
283
|
+
source, and its `release.published` event starts `release.yml`. Trusted default-branch code requires the
|
|
277
284
|
publisher to be a GitHub `User` with `write`, `maintain`, or `admin` permission,
|
|
278
285
|
the Release and tag to match the bound source, both npm versions to be absent, and
|
|
279
286
|
the candidate validation of that exact source and version to have succeeded. Apps,
|
|
@@ -288,8 +295,9 @@ the version. The retired `--approve` form remains a mutation-free usage error.
|
|
|
288
295
|
uploads the asset, fast-forwards `master`, and creates or exactly reuses
|
|
289
296
|
`chore/release-0.1.9-dev`. That PR's single commit changes only the application
|
|
290
297
|
manifest, root lockfile, installer version, and exact `docs/releases/0.1.8.md`.
|
|
291
|
-
|
|
292
|
-
|
|
298
|
+
Documentation auto-merge re-verifies that exact content and squash-merges it
|
|
299
|
+
once required CI passes on its current head. If any check fails it disables
|
|
300
|
+
auto-merge; then let required CI pass and **merge it manually**.
|
|
293
301
|
|
|
294
302
|
Publishing before validation finishes is safe: publication fails before npm and the
|
|
295
303
|
Release returns to draft. Publish the draft again once validation has succeeded.
|
|
@@ -366,7 +374,7 @@ Rules that do not bend:
|
|
|
366
374
|
- **Draft preparation stops:** inspect the reported draft Release. Preparation may safely reuse an exact source-bound draft without overwriting edits, and reuses a running or successful validation of the same source and version. If `develop` advanced, retire the stale draft explicitly and prepare a new one from synchronized `develop`.
|
|
367
375
|
- **Candidate validation fails:** do not publish the draft. Fix the failure on `develop`, retire the draft, and prepare again; the new draft binds the new source. Publishing anyway fails before npm and returns the Release to draft.
|
|
368
376
|
- **Publication fails before npm:** the rollback job returns the Release to draft and deletes the unconsumed tag, so no manual tag cleanup is needed. Read the failed `Publish stable release` run, fix the cause (for example, wait for validation, undo a body edit made after publishing, rerun candidate validation when its retained package is missing or older than 30 days, or register the trusted publisher the npm preflight names), and choose **Publish release** again. If the rollback job itself failed, rerun it; never delete or move a tag by hand.
|
|
369
|
-
- **Publication fails after npm:** the Release and tag stay. Rerun the failed jobs of that same run: its retained candidate and digests make the final registry check an exact-byte no-op for any package already published. Any recovered reopening PR must contain only both next `-dev` version declarations and the exact approved `docs/releases/<released>.md`; merge it by hand
|
|
377
|
+
- **Publication fails after npm:** the Release and tag stay. Rerun the failed jobs of that same run: its retained candidate and digests make the final registry check an exact-byte no-op for any package already published. Any recovered reopening PR must contain only both next `-dev` version declarations and the exact approved `docs/releases/<released>.md`; it auto-merges after CI when it verifies, otherwise merge it by hand. Never republish immutable bytes. Never repeat stable publication for a published version.
|
|
370
378
|
|
|
371
379
|
## Safe release-command validation
|
|
372
380
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@timurproko/a1",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3-dev.655",
|
|
4
4
|
"description": "Standalone terminal workspace for supervised native and managed agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"privateLaunchContract": "neutral-launch-v1",
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
"typecheck:bin": "tsgo -p tsconfig.bin.json"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@earendil-works/pi-coding-agent": "0.
|
|
68
|
-
"@earendil-works/pi-tui": "0.
|
|
67
|
+
"@earendil-works/pi-coding-agent": "0.99.2",
|
|
68
|
+
"@earendil-works/pi-tui": "0.99.2",
|
|
69
69
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
70
70
|
"chalk": "5.6.2",
|
|
71
71
|
"cross-spawn": "7.0.6",
|