agentera 3.0.0-dev.13 → 3.0.0-dev.15
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/bundle/references/artifacts/artifact-registry-interface-model.yaml +2 -2
- package/bundle/references/cli/capability-instruction-structure.md +10 -10
- package/bundle/references/cli/vocabulary.md +1 -1
- package/bundle/skills/agentera/SKILL.md +43 -2
- package/bundle/skills/agentera/agents/research.toml +1 -1
- package/bundle/skills/agentera/capabilities/audit/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +4 -3
- package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +1 -1
- package/bundle/skills/agentera/capabilities/build/schemas/exit.yaml +3 -3
- package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +8 -8
- package/bundle/skills/agentera/capabilities/design/schemas/exit.yaml +5 -5
- package/bundle/skills/agentera/capabilities/design/schemas/validation.yaml +2 -2
- package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +6 -5
- package/bundle/skills/agentera/capabilities/discuss/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +6 -5
- package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +0 -1
- package/bundle/skills/agentera/capabilities/optimize/schemas/artifacts.yaml +1 -1
- package/bundle/skills/agentera/capabilities/optimize/schemas/exit.yaml +2 -2
- package/bundle/skills/agentera/capabilities/optimize/schemas/validation.yaml +2 -2
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/exit.yaml +7 -6
- package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +34 -34
- package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +29 -2
- package/bundle/skills/agentera/capabilities/profile/schemas/exit.yaml +1 -2
- package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +3 -3
- package/bundle/skills/agentera/capabilities/vision/schemas/exit.yaml +7 -6
- package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +3 -3
- package/bundle/skills/agentera/capabilities/vision/schemas/validation.yaml +7 -7
- package/dist/capabilities/audit/instructions.js +2 -4
- package/dist/capabilities/audit/instructions.js.map +1 -1
- package/dist/capabilities/build/instructions.js +3 -4
- package/dist/capabilities/build/instructions.js.map +1 -1
- package/dist/capabilities/design/instructions.js +3 -3
- package/dist/capabilities/design/instructions.js.map +1 -1
- package/dist/capabilities/discuss/instructions.js +4 -4
- package/dist/capabilities/discuss/instructions.js.map +1 -1
- package/dist/capabilities/document/instructions.js +2 -4
- package/dist/capabilities/document/instructions.js.map +1 -1
- package/dist/capabilities/optimize/instructions.js +3 -4
- package/dist/capabilities/optimize/instructions.js.map +1 -1
- package/dist/capabilities/orchestrate/instructions.js +3 -4
- package/dist/capabilities/orchestrate/instructions.js.map +1 -1
- package/dist/capabilities/plan/instructions.js +1 -1
- package/dist/capabilities/plan/instructions.js.map +1 -1
- package/dist/capabilities/profile/instructions.js +3 -4
- package/dist/capabilities/profile/instructions.js.map +1 -1
- package/dist/capabilities/research/instructions.js +4 -4
- package/dist/capabilities/research/instructions.js.map +1 -1
- package/dist/capabilities/status/instructions.js +1 -1
- package/dist/capabilities/status/instructions.js.map +1 -1
- package/dist/capabilities/vision/instructions.js +1 -5
- package/dist/capabilities/vision/instructions.js.map +1 -1
- package/dist/cli/capabilityContext/contract.js +2 -0
- package/dist/cli/capabilityContext/contract.js.map +1 -1
- package/dist/cli/capabilityContext/startup.js +1 -0
- package/dist/cli/capabilityContext/startup.js.map +1 -1
- package/dist/cli/commands/prime/orientationOutput.js +3 -0
- package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
- package/dist/cli/commands/schema.js +4 -0
- package/dist/cli/commands/schema.js.map +1 -1
- package/dist/cli/commands/state/write.js +341 -0
- package/dist/cli/commands/state/write.js.map +1 -0
- package/dist/cli/dispatch/index.js +2 -1
- package/dist/cli/dispatch/index.js.map +1 -1
- package/dist/cli/dispatch/state.js +4 -0
- package/dist/cli/dispatch/state.js.map +1 -1
- package/dist/cli/errors.js +1 -0
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/help.js +17 -3
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/prime-blob.js +68 -2
- package/dist/cli/prime-blob.js.map +1 -1
- package/dist/core/atomicWriter.js +21 -0
- package/dist/core/atomicWriter.js.map +1 -0
- package/dist/core/yaml.js +8 -0
- package/dist/core/yaml.js.map +1 -1
- package/dist/hooks/common.js +1 -1
- package/dist/hooks/common.js.map +1 -1
- package/dist/hooks/compaction/index.js +2 -2
- package/dist/hooks/compaction/index.js.map +1 -1
- package/dist/hooks/compaction/retention.js +6 -3
- package/dist/hooks/compaction/retention.js.map +1 -1
- package/dist/hooks/compaction/status.js +6 -4
- package/dist/hooks/compaction/status.js.map +1 -1
- package/dist/hooks/sessionStop.js +2 -2
- package/dist/hooks/sessionStop.js.map +1 -1
- package/dist/hooks/validateArtifact/schema.js +82 -6
- package/dist/hooks/validateArtifact/schema.js.map +1 -1
- package/dist/hooks/validateArtifact/violations.js +5 -2
- package/dist/hooks/validateArtifact/violations.js.map +1 -1
- package/dist/registries/artifactRegistry.js +39 -6
- package/dist/registries/artifactRegistry.js.map +1 -1
- package/dist/state/startupAnalysis/helpers.js +1 -1
- package/dist/state/startupAnalysis/helpers.js.map +1 -1
- package/dist/state/write/assign.js +21 -0
- package/dist/state/write/assign.js.map +1 -0
- package/dist/state/write/errors.js +12 -0
- package/dist/state/write/errors.js.map +1 -0
- package/dist/state/write/explain.js +151 -0
- package/dist/state/write/explain.js.map +1 -0
- package/dist/state/write/fields.js +62 -0
- package/dist/state/write/fields.js.map +1 -0
- package/dist/state/write/index.js +11 -0
- package/dist/state/write/index.js.map +1 -0
- package/dist/state/write/input.js +22 -0
- package/dist/state/write/input.js.map +1 -0
- package/dist/state/write/lock.js +108 -0
- package/dist/state/write/lock.js.map +1 -0
- package/dist/state/write/operations.js +181 -0
- package/dist/state/write/operations.js.map +1 -0
- package/dist/state/write/serialize.js +2 -0
- package/dist/state/write/serialize.js.map +1 -0
- package/dist/state/write/transaction.js +619 -0
- package/dist/state/write/transaction.js.map +1 -0
- package/dist/state/write/validate.js +8 -0
- package/dist/state/write/validate.js.map +1 -0
- package/dist/upgrade/atomicWriter.js +1 -22
- package/dist/upgrade/atomicWriter.js.map +1 -1
- package/dist/upgrade/compatibility.js +33 -0
- package/dist/upgrade/compatibility.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ArtifactSchemaValidator } from "../../hooks/validateArtifact/index.js";
|
|
2
|
+
function schemaEntry(schema, fieldPath) {
|
|
3
|
+
const leaf = fieldPath.split(".").at(-1);
|
|
4
|
+
for (const value of Object.values(schema)) {
|
|
5
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
6
|
+
continue;
|
|
7
|
+
for (const entry of Object.values(value)) {
|
|
8
|
+
if (entry &&
|
|
9
|
+
typeof entry === "object" &&
|
|
10
|
+
!Array.isArray(entry) &&
|
|
11
|
+
String(entry.field ?? "") === leaf) {
|
|
12
|
+
return entry;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
function valuesFromValidation(entry) {
|
|
19
|
+
if (!entry || !Array.isArray(entry.validation))
|
|
20
|
+
return undefined;
|
|
21
|
+
for (const raw of entry.validation) {
|
|
22
|
+
const match = /Must be one of:\s*(.+)$/i.exec(String(raw));
|
|
23
|
+
if (match)
|
|
24
|
+
return match[1]
|
|
25
|
+
.split(",")
|
|
26
|
+
.map((v) => v.trim())
|
|
27
|
+
.filter(Boolean);
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
export function projectedFields(spec, validator = new ArtifactSchemaValidator()) {
|
|
32
|
+
const schema = validator.loadSchema(spec.artifact);
|
|
33
|
+
if (!schema)
|
|
34
|
+
return spec.fields;
|
|
35
|
+
return spec.fields.map((field) => {
|
|
36
|
+
const entry = schemaEntry(schema, field.field);
|
|
37
|
+
return {
|
|
38
|
+
...field,
|
|
39
|
+
required: field.required ?? Boolean(entry?.required),
|
|
40
|
+
validValues: field.validValues ?? valuesFromValidation(entry),
|
|
41
|
+
description: field.description ?? (entry?.description ? String(entry.description) : undefined),
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
export function schemaBudget(artifact, validator = new ArtifactSchemaValidator()) {
|
|
46
|
+
const schema = validator.loadSchema(artifact);
|
|
47
|
+
const result = {};
|
|
48
|
+
if (!schema ||
|
|
49
|
+
!schema.BUDGET ||
|
|
50
|
+
typeof schema.BUDGET !== "object" ||
|
|
51
|
+
Array.isArray(schema.BUDGET))
|
|
52
|
+
return result;
|
|
53
|
+
for (const entry of Object.values(schema.BUDGET)) {
|
|
54
|
+
if (!entry || typeof entry !== "object" || Array.isArray(entry))
|
|
55
|
+
continue;
|
|
56
|
+
const scope = String(entry.scope ?? "");
|
|
57
|
+
const key = scope.includes("full_file") ? "full_file_max_words" : "per_entry_max_words";
|
|
58
|
+
result[key] = typeof entry.max_words === "number" ? entry.max_words : null;
|
|
59
|
+
}
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/state/write/fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./operations.js";
|
|
2
|
+
export * from "./fields.js";
|
|
3
|
+
export * from "./input.js";
|
|
4
|
+
export * from "./assign.js";
|
|
5
|
+
export * from "./explain.js";
|
|
6
|
+
export * from "./lock.js";
|
|
7
|
+
export * from "./transaction.js";
|
|
8
|
+
export * from "./validate.js";
|
|
9
|
+
export * from "./serialize.js";
|
|
10
|
+
export * from "./errors.js";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/state/write/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import { loadYamlMapping } from "../../core/yaml.js";
|
|
3
|
+
export function loadStructuredInput(source, readStdin) {
|
|
4
|
+
let text;
|
|
5
|
+
if (source === "-")
|
|
6
|
+
text = readStdin();
|
|
7
|
+
else {
|
|
8
|
+
try {
|
|
9
|
+
text = fs.readFileSync(source, "utf8");
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
throw new Error(`input file '${source}' is not readable`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
return loadYamlMapping(text);
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
throw new Error(`input is not valid YAML or JSON: ${error.message}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/state/write/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,UAAU,mBAAmB,CACjC,MAAc,EACd,SAAuB;IAEvB,IAAI,IAAY,CAAC;IACjB,IAAI,MAAM,KAAK,GAAG;QAAE,IAAI,GAAG,SAAS,EAAE,CAAC;SAClC,CAAC;QACJ,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,mBAAmB,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,oCAAqC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { assertRealpathBoundary } from "../../registries/artifactRegistry.js";
|
|
4
|
+
const sleepArray = new Int32Array(new SharedArrayBuffer(4));
|
|
5
|
+
const INITIALIZATION_GRACE_MS = 250;
|
|
6
|
+
function malformedLockIsStale(lockPath) {
|
|
7
|
+
try {
|
|
8
|
+
return Date.now() - fs.statSync(lockPath).mtimeMs >= INITIALIZATION_GRACE_MS;
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function ownerIsDead(lockPath) {
|
|
15
|
+
try {
|
|
16
|
+
const parsed = JSON.parse(fs.readFileSync(lockPath, "utf8"));
|
|
17
|
+
if (!Number.isInteger(parsed.pid))
|
|
18
|
+
return malformedLockIsStale(lockPath);
|
|
19
|
+
if (parsed.pid === process.pid)
|
|
20
|
+
return false;
|
|
21
|
+
try {
|
|
22
|
+
process.kill(parsed.pid, 0);
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return error.code === "ESRCH";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return malformedLockIsStale(lockPath);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export function acquireWriterLock(projectRoot, timeoutMs = 2000) {
|
|
34
|
+
const dir = path.join(projectRoot, ".agentera");
|
|
35
|
+
assertRealpathBoundary(projectRoot, dir, "writer lock");
|
|
36
|
+
const createdDir = !fs.existsSync(dir);
|
|
37
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
38
|
+
const lockPath = path.join(dir, ".writer.lock");
|
|
39
|
+
const deadline = Date.now() + timeoutMs;
|
|
40
|
+
while (true) {
|
|
41
|
+
let fd;
|
|
42
|
+
let createdLock = false;
|
|
43
|
+
try {
|
|
44
|
+
fd = fs.openSync(lockPath, "wx");
|
|
45
|
+
createdLock = true;
|
|
46
|
+
fs.writeFileSync(fd, JSON.stringify({ pid: process.pid, created_at: new Date().toISOString() }) + "\n");
|
|
47
|
+
fs.closeSync(fd);
|
|
48
|
+
fd = undefined;
|
|
49
|
+
let released = false;
|
|
50
|
+
return {
|
|
51
|
+
path: lockPath,
|
|
52
|
+
release: () => {
|
|
53
|
+
if (released)
|
|
54
|
+
return;
|
|
55
|
+
released = true;
|
|
56
|
+
try {
|
|
57
|
+
fs.unlinkSync(lockPath);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
/* already released */
|
|
61
|
+
}
|
|
62
|
+
if (createdDir) {
|
|
63
|
+
try {
|
|
64
|
+
fs.rmdirSync(dir);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
/* a published artifact or peer now owns the directory */
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
if (fd !== undefined) {
|
|
75
|
+
try {
|
|
76
|
+
fs.closeSync(fd);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
/* acquisition already failed */
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (createdLock) {
|
|
83
|
+
try {
|
|
84
|
+
fs.unlinkSync(lockPath);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
/* acquisition already failed */
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (error.code !== "EEXIST")
|
|
91
|
+
throw error;
|
|
92
|
+
if (ownerIsDead(lockPath)) {
|
|
93
|
+
try {
|
|
94
|
+
fs.unlinkSync(lockPath);
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
/* raced with another writer */
|
|
98
|
+
}
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
if (Date.now() >= deadline) {
|
|
102
|
+
throw new Error(`writer lock timeout at '${lockPath}'; retry the command after the active writer finishes`);
|
|
103
|
+
}
|
|
104
|
+
Atomics.wait(sleepArray, 0, 0, 25);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../../src/state/write/lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
export const WRITABLE_ARTIFACTS = ["progress", "decisions", "plan", "health"];
|
|
2
|
+
export const WRITE_VERBS = [
|
|
3
|
+
"append",
|
|
4
|
+
"update",
|
|
5
|
+
"set-status",
|
|
6
|
+
"archive",
|
|
7
|
+
"create",
|
|
8
|
+
"explain",
|
|
9
|
+
];
|
|
10
|
+
const progressAppend = [
|
|
11
|
+
{
|
|
12
|
+
flag: "--type",
|
|
13
|
+
field: "type",
|
|
14
|
+
kind: "string",
|
|
15
|
+
required: true,
|
|
16
|
+
validValues: ["feat", "fix", "docs", "refactor", "chore", "test"],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
flag: "--phase",
|
|
20
|
+
field: "phase",
|
|
21
|
+
kind: "string",
|
|
22
|
+
required: true,
|
|
23
|
+
validValues: ["envision", "deliberate", "plan", "build", "audit"],
|
|
24
|
+
},
|
|
25
|
+
{ flag: "--what", field: "what", kind: "string", required: true },
|
|
26
|
+
{ flag: "--intent", field: "context.intent", kind: "string", required: true },
|
|
27
|
+
{ flag: "--timestamp", field: "timestamp", kind: "datetime", required: false },
|
|
28
|
+
{ flag: "--inspiration", field: "inspiration", kind: "string" },
|
|
29
|
+
{ flag: "--discovered", field: "discovered", kind: "string" },
|
|
30
|
+
{ flag: "--verified", field: "verified", kind: "string" },
|
|
31
|
+
{ flag: "--next", field: "next", kind: "string" },
|
|
32
|
+
{ flag: "--constraints", field: "context.constraints", kind: "string" },
|
|
33
|
+
{ flag: "--unknowns", field: "context.unknowns", kind: "string" },
|
|
34
|
+
{ flag: "--scope", field: "context.scope", kind: "string" },
|
|
35
|
+
];
|
|
36
|
+
const decisionAppend = [
|
|
37
|
+
{ flag: "--question", field: "question", kind: "string", required: true },
|
|
38
|
+
{ flag: "--context", field: "context", kind: "string", required: true },
|
|
39
|
+
{ flag: "--alternative-chosen", field: "alternatives.chosen", kind: "string", required: true },
|
|
40
|
+
{
|
|
41
|
+
flag: "--alternative-rejected",
|
|
42
|
+
field: "alternatives.rejected",
|
|
43
|
+
kind: "string_list",
|
|
44
|
+
repeatable: true,
|
|
45
|
+
},
|
|
46
|
+
{ flag: "--choice", field: "choice", kind: "string", required: true },
|
|
47
|
+
{ flag: "--reasoning", field: "reasoning", kind: "string", required: true },
|
|
48
|
+
{
|
|
49
|
+
flag: "--confidence",
|
|
50
|
+
field: "confidence",
|
|
51
|
+
kind: "string",
|
|
52
|
+
required: true,
|
|
53
|
+
validValues: ["firm", "provisional", "exploratory"],
|
|
54
|
+
},
|
|
55
|
+
{ flag: "--feeds-into", field: "feeds_into", kind: "string" },
|
|
56
|
+
{ flag: "--date", field: "date", kind: "date", required: false },
|
|
57
|
+
];
|
|
58
|
+
const decisionUpdate = [
|
|
59
|
+
{ flag: "--number", field: "number", kind: "integer", required: true },
|
|
60
|
+
{
|
|
61
|
+
flag: "--satisfaction-state",
|
|
62
|
+
field: "satisfaction.state",
|
|
63
|
+
kind: "string",
|
|
64
|
+
required: true,
|
|
65
|
+
validValues: ["open", "provisionally_satisfied", "user_confirmed_satisfied"],
|
|
66
|
+
},
|
|
67
|
+
{ flag: "--satisfaction-evidence", field: "satisfaction.evidence", kind: "string" },
|
|
68
|
+
{ flag: "--confirmed-by", field: "satisfaction.user_confirmation.confirmed_by", kind: "string" },
|
|
69
|
+
{ flag: "--confirmed-at", field: "satisfaction.user_confirmation.confirmed_at", kind: "string" },
|
|
70
|
+
];
|
|
71
|
+
const planTaskFields = [
|
|
72
|
+
{ flag: "--name", field: "name", kind: "string", required: true },
|
|
73
|
+
{ flag: "--depends-on", field: "depends_on", kind: "integer_list", repeatable: true },
|
|
74
|
+
{ flag: "--acceptance", field: "acceptance", kind: "string_list", repeatable: true },
|
|
75
|
+
{
|
|
76
|
+
flag: "--status",
|
|
77
|
+
field: "status",
|
|
78
|
+
kind: "string",
|
|
79
|
+
required: false,
|
|
80
|
+
validValues: ["complete", "in_progress", "pending", "blocked"],
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
const SPECS = [
|
|
84
|
+
{ artifact: "progress", verb: "append", fields: progressAppend, compacts: true },
|
|
85
|
+
{ artifact: "decisions", verb: "append", fields: decisionAppend, compacts: true },
|
|
86
|
+
{ artifact: "decisions", verb: "update", fields: decisionUpdate },
|
|
87
|
+
{ artifact: "plan", verb: "append", fields: planTaskFields },
|
|
88
|
+
{
|
|
89
|
+
artifact: "plan",
|
|
90
|
+
verb: "update",
|
|
91
|
+
fields: [
|
|
92
|
+
{ flag: "--task", field: "task", kind: "integer", required: true },
|
|
93
|
+
...planTaskFields
|
|
94
|
+
.filter((field) => field.field !== "status")
|
|
95
|
+
.map((field) => ({ ...field, required: false })),
|
|
96
|
+
{ flag: "--evidence", field: "evidence", kind: "string" },
|
|
97
|
+
{ flag: "--blocked-reason", field: "blocked_reason", kind: "string" },
|
|
98
|
+
{ flag: "--surprise", field: "surprise", kind: "string" },
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
artifact: "plan",
|
|
103
|
+
verb: "set-status",
|
|
104
|
+
fields: [
|
|
105
|
+
{ flag: "--task", field: "task", kind: "integer" },
|
|
106
|
+
{
|
|
107
|
+
flag: "--status",
|
|
108
|
+
field: "status",
|
|
109
|
+
kind: "string",
|
|
110
|
+
required: true,
|
|
111
|
+
validValues: ["active", "complete", "in_progress", "pending", "blocked"],
|
|
112
|
+
},
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
{ artifact: "plan", verb: "archive", fields: [], allowForce: true },
|
|
116
|
+
{
|
|
117
|
+
artifact: "plan",
|
|
118
|
+
verb: "create",
|
|
119
|
+
fields: [],
|
|
120
|
+
inputRoot: "complete plan document",
|
|
121
|
+
cliOwnedFields: ["previous_plan_archived"],
|
|
122
|
+
allowForce: true,
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
artifact: "health",
|
|
126
|
+
verb: "append",
|
|
127
|
+
fields: [],
|
|
128
|
+
inputRoot: "one audit entry",
|
|
129
|
+
cliOwnedFields: ["number"],
|
|
130
|
+
compacts: true,
|
|
131
|
+
},
|
|
132
|
+
];
|
|
133
|
+
export function operationSpec(artifact, verb) {
|
|
134
|
+
return SPECS.find((spec) => spec.artifact === artifact && spec.verb === verb) ?? null;
|
|
135
|
+
}
|
|
136
|
+
export function verbsForArtifact(artifact) {
|
|
137
|
+
if (!WRITABLE_ARTIFACTS.includes(artifact))
|
|
138
|
+
return [];
|
|
139
|
+
return [
|
|
140
|
+
...SPECS.filter((spec) => spec.artifact === artifact).map((spec) => spec.verb),
|
|
141
|
+
"explain",
|
|
142
|
+
];
|
|
143
|
+
}
|
|
144
|
+
export function isWriteVerb(value) {
|
|
145
|
+
return Boolean(value && WRITE_VERBS.includes(value));
|
|
146
|
+
}
|
|
147
|
+
export function isWritableArtifact(value) {
|
|
148
|
+
return WRITABLE_ARTIFACTS.includes(value);
|
|
149
|
+
}
|
|
150
|
+
export function stateWriterArtifactContract(artifact) {
|
|
151
|
+
if (!isWritableArtifact(artifact))
|
|
152
|
+
return null;
|
|
153
|
+
const verbs = verbsForArtifact(artifact);
|
|
154
|
+
const mutations = verbs.filter((verb) => verb !== "explain");
|
|
155
|
+
return {
|
|
156
|
+
artifact,
|
|
157
|
+
mutations,
|
|
158
|
+
explain_command: `agentera state ${artifact} explain --format json`,
|
|
159
|
+
explain_by_verb: Object.fromEntries(mutations.map((verb) => [
|
|
160
|
+
verb,
|
|
161
|
+
`agentera state ${artifact} explain --verb ${verb} --format json`,
|
|
162
|
+
])),
|
|
163
|
+
supports_dry_run: true,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
export function stateWriterContract(targets = WRITABLE_ARTIFACTS) {
|
|
167
|
+
const uniqueTargets = [...new Set(targets)];
|
|
168
|
+
const artifacts = uniqueTargets
|
|
169
|
+
.map(stateWriterArtifactContract)
|
|
170
|
+
.filter((entry) => entry !== null);
|
|
171
|
+
return {
|
|
172
|
+
schemaVersion: "agentera.stateWriterDiscovery.v1",
|
|
173
|
+
namespace: "agentera state",
|
|
174
|
+
policy: "Use the state writer for supported artifact mutations; do not hand-edit those artifacts during normal capability execution.",
|
|
175
|
+
authority: "runtime operation registry",
|
|
176
|
+
discovery_command: "agentera schema --format json",
|
|
177
|
+
artifacts,
|
|
178
|
+
unsupported_targets: uniqueTargets.filter((target) => !isWritableArtifact(target)),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/state/write/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/state/write/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|