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.
Files changed (120) hide show
  1. package/bundle/references/artifacts/artifact-registry-interface-model.yaml +2 -2
  2. package/bundle/references/cli/capability-instruction-structure.md +10 -10
  3. package/bundle/references/cli/vocabulary.md +1 -1
  4. package/bundle/skills/agentera/SKILL.md +43 -2
  5. package/bundle/skills/agentera/agents/research.toml +1 -1
  6. package/bundle/skills/agentera/capabilities/audit/schemas/exit.yaml +2 -2
  7. package/bundle/skills/agentera/capabilities/audit/schemas/validation.yaml +4 -3
  8. package/bundle/skills/agentera/capabilities/build/schemas/artifacts.yaml +1 -1
  9. package/bundle/skills/agentera/capabilities/build/schemas/exit.yaml +3 -3
  10. package/bundle/skills/agentera/capabilities/build/schemas/validation.yaml +8 -8
  11. package/bundle/skills/agentera/capabilities/design/schemas/exit.yaml +5 -5
  12. package/bundle/skills/agentera/capabilities/design/schemas/validation.yaml +2 -2
  13. package/bundle/skills/agentera/capabilities/discuss/schemas/artifacts.yaml +6 -5
  14. package/bundle/skills/agentera/capabilities/discuss/schemas/exit.yaml +2 -2
  15. package/bundle/skills/agentera/capabilities/discuss/schemas/validation.yaml +6 -5
  16. package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +0 -1
  17. package/bundle/skills/agentera/capabilities/optimize/schemas/artifacts.yaml +1 -1
  18. package/bundle/skills/agentera/capabilities/optimize/schemas/exit.yaml +2 -2
  19. package/bundle/skills/agentera/capabilities/optimize/schemas/validation.yaml +2 -2
  20. package/bundle/skills/agentera/capabilities/orchestrate/schemas/exit.yaml +7 -6
  21. package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +34 -34
  22. package/bundle/skills/agentera/capabilities/plan/schemas/validation.yaml +29 -2
  23. package/bundle/skills/agentera/capabilities/profile/schemas/exit.yaml +1 -2
  24. package/bundle/skills/agentera/capabilities/research/schemas/artifacts.yaml +3 -3
  25. package/bundle/skills/agentera/capabilities/vision/schemas/exit.yaml +7 -6
  26. package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +3 -3
  27. package/bundle/skills/agentera/capabilities/vision/schemas/validation.yaml +7 -7
  28. package/dist/capabilities/audit/instructions.js +2 -4
  29. package/dist/capabilities/audit/instructions.js.map +1 -1
  30. package/dist/capabilities/build/instructions.js +3 -4
  31. package/dist/capabilities/build/instructions.js.map +1 -1
  32. package/dist/capabilities/design/instructions.js +3 -3
  33. package/dist/capabilities/design/instructions.js.map +1 -1
  34. package/dist/capabilities/discuss/instructions.js +4 -4
  35. package/dist/capabilities/discuss/instructions.js.map +1 -1
  36. package/dist/capabilities/document/instructions.js +2 -4
  37. package/dist/capabilities/document/instructions.js.map +1 -1
  38. package/dist/capabilities/optimize/instructions.js +3 -4
  39. package/dist/capabilities/optimize/instructions.js.map +1 -1
  40. package/dist/capabilities/orchestrate/instructions.js +3 -4
  41. package/dist/capabilities/orchestrate/instructions.js.map +1 -1
  42. package/dist/capabilities/plan/instructions.js +1 -1
  43. package/dist/capabilities/plan/instructions.js.map +1 -1
  44. package/dist/capabilities/profile/instructions.js +3 -4
  45. package/dist/capabilities/profile/instructions.js.map +1 -1
  46. package/dist/capabilities/research/instructions.js +4 -4
  47. package/dist/capabilities/research/instructions.js.map +1 -1
  48. package/dist/capabilities/status/instructions.js +1 -1
  49. package/dist/capabilities/status/instructions.js.map +1 -1
  50. package/dist/capabilities/vision/instructions.js +1 -5
  51. package/dist/capabilities/vision/instructions.js.map +1 -1
  52. package/dist/cli/capabilityContext/contract.js +2 -0
  53. package/dist/cli/capabilityContext/contract.js.map +1 -1
  54. package/dist/cli/capabilityContext/startup.js +1 -0
  55. package/dist/cli/capabilityContext/startup.js.map +1 -1
  56. package/dist/cli/commands/prime/orientationOutput.js +3 -0
  57. package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
  58. package/dist/cli/commands/schema.js +4 -0
  59. package/dist/cli/commands/schema.js.map +1 -1
  60. package/dist/cli/commands/state/write.js +341 -0
  61. package/dist/cli/commands/state/write.js.map +1 -0
  62. package/dist/cli/dispatch/index.js +2 -1
  63. package/dist/cli/dispatch/index.js.map +1 -1
  64. package/dist/cli/dispatch/state.js +4 -0
  65. package/dist/cli/dispatch/state.js.map +1 -1
  66. package/dist/cli/errors.js +1 -0
  67. package/dist/cli/errors.js.map +1 -1
  68. package/dist/cli/help.js +17 -3
  69. package/dist/cli/help.js.map +1 -1
  70. package/dist/cli/prime-blob.js +68 -2
  71. package/dist/cli/prime-blob.js.map +1 -1
  72. package/dist/core/atomicWriter.js +21 -0
  73. package/dist/core/atomicWriter.js.map +1 -0
  74. package/dist/core/yaml.js +8 -0
  75. package/dist/core/yaml.js.map +1 -1
  76. package/dist/hooks/common.js +1 -1
  77. package/dist/hooks/common.js.map +1 -1
  78. package/dist/hooks/compaction/index.js +2 -2
  79. package/dist/hooks/compaction/index.js.map +1 -1
  80. package/dist/hooks/compaction/retention.js +6 -3
  81. package/dist/hooks/compaction/retention.js.map +1 -1
  82. package/dist/hooks/compaction/status.js +6 -4
  83. package/dist/hooks/compaction/status.js.map +1 -1
  84. package/dist/hooks/sessionStop.js +2 -2
  85. package/dist/hooks/sessionStop.js.map +1 -1
  86. package/dist/hooks/validateArtifact/schema.js +82 -6
  87. package/dist/hooks/validateArtifact/schema.js.map +1 -1
  88. package/dist/hooks/validateArtifact/violations.js +5 -2
  89. package/dist/hooks/validateArtifact/violations.js.map +1 -1
  90. package/dist/registries/artifactRegistry.js +39 -6
  91. package/dist/registries/artifactRegistry.js.map +1 -1
  92. package/dist/state/startupAnalysis/helpers.js +1 -1
  93. package/dist/state/startupAnalysis/helpers.js.map +1 -1
  94. package/dist/state/write/assign.js +21 -0
  95. package/dist/state/write/assign.js.map +1 -0
  96. package/dist/state/write/errors.js +12 -0
  97. package/dist/state/write/errors.js.map +1 -0
  98. package/dist/state/write/explain.js +151 -0
  99. package/dist/state/write/explain.js.map +1 -0
  100. package/dist/state/write/fields.js +62 -0
  101. package/dist/state/write/fields.js.map +1 -0
  102. package/dist/state/write/index.js +11 -0
  103. package/dist/state/write/index.js.map +1 -0
  104. package/dist/state/write/input.js +22 -0
  105. package/dist/state/write/input.js.map +1 -0
  106. package/dist/state/write/lock.js +108 -0
  107. package/dist/state/write/lock.js.map +1 -0
  108. package/dist/state/write/operations.js +181 -0
  109. package/dist/state/write/operations.js.map +1 -0
  110. package/dist/state/write/serialize.js +2 -0
  111. package/dist/state/write/serialize.js.map +1 -0
  112. package/dist/state/write/transaction.js +619 -0
  113. package/dist/state/write/transaction.js.map +1 -0
  114. package/dist/state/write/validate.js +8 -0
  115. package/dist/state/write/validate.js.map +1 -0
  116. package/dist/upgrade/atomicWriter.js +1 -22
  117. package/dist/upgrade/atomicWriter.js.map +1 -1
  118. package/dist/upgrade/compatibility.js +33 -0
  119. package/dist/upgrade/compatibility.js.map +1 -1
  120. 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":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAGhF,SAAS,WAAW,CAAC,MAAkB,EAAE,SAAiB;IACxD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QAC1E,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAmB,CAAC,EAAE,CAAC;YACvD,IACE,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrB,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,EAClC,CAAC;gBACD,OAAO,KAAmB,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAwB;IACpD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IACjE,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,KAAK;YACP,OAAO,KAAK,CAAC,CAAC,CAAC;iBACZ,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,IAAmB,EACnB,SAAS,GAAG,IAAI,uBAAuB,EAAE;IAEzC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO;YACL,GAAG,KAAK;YACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;YACpD,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,oBAAoB,CAAC,KAAK,CAAC;YAC7D,WAAW,EACT,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SACpF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,SAAS,GAAG,IAAI,uBAAuB,EAAE;IAEzC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,IACE,CAAC,MAAM;QACP,CAAC,MAAM,CAAC,MAAM;QACd,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QACjC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAE5B,OAAO,MAAM,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAoB,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACxF,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -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,2 @@
1
+ export { dumpYamlMapping } from "../../core/yaml.js";
2
+ //# sourceMappingURL=serialize.js.map
@@ -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"}