agentera 3.0.0-dev.6 → 3.0.0-next.1

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 (195) hide show
  1. package/bundle/extract-corpus-parity.json +23 -0
  2. package/bundle/references/adapters/cursor.md +9 -8
  3. package/bundle/references/analysis/startup-measurement-contract.yaml +4 -4
  4. package/bundle/references/cli/parity-expected-actual-template.md +30 -0
  5. package/bundle/references/cli/update-channels.yaml +15 -0
  6. package/bundle/references/cli/vocabulary-index.yaml +6 -4
  7. package/bundle/references/cli/vocabulary.md +305 -301
  8. package/bundle/skills/agentera/SKILL.md +35 -27
  9. package/bundle/skills/agentera/capabilities/hej/schemas/artifacts.yaml +4 -1
  10. package/bundle/skills/agentera/capabilities/profilera/schemas/exit.yaml +2 -1
  11. package/bundle/skills/agentera/capability_schema_contract.yaml +28 -0
  12. package/bundle/skills/agentera/references/contract.md +324 -315
  13. package/bundle/skills/agentera/schemas/artifacts/todo.yaml +38 -33
  14. package/dist/analytics/extractCorpus/cli.js +49 -1
  15. package/dist/analytics/extractCorpus/cli.js.map +1 -1
  16. package/dist/analytics/extractCorpus/copilotSessions.js +47 -5
  17. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -1
  18. package/dist/analytics/extractCorpus/core.js +11 -5
  19. package/dist/analytics/extractCorpus/core.js.map +1 -1
  20. package/dist/analytics/extractCorpus/corpus.js +26 -13
  21. package/dist/analytics/extractCorpus/corpus.js.map +1 -1
  22. package/dist/analytics/extractCorpus/coverageAudit.js +261 -0
  23. package/dist/analytics/extractCorpus/coverageAudit.js.map +1 -0
  24. package/dist/analytics/extractCorpus/cursorSessions.js +6 -3
  25. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -1
  26. package/dist/analytics/extractCorpus/extractCorpusParity.js +105 -0
  27. package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -0
  28. package/dist/analytics/extractCorpus/index.js +3 -0
  29. package/dist/analytics/extractCorpus/index.js.map +1 -1
  30. package/dist/analytics/extractCorpus/sqliteCaps.js +44 -0
  31. package/dist/analytics/extractCorpus/sqliteCaps.js.map +1 -0
  32. package/dist/analytics/extractCorpus/sqliteSessions.js +98 -5
  33. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -1
  34. package/dist/capabilities/inspirera/instructions.js +1 -1
  35. package/dist/capabilities/inspirera/instructions.js.map +1 -1
  36. package/dist/capabilities/planera/instructions.js +1 -1
  37. package/dist/capabilities/planera/instructions.js.map +1 -1
  38. package/dist/capabilities/profilera/instructions.js +1 -1
  39. package/dist/capabilities/profilera/instructions.js.map +1 -1
  40. package/dist/capabilities/realisera/instructions.js +1 -1
  41. package/dist/capabilities/realisera/instructions.js.map +1 -1
  42. package/dist/capabilities/resonera/instructions.js +1 -1
  43. package/dist/capabilities/resonera/instructions.js.map +1 -1
  44. package/dist/capabilities/visionera/instructions.js +1 -1
  45. package/dist/capabilities/visionera/instructions.js.map +1 -1
  46. package/dist/capabilities/visualisera/instructions.js +3 -4
  47. package/dist/capabilities/visualisera/instructions.js.map +1 -1
  48. package/dist/cli/appContext.js +2 -14
  49. package/dist/cli/appContext.js.map +1 -1
  50. package/dist/cli/capabilityContext/benchmark.js +2 -2
  51. package/dist/cli/capabilityContext/benchmark.js.map +1 -1
  52. package/dist/cli/capabilityContext/closeout.js +5 -5
  53. package/dist/cli/capabilityContext/closeout.js.map +1 -1
  54. package/dist/cli/capabilityContext/evidence.js +6 -6
  55. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  56. package/dist/cli/capabilityContext/orchestration.js +5 -5
  57. package/dist/cli/capabilityContext/orchestration.js.map +1 -1
  58. package/dist/cli/capabilityContext/realisera.js +8 -8
  59. package/dist/cli/capabilityContext/realisera.js.map +1 -1
  60. package/dist/cli/capabilityContext/startup.js +8 -8
  61. package/dist/cli/capabilityContext/startup.js.map +1 -1
  62. package/dist/cli/capabilityContext/types.js +9 -9
  63. package/dist/cli/capabilityContext/types.js.map +1 -1
  64. package/dist/cli/commands/appHome.js +23 -0
  65. package/dist/cli/commands/appHome.js.map +1 -0
  66. package/dist/cli/commands/doctor.js +10 -105
  67. package/dist/cli/commands/doctor.js.map +1 -1
  68. package/dist/cli/commands/prime/bundleStatus.js +126 -0
  69. package/dist/cli/commands/prime/bundleStatus.js.map +1 -0
  70. package/dist/cli/commands/prime/collectOrientationState.js +143 -0
  71. package/dist/cli/commands/prime/collectOrientationState.js.map +1 -0
  72. package/dist/cli/commands/prime/orientationOutput.js +172 -0
  73. package/dist/cli/commands/prime/orientationOutput.js.map +1 -0
  74. package/dist/cli/commands/prime/types.js +2 -0
  75. package/dist/cli/commands/prime/types.js.map +1 -0
  76. package/dist/cli/commands/prime/v1Migration.js +39 -0
  77. package/dist/cli/commands/prime/v1Migration.js.map +1 -0
  78. package/dist/cli/commands/prime.js +10 -549
  79. package/dist/cli/commands/prime.js.map +1 -1
  80. package/dist/cli/commands/report.js +8 -2
  81. package/dist/cli/commands/report.js.map +1 -1
  82. package/dist/cli/commands/state/docs.js +2 -2
  83. package/dist/cli/commands/state/docs.js.map +1 -1
  84. package/dist/cli/commands/state/todo.js +1 -1
  85. package/dist/cli/commands/state/todo.js.map +1 -1
  86. package/dist/cli/commands/validate.js +9 -9
  87. package/dist/cli/commands/validate.js.map +1 -1
  88. package/dist/cli/contracts/bundleStatus.js +2 -0
  89. package/dist/cli/contracts/bundleStatus.js.map +1 -0
  90. package/dist/cli/contracts/orientationState.js +2 -0
  91. package/dist/cli/contracts/orientationState.js.map +1 -0
  92. package/dist/cli/dispatch/argvParser.js +33 -0
  93. package/dist/cli/dispatch/argvParser.js.map +1 -0
  94. package/dist/cli/dispatch/check.js +18 -18
  95. package/dist/cli/dispatch/check.js.map +1 -1
  96. package/dist/cli/dispatch/commands.js +27 -0
  97. package/dist/cli/dispatch/commands.js.map +1 -0
  98. package/dist/cli/dispatch/index.js +3 -1
  99. package/dist/cli/dispatch/index.js.map +1 -1
  100. package/dist/cli/dispatch/lifecycle.js +100 -55
  101. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  102. package/dist/cli/dispatch/prime.js +31 -27
  103. package/dist/cli/dispatch/prime.js.map +1 -1
  104. package/dist/cli/dispatch/state.js +11 -16
  105. package/dist/cli/dispatch/state.js.map +1 -1
  106. package/dist/cli/help.js +30 -0
  107. package/dist/cli/help.js.map +1 -1
  108. package/dist/cli/orientation/attention.js +57 -0
  109. package/dist/cli/orientation/attention.js.map +1 -0
  110. package/dist/cli/orientation/corpusCoverage.js +71 -0
  111. package/dist/cli/orientation/corpusCoverage.js.map +1 -0
  112. package/dist/cli/orientation.js +40 -27
  113. package/dist/cli/orientation.js.map +1 -1
  114. package/dist/cli/startupCompletenessContract.js +49 -0
  115. package/dist/cli/startupCompletenessContract.js.map +1 -0
  116. package/dist/cli/todoSeverity.js +19 -0
  117. package/dist/cli/todoSeverity.js.map +1 -0
  118. package/dist/core/jsonValue.js +6 -0
  119. package/dist/core/jsonValue.js.map +1 -0
  120. package/dist/core/pyjson.js +67 -2
  121. package/dist/core/pyjson.js.map +1 -1
  122. package/dist/hooks/compaction/apply.js +25 -6
  123. package/dist/hooks/compaction/apply.js.map +1 -1
  124. package/dist/hooks/compaction/dryRun.js +3 -3
  125. package/dist/hooks/compaction/dryRun.js.map +1 -1
  126. package/dist/hooks/compaction/index.js +2 -2
  127. package/dist/hooks/compaction/index.js.map +1 -1
  128. package/dist/hooks/compaction/parse.js +132 -3
  129. package/dist/hooks/compaction/parse.js.map +1 -1
  130. package/dist/hooks/compaction/status.js +3 -5
  131. package/dist/hooks/compaction/status.js.map +1 -1
  132. package/dist/hooks/cursorSessionStart.js +10 -2
  133. package/dist/hooks/cursorSessionStart.js.map +1 -1
  134. package/dist/hooks/validateArtifact/markdown.js +57 -6
  135. package/dist/hooks/validateArtifact/markdown.js.map +1 -1
  136. package/dist/setup/cursor.js +1 -1
  137. package/dist/setup/cursor.js.map +1 -1
  138. package/dist/setup/doctor/report.js +2 -58
  139. package/dist/setup/doctor/report.js.map +1 -1
  140. package/dist/state/installRoot.js +49 -18
  141. package/dist/state/installRoot.js.map +1 -1
  142. package/dist/state/startupAnalysis/helpers.js +7 -52
  143. package/dist/state/startupAnalysis/helpers.js.map +1 -1
  144. package/dist/state/startupAnalysis/report.js +9 -31
  145. package/dist/state/startupAnalysis/report.js.map +1 -1
  146. package/dist/state/startupAnalysis/threshold.js +1 -1
  147. package/dist/state/startupAnalysis/threshold.js.map +1 -1
  148. package/dist/upgrade/appModel.js +1 -4
  149. package/dist/upgrade/appModel.js.map +1 -1
  150. package/dist/upgrade/bundleEvidence.js +34 -0
  151. package/dist/upgrade/bundleEvidence.js.map +1 -0
  152. package/dist/upgrade/channels.js +8 -1
  153. package/dist/upgrade/channels.js.map +1 -1
  154. package/dist/upgrade/cliProbe.js +22 -0
  155. package/dist/upgrade/cliProbe.js.map +1 -0
  156. package/dist/upgrade/coexistenceProbe.js +1 -4
  157. package/dist/upgrade/coexistenceProbe.js.map +1 -1
  158. package/dist/upgrade/compatibility.js +1 -4
  159. package/dist/upgrade/compatibility.js.map +1 -1
  160. package/dist/upgrade/doctor.js +168 -173
  161. package/dist/upgrade/doctor.js.map +1 -1
  162. package/dist/upgrade/doctorClassifier.js +208 -0
  163. package/dist/upgrade/doctorClassifier.js.map +1 -0
  164. package/dist/upgrade/migrateArtifactsV2ToV3.js +1 -1
  165. package/dist/upgrade/nextMajorDoctor.js +7 -3
  166. package/dist/upgrade/nextMajorDoctor.js.map +1 -1
  167. package/dist/upgrade/npxPlatformStatus.js +24 -0
  168. package/dist/upgrade/npxPlatformStatus.js.map +1 -0
  169. package/dist/upgrade/projectIntegration.js +54 -71
  170. package/dist/upgrade/projectIntegration.js.map +1 -1
  171. package/dist/upgrade/projectIntegrationDecision.js +93 -0
  172. package/dist/upgrade/projectIntegrationDecision.js.map +1 -0
  173. package/dist/upgrade/versionResolution.js +1 -1
  174. package/dist/upgrade/versionResolution.js.map +1 -1
  175. package/dist/validate/lifecycleAdapters/legacyPythonParity.js +93 -0
  176. package/dist/validate/lifecycleAdapters/legacyPythonParity.js.map +1 -0
  177. package/dist/validate/lifecycleAdapters/nodeFormChecks.js +488 -0
  178. package/dist/validate/lifecycleAdapters/nodeFormChecks.js.map +1 -0
  179. package/dist/validate/lifecycleAdapters/shared.js +198 -0
  180. package/dist/validate/lifecycleAdapters/shared.js.map +1 -0
  181. package/dist/validate/lifecycleAdapters.js +12 -722
  182. package/dist/validate/lifecycleAdapters.js.map +1 -1
  183. package/package.json +1 -1
  184. package/dist/cli/commands/backfill.js +0 -84
  185. package/dist/cli/commands/backfill.js.map +0 -1
  186. package/dist/cli/commands/state.js +0 -1023
  187. package/dist/cli/commands/state.js.map +0 -1
  188. package/dist/core/git.js +0 -43
  189. package/dist/core/git.js.map +0 -1
  190. package/dist/hooks/compaction.js +0 -935
  191. package/dist/hooks/compaction.js.map +0 -1
  192. package/dist/hooks/validateArtifact.js +0 -924
  193. package/dist/hooks/validateArtifact.js.map +0 -1
  194. package/dist/state/progressCommit.js +0 -289
  195. package/dist/state/progressCommit.js.map +0 -1
@@ -0,0 +1,126 @@
1
+ import fs from "node:fs";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { buildDoctorStatus } from "../../../upgrade/doctor.js";
5
+ import { loadSuiteVersion, resolveDoctorInstallRoot, resolveSourceRootStrict } from "../../../upgrade/appModel.js";
6
+ import { isNpxBundleRoot } from "../../../core/sourceRoot.js";
7
+ import { resolveNpxPlatformStatus } from "../../../upgrade/npxPlatformStatus.js";
8
+ function frontmatterVersion(p) {
9
+ let lines;
10
+ try {
11
+ if (!fs.statSync(p).isFile())
12
+ return null;
13
+ lines = fs.readFileSync(p, "utf8").split(/\r\n|\r|\n/);
14
+ }
15
+ catch {
16
+ return null;
17
+ }
18
+ if (lines.length === 0 || lines[0].trim() !== "---")
19
+ return null;
20
+ for (const line of lines.slice(1)) {
21
+ const stripped = line.trim();
22
+ if (stripped === "---")
23
+ return null;
24
+ if (stripped.startsWith("version:")) {
25
+ const version = stripped.split(":", 2)[1].trim().replace(/^["']|["']$/g, "");
26
+ return version || null;
27
+ }
28
+ }
29
+ return null;
30
+ }
31
+ function versionKey(version) {
32
+ if (!version)
33
+ return [];
34
+ const parts = [];
35
+ for (const item of version.split(/[.+_-]/)) {
36
+ if (/^\d+$/.test(item))
37
+ parts.push(parseInt(item, 10));
38
+ else
39
+ break;
40
+ }
41
+ return parts;
42
+ }
43
+ function versionKeyGe(a, b) {
44
+ const n = Math.max(a.length, b.length);
45
+ for (let i = 0; i < n; i++) {
46
+ const ai = a[i] ?? 0;
47
+ const bi = b[i] ?? 0;
48
+ if (ai !== bi)
49
+ return ai > bi;
50
+ }
51
+ return true;
52
+ }
53
+ function visibleSkillVersion(home, env) {
54
+ const candidates = [];
55
+ if (env.AGENTERA_VISIBLE_SKILL_ROOT)
56
+ candidates.push(env.AGENTERA_VISIBLE_SKILL_ROOT);
57
+ candidates.push(path.join(home, ".agents", "skills", "agentera"));
58
+ candidates.push(path.join(home, ".config", "opencode", "skills", "agentera"));
59
+ const versions = [];
60
+ for (const root of candidates) {
61
+ const version = frontmatterVersion(path.join(root, "SKILL.md"));
62
+ if (version)
63
+ versions.push([versionKey(version), version, root]);
64
+ }
65
+ if (versions.length === 0)
66
+ return [null, null];
67
+ versions.sort((a, b) => (versionKeyGe(a[0], b[0]) ? -1 : 1));
68
+ return [versions[0][1], versions[0][2]];
69
+ }
70
+ function hejExpectedVersion(opts, sourceRoot, home, env) {
71
+ if (opts.expectedVersion)
72
+ return [opts.expectedVersion, "--expected-version"];
73
+ if (env.AGENTERA_EXPECTED_VERSION)
74
+ return [env.AGENTERA_EXPECTED_VERSION, "AGENTERA_EXPECTED_VERSION"];
75
+ const sourceVersion = loadSuiteVersion(sourceRoot);
76
+ const [visibleVersion, visibleSource] = visibleSkillVersion(home, env);
77
+ if (visibleVersion && versionKeyGe(versionKey(visibleVersion), versionKey(sourceVersion))) {
78
+ return [visibleVersion, visibleSource || "visible skill"];
79
+ }
80
+ return [sourceVersion, "source registry"];
81
+ }
82
+ export function hejBundleStatus(opts) {
83
+ const env = opts.env ?? process.env;
84
+ const home = opts.home ? opts.home : os.homedir();
85
+ const sourceRoot = resolveSourceRootStrict(env);
86
+ const [installRoot, rootSource] = resolveDoctorInstallRoot(opts.installRoot ?? null, {
87
+ home,
88
+ env,
89
+ sourceRoot,
90
+ });
91
+ const [expected, expectedSource] = hejExpectedVersion(opts, sourceRoot, home, env);
92
+ const status = buildDoctorStatus(installRoot, {
93
+ rootSource,
94
+ sourceRoot,
95
+ home,
96
+ project: process.cwd(),
97
+ expectedVersion: expected,
98
+ expectedCommands: ["prime"],
99
+ probeCli: false,
100
+ });
101
+ status.expectedVersionSource = expectedSource;
102
+ if (isNpxBundleRoot(sourceRoot)) {
103
+ const { platformRoot, platformStatus } = resolveNpxPlatformStatus({
104
+ home,
105
+ sourceRoot,
106
+ project: process.cwd(),
107
+ expectedVersion: expected,
108
+ expectedCommands: ["prime"],
109
+ env,
110
+ });
111
+ status.platformAppHome = {
112
+ path: platformRoot,
113
+ status: platformStatus.status,
114
+ rootStatus: platformStatus.rootStatus,
115
+ dryRunCommand: platformStatus.dryRunCommand,
116
+ applyCommand: platformStatus.applyCommand,
117
+ };
118
+ status.cliBundle = {
119
+ path: sourceRoot,
120
+ status: status.status,
121
+ rootStatus: status.rootStatus,
122
+ };
123
+ }
124
+ return status;
125
+ }
126
+ //# sourceMappingURL=bundleStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundleStatus.js","sourceRoot":"","sources":["../../../../src/cli/commands/prime/bundleStatus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ import fs from "node:fs";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { detectV1ArtifactPairs } from "../../../upgrade/migrateArtifactsV2ToV3.js";
5
+ import { summarizeProjectIntegration } from "../../../upgrade/projectIntegration.js";
6
+ import { resolveSourceRootStrict } from "../../../upgrade/appModel.js";
7
+ import { discoverSchemasDir, loadSchemas } from "../../appContext.js";
8
+ import { activeObjectiveSummary, checkProfileraStaleness, decisionFollowUp, decisionReviewAttention, docsSummary, healthSummary, issueCounts, loadTodoItems, parseProfileHeaderDates, planSummary, progressSummary, registryArtifactPath, selectHejNextAction, statePresence, } from "../../orientation.js";
9
+ import { buildOrientationAttention } from "../../orientation/attention.js";
10
+ import { corpusCoverageSummary } from "../../orientation/corpusCoverage.js";
11
+ import { hejBundleStatus } from "./bundleStatus.js";
12
+ import { v1MigrationSummary } from "./v1Migration.js";
13
+ export function collectOrientationState(opts) {
14
+ const env = opts.env ?? process.env;
15
+ const home = opts.home ? opts.home : os.homedir();
16
+ const sourceRoot = resolveSourceRootStrict(env);
17
+ const schemasDir = discoverSchemasDir();
18
+ const schemas = loadSchemas(schemasDir);
19
+ const bundle = hejBundleStatus(opts);
20
+ let savedContext = false;
21
+ try {
22
+ savedContext = fs.readdirSync(path.join(process.cwd(), ".agentera")).some((f) => f.endsWith(".yaml"));
23
+ }
24
+ catch {
25
+ savedContext = false;
26
+ }
27
+ const mode = savedContext ? "returning" : "fresh";
28
+ const profile = registryArtifactPath("profile", schemasDir);
29
+ const profileExists = fs.existsSync(profile);
30
+ const profileStatus = profileExists ? "loaded" : "not found";
31
+ const profileStaleness = profileExists ? checkProfileraStaleness(profile, env) : null;
32
+ const profileDict = { status: profileStatus, path: profile };
33
+ if (profileStatus === "not found")
34
+ profileDict.suggested_action = "Run profilera to generate PROFILE.md";
35
+ if (profileStaleness !== null) {
36
+ const [isStale, daysSince, staleDays] = profileStaleness;
37
+ profileDict.days_since_generated = daysSince;
38
+ profileDict.stale = isStale;
39
+ profileDict.stale_threshold_days = staleDays;
40
+ if (profileExists) {
41
+ try {
42
+ const headerDates = parseProfileHeaderDates(fs.readFileSync(profile, "utf8"));
43
+ if (headerDates.generatedDate)
44
+ profileDict.generated_date = headerDates.generatedDate;
45
+ if (headerDates.validatedDate)
46
+ profileDict.validated_date = headerDates.validatedDate;
47
+ }
48
+ catch {
49
+ // profile metadata is optional for prime output
50
+ }
51
+ }
52
+ if (isStale)
53
+ profileDict.suggested_action = "Run profilera to refresh PROFILE.md";
54
+ }
55
+ const v1Artifacts = detectV1ArtifactPairs(process.cwd());
56
+ const v1Migration = v1MigrationSummary(v1Artifacts, { sourceRoot, home, env });
57
+ const plan = planSummary(schemas);
58
+ const docs = docsSummary(schemas);
59
+ const progress = progressSummary(schemas);
60
+ const health = healthSummary(schemas, env);
61
+ const objective = activeObjectiveSummary();
62
+ const presence = statePresence(plan, docs, progress, health, objective);
63
+ const todoItems = loadTodoItems(schemas);
64
+ const counts = issueCounts(todoItems);
65
+ const decision = decisionFollowUp(schemas);
66
+ const decisionAttention = decisionReviewAttention(schemas);
67
+ const corpusCoverage = corpusCoverageSummary(env, process.platform);
68
+ const project = process.cwd();
69
+ const projectIntegration = summarizeProjectIntegration({
70
+ project,
71
+ sourceRoot,
72
+ home,
73
+ env,
74
+ installRoot: String(bundle.appHome),
75
+ bundleStatus: String(bundle.status),
76
+ crossMajorBoundary: Boolean(bundle.crossMajorBoundary),
77
+ });
78
+ const defaultNextAction = selectHejNextAction(plan, health, objective, todoItems, decision, savedContext);
79
+ const nextAction = projectIntegration.recommendation === "upgrade"
80
+ ? {
81
+ object: projectIntegration.pending_artifacts > 0
82
+ ? "Upgrade Agentera artifacts"
83
+ : projectIntegration.pending_runtime > 0
84
+ ? "Upgrade Agentera runtime wiring"
85
+ : "Upgrade Agentera",
86
+ capability: "hej",
87
+ reason: projectIntegration.message,
88
+ }
89
+ : projectIntegration.major_boundary_block
90
+ ? {
91
+ object: "Await v3 successor announcement",
92
+ capability: "hej",
93
+ reason: projectIntegration.major_boundary_block,
94
+ }
95
+ : defaultNextAction;
96
+ const attention = buildOrientationAttention({
97
+ schemas_dir: schemasDir,
98
+ schemas,
99
+ bundle,
100
+ mode,
101
+ profile_dict: profileDict,
102
+ profile_status: profileStatus,
103
+ profile,
104
+ v1_migration: v1Migration,
105
+ project_integration: projectIntegration,
106
+ plan,
107
+ docs,
108
+ progress,
109
+ health,
110
+ objective,
111
+ state_presence: presence,
112
+ corpus_coverage: corpusCoverage,
113
+ todo_items: todoItems,
114
+ counts,
115
+ decision_attention: decisionAttention,
116
+ next_action: nextAction,
117
+ attention: [],
118
+ });
119
+ return {
120
+ schemas_dir: schemasDir,
121
+ schemas,
122
+ bundle,
123
+ mode,
124
+ profile_dict: profileDict,
125
+ profile_status: profileStatus,
126
+ profile,
127
+ v1_migration: v1Migration,
128
+ project_integration: projectIntegration,
129
+ plan,
130
+ docs,
131
+ progress,
132
+ health,
133
+ objective,
134
+ state_presence: presence,
135
+ corpus_coverage: corpusCoverage,
136
+ todo_items: todoItems,
137
+ counts,
138
+ decision_attention: decisionAttention,
139
+ next_action: nextAction,
140
+ attention,
141
+ };
142
+ }
143
+ //# sourceMappingURL=collectOrientationState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectOrientationState.js","sourceRoot":"","sources":["../../../../src/cli/commands/prime/collectOrientationState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,172 @@
1
+ import { publicDoctorStatus } from "../../../upgrade/doctor.js";
2
+ import { formatNextAction } from "../../orientation.js";
3
+ import { requestedFields, REQUIRED_SPARSE_CONTEXT_FIELDS } from "../../stateQuery.js";
4
+ import { emitStructured } from "../../structured.js";
5
+ import { startupCompletenessContract } from "../../startupCompletenessContract.js";
6
+ export { startupCompletenessContract } from "../../startupCompletenessContract.js";
7
+ const HEJ_STRUCTURED_FIELDS = [
8
+ "command", "status", "app_home", "bundle", "mode", "profile", "v1_migration", "health",
9
+ "issues", "plan", "docs", "progress", "objective", "state_presence", "project_integration", "attention",
10
+ "decision_attention", "next_action", "orchestration_context", "closeout_context",
11
+ "evidence_context", "benchmark_context", "execution_context", "source", "source_contract",
12
+ ];
13
+ function orientationAppHome(bundle) {
14
+ return {
15
+ status: bundle.status,
16
+ home: bundle.appHome,
17
+ source: bundle.appHomeSource,
18
+ managed_app_root: bundle.managedAppRoot,
19
+ user_data_root: bundle.userDataRoot,
20
+ };
21
+ }
22
+ export function buildOrientationJsonPayload(state, command) {
23
+ const bundle = state.bundle;
24
+ const schemasDir = state.schemas_dir;
25
+ const bundlePublic = publicDoctorStatus(bundle);
26
+ const appHome = orientationAppHome(bundle);
27
+ const bespoke = {
28
+ orchestration_context: null,
29
+ closeout_context: null,
30
+ evidence_context: null,
31
+ benchmark_context: null,
32
+ execution_context: null,
33
+ };
34
+ const render = command === "hej"
35
+ ? "caller-owned README-style hej dashboard"
36
+ : "caller-owned README-style prime orientation dashboard";
37
+ const access = command === "hej"
38
+ ? "single installed CLI call; app/v1/profile safety included; no preflight glob/read/import/doctor calls during normal hej"
39
+ : "single installed CLI call; app/v1/profile safety included; no preflight glob/read/import/doctor calls during normal prime";
40
+ return {
41
+ command,
42
+ status: "ok",
43
+ app_home: appHome,
44
+ bundle: bundlePublic,
45
+ mode: state.mode,
46
+ profile: state.profile_dict,
47
+ v1_migration: state.v1_migration,
48
+ project_integration: state.project_integration,
49
+ health: state.health,
50
+ issues: state.counts,
51
+ plan: state.plan,
52
+ docs: state.docs,
53
+ progress: state.progress,
54
+ objective: state.objective,
55
+ state_presence: state.state_presence,
56
+ attention: state.attention.slice(0, 6),
57
+ decision_attention: state.decision_attention,
58
+ next_action: state.next_action,
59
+ orchestration_context: bespoke.orchestration_context,
60
+ closeout_context: bespoke.closeout_context,
61
+ evidence_context: bespoke.evidence_context,
62
+ benchmark_context: bespoke.benchmark_context,
63
+ execution_context: bespoke.execution_context,
64
+ source: {
65
+ schemas_dir: schemasDir,
66
+ project: process.cwd(),
67
+ artifacts_present: state.mode === "returning",
68
+ },
69
+ source_contract: {
70
+ fields: HEJ_STRUCTURED_FIELDS,
71
+ render,
72
+ access,
73
+ empty_state: "fresh mode with missing artifact summaries and zero issue counts",
74
+ capability_startup: startupCompletenessContract(),
75
+ capability_context: null,
76
+ },
77
+ };
78
+ }
79
+ function availablePrimeFields(command) {
80
+ if (command === "prime")
81
+ return [...HEJ_STRUCTURED_FIELDS, "capability_context"];
82
+ return HEJ_STRUCTURED_FIELDS;
83
+ }
84
+ export function emitPrime(command, payload, format, fieldsArg, out, err) {
85
+ const requested = requestedFields(fieldsArg);
86
+ if (requested.length === 0) {
87
+ emitStructured(payload, format, out);
88
+ return 0;
89
+ }
90
+ const available = availablePrimeFields(command);
91
+ const unsupported = requested.filter((f) => !available.includes(f));
92
+ if (unsupported.length > 0) {
93
+ err(`Error: unsupported field '${unsupported[0]}' for ${command}. Available fields: ${available.join(", ")}\n`);
94
+ return 1;
95
+ }
96
+ const selected = {};
97
+ for (const field of [...REQUIRED_SPARSE_CONTEXT_FIELDS, ...requested]) {
98
+ if (field in payload && !(field in selected))
99
+ selected[field] = payload[field];
100
+ }
101
+ emitStructured(selected, format, out);
102
+ return 0;
103
+ }
104
+ export function printOrientationTextBriefing(state, command, out) {
105
+ const bundle = state.bundle;
106
+ const mode = state.mode;
107
+ const profileStatus = state.profile_status;
108
+ const profile = state.profile;
109
+ const health = state.health;
110
+ const counts = state.counts;
111
+ const plan = state.plan;
112
+ const objective = state.objective;
113
+ const presence = state.state_presence;
114
+ const attention = state.attention;
115
+ const nextAction = state.next_action;
116
+ const dashboardLabel = command === "prime" ? "prime orientation dashboard" : "hej dashboard";
117
+ out(`agentera ${command}\n`);
118
+ out(`app_home: status=${bundle.status} | home=${bundle.appHome} | ` +
119
+ `source=${bundle.appHomeSource} | managed_app=${bundle.managedAppRoot} | user_data=${bundle.userDataRoot} | expected=${bundle.expectedVersion} | ` +
120
+ `expected_source=${bundle.expectedVersionSource ?? "-"} | current=${bundle.markerVersion || "-"}\n`);
121
+ out(`mode: ${mode}\n`);
122
+ const projectIntegration = state.project_integration;
123
+ out(`project_integration: recommendation=${projectIntegration.recommendation} | ` +
124
+ `channel=${projectIntegration.update_channel} | pending_runtime=${projectIntegration.pending_runtime}\n`);
125
+ if (projectIntegration.recommendation === "upgrade" && projectIntegration.message) {
126
+ out(`project_integration_message: ${projectIntegration.message}\n`);
127
+ }
128
+ out(`profile: ${profileStatus} | path=${profile}\n`);
129
+ if (health.exists) {
130
+ const worst = health.worst;
131
+ const worstText = worst ? `${worst[0]}:${worst[1]}` : "none";
132
+ out(`health: audit=${health.number} | grade=${health.grade || "unknown"} | ` +
133
+ `trajectory=${health.trajectory || "unknown"} | worst=${worstText}\n`);
134
+ }
135
+ out(`issues: critical=${counts.critical} | degraded=${counts.degraded} | normal=${counts.normal} | annoying=${counts.annoying}\n`);
136
+ if (!presence.any_active) {
137
+ const missing = Object.keys(presence.absence).sort().join(", ") || "none";
138
+ out(`state: no active plan or objective | missing=${missing}\n`);
139
+ }
140
+ if (plan.exists && !plan.complete_plan) {
141
+ out(`plan: status=${plan.status || "unknown"} | progress=${plan.complete ?? 0}/${plan.total ?? 0}\n`);
142
+ }
143
+ if (objective.active) {
144
+ const target = objective.target ? ` | target=${objective.target}` : "";
145
+ out(`objective: active | name=${objective.name} | metric=${objective.metric}${target}\n`);
146
+ }
147
+ else if (objective.exists) {
148
+ out(`objective: none active | closed=${objective.closed_count ?? 0}\n`);
149
+ }
150
+ else {
151
+ out("objective: none active\n");
152
+ }
153
+ if (attention.length > 0) {
154
+ out("attention:\n");
155
+ for (const item of attention.slice(0, 6))
156
+ out(`- ${item}\n`);
157
+ }
158
+ out("next_action:\n");
159
+ out(`- ${formatNextAction(nextAction)}\n`);
160
+ out("source_contract:\n");
161
+ out("- fields=app_home,mode,profile,v1_migration,project_integration,health,issues,plan,docs,progress,objective,state_presence,attention,decision_attention,next_action,orchestration_context,closeout_context,evidence_context,benchmark_context,execution_context\n");
162
+ out(`- render=caller-owned README-style ${dashboardLabel}\n`);
163
+ out("- access=single installed CLI call; app/v1/profile safety included; no preflight glob/read/import/doctor calls\n");
164
+ const startup = startupCompletenessContract();
165
+ out(`- capability_startup_complete=${String(startup.complete_for_capability_startup).toLowerCase()}\n`);
166
+ out(`- raw_artifact_reads_required=${String(startup.raw_artifact_reads_required).toLowerCase()}; policy=${startup.raw_artifact_read_policy}\n`);
167
+ const missingState = startup.missing_state.join("; ") || "none";
168
+ out(`- missing_state=${missingState}\n`);
169
+ out(`- confidence_caveats=${startup.confidence_caveats.join("; ")}\n`);
170
+ out(`- cli_fallback=${startup.cli_fallback.join("; ")}\n`);
171
+ }
172
+ //# sourceMappingURL=orientationOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orientationOutput.js","sourceRoot":"","sources":["../../../../src/cli/commands/prime/orientationOutput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF,MAAM,qBAAqB,GAAG;IAC5B,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ;IACtF,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,WAAW;IACvG,oBAAoB,EAAE,aAAa,EAAE,uBAAuB,EAAE,kBAAkB;IAChF,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,iBAAiB;CAC1F,CAAC;AAEF,SAAS,kBAAkB,CAAC,MAAoB;IAC9C,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,OAAO;QACpB,MAAM,EAAE,MAAM,CAAC,aAAa;QAC5B,gBAAgB,EAAE,MAAM,CAAC,cAAc;QACvC,cAAc,EAAE,MAAM,CAAC,YAAY;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAuB,EACvB,OAAe;IAEf,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACrC,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAe;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,IAAI;KACxB,CAAC;IACF,MAAM,MAAM,GACV,OAAO,KAAK,KAAK;QACf,CAAC,CAAC,yCAAyC;QAC3C,CAAC,CAAC,uDAAuD,CAAC;IAC9D,MAAM,MAAM,GACV,OAAO,KAAK,KAAK;QACf,CAAC,CAAC,yHAAyH;QAC3H,CAAC,CAAC,2HAA2H,CAAC;IAClI,OAAO;QACL,OAAO;QACP,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,YAAY;QAC3B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACtC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,MAAM,EAAE;YACN,WAAW,EAAE,UAAU;YACvB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;YACtB,iBAAiB,EAAE,KAAK,CAAC,IAAI,KAAK,WAAW;SAC9C;QACD,eAAe,EAAE;YACf,MAAM,EAAE,qBAAqB;YAC7B,MAAM;YACN,MAAM;YACN,WAAW,EAAE,kEAAkE;YAC/E,kBAAkB,EAAE,2BAA2B,EAAE;YACjD,kBAAkB,EAAE,IAAI;SACzB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,CAAC,GAAG,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;IACjF,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,OAAe,EACf,OAAgC,EAChC,MAAc,EACd,SAAoC,EACpC,GAAwB,EACxB,GAAwB;IAExB,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,6BAA6B,WAAW,CAAC,CAAC,CAAC,SAAS,OAAO,uBAAuB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChH,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,8BAA8B,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;QACtE,IAAI,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC;YAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IACD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAuB,EAAE,OAAe,EAAE,GAAwB;IAC7G,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IACtC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;IACrC,MAAM,cAAc,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,eAAe,CAAC;IAE7F,GAAG,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC;IAC7B,GAAG,CACD,oBAAoB,MAAM,CAAC,MAAM,WAAW,MAAM,CAAC,OAAO,KAAK;QAC7D,UAAU,MAAM,CAAC,aAAa,kBAAkB,MAAM,CAAC,cAAc,gBAAgB,MAAM,CAAC,YAAY,eAAe,MAAM,CAAC,eAAe,KAAK;QAClJ,mBAAmB,MAAM,CAAC,qBAAqB,IAAI,GAAG,cAAc,MAAM,CAAC,aAAa,IAAI,GAAG,IAAI,CACtG,CAAC;IACF,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;IACvB,MAAM,kBAAkB,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACrD,GAAG,CACD,uCAAuC,kBAAkB,CAAC,cAAc,KAAK;QAC3E,WAAW,kBAAkB,CAAC,cAAc,sBAAsB,kBAAkB,CAAC,eAAe,IAAI,CAC3G,CAAC;IACF,IAAI,kBAAkB,CAAC,cAAc,KAAK,SAAS,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAClF,GAAG,CAAC,gCAAgC,kBAAkB,CAAC,OAAO,IAAI,CAAC,CAAC;IACtE,CAAC;IACD,GAAG,CAAC,YAAY,aAAa,WAAW,OAAO,IAAI,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,GAAG,CACD,iBAAiB,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,KAAK,IAAI,SAAS,KAAK;YACtE,cAAc,MAAM,CAAC,UAAU,IAAI,SAAS,YAAY,SAAS,IAAI,CACxE,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,oBAAoB,MAAM,CAAC,QAAQ,eAAe,MAAM,CAAC,QAAQ,aAAa,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACnI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;QAC1E,GAAG,CAAC,gDAAgD,OAAO,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,GAAG,CAAC,gBAAgB,IAAI,CAAC,MAAM,IAAI,SAAS,eAAe,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,4BAA4B,SAAS,CAAC,IAAI,aAAa,SAAS,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;IAC5F,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAC5B,GAAG,CAAC,mCAAmC,SAAS,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,cAAc,CAAC,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtB,GAAG,CAAC,KAAK,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3C,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1B,GAAG,CACD,kQAAkQ,CACnQ,CAAC;IACF,GAAG,CAAC,sCAAsC,cAAc,IAAI,CAAC,CAAC;IAC9D,GAAG,CAAC,kHAAkH,CAAC,CAAC;IACxH,MAAM,OAAO,GAAG,2BAA2B,EAAE,CAAC;IAC9C,GAAG,CAAC,iCAAiC,MAAM,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxG,GAAG,CACD,iCAAiC,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,WAAW,EAAE,YAAY,OAAO,CAAC,wBAAwB,IAAI,CAC3I,CAAC;IACF,MAAM,YAAY,GAAI,OAAO,CAAC,aAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IAC9E,GAAG,CAAC,mBAAmB,YAAY,IAAI,CAAC,CAAC;IACzC,GAAG,CAAC,wBAAyB,OAAO,CAAC,kBAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrF,GAAG,CAAC,kBAAmB,OAAO,CAAC,YAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/cli/commands/prime/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { resolveInvokedUpdateChannel } from "../../../upgrade/channels.js";
4
+ import { buildUpgradeCommands } from "../../../upgrade/upgradeCommands.js";
5
+ export function isLocalCheckout(root) {
6
+ return ["skills/agentera/SKILL.md", "registry.json"].every((rel) => fs.existsSync(path.join(root, rel)));
7
+ }
8
+ export function v1MigrationSummary(v1Artifacts, opts) {
9
+ const detected = v1Artifacts.length > 0;
10
+ const channel = resolveInvokedUpdateChannel({
11
+ channel: null,
12
+ sourceRoot: opts.sourceRoot,
13
+ home: opts.home,
14
+ env: opts.env,
15
+ });
16
+ const cmds = detected
17
+ ? buildUpgradeCommands({
18
+ project: process.cwd(),
19
+ installRoot: null,
20
+ channel,
21
+ only: ["artifacts"],
22
+ cwdDefault: true,
23
+ })
24
+ : null;
25
+ const summary = {
26
+ detected,
27
+ affected_files: v1Artifacts,
28
+ dry_run_command: cmds?.dryRunCommand ?? null,
29
+ apply_command: cmds?.applyCommand ?? null,
30
+ requires_confirmation: detected,
31
+ update_channel: channel.channel,
32
+ };
33
+ if (detected && isLocalCheckout(process.cwd())) {
34
+ summary.local_dry_run_command = cmds?.dryRunCommand ?? null;
35
+ summary.local_apply_command = cmds?.applyCommand ?? null;
36
+ }
37
+ return summary;
38
+ }
39
+ //# sourceMappingURL=v1Migration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1Migration.js","sourceRoot":"","sources":["../../../../src/cli/commands/prime/v1Migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAI3E,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACjE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,WAAqB,EACrB,IAAoD;IAEpD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,2BAA2B,CAAC;QAC1C,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,oBAAoB,CAAC;YACnB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;YACtB,WAAW,EAAE,IAAI;YACjB,OAAO;YACP,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,UAAU,EAAE,IAAI;SACjB,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,OAAO,GAAuB;QAClC,QAAQ;QACR,cAAc,EAAE,WAAW;QAC3B,eAAe,EAAE,IAAI,EAAE,aAAa,IAAI,IAAI;QAC5C,aAAa,EAAE,IAAI,EAAE,YAAY,IAAI,IAAI;QACzC,qBAAqB,EAAE,QAAQ;QAC/B,cAAc,EAAE,OAAO,CAAC,OAAO;KAChC,CAAC;IACF,IAAI,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,qBAAqB,GAAG,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC;QAC5D,OAAO,CAAC,mBAAmB,GAAG,IAAI,EAAE,YAAY,IAAI,IAAI,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}