@lazyingart/agintiflow 0.20.60 → 0.20.62
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/package.json +1 -1
- package/scripts/smoke-cli-chat.js +10 -0
- package/src/behavior-contract.js +2 -1
- package/src/i18n.js +2 -0
- package/src/task-profiles.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lazyingart/agintiflow",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.62",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Low-cost, project-aware Web and CLI agents with DeepSeek/Venice/OpenAI routing, visible tool calls, durable sessions, scouts, AAPS, SCS, and guarded local execution.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
} from "../src/interactive-cli.js";
|
|
18
18
|
import { parseArgs } from "../src/cli.js";
|
|
19
19
|
import { dockerPolicyTimeoutMs, dockerUserCommand } from "../src/docker-sandbox.js";
|
|
20
|
+
import { formatBehaviorContractForPrompt } from "../src/behavior-contract.js";
|
|
20
21
|
|
|
21
22
|
const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
|
|
22
23
|
const tempRoot = await fs.mkdtemp(path.join(os.tmpdir(), "agintiflow-cli-chat-"));
|
|
@@ -145,6 +146,13 @@ try {
|
|
|
145
146
|
) {
|
|
146
147
|
throw new Error("elapsed duration formatter returned an unexpected value");
|
|
147
148
|
}
|
|
149
|
+
const behaviorContract = formatBehaviorContractForPrompt();
|
|
150
|
+
if (
|
|
151
|
+
!behaviorContract.includes("name the actual environment used") ||
|
|
152
|
+
!behaviorContract.includes("Do not claim compatibility across untested runtimes")
|
|
153
|
+
) {
|
|
154
|
+
throw new Error("behavior contract must guard against host/Docker and runtime-version overclaims");
|
|
155
|
+
}
|
|
148
156
|
const wrappedDockerCommand = dockerUserCommand("node --test 2>&1 | tail -30", {
|
|
149
157
|
category: "general-shell",
|
|
150
158
|
needsNetwork: false,
|
|
@@ -294,6 +302,8 @@ try {
|
|
|
294
302
|
!helpResult.stdout.includes("/auxiliary") ||
|
|
295
303
|
!helpResult.stdout.includes("/review") ||
|
|
296
304
|
!helpResult.stdout.includes("/scs") ||
|
|
305
|
+
helpResult.stdout.includes("helpReview") ||
|
|
306
|
+
helpResult.stdout.includes("helpRename") ||
|
|
297
307
|
helpResult.stdout.includes("/enable" + "ss") ||
|
|
298
308
|
helpResult.stdout.includes(misspelledAuxiliary)
|
|
299
309
|
) {
|
package/src/behavior-contract.js
CHANGED
|
@@ -70,6 +70,7 @@ export function formatBehaviorContractForPrompt({ mode = "runtime" } = {}) {
|
|
|
70
70
|
"Define or infer concrete success criteria for non-trivial work, then run focused checks or state why checks are unavailable.",
|
|
71
71
|
"Respect the permission contract: if a tool is blocked, stop and present the safe rerun/approval path instead of retrying variants.",
|
|
72
72
|
"Keep artifacts durable and discoverable with descriptive non-conflicting names; never overwrite unless the user clearly asked.",
|
|
73
|
+
"When reporting shell, language, runtime, build, or test results, name the actual environment used (host vs Docker, relevant interpreter/tool path/version when it matters). Do not claim compatibility across untested runtimes, hosts, containers, or language versions; state the caveat or run an explicit check.",
|
|
73
74
|
].join(" ");
|
|
74
75
|
}
|
|
75
76
|
|
|
@@ -117,6 +118,7 @@ function baseSections() {
|
|
|
117
118
|
"- Every changed line should trace to the task or to cleanup caused by the task.",
|
|
118
119
|
"- Match existing project style even if another style is personally preferable.",
|
|
119
120
|
"- If you notice unrelated issues, report them separately rather than editing them.",
|
|
121
|
+
"- When reporting shell, language, runtime, build, or test results, name the actual environment used (host vs Docker, relevant interpreter/tool path/version when it matters). Do not claim compatibility across untested runtimes, hosts, containers, or language versions; state the caveat or run an explicit check.",
|
|
120
122
|
"",
|
|
121
123
|
"## Verification Contract",
|
|
122
124
|
"",
|
|
@@ -287,4 +289,3 @@ export function buildAgintiInstructions(template = "disciplined") {
|
|
|
287
289
|
const body = normalized === "minimal" ? minimalSections() : `${baseSections()}${templateAppendix(normalized)}`;
|
|
288
290
|
return `${body}\n`;
|
|
289
291
|
}
|
|
290
|
-
|
package/src/i18n.js
CHANGED
|
@@ -133,6 +133,8 @@ const TRANSLATIONS = {
|
|
|
133
133
|
helpAaps: "Manage AAPS workflows through the optional @lazyingart/aaps adapter.",
|
|
134
134
|
helpNew: "Start a fresh session on the next message.",
|
|
135
135
|
helpResume: "Continue a saved session.",
|
|
136
|
+
helpReview: "Run a bounded repo/diff review with controlled context gathering.",
|
|
137
|
+
helpRename: "Rename the current session.",
|
|
136
138
|
helpSessions: "List recent sessions in this project.",
|
|
137
139
|
helpSkills: "List Markdown skills selected for a topic.",
|
|
138
140
|
helpSkillMesh: "Manage strict reviewed skill sharing.",
|
package/src/task-profiles.js
CHANGED
|
@@ -143,7 +143,7 @@ export const TASK_PROFILES = {
|
|
|
143
143
|
id: "python",
|
|
144
144
|
label: "Python",
|
|
145
145
|
prompt:
|
|
146
|
-
"Bias toward Python best practices without ignoring non-Python project context. Inspect pyproject/requirements, create scripts/packages/tests as files, prefer project-local venv/conda/uv or Docker for setup, and run focused smoke checks when shell is enabled.",
|
|
146
|
+
"Bias toward Python best practices without ignoring non-Python project context. Inspect pyproject/requirements, create scripts/packages/tests as files, prefer project-local venv/conda/uv or Docker for setup, and run focused smoke checks when shell is enabled. For syntax, lint, test, or runtime claims, capture the actual interpreter path/version and sandbox/host environment; never claim support for untested Python versions or host interpreters just because a Docker/venv check passed.",
|
|
147
147
|
tools: ["files", "shell", "sandbox"],
|
|
148
148
|
},
|
|
149
149
|
shell: {
|