@prjct.app/pi-activity 0.1.2 → 0.2.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
+ ## [0.2.0](https://github.com/prjct-app/pi-activity/compare/v0.1.3...v0.2.0) (2026-09-10)
2
+
3
+ ### Features
4
+
5
+ * redesign activity TUI ([d946ae6](https://github.com/prjct-app/pi-activity/commit/d946ae6f55044506c270acac76a8b8168750fce1))
6
+
7
+ ### Bug Fixes
8
+
9
+ * preserve default working indicator ([e2842e5](https://github.com/prjct-app/pi-activity/commit/e2842e53acc13fca216d7d7d616604d7d81961d4))
10
+ * **release:** align tooling with pi-team ([d5b30e6](https://github.com/prjct-app/pi-activity/commit/d5b30e65cdb8a3b0277f1acd89b0f06ea0bc4348))
11
+
1
12
  # Changelog
2
13
 
14
+ ## Unreleased
15
+
16
+ - Redesign tool activity as responsive semantic rows with tool-specific outcomes and durations.
17
+ - Add syntax-highlighted expanded reads and writes, line numbers, colored edit diffs, and truncation evidence.
18
+ - Add a temporary parallel-tool widget, composable footer status, and waiting and cancellation states while preserving Pi's default working indicator.
19
+ - Replace the count-only summary with an expandable report for observed file changes, verification commands, issues, and truncation.
20
+ - Add `/activity` for interactive history inspection and `/activity-settings` for persistent minimal, balanced, and forensic density modes.
21
+ - Preserve the active-session working directory and native built-in tool execution.
22
+
23
+ ## 0.1.3
24
+
25
+ - Clarify the package description and add focused discovery keywords.
26
+ - Declare the cover image for the official Pi package gallery.
27
+
28
+ - Align repository, documentation, and cover URLs with the npm package name.
29
+
3
30
  ## 0.1.2
4
31
 
5
32
  - Use a publicly accessible cover URL so npm renders the image for every visitor.
package/CONTRIBUTING.md CHANGED
@@ -12,3 +12,7 @@
12
12
  ## Package documentation
13
13
 
14
14
  Follow [docs/package.md](docs/package.md) and its versioned official references. Keep README examples consistent with registered commands, distinguish tested behavior from unverified compatibility, and verify `npm run check:package` before release.
15
+
16
+ ## Releases
17
+
18
+ Merging a releasable change into `main` automatically publishes to npm. Use conventional commit messages and read [Automatic releases](docs/releases.md) before merging. The workflow manages versions and authenticates with npm through OIDC.
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # pi-activity
2
2
 
3
- [![pi-activity — extension for PI Agent](https://raw.githubusercontent.com/prjct-app/pi-image-preview/main/docs/covers/pi-activity.png)](https://pi.dev)
3
+ [![pi-activity — extension for PI Agent](https://raw.githubusercontent.com/prjct-app/pi-clipboard/main/docs/covers/pi-activity.png)](https://pi.dev)
4
4
 
5
- Compact, expandable tool activity and run summaries for Pi.
5
+ Keep PI Agent tool output readable with compact, expandable activity rows and summaries of actions, errors, and changed files.
6
6
 
7
7
  `@prjct.app/pi-activity` · Tool renderers and activity summaries; one extension.
8
8
 
@@ -20,9 +20,33 @@ For project-only installation, add `-l`: `pi install -l npm:@prjct.app/pi-activi
20
20
 
21
21
  ## Usage
22
22
 
23
- Start Pi and ask it to inspect a file or run a command. Tool calls appear as compact rows. Use Pi's tool-output expansion shortcut (Ctrl+O by default) to inspect details. An activity summary is added after the agent settles.
23
+ Start Pi and ask it to inspect a file or run a command. Tool calls become responsive, semantic activity rows:
24
24
 
25
- The extension retains the native execution functions for the built-in tools it overrides. It changes their presentation and tracks actions, errors, and modified-file evidence. It does not remove thinking transcript rows. Avoid enabling another extension that overrides the same built-in tool renderers.
25
+ ```text
26
+ ◆ RUN npm test 1.8s
27
+ ✓ READ src/auth.ts 184 lines
28
+ ✓ SEARCH "renderResult" 8 matches
29
+ ✓ EDIT src/auth.ts +18 −6
30
+ ✕ RUN npm run lint exit 1
31
+ ```
32
+
33
+ While tools run, a temporary widget shows parallel work above the editor. The footer status distinguishes thinking, active tools, prompts waiting for input, successful runs, and runs with issues. Rows adapt to narrow terminals and use the active Pi theme rather than a fixed palette.
34
+
35
+ Use Pi's configured tool-output expansion shortcut (`Ctrl+O` by default) for detailed output. Expanded reads and writes include syntax highlighting and line numbers, edits include colored diffs, and truncation evidence and full-output paths remain visible.
36
+
37
+ After the agent settles, an expandable activity report groups:
38
+
39
+ - files observed through `edit` and `write`, including available line statistics;
40
+ - verification commands such as tests, type checks, builds, and linters;
41
+ - errors, cancellations, durations, and truncated results.
42
+
43
+ Run `/activity` to open the interactive activity inspector. Use its All, Changed, Commands, and Issues filters, then press Enter to inspect metadata and the in-memory result preview. Run `/activity-settings` for the picker, or `/activity-settings forensic` to select a mode directly. Three row densities persist in the session:
44
+
45
+ - `minimal` — action and target, with failure outcomes;
46
+ - `balanced` — outcomes and durations (default);
47
+ - `forensic` — balanced metadata plus category and truncation evidence.
48
+
49
+ The extension retains the native execution functions for the seven built-in tools it overrides. It changes presentation and records activity evidence; it does not audit filesystem changes made indirectly by shell commands. Therefore the report deliberately labels modified files as *observed through edit/write*, not as an exhaustive repository diff. It does not remove thinking transcript rows. Avoid enabling another extension that overrides the same built-in tool renderers.
26
50
 
27
51
 
28
52
  ## Manage the package
@@ -37,13 +61,13 @@ pi remove npm:@prjct.app/pi-activity
37
61
 
38
62
  Use `pi config` to enable or disable individual resources. Use `pi config -l` for project settings and add `-l` to removal when you installed locally.
39
63
 
40
- To pin version 0.1.2, use `pi install npm:@prjct.app/pi-activity@0.1.2`. Pi skips pinned npm versions during package updates. For a Git installation, update or remove using the same `git:github.com/prjct-app/pi-minimalist-activity` source instead of the npm source.
64
+ To pin version 0.1.3, use `pi install npm:@prjct.app/pi-activity@0.1.3`. Pi skips pinned npm versions during package updates. For a Git installation, update or remove using the same `git:github.com/prjct-app/pi-activity` source instead of the npm source.
41
65
 
42
66
  When switching from GitHub to npm, remove the Git installation first, then install the npm package and restart Pi.
43
67
 
44
68
  ## Troubleshooting
45
69
 
46
- If the compact rows are missing, inspect enabled resources with `pi config` and check for another extension registering the same tool names. Terminal UI changes require TUI mode.
70
+ If the activity rows are missing, inspect enabled resources with `pi config` and check for another extension registering the same tool names. Widgets, custom inspectors, and styled tool output require TUI mode. `/activity` keeps the latest 200 recorded actions available in the current session; persisted summaries restore metadata after resume, while full result previews remain in the original tool entries.
47
71
 
48
72
  ## Package and API documentation
49
73
 
package/docs/package.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  - npm name: `@prjct.app/pi-activity`.
6
6
  - Initial version: `0.1.0`.
7
- - Source repository: [prjct-app/pi-minimalist-activity](https://github.com/prjct-app/pi-minimalist-activity).
7
+ - Source repository: [prjct-app/pi-activity](https://github.com/prjct-app/pi-activity).
8
8
  - Tested host: Pi `0.85.1`; Node.js `22.19+`.
9
9
 
10
10
  The npm name and repository name may differ. Repository URLs remain unchanged. Existing runtime command names, event names, persisted entry types, and settings keys are unchanged by the package rename.
@@ -35,11 +35,13 @@ Third-party runtime dependencies belong in `dependencies`. Companion extensions
35
35
 
36
36
  ## Public interfaces
37
37
 
38
- Uses documented `registerTool()` overrides, working-message and working-indicator APIs, lifecycle events, and persisted summary entries.
38
+ Uses documented `registerTool()` overrides and render contexts, `registerEntryRenderer()`, `registerCommand()`, lifecycle and tool-execution events, keybinding hints, syntax highlighting, diff rendering, working messages, composable status text, temporary widgets, `ctx.ui.custom()`, and `SettingsList`. The extension deliberately leaves Pi's default working indicator unchanged.
39
+
40
+ Activity summaries and density preferences use custom session entries. They do not enter model context and are reconstructed from the active session branch after resume or tree navigation. Terminal-only calls are guarded by `ctx.mode === "tui"`.
39
41
 
40
42
  ## Published contents
41
43
 
42
- The `files` allowlist includes runtime resources, user documentation, and license files. Development tests, dependency folders, repository settings, and Git history are excluded. npm also includes `package.json` automatically. The npm lockfile remains in the repository for repeatable development installs.
44
+ The `files` allowlist includes the TypeScript entry point, its `src/` runtime modules, user documentation, and license files. Development tests, dependency folders, repository settings, and Git history are excluded. npm also includes `package.json` automatically. The npm lockfile remains in the repository for repeatable development installs.
43
45
 
44
46
  Run `npm run check:package` to inspect the exact prospective tarball before release. Check that each manifest entry and each referenced local document exists in the packed file list. Only claim npm availability after verifying a successful registry publication.
45
47
 
@@ -52,3 +54,7 @@ These links are pinned to the tested Pi version rather than the moving main bran
52
54
  - [TUI: components, rendering, terminal widths, and image support](https://github.com/earendil-works/pi/blob/v0.85.1/packages/coding-agent/docs/tui.md).
53
55
 
54
56
  The installed `@earendil-works/pi-coding-agent@0.85.1` package ships the same guides under `docs/`. The [current official guide](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/packages.md) may describe changes beyond this tested baseline.
57
+
58
+ ## Discovery metadata
59
+
60
+ The `pi-package` keyword identifies this package for the official Pi gallery. Focused keywords describe its actual features. The `pi.image` field points to its public cover, following the [official gallery metadata format](https://github.com/earendil-works/pi/blob/v0.85.1/packages/coding-agent/docs/packages.md#gallery-metadata).
@@ -0,0 +1,29 @@
1
+ # Automatic releases
2
+
3
+ Merging a releasable change into `main` starts the **Release** workflow. It checks TypeScript, runs the tests, and checks the package contents before publishing.
4
+
5
+ The workflow uses semantic-release to calculate the version, update `package.json`, `package-lock.json` and `CHANGELOG.md`, create a `vX.Y.Z` tag, publish to npm, and create a GitHub release. Release-tool dependencies are locked separately under `.github/release/` and are not installed with the extension.
6
+
7
+ ## Commit messages
8
+
9
+ - `fix:` and `perf:` publish a patch version.
10
+ - `feat:` publishes a minor version.
11
+ - A `BREAKING CHANGE:` footer or a conventional `!` marker publishes a major version.
12
+ - `docs:`, `refactor:`, `build:`, `ci(release):`, and `chore(deps):` publish a patch version.
13
+ - Other changes, such as tests alone, do not publish a version.
14
+
15
+ Use these prefixes on commits. When squash merging, use a conventional prefix in the pull request title. Let the workflow manage release versions instead of editing the version by hand.
16
+
17
+ ## Authentication
18
+
19
+ npm trusts this repository's `.github/workflows/release.yml` through GitHub Actions OIDC. No npm token or interactive one-time password is needed for each release. The workflow is restricted to `main`; it uses GitHub's short-lived repository token to write the version commit, tag, and release. Private repositories do not produce npm provenance attestations.
20
+
21
+ The corresponding npm trusted publisher must use organization `prjct-app`, this repository's name, workflow filename `release.yml`, no environment name, and permission to publish directly with `npm publish`.
22
+
23
+ ## Preview and recovery
24
+
25
+ Run **Release** from the Actions tab on `main` with `dry_run` enabled to preview the next version and release notes. No version commit, tag, npm publication, or GitHub release is created by a dry run.
26
+
27
+ Runs are serialized and an outdated checkout is skipped. Never cancel a run during publication. If a run fails, inspect its logs and the existing npm version and GitHub tag before retrying: publication is not a transaction across both services. Do not delete a published version or move an existing release tag to recover.
28
+
29
+ References: [semantic-release](https://semantic-release.gitbook.io/semantic-release/), [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/).