@cyanautomation/kaseki-agent 1.43.0 → 1.44.0
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/dist/artifact-metadata.d.ts.map +1 -1
- package/dist/artifact-metadata.js +20 -4
- package/dist/artifact-metadata.js.map +1 -1
- package/dist/kaseki-api-web.d.ts.map +1 -1
- package/dist/kaseki-api-web.js +174 -26
- package/dist/kaseki-api-web.js.map +1 -1
- package/kaseki-agent.sh +16 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-metadata.d.ts","sourceRoot":"","sources":["../src/artifact-metadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,0BAA0B,EAAwB,MAAM,oBAAoB,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,
|
|
1
|
+
{"version":3,"file":"artifact-metadata.d.ts","sourceRoot":"","sources":["../src/artifact-metadata.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,0BAA0B,EAAwB,MAAM,oBAAoB,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAiSjF,CAAC"}
|
|
@@ -131,12 +131,28 @@ export const ARTIFACT_METADATA_REGISTRY = {
|
|
|
131
131
|
sizeHint: 'medium',
|
|
132
132
|
},
|
|
133
133
|
// Validation & quality
|
|
134
|
+
'pre-validation.log': {
|
|
135
|
+
name: 'pre-validation.log',
|
|
136
|
+
contentType: 'text/plain',
|
|
137
|
+
description: 'Pre-agent validation command output and baseline failure diagnostics',
|
|
138
|
+
availability: ArtifactAvailability.CONDITIONAL,
|
|
139
|
+
triageOrder: 10,
|
|
140
|
+
sizeHint: 'medium',
|
|
141
|
+
},
|
|
142
|
+
'pre-validation-timings.tsv': {
|
|
143
|
+
name: 'pre-validation-timings.tsv',
|
|
144
|
+
contentType: 'text/tab-separated-values',
|
|
145
|
+
description: 'Per-command pre-agent validation timing: command, start, end, elapsed seconds',
|
|
146
|
+
availability: ArtifactAvailability.CONDITIONAL,
|
|
147
|
+
triageOrder: 20,
|
|
148
|
+
sizeHint: 'small',
|
|
149
|
+
},
|
|
134
150
|
'validation.log': {
|
|
135
151
|
name: 'validation.log',
|
|
136
152
|
contentType: 'text/plain',
|
|
137
153
|
description: 'Validation command output and results',
|
|
138
154
|
availability: ArtifactAvailability.ON_FAILURE,
|
|
139
|
-
triageOrder:
|
|
155
|
+
triageOrder: 11,
|
|
140
156
|
sizeHint: 'medium',
|
|
141
157
|
},
|
|
142
158
|
'validation-timings.tsv': {
|
|
@@ -144,7 +160,7 @@ export const ARTIFACT_METADATA_REGISTRY = {
|
|
|
144
160
|
contentType: 'text/tab-separated-values',
|
|
145
161
|
description: 'Per-command timing: command, start, end, elapsed seconds',
|
|
146
162
|
availability: ArtifactAvailability.CONDITIONAL,
|
|
147
|
-
triageOrder:
|
|
163
|
+
triageOrder: 21,
|
|
148
164
|
sizeHint: 'small',
|
|
149
165
|
},
|
|
150
166
|
'quality.log': {
|
|
@@ -152,7 +168,7 @@ export const ARTIFACT_METADATA_REGISTRY = {
|
|
|
152
168
|
contentType: 'text/plain',
|
|
153
169
|
description: 'Quality gate evaluation: diff size, changed files, allowlist checks',
|
|
154
170
|
availability: ArtifactAvailability.ON_FAILURE,
|
|
155
|
-
triageOrder:
|
|
171
|
+
triageOrder: 12,
|
|
156
172
|
sizeHint: 'small',
|
|
157
173
|
},
|
|
158
174
|
'stage-timings.tsv': {
|
|
@@ -160,7 +176,7 @@ export const ARTIFACT_METADATA_REGISTRY = {
|
|
|
160
176
|
contentType: 'text/tab-separated-values',
|
|
161
177
|
description: 'Per-stage timing: stage name, start, end, elapsed seconds',
|
|
162
178
|
availability: ArtifactAvailability.CONDITIONAL,
|
|
163
|
-
triageOrder:
|
|
179
|
+
triageOrder: 22,
|
|
164
180
|
sizeHint: 'small',
|
|
165
181
|
},
|
|
166
182
|
// Repository changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-metadata.js","sourceRoot":"","sources":["../src/artifact-metadata.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifact-metadata.js","sourceRoot":"","sources":["../src/artifact-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaseki-api-web.d.ts","sourceRoot":"","sources":["../src/kaseki-api-web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"kaseki-api-web.d.ts","sourceRoot":"","sources":["../src/kaseki-api-web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAy1BjC,wBAAgB,eAAe,IAAI,MAAM,CAQxC"}
|
package/dist/kaseki-api-web.js
CHANGED
|
@@ -32,6 +32,62 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
32
32
|
color: var(--ink);
|
|
33
33
|
font: 16px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
34
34
|
}
|
|
35
|
+
.header-bar {
|
|
36
|
+
background: var(--panel);
|
|
37
|
+
border-bottom: 1px solid var(--line);
|
|
38
|
+
padding: var(--space-3) var(--space-3);
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
gap: var(--space-3);
|
|
42
|
+
justify-content: space-between;
|
|
43
|
+
}
|
|
44
|
+
.header-bar h1 {
|
|
45
|
+
margin: 0;
|
|
46
|
+
font-size: clamp(24px, 4vw, 32px);
|
|
47
|
+
line-height: 1.2;
|
|
48
|
+
}
|
|
49
|
+
.header-bar-title {
|
|
50
|
+
display: flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
gap: var(--space-2);
|
|
53
|
+
}
|
|
54
|
+
.header-token-input {
|
|
55
|
+
min-width: 200px;
|
|
56
|
+
max-width: 300px;
|
|
57
|
+
width: auto;
|
|
58
|
+
padding: 10px 11px;
|
|
59
|
+
font-size: 14px;
|
|
60
|
+
}
|
|
61
|
+
@media (max-width: 767px) {
|
|
62
|
+
.header-token-input {
|
|
63
|
+
min-width: 160px;
|
|
64
|
+
max-width: 100%;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
.status-indicator {
|
|
68
|
+
display: inline-flex;
|
|
69
|
+
align-items: center;
|
|
70
|
+
justify-content: center;
|
|
71
|
+
width: 12px;
|
|
72
|
+
height: 12px;
|
|
73
|
+
border-radius: 50%;
|
|
74
|
+
background: var(--muted);
|
|
75
|
+
flex-shrink: 0;
|
|
76
|
+
}
|
|
77
|
+
.status-indicator.running {
|
|
78
|
+
background: #e8b923;
|
|
79
|
+
animation: pulse 1s ease-in-out infinite;
|
|
80
|
+
}
|
|
81
|
+
.status-indicator.completed {
|
|
82
|
+
background: var(--ok);
|
|
83
|
+
}
|
|
84
|
+
.status-indicator.failed {
|
|
85
|
+
background: var(--bad);
|
|
86
|
+
}
|
|
87
|
+
@keyframes pulse {
|
|
88
|
+
0%, 100% { opacity: 1; }
|
|
89
|
+
50% { opacity: 0.6; }
|
|
90
|
+
}
|
|
35
91
|
main {
|
|
36
92
|
display: grid;
|
|
37
93
|
gap: var(--space-4);
|
|
@@ -41,7 +97,6 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
41
97
|
padding: var(--space-3);
|
|
42
98
|
}
|
|
43
99
|
h1, h2 { margin: 0; }
|
|
44
|
-
h1 { font-size: clamp(28px, 5vw, 44px); line-height: 1.12; }
|
|
45
100
|
h2 { font-size: clamp(20px, 2.2vw, 24px); line-height: 1.2; }
|
|
46
101
|
p { color: var(--muted); font-size: 16px; line-height: 1.5; margin: var(--space-1) 0 0; }
|
|
47
102
|
.panel {
|
|
@@ -178,6 +233,9 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
178
233
|
#state.ok { color: var(--ok); }
|
|
179
234
|
#state.bad { color: var(--bad); }
|
|
180
235
|
@media (min-width: 768px) {
|
|
236
|
+
.header-bar {
|
|
237
|
+
padding: clamp(var(--space-3), 2vw, 24px) clamp(var(--space-3), 4vw, 48px);
|
|
238
|
+
}
|
|
181
239
|
main {
|
|
182
240
|
grid-template-columns: minmax(320px, 560px) minmax(320px, 1fr);
|
|
183
241
|
padding: clamp(var(--space-3), 4vw, 48px);
|
|
@@ -270,19 +328,23 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
270
328
|
.health-check-status.bad::before { content: '✕'; }
|
|
271
329
|
@media (max-width: 767px) {
|
|
272
330
|
.action-row.run-actions > .run { order: 1; }
|
|
273
|
-
.response-panel { min-height:
|
|
331
|
+
.response-panel { min-height: 40vh; }
|
|
274
332
|
.health-checks-grid { grid-template-columns: repeat(2, 1fr); }
|
|
333
|
+
main {
|
|
334
|
+
grid-template-columns: minmax(0, 1fr);
|
|
335
|
+
}
|
|
275
336
|
}
|
|
276
337
|
</style>
|
|
277
338
|
</head>
|
|
278
339
|
<body>
|
|
340
|
+
<header class="header-bar">
|
|
341
|
+
<div class="header-bar-title">
|
|
342
|
+
<h1>Kaseki Task Console</h1>
|
|
343
|
+
<span class="status-indicator" id="header-status" data-status="idle"></span>
|
|
344
|
+
</div>
|
|
345
|
+
<input id="header-api-token" class="header-token-input" type="password" autocomplete="off" placeholder="API bearer token (required)" aria-label="API bearer token">
|
|
346
|
+
</header>
|
|
279
347
|
<main>
|
|
280
|
-
<section class="panel" aria-labelledby="page-title">
|
|
281
|
-
<header>
|
|
282
|
-
<h1 id="page-title">Kaseki Task Console</h1>
|
|
283
|
-
<p>Check system health and submit repository tasks to the Kaseki API controller.</p>
|
|
284
|
-
</header>
|
|
285
|
-
</section>
|
|
286
348
|
<section class="panel stack" aria-labelledby="tabs-heading">
|
|
287
349
|
<div class="tabs-nav" role="tablist" aria-label="Console tabs">
|
|
288
350
|
<button class="tab-button active" data-tab="health" role="tab" aria-selected="true" aria-controls="health-tab">Health</button>
|
|
@@ -332,12 +394,7 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
332
394
|
<fieldset class="form-fields">
|
|
333
395
|
<legend>Required information</legend>
|
|
334
396
|
<div class="form-field">
|
|
335
|
-
|
|
336
|
-
<input id="token" name="token" type="password" autocomplete="off" placeholder="Required to submit tasks">
|
|
337
|
-
<p class="field-helper">Stored in this tab only after a successful request.</p>
|
|
338
|
-
<p class="field-error" data-error-for="token" aria-live="polite"></p>
|
|
339
|
-
</div>
|
|
340
|
-
<div class="form-field">
|
|
397
|
+
|
|
341
398
|
<label for="repo-url">Repository URL</label>
|
|
342
399
|
<input id="repo-url" name="repoUrl" type="url" required placeholder="https://github.com/org/repo">
|
|
343
400
|
<p class="field-error" data-error-for="repoUrl" aria-live="polite"></p>
|
|
@@ -411,6 +468,10 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
411
468
|
<a data-run-link="stdout" href="#">Stdout</a>
|
|
412
469
|
<a data-run-link="artifacts" href="#">Artifacts</a>
|
|
413
470
|
</div>
|
|
471
|
+
<div class="recommended-artifacts" id="recommended-artifacts" hidden>
|
|
472
|
+
<span class="summary-label">Recommended artifacts</span>
|
|
473
|
+
<div class="link-grid" id="recommended-artifact-links"></div>
|
|
474
|
+
</div>
|
|
414
475
|
</div>
|
|
415
476
|
<div class="response-panel">
|
|
416
477
|
<p class="response-meta" id="output-meta" aria-live="polite">Status: idle</p>
|
|
@@ -423,11 +484,45 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
423
484
|
const output = document.querySelector('#output');
|
|
424
485
|
const outputMeta = document.querySelector('#output-meta');
|
|
425
486
|
const state = document.querySelector('#state');
|
|
426
|
-
const
|
|
487
|
+
const headerTokenInput = document.querySelector('#header-api-token');
|
|
427
488
|
const runIdInput = document.querySelector('#run-id');
|
|
428
489
|
const runLinks = document.querySelector('#run-links');
|
|
490
|
+
const recommendedArtifacts = document.querySelector('#recommended-artifacts');
|
|
491
|
+
const recommendedArtifactLinks = document.querySelector('#recommended-artifact-links');
|
|
492
|
+
const headerStatus = document.querySelector('#header-status');
|
|
429
493
|
let pollTimer = null;
|
|
430
|
-
|
|
494
|
+
|
|
495
|
+
function getApiToken() {
|
|
496
|
+
return headerTokenInput.value.trim();
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
// Restore token from session storage on page load
|
|
500
|
+
headerTokenInput.value = sessionStorage.getItem('kasekiApiToken') || '';
|
|
501
|
+
|
|
502
|
+
// Save token to session storage when it changes
|
|
503
|
+
headerTokenInput.addEventListener('change', () => {
|
|
504
|
+
const token = getApiToken();
|
|
505
|
+
if (token) {
|
|
506
|
+
sessionStorage.setItem('kasekiApiToken', token);
|
|
507
|
+
} else {
|
|
508
|
+
sessionStorage.removeItem('kasekiApiToken');
|
|
509
|
+
}
|
|
510
|
+
});
|
|
511
|
+
|
|
512
|
+
function updateHeaderStatus(status) {
|
|
513
|
+
if (!headerStatus) return;
|
|
514
|
+
const statusMap = {
|
|
515
|
+
'idle': 'idle',
|
|
516
|
+
'running': 'running',
|
|
517
|
+
'queued': 'running',
|
|
518
|
+
'completed': 'completed',
|
|
519
|
+
'failed': 'failed',
|
|
520
|
+
'request ok': 'idle',
|
|
521
|
+
};
|
|
522
|
+
const statusClass = statusMap[status] || 'idle';
|
|
523
|
+
headerStatus.className = 'status-indicator ' + statusClass;
|
|
524
|
+
headerStatus.setAttribute('data-status', statusClass);
|
|
525
|
+
}
|
|
431
526
|
|
|
432
527
|
function sanitizeOutput(value) {
|
|
433
528
|
if (typeof value === 'string') return value;
|
|
@@ -449,6 +544,15 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
449
544
|
|
|
450
545
|
function setOutputMetadata(status, runId) {
|
|
451
546
|
outputMeta.textContent = 'Status: ' + status + (runId ? ' | Run ID: ' + runId : '');
|
|
547
|
+
updateHeaderStatus(status);
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
function responseStatusLabel(response, payload) {
|
|
551
|
+
if (!response.ok) return 'failed';
|
|
552
|
+
if (payload && typeof payload === 'object' && typeof payload.status === 'string') {
|
|
553
|
+
return payload.status;
|
|
554
|
+
}
|
|
555
|
+
return 'request ok';
|
|
452
556
|
}
|
|
453
557
|
|
|
454
558
|
function setOutputBody(text) {
|
|
@@ -482,6 +586,41 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
482
586
|
runLinks.hidden = false;
|
|
483
587
|
}
|
|
484
588
|
|
|
589
|
+
function artifactUrl(runId, fileName) {
|
|
590
|
+
return '/api/results/' + encodeURIComponent(runId) + '/' + encodeURIComponent(fileName);
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
function showRecommendedArtifacts(runId, artifactsResponse) {
|
|
594
|
+
if (!recommendedArtifacts || !recommendedArtifactLinks || !runId) return;
|
|
595
|
+
const recommended = artifactsResponse && Array.isArray(artifactsResponse.recommended)
|
|
596
|
+
? artifactsResponse.recommended
|
|
597
|
+
: [];
|
|
598
|
+
recommendedArtifactLinks.replaceChildren();
|
|
599
|
+
if (recommended.length === 0) {
|
|
600
|
+
recommendedArtifacts.hidden = true;
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
603
|
+
recommended.forEach((fileName) => {
|
|
604
|
+
const link = document.createElement('a');
|
|
605
|
+
link.href = artifactUrl(runId, fileName);
|
|
606
|
+
link.textContent = fileName;
|
|
607
|
+
recommendedArtifactLinks.appendChild(link);
|
|
608
|
+
});
|
|
609
|
+
recommendedArtifacts.hidden = false;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
async function loadRecommendedArtifacts(runId) {
|
|
613
|
+
if (!runId) return;
|
|
614
|
+
try {
|
|
615
|
+
const result = await apiRequest(runUrl(runId, '/artifacts'), { auth: true, preserveOutput: true });
|
|
616
|
+
if (result.response.ok) {
|
|
617
|
+
showRecommendedArtifacts(runId, result.payload);
|
|
618
|
+
}
|
|
619
|
+
} catch {
|
|
620
|
+
if (recommendedArtifacts) recommendedArtifacts.hidden = true;
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
|
|
485
624
|
function isTerminalStatus(status) {
|
|
486
625
|
return status === 'completed' || status === 'failed';
|
|
487
626
|
}
|
|
@@ -537,9 +676,9 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
537
676
|
}
|
|
538
677
|
|
|
539
678
|
async function apiRequest(path, options) {
|
|
540
|
-
const token =
|
|
679
|
+
const token = getApiToken();
|
|
541
680
|
const needsAuth = options && options.auth;
|
|
542
|
-
if (needsAuth && !token) throw new Error('Enter the API bearer token first.');
|
|
681
|
+
if (needsAuth && !token) throw new Error('Enter the API bearer token in the header first.');
|
|
543
682
|
if (needsAuth && token && !isLikelyBearerToken(token)) {
|
|
544
683
|
throw new Error('Token format looks invalid. Use a plain bearer token without spaces.');
|
|
545
684
|
}
|
|
@@ -557,18 +696,24 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
557
696
|
const runId = payload && typeof payload.id === 'string'
|
|
558
697
|
? payload.id
|
|
559
698
|
: String(runIdInput.value || '').trim();
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
699
|
+
const statusLabel = responseStatusLabel(response, payload);
|
|
700
|
+
if (!(options && options.preserveOutput)) {
|
|
701
|
+
setOutputMetadata(statusLabel, runId || undefined);
|
|
702
|
+
setOutputBody(JSON.stringify({
|
|
703
|
+
method: options && options.method || 'GET',
|
|
704
|
+
path,
|
|
705
|
+
status: response.status,
|
|
706
|
+
response: payload,
|
|
707
|
+
}, null, 2));
|
|
708
|
+
setState(response.ok ? (runId ? 'Run status updated.' : 'Request completed.') : 'Request failed.', response.ok ? 'ok' : 'bad');
|
|
709
|
+
}
|
|
568
710
|
if (response.ok && payload && typeof payload === 'object') {
|
|
569
711
|
summarizeHealth(path, payload);
|
|
570
712
|
summarizeRun(payload);
|
|
571
713
|
if (runId) showRunLinks(runId);
|
|
714
|
+
if (runId && payload.status && isTerminalStatus(payload.status)) {
|
|
715
|
+
loadRecommendedArtifacts(runId);
|
|
716
|
+
}
|
|
572
717
|
}
|
|
573
718
|
return { payload, response };
|
|
574
719
|
}
|
|
@@ -637,6 +782,9 @@ const controllerPage = String.raw `<!doctype html>
|
|
|
637
782
|
const savedTab = sessionStorage.getItem('kasekiActiveTab') || 'health';
|
|
638
783
|
const savedTabButton = document.querySelector('[data-tab="' + savedTab + '"]');
|
|
639
784
|
if (savedTabButton) savedTabButton.click();
|
|
785
|
+
|
|
786
|
+
// Initialize header status
|
|
787
|
+
updateHeaderStatus('idle');
|
|
640
788
|
|
|
641
789
|
// Health check button handlers
|
|
642
790
|
document.querySelectorAll('[data-probe]').forEach((button) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaseki-api-web.js","sourceRoot":"","sources":["../src/kaseki-api-web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"kaseki-api-web.js","sourceRoot":"","sources":["../src/kaseki-api-web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAq1BhC,CAAC;AAEF,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACrC,GAAG,CAAC,GAAG,CAAC,yBAAyB,EAAE,2JAA2J,CAAC,CAAC;QAChM,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/kaseki-agent.sh
CHANGED
|
@@ -1226,6 +1226,21 @@ record_skipped_validation_command() {
|
|
|
1226
1226
|
printf '%s\tskipped\t%s\tmissing_npm_script=%s\n' "$command" "$duration_seconds" "$script_name" >> "$timings_file"
|
|
1227
1227
|
}
|
|
1228
1228
|
|
|
1229
|
+
append_validation_failure_tail() {
|
|
1230
|
+
local raw_log="$1"
|
|
1231
|
+
local visible_log="$2"
|
|
1232
|
+
local quality_log="${3:-/results/quality.log}"
|
|
1233
|
+
|
|
1234
|
+
if ! [ -s "$raw_log" ]; then
|
|
1235
|
+
return 0
|
|
1236
|
+
fi
|
|
1237
|
+
|
|
1238
|
+
{
|
|
1239
|
+
printf '\n[DIAGNOSTICS] Raw validation output tail (last 80 lines):\n'
|
|
1240
|
+
tail -80 "$raw_log" 2>/dev/null || printf '<failed to read raw validation log>\n'
|
|
1241
|
+
} | tee -a "$visible_log" "$quality_log" >/dev/null
|
|
1242
|
+
}
|
|
1243
|
+
|
|
1229
1244
|
run_validation_commands() {
|
|
1230
1245
|
local stage_label="$1"
|
|
1231
1246
|
local commands="$2"
|
|
@@ -1409,6 +1424,7 @@ run_validation_commands() {
|
|
|
1409
1424
|
validation_detail_ref="first failing command was \"$trimmed\" with exit $command_exit"
|
|
1410
1425
|
# shellcheck disable=SC2034 # Reference variable assigned for external use via nameref
|
|
1411
1426
|
validation_reason_ref="$failure_reason_prefix: $trimmed (exit $command_exit)"
|
|
1427
|
+
append_validation_failure_tail "$raw_log" "$log_file"
|
|
1412
1428
|
# Enhanced diagnostics for getcwd-type errors.
|
|
1413
1429
|
if grep -q 'getcwd\|No such file or directory\|cannot access parent directories' "$log_file"; then
|
|
1414
1430
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanautomation/kaseki-agent",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.44.0",
|
|
4
4
|
"description": "Admin/helper/doctor toolbox and local API client for Kaseki diagnostics, setup, and API-backed coding-agent task workflows",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"generate:openapi": "node scripts/generate-openapi-spec.js",
|
|
48
48
|
"build": "tsc && node dist/add-js-extensions.js && npm run generate:openapi && npm run check:dist-dynamic-imports && chmod 0755 dist/*.js",
|
|
49
49
|
"prepublishOnly": "npm run build",
|
|
50
|
-
"type-check": "tsc --noEmit",
|
|
50
|
+
"type-check": "tsc --noEmit -p tsconfig.json",
|
|
51
51
|
"check": "npm run type-check && npm run lint",
|
|
52
52
|
"test": "npm run test:unit",
|
|
53
53
|
"test:unit": "jest --passWithNoTests",
|