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,425 +0,0 @@
1
- import fs from "node:fs";
2
- import os from "node:os";
3
- import path from "node:path";
4
- import { expanduser, pathExists, resolvePath } from "../../core/paths.js";
5
- import { pyJsonIndentSorted } from "../../core/pyjson.js";
6
- import { planChange as codexPlanChange } from "../codex.js";
7
- import { resolveSourceRootStrict } from "../../upgrade/appModel.js";
8
- import { runNpmSmokeChecks } from "../smokeChecks.js";
9
- import { SCHEMA_VERSION, STATUSES, RUNTIMES, INSTALLER_SCHEMA_VERSION, INSTALLER_FIXABLE_GAPS, WARN_STATUSES, FAIL_STATUSES, mkCheck, summarizeStatuses, classifyInstallRoot, runtimeResult, } from "./core.js";
10
- import { smokeCheck } from "./opencode.js";
11
- import { CODEX_HOME_CHECK, CODEX_RUNTIME_CONFIG_GAP, DIAGNOSTICS } from "./diagnostics.js";
12
- export function pyJsonIndent(value, level = 0) {
13
- return pyJsonIndentSorted(value, 2, level);
14
- }
15
- function summarize(runtimes) {
16
- return summarizeStatuses(runtimes);
17
- }
18
- export function buildReport(opts = {}) {
19
- const runtimes = opts.runtimes ?? RUNTIMES;
20
- const liveModelAllowed = opts.liveModelAllowed ?? false;
21
- const sourceEnv = { ...(opts.env ?? process.env) };
22
- const rootReport = classifyInstallRoot(opts.installRoot ?? null, sourceEnv);
23
- const rootPath = rootReport.path ? rootReport.path : null;
24
- const homePath = resolvePath(expanduser(opts.home ?? os.homedir()));
25
- const runtimeReports = {};
26
- if (rootPath === null || rootReport.status === "fail") {
27
- for (const runtime of runtimes) {
28
- runtimeReports[runtime] = runtimeResult(runtime, sourceEnv, [
29
- mkCheck("install_root", "fail", "runtime diagnosis requires a valid Agentera install root", {
30
- gap: rootReport.gap,
31
- details: rootReport.missing,
32
- }),
33
- ]);
34
- }
35
- }
36
- else {
37
- for (const runtime of runtimes) {
38
- runtimeReports[runtime] = DIAGNOSTICS[runtime](rootPath, homePath, sourceEnv);
39
- }
40
- }
41
- const summaryCounts = summarize(runtimeReports);
42
- const emptySummary = {};
43
- for (const status of STATUSES)
44
- emptySummary[status] = 0;
45
- let smokeReport = {
46
- enabled: false,
47
- liveModelAllowed,
48
- modelCallsAttempted: false,
49
- summary: emptySummary,
50
- checks: [],
51
- };
52
- if (opts.runSmoke) {
53
- try {
54
- const sourceRoot = resolveSourceRootStrict(sourceEnv);
55
- smokeReport = runNpmSmokeChecks(sourceRoot, sourceEnv, {
56
- liveModelAllowed,
57
- runtimes,
58
- });
59
- }
60
- catch (exc) {
61
- smokeReport = {
62
- enabled: true,
63
- liveModelAllowed,
64
- modelCallsAttempted: false,
65
- summary: { ...emptySummary, fail: 1 },
66
- checks: [
67
- smokeCheck("source_root", "helper", "fail", exc.message, {
68
- details: ["resolveSourceRootStrict"],
69
- }),
70
- ],
71
- };
72
- }
73
- }
74
- const ok = rootReport.status !== "fail" && summaryCounts.fail === 0 && smokeReport.summary.fail === 0;
75
- return {
76
- schemaVersion: SCHEMA_VERSION,
77
- ok,
78
- installRoot: rootReport,
79
- runtimes: runtimeReports,
80
- summary: summaryCounts,
81
- smoke: smokeReport,
82
- };
83
- }
84
- export function renderHuman(report) {
85
- const installRoot = report.installRoot;
86
- const lines = [
87
- "Agentera setup doctor",
88
- `install root: ${installRoot.status} - ${installRoot.message}`,
89
- ];
90
- if (installRoot.path)
91
- lines.push(` path: ${installRoot.path}`);
92
- const missing = installRoot.missing;
93
- if (missing && missing.length > 0) {
94
- lines.push(" missing: " + missing.join(", "));
95
- }
96
- for (const [runtime, result] of Object.entries(report.runtimes)) {
97
- lines.push(`${runtime}: ${result.status}`);
98
- for (const check of result.checks) {
99
- const suffix = check.gap ? ` [${check.gap}]` : "";
100
- lines.push(` - ${check.name}: ${check.status} - ${check.message}${suffix}`);
101
- if (check.path)
102
- lines.push(` path: ${check.path}`);
103
- const details = check.details;
104
- if (details && details.length > 0)
105
- lines.push(" details: " + details.join(", "));
106
- }
107
- }
108
- const smoke = (report.smoke ?? {});
109
- if (smoke.enabled) {
110
- lines.push("smoke: enabled");
111
- lines.push(` model calls attempted: ${pyBool(smoke.modelCallsAttempted)}`);
112
- for (const check of (smoke.checks ?? [])) {
113
- lines.push(` - ${check.name}: ${check.status} - ${check.message} [${check.category}]`);
114
- if (check.path)
115
- lines.push(` path: ${check.path}`);
116
- const details = check.details;
117
- if (details && details.length > 0)
118
- lines.push(" details: " + details.join(", "));
119
- }
120
- }
121
- return lines.join("\n");
122
- }
123
- function pyBool(value) {
124
- return value ? "True" : "False";
125
- }
126
- export function renderInstaller(installer) {
127
- const lines = ["Agentera setup installer", `status: ${installer.message}`];
128
- if (!installer.changes || installer.changes.length === 0)
129
- return lines.join("\n");
130
- for (const change of installer.changes) {
131
- lines.push(`${change.runtime}: ${change.status}`);
132
- lines.push(` target: ${change.target || "(none)"}`);
133
- lines.push(` reason: ${change.reason}`);
134
- lines.push(` action: ${change.action} - ${change.message}`);
135
- }
136
- if (installer.afterDoctor !== null && installer.afterDoctor !== undefined) {
137
- const after = installer.afterDoctor;
138
- lines.push(`doctor after install: ${after.ok ? "pass" : "fail"} (summary: ${pyJsonObject(after.summary)})`);
139
- }
140
- else if (installer.summary.pending && !installer.dryRun) {
141
- lines.push("confirmation required: re-run with --yes to apply these changes");
142
- }
143
- return lines.join("\n");
144
- }
145
- /** Python str(dict) repr for the summary line. */
146
- function pyJsonObject(obj) {
147
- const parts = Object.entries(obj).map(([k, v]) => `'${k}': ${typeof v === "string" ? `'${v}'` : v}`);
148
- return "{" + parts.join(", ") + "}";
149
- }
150
- export function publicInstaller(installer) {
151
- if (installer === null)
152
- return null;
153
- const pub = { ...installer };
154
- pub.changes = installer.changes.map((change) => {
155
- const c = {};
156
- for (const [key, value] of Object.entries(change)) {
157
- if (key !== "newText" && key !== "diff")
158
- c[key] = value;
159
- }
160
- return c;
161
- });
162
- return pub;
163
- }
164
- // ── installer ───────────────────────────────────────────────────────
165
- function installerChange(opts) {
166
- return {
167
- runtime: opts.runtime,
168
- target: opts.target,
169
- reason: opts.reason,
170
- status: opts.status,
171
- action: opts.action,
172
- message: opts.message,
173
- newText: opts.newText ?? "",
174
- diff: opts.diff ?? "",
175
- };
176
- }
177
- function fixableReason(runtimeReport, checkName, gaps = null) {
178
- if (!runtimeReport.available)
179
- return null;
180
- const runtime = String(runtimeReport.runtime ?? "");
181
- const fixableGaps = gaps ?? INSTALLER_FIXABLE_GAPS[runtime] ?? [];
182
- for (const check of (runtimeReport.checks ?? [])) {
183
- if (check.name !== checkName)
184
- continue;
185
- if (check.status !== WARN_STATUSES[runtime] && check.status !== FAIL_STATUSES[runtime])
186
- continue;
187
- if (!fixableGaps.includes(check.gap))
188
- continue;
189
- return String(check.message || "doctor found a fixable setup gap");
190
- }
191
- return null;
192
- }
193
- function planCodexInstallerChange(installRoot, home, runtimeReport) {
194
- const reason = fixableReason(runtimeReport, CODEX_HOME_CHECK, [CODEX_RUNTIME_CONFIG_GAP]);
195
- if (reason === null)
196
- return null;
197
- const target = path.join(home, ".codex", "config.toml");
198
- let outcome;
199
- try {
200
- const currentText = pathExists(target) ? fs.readFileSync(target, "utf8") : null;
201
- outcome = codexPlanChange(currentText, installRoot, { force: false });
202
- }
203
- catch (exc) {
204
- return installerChange({
205
- runtime: "codex",
206
- target,
207
- reason,
208
- status: "blocked",
209
- action: "blocked",
210
- message: `cannot safely plan Codex config change: ${exc.message}`,
211
- });
212
- }
213
- if (outcome.action === "noop") {
214
- return installerChange({ runtime: "codex", target, reason, status: "noop", action: outcome.action, message: outcome.message });
215
- }
216
- if (outcome.action === "conflict") {
217
- return installerChange({
218
- runtime: "codex",
219
- target,
220
- reason,
221
- status: "blocked",
222
- action: outcome.action,
223
- message: outcome.message,
224
- diff: outcome.diff,
225
- });
226
- }
227
- return installerChange({
228
- runtime: "codex",
229
- target,
230
- reason,
231
- status: "pending",
232
- action: outcome.action,
233
- message: outcome.message,
234
- newText: outcome.newText,
235
- diff: outcome.diff,
236
- });
237
- }
238
- function planCopilotInstallerChange() {
239
- return null;
240
- }
241
- function summarizeInstaller(changes) {
242
- const statuses = ["pending", "applied", "noop", "blocked", "failed"];
243
- const summary = {};
244
- for (const status of statuses)
245
- summary[status] = 0;
246
- for (const change of changes)
247
- summary[change.status] += 1;
248
- return summary;
249
- }
250
- export function buildInstallerPlan(report, opts) {
251
- const changes = [];
252
- const installRootJsonObject = report.installRoot;
253
- const rootPath = installRootJsonObject?.path;
254
- if (!rootPath || installRootJsonObject?.status === "fail") {
255
- return {
256
- schemaVersion: INSTALLER_SCHEMA_VERSION,
257
- confirmed: opts.confirmed,
258
- dryRun: opts.dryRun,
259
- changes,
260
- summary: summarizeInstaller(changes),
261
- afterDoctor: null,
262
- message: "installer requires a valid Agentera install root",
263
- };
264
- }
265
- const installRoot = rootPath;
266
- for (const runtime of opts.runtimes) {
267
- const runtimeReport = report.runtimes[runtime];
268
- let change = null;
269
- if (runtime === "codex")
270
- change = planCodexInstallerChange(installRoot, opts.home, runtimeReport);
271
- else if (runtime === "copilot")
272
- change = planCopilotInstallerChange();
273
- if (change !== null)
274
- changes.push(change);
275
- }
276
- return {
277
- schemaVersion: INSTALLER_SCHEMA_VERSION,
278
- confirmed: opts.confirmed,
279
- dryRun: opts.dryRun,
280
- changes,
281
- summary: summarizeInstaller(changes),
282
- afterDoctor: null,
283
- message: changes.length === 0 ? "no installer changes needed" : "installer changes planned",
284
- };
285
- }
286
- export function applyInstallerPlan(plan) {
287
- for (const change of plan.changes) {
288
- if (change.status !== "pending")
289
- continue;
290
- const target = change.target;
291
- try {
292
- fs.mkdirSync(path.dirname(target), { recursive: true });
293
- fs.writeFileSync(target, change.newText, "utf8");
294
- }
295
- catch (exc) {
296
- change.status = "failed";
297
- change.message = `error writing ${target}: ${exc.message}`;
298
- continue;
299
- }
300
- change.status = "applied";
301
- change.message = `wrote ${target}: ${String(change.message).replaceAll("would ", "")}`;
302
- }
303
- plan.summary = summarizeInstaller(plan.changes);
304
- }
305
- export function doctorMain(argv = [], io = {}) {
306
- const writeOut = io.out ?? ((text) => process.stdout.write(text));
307
- const writeErr = io.err ?? ((text) => process.stderr.write(text));
308
- const out = (line) => writeOut(line + "\n");
309
- const env = io.env ?? process.env;
310
- const args = {
311
- installRoot: null,
312
- home: null,
313
- runtime: [],
314
- smoke: false,
315
- install: false,
316
- yes: false,
317
- dryRun: false,
318
- allowLiveModel: false,
319
- json: false,
320
- };
321
- const valueFlag = (a, name) => {
322
- if (a === name)
323
- return "__NEXT__";
324
- if (a.startsWith(name + "="))
325
- return a.slice(name.length + 1);
326
- return null;
327
- };
328
- for (let i = 0; i < argv.length; i++) {
329
- const a = argv[i];
330
- let v;
331
- if ((v = valueFlag(a, "--install-root")) !== null)
332
- args.installRoot = v === "__NEXT__" ? argv[++i] : v;
333
- else if ((v = valueFlag(a, "--home")) !== null)
334
- args.home = v === "__NEXT__" ? argv[++i] : v;
335
- else if ((v = valueFlag(a, "--runtime")) !== null) {
336
- const rt = v === "__NEXT__" ? argv[++i] : v;
337
- if (!RUNTIMES.includes(rt)) {
338
- writeErr(`setup_doctor: error: argument --runtime: invalid choice: '${rt}'\n`);
339
- return 2;
340
- }
341
- args.runtime.push(rt);
342
- }
343
- else if (a === "--smoke")
344
- args.smoke = true;
345
- else if (a === "--install")
346
- args.install = true;
347
- else if (a === "--yes")
348
- args.yes = true;
349
- else if (a === "--dry-run")
350
- args.dryRun = true;
351
- else if (a === "--allow-live-model")
352
- args.allowLiveModel = true;
353
- else if (a === "--json")
354
- args.json = true;
355
- else {
356
- writeErr(`setup_doctor: error: unrecognized arguments: ${a}\n`);
357
- return 2;
358
- }
359
- }
360
- if (args.yes && !args.install) {
361
- writeErr("setup_doctor: error: --yes requires --install\n");
362
- return 2;
363
- }
364
- if (args.dryRun && !args.install) {
365
- writeErr("setup_doctor: error: --dry-run requires --install\n");
366
- return 2;
367
- }
368
- const runtimes = args.runtime.length > 0 ? args.runtime : RUNTIMES;
369
- const sourceEnv = { ...env };
370
- const home = resolvePath(expanduser(args.home ?? os.homedir()));
371
- const report = buildReport({
372
- installRoot: args.installRoot,
373
- home,
374
- env: sourceEnv,
375
- runtimes,
376
- runSmoke: args.smoke,
377
- liveModelAllowed: args.allowLiveModel,
378
- });
379
- let installer = null;
380
- if (args.install) {
381
- installer = buildInstallerPlan(report, {
382
- home,
383
- env: sourceEnv,
384
- runtimes,
385
- confirmed: args.yes,
386
- dryRun: args.dryRun,
387
- });
388
- if (args.yes) {
389
- applyInstallerPlan(installer);
390
- installer.afterDoctor = buildReport({
391
- installRoot: args.installRoot,
392
- home,
393
- env: sourceEnv,
394
- runtimes,
395
- runSmoke: args.smoke,
396
- liveModelAllowed: args.allowLiveModel,
397
- });
398
- }
399
- }
400
- if (args.json) {
401
- const payload = installer !== null ? { doctor: report, installer: publicInstaller(installer) } : report;
402
- out(pyJsonIndent(payload));
403
- }
404
- else {
405
- out(renderHuman(report));
406
- if (installer !== null) {
407
- out("");
408
- out(renderInstaller(installer));
409
- }
410
- }
411
- if (installer === null)
412
- return report.ok ? 0 : 1;
413
- const summary = installer.summary;
414
- if (summary.failed || summary.blocked)
415
- return 1;
416
- if (summary.pending && !args.dryRun && !args.yes)
417
- return 1;
418
- const afterDoctor = installer.afterDoctor;
419
- if (afterDoctor !== null && afterDoctor !== undefined && !afterDoctor.ok)
420
- return 1;
421
- if (!report.ok && !(summary.pending || summary.applied))
422
- return 1;
423
- return 0;
424
- }
425
- //# sourceMappingURL=report.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/setup/doctor/report.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Setup diagnosis and confirmed installation for an Agentera suite bundle.
3
- * Faithful TS port of scripts/setup_doctor.py. Implementation is split across
4
- * `setup/doctor/` by responsibility; this file preserves the original import path.
5
- */
6
- export * from "./doctor/core.js";
7
- export * from "./doctor/opencode.js";
8
- export * from "./doctor/diagnostics.js";
9
- export * from "./doctor/report.js";
10
- //# sourceMappingURL=doctor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/setup/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}