agentera 3.0.0-dev.25 → 3.0.0-dev.26

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 (270) hide show
  1. package/README.md +16 -20
  2. package/bundle/CHANGELOG.md +15 -25
  3. package/bundle/README.md +13 -34
  4. package/bundle/UPGRADE.md +71 -165
  5. package/bundle/references/adapters/package-manifest-interface-model.yaml +40 -241
  6. package/bundle/references/adapters/package-registry.yaml +0 -145
  7. package/bundle/references/adapters/package-surface-characterization.md +13 -38
  8. package/bundle/references/adapters/runtime-lifecycle-adapters.yaml +5 -219
  9. package/bundle/references/adapters/runtime-lifecycle-authority.yaml +2 -29
  10. package/bundle/references/adapters/runtime-lifecycle-operation-contract.yaml +1 -1
  11. package/bundle/references/artifacts/state-storage-authority.yaml +43 -447
  12. package/bundle/references/cli/agent-ready-state-contract.yaml +9 -9
  13. package/bundle/references/cli/app-lifecycle-vocabulary.yaml +3 -4
  14. package/bundle/references/cli/bundle-skill-vocabulary.yaml +9 -18
  15. package/bundle/references/cli/capability-tool-classification.yaml +2 -2
  16. package/bundle/references/cli/prime-consumer-compatibility.yaml +28 -98
  17. package/bundle/references/cli/routing-execution-vocabulary.yaml +4 -22
  18. package/bundle/references/cli/upgrade-repair-wording.md +8 -28
  19. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +2 -3
  20. package/bundle/references/cli/vocabulary.md +18 -23
  21. package/bundle/references/meta/documentation-inventory.md +1 -1
  22. package/bundle/skills/agentera/schemas/artifacts/docs.yaml +3 -11
  23. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +1 -1
  24. package/dist/cli/capabilityContext/bespoke.js +8 -2
  25. package/dist/cli/capabilityContext/bespoke.js.map +1 -1
  26. package/dist/cli/capabilityContext/closeout.js +3 -3
  27. package/dist/cli/capabilityContext/closeout.js.map +1 -1
  28. package/dist/cli/capabilityContext/evidence.js +52 -40
  29. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  30. package/dist/cli/capabilityContext/startup.js +1 -1
  31. package/dist/cli/capabilityContext/startup.js.map +1 -1
  32. package/dist/cli/commands/doctor.js +6 -64
  33. package/dist/cli/commands/doctor.js.map +1 -1
  34. package/dist/cli/commands/durability.js +12 -48
  35. package/dist/cli/commands/durability.js.map +1 -1
  36. package/dist/cli/commands/prime/briefOrientation.js +2 -19
  37. package/dist/cli/commands/prime/briefOrientation.js.map +1 -1
  38. package/dist/cli/commands/prime/bundleStatus.js +8 -2
  39. package/dist/cli/commands/prime/bundleStatus.js.map +1 -1
  40. package/dist/cli/commands/prime/collectEntityOrientation.js +27 -14
  41. package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
  42. package/dist/cli/commands/prime/collectOrientationState.js +31 -52
  43. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
  44. package/dist/cli/commands/prime/orientationOutput.js +3 -11
  45. package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
  46. package/dist/cli/commands/prime.js +0 -5
  47. package/dist/cli/commands/prime.js.map +1 -1
  48. package/dist/cli/commands/query.js +17 -49
  49. package/dist/cli/commands/query.js.map +1 -1
  50. package/dist/cli/commands/schema.js +19 -78
  51. package/dist/cli/commands/schema.js.map +1 -1
  52. package/dist/cli/commands/state/decisions.js +11 -57
  53. package/dist/cli/commands/state/decisions.js.map +1 -1
  54. package/dist/cli/commands/state/docs.js +56 -120
  55. package/dist/cli/commands/state/docs.js.map +1 -1
  56. package/dist/cli/commands/state/experimentRecords.js +22 -121
  57. package/dist/cli/commands/state/experimentRecords.js.map +1 -1
  58. package/dist/cli/commands/state/experiments.js +9 -75
  59. package/dist/cli/commands/state/experiments.js.map +1 -1
  60. package/dist/cli/commands/state/get.js +62 -143
  61. package/dist/cli/commands/state/get.js.map +1 -1
  62. package/dist/cli/commands/state/health.js +9 -123
  63. package/dist/cli/commands/state/health.js.map +1 -1
  64. package/dist/cli/commands/state/index.js +2 -2
  65. package/dist/cli/commands/state/index.js.map +1 -1
  66. package/dist/cli/commands/state/list.js +20 -36
  67. package/dist/cli/commands/state/list.js.map +1 -1
  68. package/dist/cli/commands/state/objective.js +19 -86
  69. package/dist/cli/commands/state/objective.js.map +1 -1
  70. package/dist/cli/commands/state/plan.js +9 -388
  71. package/dist/cli/commands/state/plan.js.map +1 -1
  72. package/dist/cli/commands/state/planTasks.js +58 -93
  73. package/dist/cli/commands/state/planTasks.js.map +1 -1
  74. package/dist/cli/commands/state/plans.js +13 -40
  75. package/dist/cli/commands/state/plans.js.map +1 -1
  76. package/dist/cli/commands/state/progress.js +10 -55
  77. package/dist/cli/commands/state/progress.js.map +1 -1
  78. package/dist/cli/commands/state/todo.js +24 -133
  79. package/dist/cli/commands/state/todo.js.map +1 -1
  80. package/dist/cli/commands/state/write.js +11 -33
  81. package/dist/cli/commands/state/write.js.map +1 -1
  82. package/dist/cli/commands/upgrade.js +48 -18
  83. package/dist/cli/commands/upgrade.js.map +1 -1
  84. package/dist/cli/commands/upgradeVerify.js +21 -15
  85. package/dist/cli/commands/upgradeVerify.js.map +1 -1
  86. package/dist/cli/commands/validate.js +1 -9
  87. package/dist/cli/commands/validate.js.map +1 -1
  88. package/dist/cli/dispatch/check.js +5 -12
  89. package/dist/cli/dispatch/check.js.map +1 -1
  90. package/dist/cli/dispatch/index.js +30 -29
  91. package/dist/cli/dispatch/index.js.map +1 -1
  92. package/dist/cli/dispatch/lifecycle.js +23 -40
  93. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  94. package/dist/cli/help.js +20 -100
  95. package/dist/cli/help.js.map +1 -1
  96. package/dist/cli/migrationRequired.js +22 -19
  97. package/dist/cli/migrationRequired.js.map +1 -1
  98. package/dist/cli/orientation/attention.js +1 -97
  99. package/dist/cli/orientation/attention.js.map +1 -1
  100. package/dist/cli/stateQuery.js +1 -2
  101. package/dist/cli/stateQuery.js.map +1 -1
  102. package/dist/core/skillIdentity.js +24 -0
  103. package/dist/core/skillIdentity.js.map +1 -0
  104. package/dist/hooks/common.js +1 -1
  105. package/dist/hooks/common.js.map +1 -1
  106. package/dist/hooks/compaction/status.js +2 -1
  107. package/dist/hooks/compaction/status.js.map +1 -1
  108. package/dist/hooks/cursorSessionStart.js +4 -25
  109. package/dist/hooks/cursorSessionStart.js.map +1 -1
  110. package/dist/hooks/projectHookInput.js +26 -0
  111. package/dist/hooks/projectHookInput.js.map +1 -0
  112. package/dist/hooks/sessionStart.js +23 -239
  113. package/dist/hooks/sessionStart.js.map +1 -1
  114. package/dist/hooks/sessionStop.js +4 -12
  115. package/dist/hooks/sessionStop.js.map +1 -1
  116. package/dist/hooks/validateArtifact/traversal.js +1 -1
  117. package/dist/hooks/validateArtifact/traversal.js.map +1 -1
  118. package/dist/registries/artifactRegistry.js +2 -1
  119. package/dist/registries/artifactRegistry.js.map +1 -1
  120. package/dist/registries/packageRegistry.js +57 -231
  121. package/dist/registries/packageRegistry.js.map +1 -1
  122. package/dist/release/releaseMetadata.js +1 -13
  123. package/dist/release/releaseMetadata.js.map +1 -1
  124. package/dist/runtime/lifecycleAdapterContract.js +4 -4
  125. package/dist/runtime/lifecycleAdapterContract.js.map +1 -1
  126. package/dist/runtime/lifecycleAdapters.js +14 -2
  127. package/dist/runtime/lifecycleAdapters.js.map +1 -1
  128. package/dist/runtime/lifecycleAuthority.js +5 -43
  129. package/dist/runtime/lifecycleAuthority.js.map +1 -1
  130. package/dist/runtime/lifecycleOperationContract.js +3 -2
  131. package/dist/runtime/lifecycleOperationContract.js.map +1 -1
  132. package/dist/runtime/lifecyclePublication.js +21 -0
  133. package/dist/runtime/lifecyclePublication.js.map +1 -1
  134. package/dist/setup/opencode.js +20 -12
  135. package/dist/setup/opencode.js.map +1 -1
  136. package/dist/setup/sharedSkill.js +46 -0
  137. package/dist/setup/sharedSkill.js.map +1 -0
  138. package/dist/setup/smokeChecks.js +16 -43
  139. package/dist/setup/smokeChecks.js.map +1 -1
  140. package/dist/state/decisionEntities.js +7 -4
  141. package/dist/state/decisionEntities.js.map +1 -1
  142. package/dist/state/durability.js +4 -240
  143. package/dist/state/durability.js.map +1 -1
  144. package/dist/state/entityCutover.js +90 -186
  145. package/dist/state/entityCutover.js.map +1 -1
  146. package/dist/state/entityStorage.js +27 -8
  147. package/dist/state/entityStorage.js.map +1 -1
  148. package/dist/state/healthEntities.js +7 -4
  149. package/dist/state/healthEntities.js.map +1 -1
  150. package/dist/state/objectiveExperimentEntities.js +7 -5
  151. package/dist/state/objectiveExperimentEntities.js.map +1 -1
  152. package/dist/state/planEntities.js +14 -10
  153. package/dist/state/planEntities.js.map +1 -1
  154. package/dist/state/progressEntities.js +4 -2
  155. package/dist/state/progressEntities.js.map +1 -1
  156. package/dist/state/startupProjection.js +3 -2
  157. package/dist/state/startupProjection.js.map +1 -1
  158. package/dist/state/stateMode.js +7 -0
  159. package/dist/state/stateMode.js.map +1 -1
  160. package/dist/state/todoDocsEntities.js +6 -4
  161. package/dist/state/todoDocsEntities.js.map +1 -1
  162. package/dist/state/write/explain.js +1 -9
  163. package/dist/state/write/explain.js.map +1 -1
  164. package/dist/state/write/transaction.js +22 -532
  165. package/dist/state/write/transaction.js.map +1 -1
  166. package/dist/upgrade/appContentRefresh.js +43 -28
  167. package/dist/upgrade/appContentRefresh.js.map +1 -1
  168. package/dist/upgrade/doctor.js +5 -1
  169. package/dist/upgrade/doctor.js.map +1 -1
  170. package/dist/upgrade/installedHooksRetirement.js +46 -39
  171. package/dist/upgrade/installedHooksRetirement.js.map +1 -1
  172. package/dist/upgrade/legacyAgentCleanup.js +132 -32
  173. package/dist/upgrade/legacyAgentCleanup.js.map +1 -1
  174. package/dist/upgrade/lifecycleUpgrade.js +65 -378
  175. package/dist/upgrade/lifecycleUpgrade.js.map +1 -1
  176. package/dist/upgrade/migrateArtifactsV2ToV3.js +151 -52
  177. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  178. package/dist/upgrade/migrationPublication.js +123 -0
  179. package/dist/upgrade/migrationPublication.js.map +1 -0
  180. package/dist/upgrade/projectIntegration.js +46 -113
  181. package/dist/upgrade/projectIntegration.js.map +1 -1
  182. package/dist/upgrade/projectIntegrationDecision.js +6 -96
  183. package/dist/upgrade/projectIntegrationDecision.js.map +1 -1
  184. package/dist/upgrade/runtimeMigration.js +222 -402
  185. package/dist/upgrade/runtimeMigration.js.map +1 -1
  186. package/dist/upgrade/upgradeCommands.js +5 -4
  187. package/dist/upgrade/upgradeCommands.js.map +1 -1
  188. package/dist/upgrade/upgradeLock.js +73 -41
  189. package/dist/upgrade/upgradeLock.js.map +1 -1
  190. package/dist/upgrade/upgradeOrchestrator.js +91 -158
  191. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  192. package/dist/upgrade/v3CapabilitySurface.js +2 -2
  193. package/dist/validate/appHomeContract.js +0 -4
  194. package/dist/validate/appHomeContract.js.map +1 -1
  195. package/package.json +7 -5
  196. package/bundle/.codex-plugin/plugin.json +0 -92
  197. package/bundle/.cursor/agents/agentera.md +0 -7
  198. package/bundle/.cursor/hooks.json +0 -32
  199. package/bundle/.cursor-plugin/plugin.json +0 -34
  200. package/bundle/.github/hooks/postToolUse.json +0 -9
  201. package/bundle/.github/hooks/preToolUse.json +0 -8
  202. package/bundle/.github/hooks/sessionEnd.json +0 -8
  203. package/bundle/.github/hooks/sessionStart.json +0 -8
  204. package/bundle/.github/plugin/plugin.json +0 -7
  205. package/bundle/.opencode/agents/agentera.md +0 -12
  206. package/bundle/.opencode/commands/agentera.md +0 -5
  207. package/bundle/.opencode/package.json +0 -31
  208. package/bundle/.opencode/plugins/agentera.js +0 -820
  209. package/bundle/agents/openai.yaml +0 -87
  210. package/bundle/hooks/codex-hooks.json +0 -31
  211. package/bundle/hooks/codex-plugin-hooks.json +0 -31
  212. package/bundle/plugin.json +0 -13
  213. package/bundle/references/adapters/cursor.md +0 -224
  214. package/bundle/references/adapters/opencode.md +0 -529
  215. package/bundle/references/adapters/runtime-adapter-characterization.md +0 -44
  216. package/bundle/references/adapters/runtime-adapter-interface-model.yaml +0 -200
  217. package/bundle/references/adapters/runtime-adapter-registry.yaml +0 -387
  218. package/bundle/references/adapters/runtime-feature-parity.md +0 -129
  219. package/dist/cli/commands/backfill.js +0 -231
  220. package/dist/cli/commands/backfill.js.map +0 -1
  221. package/dist/cli/commands/migrate.js +0 -681
  222. package/dist/cli/commands/migrate.js.map +0 -1
  223. package/dist/registries/runtimeAdapterRegistry.js +0 -324
  224. package/dist/registries/runtimeAdapterRegistry.js.map +0 -1
  225. package/dist/setup/copilot.js +0 -227
  226. package/dist/setup/copilot.js.map +0 -1
  227. package/dist/setup/cursor.js +0 -129
  228. package/dist/setup/cursor.js.map +0 -1
  229. package/dist/setup/cursorSurfaces.js +0 -67
  230. package/dist/setup/cursorSurfaces.js.map +0 -1
  231. package/dist/setup/doctor/core.js +0 -296
  232. package/dist/setup/doctor/core.js.map +0 -1
  233. package/dist/setup/doctor/diagnostics.js +0 -201
  234. package/dist/setup/doctor/diagnostics.js.map +0 -1
  235. package/dist/setup/doctor/opencode.js +0 -301
  236. package/dist/setup/doctor/opencode.js.map +0 -1
  237. package/dist/setup/doctor/report.js +0 -425
  238. package/dist/setup/doctor/report.js.map +0 -1
  239. package/dist/setup/doctor.js +0 -10
  240. package/dist/setup/doctor.js.map +0 -1
  241. package/dist/state/gitBackfill.js +0 -561
  242. package/dist/state/gitBackfill.js.map +0 -1
  243. package/dist/state/gitBackfillAuthority.js +0 -141
  244. package/dist/state/gitBackfillAuthority.js.map +0 -1
  245. package/dist/state/gitBackfillHistory.js +0 -278
  246. package/dist/state/gitBackfillHistory.js.map +0 -1
  247. package/dist/state/gitBackfillOutput.js +0 -209
  248. package/dist/state/gitBackfillOutput.js.map +0 -1
  249. package/dist/state/legacyMigration.js +0 -516
  250. package/dist/state/legacyMigration.js.map +0 -1
  251. package/dist/state/legacyMigrationParser.js +0 -489
  252. package/dist/state/legacyMigrationParser.js.map +0 -1
  253. package/dist/state/migrationAuthority.js +0 -413
  254. package/dist/state/migrationAuthority.js.map +0 -1
  255. package/dist/state/migrationEnrichment.js +0 -35
  256. package/dist/state/migrationEnrichment.js.map +0 -1
  257. package/dist/state/projectionRecovery.js +0 -458
  258. package/dist/state/projectionRecovery.js.map +0 -1
  259. package/dist/upgrade/migrateArtifactsV1ToV2.js +0 -568
  260. package/dist/upgrade/migrateArtifactsV1ToV2.js.map +0 -1
  261. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +0 -93
  262. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +0 -1
  263. package/dist/validate/lifecycleAdapters/lifecycleMain.js +0 -154
  264. package/dist/validate/lifecycleAdapters/lifecycleMain.js.map +0 -1
  265. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +0 -481
  266. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +0 -1
  267. package/dist/validate/lifecycleAdapters/shared.js +0 -198
  268. package/dist/validate/lifecycleAdapters/shared.js.map +0 -1
  269. package/dist/validate/lifecycleAdapters.js +0 -10
  270. package/dist/validate/lifecycleAdapters.js.map +0 -1
@@ -1,198 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { resolvePath } from "../../core/paths.js";
4
- import { resolveSourceRoot } from "../../core/sourceRoot.js";
5
- import { loadRegistry as loadPackageRegistry, } from "../../registries/packageRegistry.js";
6
- export const REGISTRY_CONTRACT_ERROR_PREFIX = "registry contract error";
7
- export const CODEX_PROFILE_TERMS = [
8
- "allow_implicit_invocation: false",
9
- "codex_session_corpus",
10
- "bounded Codex history, session, or config corpus data",
11
- ];
12
- export const CODEX_AGENTERA_METADATA_TERMS = ["$agentera", "bounded Codex session corpus data", "AGENTERA_HOME"];
13
- export const CODEX_PROFILE_STATUS_VALUES = ["ok", "degraded"];
14
- export const HARD_GATE_DOC_REQUIREMENTS = {
15
- "references/adapters/runtime-feature-parity.md": ["opencode", "copilot", "cursor"],
16
- "references/adapters/opencode.md": ["opencode"],
17
- };
18
- export function rootDefault() {
19
- return resolveSourceRoot();
20
- }
21
- function packageRegistryPath(root) {
22
- return path.join(root, "references/adapters/package-registry.yaml");
23
- }
24
- export function isMapping(v) {
25
- return v !== null && typeof v === "object" && !Array.isArray(v);
26
- }
27
- export function objectField(obj, key) {
28
- const value = obj[key];
29
- return isMapping(value) ? value : {};
30
- }
31
- export function stringArrayField(obj, key) {
32
- const value = obj[key];
33
- if (!Array.isArray(value))
34
- return [];
35
- return value.filter((entry) => typeof entry === "string");
36
- }
37
- export function stringField(obj, key) {
38
- const value = obj[key];
39
- return typeof value === "string" ? value : "";
40
- }
41
- export function loadJson(p) {
42
- const data = JSON.parse(fs.readFileSync(p, "utf8"));
43
- if (!isMapping(data)) {
44
- throw new Error(`${p}: expected JSON object`);
45
- }
46
- return data;
47
- }
48
- export function registryContractError(exc) {
49
- return `${REGISTRY_CONTRACT_ERROR_PREFIX}: ${exc.message}`;
50
- }
51
- export function runtimeView(registry, runtime) {
52
- return registry.consumerView("lifecycle", runtime);
53
- }
54
- export function packageManifest(root) {
55
- const registryPath = packageRegistryPath(root);
56
- if (fs.existsSync(registryPath) && fs.statSync(registryPath).isFile()) {
57
- return loadPackageRegistry(registryPath, root);
58
- }
59
- return loadPackageRegistry(packageRegistryPath(rootDefault()), rootDefault());
60
- }
61
- export function supportedEvents(registry, runtime) {
62
- const lifecycleEvents = objectField(runtimeView(registry, runtime), "lifecycle_events");
63
- return new Set(stringArrayField(lifecycleEvents, "supported_events"));
64
- }
65
- export function unsupportedEvents(registry, runtime) {
66
- const lifecycleEvents = objectField(runtimeView(registry, runtime), "lifecycle_events");
67
- return new Set(stringArrayField(lifecycleEvents, "unsupported_events"));
68
- }
69
- export function opencodeEventPayloadTypes(registry) {
70
- const lifecycleEvents = objectField(runtimeView(registry, "opencode"), "lifecycle_events");
71
- const eventStatus = objectField(lifecycleEvents, "event_status");
72
- const out = new Set();
73
- for (const [event, status] of Object.entries(eventStatus)) {
74
- if (status === "supported_via_event")
75
- out.add(event);
76
- }
77
- return out;
78
- }
79
- export function validationEvents(registry, runtime) {
80
- const artifactValidation = objectField(runtimeView(registry, runtime), "artifact_validation");
81
- return stringArrayField(artifactValidation, "validation_events");
82
- }
83
- function claimTerms(text, candidates) {
84
- const normalized = text.toLowerCase();
85
- return candidates.filter((term) => normalized.includes(term.toLowerCase()));
86
- }
87
- export function copilotProfileTerms(registry) {
88
- const view = runtimeView(registry, "copilot");
89
- const lifecycleEvents = objectField(view, "lifecycle_events");
90
- const documentationClaims = objectField(view, "documentation_claims");
91
- const text = [
92
- ...stringArrayField(lifecycleEvents, "limitations"),
93
- ...stringArrayField(documentationClaims, "parity_claims"),
94
- ].join(" ");
95
- return claimTerms(text, ["profile", "bounded", "corpus", "metadata", "missing source families"]);
96
- }
97
- export function codexLifecycleStatusValues(registry) {
98
- const lifecycleEvents = objectField(runtimeView(registry, "codex"), "lifecycle_events");
99
- const eventStatus = objectField(lifecycleEvents, "event_status");
100
- const statuses = ["stable"];
101
- for (const event of stringArrayField(lifecycleEvents, "supported_events")) {
102
- const status = eventStatus[event];
103
- if (typeof status === "string" && status !== "unsupported" && !statuses.includes(status)) {
104
- statuses.push(status);
105
- }
106
- }
107
- return statuses;
108
- }
109
- export function codexLimitationTerms(registry) {
110
- const view = runtimeView(registry, "codex");
111
- const lifecycleEvents = objectField(view, "lifecycle_events");
112
- const artifactValidation = objectField(view, "artifact_validation");
113
- const text = [
114
- ...stringArrayField(lifecycleEvents, "limitations"),
115
- ...stringArrayField(artifactValidation, "hard_gate_claims"),
116
- ].join(" ");
117
- return claimTerms(text, ["codex_hooks", "apply_patch", "openai/codex#18391"]);
118
- }
119
- export function hardGateDocTerms(registry, runtime, relativePath) {
120
- const view = runtimeView(registry, runtime);
121
- const artifact = objectField(view, "artifact_validation");
122
- const documentationClaims = objectField(view, "documentation_claims");
123
- const primary = relativePath === "references/adapters/opencode.md"
124
- ? stringArrayField(documentationClaims, "parity_claims")
125
- : stringArrayField(artifact, "hard_gate_claims");
126
- return [...primary, ...stringArrayField(artifact, "payload_reconstruction_limitations")];
127
- }
128
- export function validateCommandHandler(errors, runtime, event, index, handler) {
129
- const prefix = `${runtime}.${event}[${index}]`;
130
- if (!isMapping(handler)) {
131
- errors.push(`${prefix}: handler must be an object`);
132
- return;
133
- }
134
- if (handler.type !== "command") {
135
- errors.push(`${prefix}: handler type must be 'command'`);
136
- }
137
- if ("command" in handler) {
138
- errors.push(`${prefix}: use bash/powershell, not the legacy command field`);
139
- }
140
- if (!handler.bash && !handler.powershell) {
141
- errors.push(`${prefix}: handler must define bash or powershell`);
142
- }
143
- const timeout = handler.timeoutSec;
144
- if (timeout !== null && timeout !== undefined && !(typeof timeout === "number" && Number.isInteger(timeout))) {
145
- errors.push(`${prefix}: timeoutSec must be an integer`);
146
- }
147
- }
148
- export function handlerCommandText(handler) {
149
- if (!isMapping(handler))
150
- return "";
151
- return [handler.bash, handler.powershell].filter((p) => typeof p === "string").join(" ");
152
- }
153
- export function stringPaths(value) {
154
- if (typeof value === "string")
155
- return [value];
156
- if (Array.isArray(value) && value.every((p) => typeof p === "string"))
157
- return value;
158
- return [];
159
- }
160
- export function resolveInside(root, p) {
161
- const resolved = resolvePath(path.join(root, p));
162
- const rel = path.relative(resolvePath(root), resolved);
163
- if (rel !== "" && (rel.startsWith("..") || path.isAbsolute(rel)))
164
- return null;
165
- return resolved;
166
- }
167
- export function resolveFromManifest(root, manifest, p) {
168
- const resolved = resolvePath(path.join(path.dirname(manifest), p));
169
- const rel = path.relative(resolvePath(root), resolved);
170
- if (rel !== "" && (rel.startsWith("..") || path.isAbsolute(rel)))
171
- return null;
172
- return resolved;
173
- }
174
- export function isFile(p) {
175
- try {
176
- return fs.statSync(p).isFile();
177
- }
178
- catch {
179
- return false;
180
- }
181
- }
182
- export function isDir(p) {
183
- try {
184
- return fs.statSync(p).isDirectory();
185
- }
186
- catch {
187
- return false;
188
- }
189
- }
190
- export function setsEqual(a, b) {
191
- if (a.size !== b.size)
192
- return false;
193
- for (const v of a)
194
- if (!b.has(v))
195
- return false;
196
- return true;
197
- }
198
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/validate/lifecycleAdapters/shared.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Public re-export surface for lifecycle validation. The node-form checks, legacy
3
- * Python parity probes, and the orchestration entry (`lifecycleMain`) live in
4
- * dedicated modules under `./lifecycleAdapters/`. This barrel keeps the historical
5
- * import path (`../validate/lifecycleAdapters.js`) stable for consumers.
6
- */
7
- export { validateCodex, validateCodexProfileMetadata, validateCopilot, validateCopilotHooks, validateCursor, validateCursorHooks, validateHardGateDocs, validateOpencode, validateSuiteBundleSurface, } from "./lifecycleAdapters/nodeFormChecks.js";
8
- export { LEGACY_PYTHON_PARITY_ENV, LEGACY_PYTHON_PARITY_FLAG, legacyPythonParityEnabled, validatePackagedPythonScripts, validateUvRuntime, } from "./lifecycleAdapters/legacyPythonParity.js";
9
- export { validateRuntimeIdParity, validateRuntimeConsumerWiring, lifecycleMain, } from "./lifecycleAdapters/lifecycleMain.js";
10
- //# sourceMappingURL=lifecycleAdapters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lifecycleAdapters.js","sourceRoot":"","sources":["../../src/validate/lifecycleAdapters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAEL,uBAAuB,EACvB,6BAA6B,EAC7B,aAAa,GACd,MAAM,sCAAsC,CAAC"}