@kal-elsam/kairo-runtime 0.4.0 → 0.4.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.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kal-elsam/kairo-runtime",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Kairo Runtime — local agent operating system for Codex, Cursor, Claude, Gemini, Copilot, Engram, and Graphify.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://github.com/Kal-elSam/harness#readme",
|
|
@@ -25,7 +25,7 @@ const root = join(dirname(fileURLToPath(import.meta.url)), "..");
|
|
|
25
25
|
const require = createRequire(import.meta.url);
|
|
26
26
|
const pkg = require(join(root, "package.json"));
|
|
27
27
|
|
|
28
|
-
assert.equal(pkg.version, "0.4.
|
|
28
|
+
assert.equal(pkg.version, "0.4.1");
|
|
29
29
|
assert.ok(pkg.dependencies["ansi-escapes"]);
|
|
30
30
|
|
|
31
31
|
assert.equal(resolveLayoutMode({ columns: 120, rows: 40 }), LAYOUT_MODES.WIDE);
|
|
@@ -71,7 +71,7 @@ export function resolveProjectReadiness({
|
|
|
71
71
|
const intelConfigured = hasIntelligenceConfigured(diagnostics);
|
|
72
72
|
const summaryLine = `${agentsReady} agents ready · ${detected} detected · ${activeRuns} active runs`;
|
|
73
73
|
|
|
74
|
-
if (!hasGlobalState || detected === 0) {
|
|
74
|
+
if (!hasGlobalState || (launchableCount === 0 && detected === 0)) {
|
|
75
75
|
return {
|
|
76
76
|
kind: READINESS_KINDS.NEEDS_SETUP,
|
|
77
77
|
label: READINESS_LABELS[READINESS_KINDS.NEEDS_SETUP],
|
|
@@ -126,9 +126,9 @@ export function resolveProjectReadiness({
|
|
|
126
126
|
|
|
127
127
|
/**
|
|
128
128
|
* Contextual next step from existing diagnostics + dashboard snapshot.
|
|
129
|
-
* Priority: configure
|
|
130
|
-
* enable intelligence → review.
|
|
131
|
-
* Launchable agents win over missing optional intelligence.
|
|
129
|
+
* Priority: configure without state → launch when launchable → configure when
|
|
130
|
+
* nothing detected → review when blocked → enable intelligence → review.
|
|
131
|
+
* Launchable agents win over missing optional intelligence and empty detected counts.
|
|
132
132
|
*/
|
|
133
133
|
export function resolveDashboardRecommendation({
|
|
134
134
|
hasGlobalState = false,
|
|
@@ -140,7 +140,7 @@ export function resolveDashboardRecommendation({
|
|
|
140
140
|
const launchableCount = countLaunchableAgents(dashboard);
|
|
141
141
|
const blocked = hasBlockingDiagnostics(diagnostics);
|
|
142
142
|
|
|
143
|
-
if (!hasGlobalState
|
|
143
|
+
if (!hasGlobalState) {
|
|
144
144
|
return {
|
|
145
145
|
kind: NEXT_STEP_KINDS.CONFIGURE,
|
|
146
146
|
title: "Finish local setup",
|
|
@@ -151,17 +151,6 @@ export function resolveDashboardRecommendation({
|
|
|
151
151
|
};
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
if (blocked && launchableCount === 0) {
|
|
155
|
-
return {
|
|
156
|
-
kind: NEXT_STEP_KINDS.REVIEW,
|
|
157
|
-
title: "Review system health",
|
|
158
|
-
message: "Review System health for problems before launching a run.",
|
|
159
|
-
detail: "Fix agent or configuration issues, then try again.",
|
|
160
|
-
targetView: RECOMMENDATION_TARGETS.DIAGNOSTICS,
|
|
161
|
-
targetAction: null
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
|
|
165
154
|
if (launchableCount > 0) {
|
|
166
155
|
return {
|
|
167
156
|
kind: NEXT_STEP_KINDS.LAUNCH,
|
|
@@ -173,6 +162,28 @@ export function resolveDashboardRecommendation({
|
|
|
173
162
|
};
|
|
174
163
|
}
|
|
175
164
|
|
|
165
|
+
if ((summary.detected ?? 0) === 0) {
|
|
166
|
+
return {
|
|
167
|
+
kind: NEXT_STEP_KINDS.CONFIGURE,
|
|
168
|
+
title: "Finish local setup",
|
|
169
|
+
message: `Configure the local environment with ${formatCliCommand("setup")}.`,
|
|
170
|
+
detail: "Open System health to review what Kairo detected.",
|
|
171
|
+
targetView: RECOMMENDATION_TARGETS.DIAGNOSTICS,
|
|
172
|
+
targetAction: null
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
if (blocked && launchableCount === 0) {
|
|
177
|
+
return {
|
|
178
|
+
kind: NEXT_STEP_KINDS.REVIEW,
|
|
179
|
+
title: "Review system health",
|
|
180
|
+
message: "Review System health for problems before launching a run.",
|
|
181
|
+
detail: "Fix agent or configuration issues, then try again.",
|
|
182
|
+
targetView: RECOMMENDATION_TARGETS.DIAGNOSTICS,
|
|
183
|
+
targetAction: null
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
176
187
|
if (!intelligence?.localAvailable && !intelligence?.cloudAuthenticated) {
|
|
177
188
|
return {
|
|
178
189
|
kind: NEXT_STEP_KINDS.ENABLE_INTELLIGENCE,
|