@bongos/core 1.19.100 → 1.19.101
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/.bongos-core.json +11 -11
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/public-landing/assets/cosmos.css +0 -5
- package/public-landing/projects.html +0 -11
- package/src/module-api.js +3 -1
- package/tests/projects_hub.mjs +40 -0
package/.bongos-core.json
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"artifact": "bongos-core",
|
|
3
3
|
"manifest_schema": 1,
|
|
4
4
|
"generator": "scripts/gds/package-core.js",
|
|
5
|
-
"core_version": "1.19.
|
|
6
|
-
"core_contract": "1.19.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.19.101",
|
|
6
|
+
"core_contract": "1.19.101",
|
|
7
|
+
"source_commit": "62f06ee2e5d24c140a5dbdbb77c4ecf0b38b51b7",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-08-13T22:
|
|
9
|
+
"built_at": "2026-08-13T22:58:10.766Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 299,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
19
|
"file_count": 1552,
|
|
20
|
-
"tree_sha256": "
|
|
20
|
+
"tree_sha256": "762cf136042ed2b0ba4bb1ff247411839f0b80cac914bb21d1edf24e8de053b7",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/blocker-review/SKILL.md",
|
|
@@ -4132,12 +4132,12 @@
|
|
|
4132
4132
|
{
|
|
4133
4133
|
"path": "package-lock.json",
|
|
4134
4134
|
"mode": "0000644",
|
|
4135
|
-
"sha256": "
|
|
4135
|
+
"sha256": "7aff3b60525970c3f3ec5885ab9ae86e16b6c6077fd391b07cf51e158deb0d3d"
|
|
4136
4136
|
},
|
|
4137
4137
|
{
|
|
4138
4138
|
"path": "package.json",
|
|
4139
4139
|
"mode": "0000644",
|
|
4140
|
-
"sha256": "
|
|
4140
|
+
"sha256": "04d5102541482cca6a1778c951322202056ca81771075fcf0c87d5eeda27c122"
|
|
4141
4141
|
},
|
|
4142
4142
|
{
|
|
4143
4143
|
"path": "public-docs/index.html",
|
|
@@ -4377,7 +4377,7 @@
|
|
|
4377
4377
|
{
|
|
4378
4378
|
"path": "public-landing/assets/cosmos.css",
|
|
4379
4379
|
"mode": "0000644",
|
|
4380
|
-
"sha256": "
|
|
4380
|
+
"sha256": "1fdc2c4e3d58ae089a71bade6aa3f5f3259447b243eacdc75b8a91797ea065e7"
|
|
4381
4381
|
},
|
|
4382
4382
|
{
|
|
4383
4383
|
"path": "public-landing/buddha.png",
|
|
@@ -4397,7 +4397,7 @@
|
|
|
4397
4397
|
{
|
|
4398
4398
|
"path": "public-landing/projects.html",
|
|
4399
4399
|
"mode": "0000644",
|
|
4400
|
-
"sha256": "
|
|
4400
|
+
"sha256": "081e903fcb943e4facda8e83c9247a31602bf7750d5d7740353c97a4ccbcf1e2"
|
|
4401
4401
|
},
|
|
4402
4402
|
{
|
|
4403
4403
|
"path": "public-landing/world/assets/clouds/cloud-island-large.png",
|
|
@@ -5707,7 +5707,7 @@
|
|
|
5707
5707
|
{
|
|
5708
5708
|
"path": "src/module-api.js",
|
|
5709
5709
|
"mode": "0000644",
|
|
5710
|
-
"sha256": "
|
|
5710
|
+
"sha256": "6ef2c5bf4063d7d8511e9bd14e83cfd36057a4c01fe1f77f31bd159f9ea08e8a"
|
|
5711
5711
|
},
|
|
5712
5712
|
{
|
|
5713
5713
|
"path": "src/module-loader/catalog.js",
|
|
@@ -7227,7 +7227,7 @@
|
|
|
7227
7227
|
{
|
|
7228
7228
|
"path": "tests/projects_hub.mjs",
|
|
7229
7229
|
"mode": "0000644",
|
|
7230
|
-
"sha256": "
|
|
7230
|
+
"sha256": "6a59da0cfbf5d2be741ed26f3350a39d49a64b6f1dffb89f69666af7ba938dd1"
|
|
7231
7231
|
},
|
|
7232
7232
|
{
|
|
7233
7233
|
"path": "tests/provision.mjs",
|
package/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.101",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bongos/core",
|
|
9
|
-
"version": "1.19.
|
|
9
|
+
"version": "1.19.101",
|
|
10
10
|
"license": "AGPL-3.0-or-later",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"express": "^4.21.2",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.101",
|
|
4
4
|
"description": "Cloud Bongos — the AI-first build platform core (GDS + platform surfaces + module system), installed as a versioned dependency (ADR 0108).",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"main": "src/platform-server.js",
|
|
@@ -540,14 +540,10 @@ p.sec-p{font-size:var(--fs-lede);font-weight:500;color:var(--ink-soft);line-heig
|
|
|
540
540
|
box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent);}
|
|
541
541
|
.tbl .ptitle{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--ink);}
|
|
542
542
|
.tbl .ptag{font-size:12.5px;color:var(--ink-faint);font-weight:600;}
|
|
543
|
-
.tbl .num{font-family:var(--font-mono);font-weight:500;}
|
|
544
543
|
.tbl .pill{display:inline-block;font-family:var(--font-mono);font-size:11px;padding:3px 10px;
|
|
545
544
|
border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);}
|
|
546
545
|
:root[data-mode="dark"] .tbl .pill{color:var(--sun-lit);}
|
|
547
546
|
@media (prefers-color-scheme: dark){:root:not([data-mode="light"]) .tbl .pill{color:var(--sun-lit);}}
|
|
548
|
-
.tbl .tags{display:flex;gap:6px;flex-wrap:wrap;}
|
|
549
|
-
.tbl .tags span{font-family:var(--font-mono);font-size:10.5px;padding:2px 8px;border-radius:999px;
|
|
550
|
-
border:1px solid var(--line);color:var(--ink-faint);}
|
|
551
547
|
.tbl td.right{text-align:right;}
|
|
552
548
|
/* Nothing in an action or status cell may wrap: "Manage →" breaking after the
|
|
553
549
|
space and the chip's recency dropping to a second line both read as a broken
|
|
@@ -557,7 +553,6 @@ p.sec-p{font-size:var(--fs-lede);font-weight:500;color:var(--ink-soft);line-heig
|
|
|
557
553
|
.tbl .colStatus{width:1%;white-space:nowrap;}
|
|
558
554
|
.tbl .colGo{width:1%;white-space:nowrap;padding-left:8px;}
|
|
559
555
|
.tbl .colName{width:auto;}
|
|
560
|
-
@media (max-width:780px){.tbl .colTags,.tbl .colType{display:none;}}
|
|
561
556
|
|
|
562
557
|
/* ── the project card ──
|
|
563
558
|
An overlay INSIDE the map, not a destination: opening a project must not cost
|
|
@@ -182,9 +182,6 @@ try{var _m=localStorage.getItem('cb-color-mode');if(_m==='light'||_m==='dark')do
|
|
|
182
182
|
<thead>
|
|
183
183
|
<tr>
|
|
184
184
|
<th class="colName" data-sort="name" aria-sort="ascending">Project</th>
|
|
185
|
-
<th class="right" data-sort="builders">Builders</th>
|
|
186
|
-
<th class="colType">Type</th>
|
|
187
|
-
<th class="colTags">Tags</th>
|
|
188
185
|
<th class="right colStatus">Status</th>
|
|
189
186
|
<th class="colGo"></th>
|
|
190
187
|
</tr>
|
|
@@ -199,9 +196,6 @@ try{var _m=localStorage.getItem('cb-color-mode');if(_m==='light'||_m==='dark')do
|
|
|
199
196
|
<td class="colName"><span class="pname"><span class="pdot" style="--acc:var(--accent)"></span>
|
|
200
197
|
<span><span class="ptitle" data-brand-product-inline>Cloud Bongos</span><span id="selfPill"></span><br>
|
|
201
198
|
<span class="ptag">this platform</span></span></span></td>
|
|
202
|
-
<td class="right num">—</td>
|
|
203
|
-
<td class="colType">—</td>
|
|
204
|
-
<td class="colTags">—</td>
|
|
205
199
|
<td class="right colStatus"><span class="chip calm"><span class="cdot"></span>—</span></td>
|
|
206
200
|
<td class="colGo"><a class="btn small ghost" href="#" data-self-open>Open →</a></td>
|
|
207
201
|
</tr>
|
|
@@ -628,11 +622,6 @@ try{var _m=localStorage.getItem('cb-color-mode');if(_m==='light'||_m==='dark')do
|
|
|
628
622
|
accentOf(p) + '"></span>' +
|
|
629
623
|
'<span><span class="ptitle">' + esc(p.name) + '</span>' + pill + '<br>' +
|
|
630
624
|
'<span class="ptag">' + esc(p.tagline || '') + '</span></span></span></td>' +
|
|
631
|
-
/* the public projection carries no builder count, type or tags — an
|
|
632
|
-
em dash is the truthful cell, an invented number is not */
|
|
633
|
-
'<td class="right num">—</td>' +
|
|
634
|
-
'<td class="colType">—</td>' +
|
|
635
|
-
'<td class="colTags">—</td>' +
|
|
636
625
|
/* liveness on a catalog row is NOT probed by this surface. A chip that
|
|
637
626
|
said "live" here would claim more than anything verified (C6); the
|
|
638
627
|
verification overlay on owned orbs is its own task. */
|
package/src/module-api.js
CHANGED
|
@@ -627,8 +627,10 @@ const { validateOrRespond, LIMITS, parseId, asyncHandler, corsPublicGet, parsePa
|
|
|
627
627
|
// landed since 1.19.98 with no explicit bump. run 31750941866. (task 1002620)
|
|
628
628
|
// 1.19.100 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
629
629
|
// landed since 1.19.99 with no explicit bump. run 31751275973. (task 1002620)
|
|
630
|
+
// 1.19.101 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
631
|
+
// landed since 1.19.100 with no explicit bump. run 31752022322. (task 1002620)
|
|
630
632
|
// ---------------------------------------------------------------------------
|
|
631
|
-
const CORE_VERSION = '1.19.
|
|
633
|
+
const CORE_VERSION = '1.19.101'; // CI auto-patch carrier (ADR 0161); see changelog above
|
|
632
634
|
|
|
633
635
|
// A namespaced logger so a module's log lines are attributable + consistent.
|
|
634
636
|
// Usage: const log = api.logger('dev-box'); log.info('mounted');
|
package/tests/projects_hub.mjs
CHANGED
|
@@ -370,3 +370,43 @@ test('the row keeps its own Open link working underneath the card', () => {
|
|
|
370
370
|
assert.match(SCRIPT, /if \(ev\.target\.closest && ev\.target\.closest\('a'\)\) return;/,
|
|
371
371
|
'a click on the row\'s own anchor must not be swallowed by the card handler');
|
|
372
372
|
});
|
|
373
|
+
|
|
374
|
+
/* ── The table advertises only what it can fill (task 1002764) ──────────────
|
|
375
|
+
The mock's columns shipped whole — Project / Builders / Type / Tags / Status
|
|
376
|
+
— but three of them rendered an em dash for every row, forever, because the
|
|
377
|
+
public projection carries four fields and Type/Tags are not in the catalog
|
|
378
|
+
schema at all. A header promising a column is a claim like any other. ── */
|
|
379
|
+
|
|
380
|
+
test('the table declares no column it has no source for', () => {
|
|
381
|
+
const thead = (HUB.match(/<thead>([\s\S]*?)<\/thead>/) || [, ''])[1];
|
|
382
|
+
for (const dead of [/>Builders</, />Type</, />Tags</]) {
|
|
383
|
+
assert.doesNotMatch(thead, dead, `a permanently-empty column must not be advertised`);
|
|
384
|
+
}
|
|
385
|
+
assert.match(thead, />Project</, 'the name column is real');
|
|
386
|
+
});
|
|
387
|
+
|
|
388
|
+
test('header and body agree on the column count', () => {
|
|
389
|
+
// a stray <td> shifts every cell after it — silent, and only visible on screen
|
|
390
|
+
const n = ((HUB.match(/<thead>([\s\S]*?)<\/thead>/) || [, ''])[1].match(/<th/g) || []).length;
|
|
391
|
+
const selfRow = (HUB.match(/<tr id="selfRow">([\s\S]*?)<\/tr>/) || [, ''])[1];
|
|
392
|
+
const generated = (SCRIPT.match(/return '<tr data-generated([\s\S]*?)'<\/tr>';/) || [, ''])[1];
|
|
393
|
+
assert.equal((selfRow.match(/<td/g) || []).length, n, 'the self row must match the header');
|
|
394
|
+
assert.equal((generated.match(/<td/g) || []).length, n, 'a generated row must match the header');
|
|
395
|
+
});
|
|
396
|
+
|
|
397
|
+
test('no sort control is offered for a column that cannot sort', () => {
|
|
398
|
+
// `data-sort="builders"` was declared sortable while the comparator handled
|
|
399
|
+
// only 'name' — clicking it did nothing at all
|
|
400
|
+
assert.doesNotMatch(HUB, /data-sort="builders"/);
|
|
401
|
+
const sorts = [...HUB.matchAll(/data-sort="([^"]+)"/g)].map((m) => m[1]);
|
|
402
|
+
const comparator = (SCRIPT.match(/list\.sort\(function[\s\S]*?\n \}\);/) || [''])[0];
|
|
403
|
+
for (const key of sorts) {
|
|
404
|
+
assert.match(comparator, new RegExp(`'${key}'`), `${key} is offered but the comparator ignores it`);
|
|
405
|
+
}
|
|
406
|
+
});
|
|
407
|
+
|
|
408
|
+
test('the CSS for the dropped columns went with them', () => {
|
|
409
|
+
for (const orphan of ['.colType', '.colTags', '.tbl .num', '.tbl .tags']) {
|
|
410
|
+
assert.ok(!COSMOS.includes(orphan), `${orphan} is dead once its column is gone`);
|
|
411
|
+
}
|
|
412
|
+
});
|