@prjct.app/pi-activity 0.1.3 → 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,25 @@
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
+
3
23
  ## 0.1.3
4
24
 
5
25
  - Clarify the package description and add focused discovery keywords.
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
@@ -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
+
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.
24
48
 
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.
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
@@ -43,7 +67,7 @@ When switching from GitHub to npm, remove the Git installation first, then insta
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
@@ -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
 
@@ -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/).