@farmslot/agent-runtime 0.15.0 → 0.15.1
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 +6 -0
- package/package.json +2 -2
- package/scripts/review-terminal.cjs +16 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
- Active-development baseline; add user-facing changes here before release or package publication.
|
|
6
6
|
|
|
7
|
+
## 0.15.1 - 2026-09-29
|
|
8
|
+
|
|
9
|
+
- Publish with protocol 0.33.0 so consumers share the current task and runner contracts.
|
|
10
|
+
|
|
11
|
+
- Refuse review terminal reuse when its recorded runner or model differs from the launch request.
|
|
12
|
+
|
|
7
13
|
## 0.15.0 - 2026-09-28
|
|
8
14
|
|
|
9
15
|
- QA tasks complete with one HTML report and structured evidence, without requiring a duplicate Markdown report.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@farmslot/agent-runtime",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"prepublishOnly": "node ../../scripts/quality/check-farmslot-package-readiness.mjs --publish --packages @farmslot/agent-runtime"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@farmslot/protocol": "0.
|
|
48
|
+
"@farmslot/protocol": "0.33.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@types/node": "^22.0.0",
|
|
@@ -13,6 +13,16 @@ const check = (result) => {
|
|
|
13
13
|
};
|
|
14
14
|
const target = input.session;
|
|
15
15
|
async function main() {
|
|
16
|
+
if (!['launch', 'inspect', 'stop'].includes(input.action))
|
|
17
|
+
throw Error('Unknown review terminal action');
|
|
18
|
+
if (
|
|
19
|
+
input.action === 'launch' &&
|
|
20
|
+
(typeof input.runner !== 'string' ||
|
|
21
|
+
!input.runner ||
|
|
22
|
+
typeof input.model !== 'string' ||
|
|
23
|
+
!input.model)
|
|
24
|
+
)
|
|
25
|
+
throw Error('Review terminal launch requires a runner and model');
|
|
16
26
|
if (
|
|
17
27
|
!/^[a-zA-Z0-9_-]+$/.test(input.session) ||
|
|
18
28
|
!path.isAbsolute(input.task) ||
|
|
@@ -49,6 +59,10 @@ async function main() {
|
|
|
49
59
|
}
|
|
50
60
|
if (fs.existsSync(cancelled)) throw new Error('Review terminal launch was cancelled');
|
|
51
61
|
if (existing) {
|
|
62
|
+
if (existing.runner !== input.runner || existing.model !== input.model)
|
|
63
|
+
throw Error(
|
|
64
|
+
'Review terminal receipt does not match the requested runner and model; request a new review',
|
|
65
|
+
);
|
|
52
66
|
if (has.status !== 0) throw Error('Review terminal exited; explicit retry required');
|
|
53
67
|
process.stdout.write(JSON.stringify(existing));
|
|
54
68
|
return;
|
|
@@ -100,6 +114,8 @@ async function main() {
|
|
|
100
114
|
runId: input.runId,
|
|
101
115
|
workspaceId: input.workspaceId,
|
|
102
116
|
session: input.session,
|
|
117
|
+
runner: input.runner,
|
|
118
|
+
model: input.model,
|
|
103
119
|
startedAt: new Date().toISOString(),
|
|
104
120
|
signalAttemptId: environment.FARMSLOT_SIGNAL_ATTEMPT_ID,
|
|
105
121
|
};
|