pi-advisor-flow 0.3.3 → 0.3.4
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 +20 -0
- package/README.md +1 -1
- package/package.json +46 -46
- package/src/outcomes.ts +11 -11
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,20 @@ All notable changes to this project are documented here.
|
|
|
4
4
|
|
|
5
5
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## 0.3.4
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Updated the development toolchain and Pi compatibility test matrix to the current supported patch releases.
|
|
12
|
+
- Added pull-request validation and made release tags wait for frozen-install, typecheck, test, lint, package, and security-audit checks.
|
|
13
|
+
- Kept Bun security auditing outside the publish workflow so an audit failure prevents a new tag instead of invalidating an existing release tag.
|
|
14
|
+
- Added a package allowlist check for the published tarball and retained npm provenance publishing.
|
|
15
|
+
|
|
16
|
+
### Security
|
|
17
|
+
|
|
18
|
+
- Confirmed the Socket URL-string findings for `advisor-preferences.md` and `notification.show` are intentional command/path identifiers, not network endpoints.
|
|
19
|
+
- Retained the constrained filesystem access required for explicit repository-file handoff; no new Socket issues were reported for 0.3.3.
|
|
20
|
+
|
|
7
21
|
## 0.3.3
|
|
8
22
|
|
|
9
23
|
### Added
|
|
@@ -15,6 +29,12 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
|
|
|
15
29
|
- Kept Scout history within the Advisor's remaining context budget, including zero-budget behavior, and kept pending Advisor drafts and attachment paths outside Scout's input.
|
|
16
30
|
- Included the current repeated tool invocation in automatic-gate Scout context.
|
|
17
31
|
|
|
32
|
+
## 0.3.2
|
|
33
|
+
|
|
34
|
+
### Release status
|
|
35
|
+
|
|
36
|
+
- Not published because the release validation workflow failed three tests before publication.
|
|
37
|
+
|
|
18
38
|
## 0.3.1
|
|
19
39
|
|
|
20
40
|
### Changed
|
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ The idea is simple: keep implementation on a fast model and borrow frontier reas
|
|
|
24
24
|
|
|
25
25
|
## Install
|
|
26
26
|
|
|
27
|
-
Current release: **0.3.
|
|
27
|
+
Current release: **0.3.4**. Requires Pi 0.84.1 or later and is compatible with Herdr 0.8.0. The extension installs no dependencies of its own; Pi supplies its runtime modules.
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
30
|
# npm
|
package/package.json
CHANGED
|
@@ -1,24 +1,60 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-advisor-flow",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"
|
|
3
|
+
"version": "0.3.4",
|
|
4
|
+
"description": "Advanced Executor/Advisor flow for Pi, fully configurable and extendable.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi-extension",
|
|
8
|
+
"pi-coding-agent",
|
|
9
|
+
"advisor",
|
|
10
|
+
"pi-advisor",
|
|
11
|
+
"herdr"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://github.com/philipbrembeck/pi-advisor",
|
|
5
14
|
"repository": {
|
|
6
15
|
"type": "git",
|
|
7
16
|
"url": "https://github.com/philipbrembeck/pi-advisor.git"
|
|
8
17
|
},
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"author": "Philip Brembeck",
|
|
20
|
+
"type": "module",
|
|
9
21
|
"main": "extensions/index.ts",
|
|
22
|
+
"types": "extensions/index.ts",
|
|
23
|
+
"files": [
|
|
24
|
+
"extensions",
|
|
25
|
+
"src",
|
|
26
|
+
"CHANGELOG.md",
|
|
27
|
+
"LICENSE",
|
|
28
|
+
"README.md"
|
|
29
|
+
],
|
|
30
|
+
"scripts": {
|
|
31
|
+
"format": "bunx ultracite fix --linter-enabled=false",
|
|
32
|
+
"lint": "bunx ultracite check",
|
|
33
|
+
"lint:fix": "bunx ultracite fix",
|
|
34
|
+
"package:check": "node scripts/check-package.mjs",
|
|
35
|
+
"prepare": "husky",
|
|
36
|
+
"test": "bun test",
|
|
37
|
+
"typecheck": "tsc --noEmit"
|
|
38
|
+
},
|
|
39
|
+
"lint-staged": {
|
|
40
|
+
"*.{json,jsonc,ts}": "bun run lint:fix --"
|
|
41
|
+
},
|
|
42
|
+
"overrides": {
|
|
43
|
+
"brace-expansion": "5.0.9",
|
|
44
|
+
"undici": "8.9.0"
|
|
45
|
+
},
|
|
10
46
|
"devDependencies": {
|
|
11
|
-
"@biomejs/biome": "2.5.
|
|
12
|
-
"@earendil-works/pi-ai": "^0.84.
|
|
13
|
-
"@earendil-works/pi-coding-agent": "^0.84.
|
|
14
|
-
"@earendil-works/pi-tui": "^0.84.
|
|
47
|
+
"@biomejs/biome": "2.5.8",
|
|
48
|
+
"@earendil-works/pi-ai": "^0.84.2",
|
|
49
|
+
"@earendil-works/pi-coding-agent": "^0.84.2",
|
|
50
|
+
"@earendil-works/pi-tui": "^0.84.2",
|
|
15
51
|
"@types/node": "^20.11.0",
|
|
16
52
|
"bun-types": "^1.0.0",
|
|
17
53
|
"husky": "^9.1.7",
|
|
18
|
-
"lint-staged": "^17.
|
|
19
|
-
"typebox": "^1.
|
|
54
|
+
"lint-staged": "^17.3.0",
|
|
55
|
+
"typebox": "^1.3.14",
|
|
20
56
|
"typescript": "^5.3.3",
|
|
21
|
-
"ultracite": "7.
|
|
57
|
+
"ultracite": "7.10.4"
|
|
22
58
|
},
|
|
23
59
|
"peerDependencies": {
|
|
24
60
|
"@earendil-works/pi-ai": "^0.84.1",
|
|
@@ -40,46 +76,10 @@
|
|
|
40
76
|
"optional": true
|
|
41
77
|
}
|
|
42
78
|
},
|
|
43
|
-
"description": "Advanced Executor/Advisor flow for Pi, fully configurable and extendable.",
|
|
44
|
-
"files": [
|
|
45
|
-
"extensions",
|
|
46
|
-
"src",
|
|
47
|
-
"CHANGELOG.md",
|
|
48
|
-
"LICENSE",
|
|
49
|
-
"README.md"
|
|
50
|
-
],
|
|
51
|
-
"homepage": "https://github.com/philipbrembeck/pi-advisor",
|
|
52
|
-
"keywords": [
|
|
53
|
-
"pi-package",
|
|
54
|
-
"pi-extension",
|
|
55
|
-
"pi-coding-agent",
|
|
56
|
-
"advisor",
|
|
57
|
-
"pi-advisor",
|
|
58
|
-
"herdr"
|
|
59
|
-
],
|
|
60
|
-
"license": "MIT",
|
|
61
|
-
"lint-staged": {
|
|
62
|
-
"*.{json,jsonc,ts}": "bun run lint:fix --"
|
|
63
|
-
},
|
|
64
|
-
"overrides": {
|
|
65
|
-
"brace-expansion": "5.0.9",
|
|
66
|
-
"undici": "8.9.0"
|
|
67
|
-
},
|
|
68
79
|
"pi": {
|
|
69
80
|
"extensions": [
|
|
70
81
|
"./extensions/index.ts"
|
|
71
82
|
],
|
|
72
83
|
"image": "https://raw.githubusercontent.com/philipbrembeck/pi-advisor/refs/heads/main/assets/hero.png"
|
|
73
|
-
}
|
|
74
|
-
"scripts": {
|
|
75
|
-
"test": "bun test",
|
|
76
|
-
"typecheck": "tsc --noEmit",
|
|
77
|
-
"format": "bunx ultracite fix --linter-enabled=false",
|
|
78
|
-
"lint": "bunx ultracite check",
|
|
79
|
-
"lint:fix": "bunx ultracite fix",
|
|
80
|
-
"package:check": "npm pack --dry-run --json >/dev/null",
|
|
81
|
-
"prepare": "husky"
|
|
82
|
-
},
|
|
83
|
-
"type": "module",
|
|
84
|
-
"types": "extensions/index.ts"
|
|
84
|
+
}
|
|
85
85
|
}
|
package/src/outcomes.ts
CHANGED
|
@@ -126,16 +126,16 @@ export const appendOutcome = async (
|
|
|
126
126
|
) => {
|
|
127
127
|
const path = outcomeLogPath();
|
|
128
128
|
await mkdir(getAgentDir(), { mode: 0o700, recursive: true });
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
129
|
+
return withOutcomeLock(async () => {
|
|
130
|
+
const next: OutcomeRecord = {
|
|
131
|
+
adoption: record.adoption,
|
|
132
|
+
adviceHash: adviceDigest(record.advice, await salt()),
|
|
133
|
+
timestamp: new Date().toISOString(),
|
|
134
|
+
trigger: record.trigger,
|
|
135
|
+
v: 1,
|
|
136
|
+
validationStatus: record.validationStatus,
|
|
137
|
+
};
|
|
138
|
+
const line = `${JSON.stringify(next)}\n`;
|
|
139
139
|
const currentBytes = await stat(path)
|
|
140
140
|
.then((value) => value.size)
|
|
141
141
|
.catch((error: NodeJS.ErrnoException) => {
|
|
@@ -150,6 +150,6 @@ export const appendOutcome = async (
|
|
|
150
150
|
await appendFile(path, line, { encoding: "utf8", mode: 0o600 });
|
|
151
151
|
}
|
|
152
152
|
await chmod(path, 0o600);
|
|
153
|
+
return next;
|
|
153
154
|
});
|
|
154
|
-
return next;
|
|
155
155
|
};
|