@shanepadgett/tau-agent 0.3.0 → 0.4.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.
|
@@ -109,21 +109,25 @@ async function completePublish(
|
|
|
109
109
|
progress: PublishProgress | undefined = undefined,
|
|
110
110
|
): Promise<void> {
|
|
111
111
|
if (tag) {
|
|
112
|
-
progress?.update("
|
|
112
|
+
progress?.update("write package versions");
|
|
113
113
|
await writeReleaseVersion(root, manifests, version);
|
|
114
114
|
}
|
|
115
|
-
progress?.update("
|
|
115
|
+
progress?.update("npm pack --dry-run @shanepadgett/tau-tui");
|
|
116
116
|
await run(pi, ctx, "npm", ["pack", "--dry-run", "--workspace", "@shanepadgett/tau-tui"], root);
|
|
117
|
+
progress?.update("npm pack --dry-run @shanepadgett/tau-agent");
|
|
117
118
|
await run(pi, ctx, "npm", ["pack", "--dry-run", "--workspace", "@shanepadgett/tau-agent"], root);
|
|
118
119
|
|
|
119
120
|
if (tag) {
|
|
120
|
-
progress?.update("
|
|
121
|
+
progress?.update("git add release files");
|
|
121
122
|
await git.run(["add", ...PACKAGE_PATHS, LOCKFILE_PATH], { cwd: root });
|
|
123
|
+
progress?.update(`git commit chore(release): ${releaseTag}`);
|
|
122
124
|
await git.run(["commit", "-m", `chore(release): ${releaseTag}`], { cwd: root });
|
|
123
125
|
}
|
|
124
|
-
progress?.update(`
|
|
126
|
+
progress?.update(`git tag ${releaseTag}`);
|
|
125
127
|
await git.run(["tag", releaseTag], { cwd: root });
|
|
128
|
+
progress?.update("git push origin HEAD");
|
|
126
129
|
await git.run(["push", "origin", "HEAD"], { cwd: root, timeout: 120_000 });
|
|
130
|
+
progress?.update(`git push origin ${releaseTag}`);
|
|
127
131
|
await git.run(["push", "origin", releaseTag], { cwd: root, timeout: 120_000 });
|
|
128
132
|
progress?.update("Waiting for GitHub Actions");
|
|
129
133
|
await monitorWorkflow(pi, ctx, root, await git.run(["rev-parse", "HEAD"], { cwd: root }), releaseTag, progress);
|
|
@@ -2,6 +2,19 @@ import type { Theme } from "@earendil-works/pi-coding-agent";
|
|
|
2
2
|
import { type Component, Text, type TUI } from "@earendil-works/pi-tui";
|
|
3
3
|
import { ToolPanel } from "@shanepadgett/tau-tui";
|
|
4
4
|
|
|
5
|
+
const RELEASE_STEPS = [
|
|
6
|
+
"write package versions",
|
|
7
|
+
"npm pack --dry-run @shanepadgett/tau-tui",
|
|
8
|
+
"npm pack --dry-run @shanepadgett/tau-agent",
|
|
9
|
+
"git add release files",
|
|
10
|
+
"git commit",
|
|
11
|
+
"git tag",
|
|
12
|
+
"git push origin HEAD",
|
|
13
|
+
"git push origin v",
|
|
14
|
+
"Waiting for GitHub Actions",
|
|
15
|
+
"GitHub Actions: publishing",
|
|
16
|
+
] as const;
|
|
17
|
+
|
|
5
18
|
export interface PublishProgress {
|
|
6
19
|
update(status: string, detail?: string): void;
|
|
7
20
|
}
|
|
@@ -13,6 +26,7 @@ export class PublishActivityPanel implements Component, PublishProgress {
|
|
|
13
26
|
private readonly panel: ToolPanel;
|
|
14
27
|
private status = "Preparing release";
|
|
15
28
|
private detail: string | undefined;
|
|
29
|
+
private readonly completed: string[] = ["Release confirmed"];
|
|
16
30
|
|
|
17
31
|
constructor(tui: TUI, theme: Theme, tag: string) {
|
|
18
32
|
this.tui = tui;
|
|
@@ -22,12 +36,13 @@ export class PublishActivityPanel implements Component, PublishProgress {
|
|
|
22
36
|
secondary: "Editor is unavailable until this release finishes.",
|
|
23
37
|
header: [theme.fg("muted", "GitHub Actions publishes through npm trusted publishing.")],
|
|
24
38
|
body: this.body,
|
|
25
|
-
footer: { kind: "
|
|
39
|
+
footer: { kind: "hints", hints: [] },
|
|
26
40
|
});
|
|
27
41
|
this.renderBody();
|
|
28
42
|
}
|
|
29
43
|
|
|
30
44
|
update(status: string, detail: string | undefined = undefined): void {
|
|
45
|
+
if (this.status !== "Preparing release" && this.status !== status) this.completed.push(this.status);
|
|
31
46
|
this.status = status;
|
|
32
47
|
this.detail = detail;
|
|
33
48
|
this.renderBody();
|
|
@@ -43,11 +58,15 @@ export class PublishActivityPanel implements Component, PublishProgress {
|
|
|
43
58
|
}
|
|
44
59
|
|
|
45
60
|
private renderBody(): void {
|
|
61
|
+
const upcoming = RELEASE_STEPS.filter(
|
|
62
|
+
(step) => !this.completed.some((completed) => completed.startsWith(step)) && step !== this.status,
|
|
63
|
+
);
|
|
46
64
|
this.body.setText(
|
|
47
65
|
[
|
|
48
|
-
this.theme.fg("success",
|
|
66
|
+
...this.completed.map((step) => this.theme.fg("success", `✓ ${step}`)),
|
|
49
67
|
this.theme.fg("accent", `… ${this.status}`),
|
|
50
68
|
...(this.detail ? [this.theme.fg("muted", this.detail)] : []),
|
|
69
|
+
...upcoming.map((step) => this.theme.fg("muted", `· ${step}`)),
|
|
51
70
|
].join("\n"),
|
|
52
71
|
);
|
|
53
72
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shanepadgett/tau-agent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Tau is a custom agentic harness built with pi extensions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"README.md"
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@shanepadgett/tau-tui": "0.
|
|
31
|
+
"@shanepadgett/tau-tui": "0.4.0",
|
|
32
32
|
"@toon-format/toon": "2.3.0"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|