@bongos/core 1.21.77 → 1.21.79
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 +103 -73
- package/.claude/skills/goal-create/SKILL.md +2 -1
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +8 -0
- package/clients/bongos-client/index.cjs +8 -0
- package/clients/bongos-client/index.d.ts +13 -0
- package/clients/bongos-client/index.mjs +8 -0
- package/docs/api/openapi.json +285 -3
- package/docs/api-reference.md +6 -2
- package/docs/copy-inventory.md +48 -38
- package/docs/copy-registry.json +152 -61
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-inventory.json +4 -2
- package/docs/page-readings.json +215 -206
- package/migrations/core_273_module_install_reports.sql +66 -0
- package/modules/hall-ui/public/atlas.html +1 -1
- package/modules/hall-ui/public/blockers.html +1 -1
- package/modules/hall-ui/public/board-room.html +1 -1
- package/modules/hall-ui/public/city.html +1 -1
- package/modules/hall-ui/public/collab.html +1 -1
- package/modules/hall-ui/public/commands.html +1 -1
- package/modules/hall-ui/public/copy-desk.html +1 -1
- package/modules/hall-ui/public/deploy.html +1 -1
- package/modules/hall-ui/public/diagrams.html +1 -1
- package/modules/hall-ui/public/drachmae.html +1 -1
- package/modules/hall-ui/public/fleet.html +1 -1
- package/modules/hall-ui/public/gate.html +1 -1
- package/modules/hall-ui/public/goal-map.html +1 -1
- package/modules/hall-ui/public/goals-page.js +13 -1
- package/modules/hall-ui/public/goals-render.js +1 -1
- package/modules/hall-ui/public/goals.html +1 -1
- package/modules/hall-ui/public/government.html +1 -1
- package/modules/hall-ui/public/idea.html +1 -1
- package/modules/hall-ui/public/ideas.html +1 -1
- package/modules/hall-ui/public/index.html +1 -1
- package/modules/hall-ui/public/modules.html +1 -1
- package/modules/hall-ui/public/primer.html +1 -1
- package/modules/hall-ui/public/profile.html +1 -1
- package/modules/hall-ui/public/project-settings.html +1 -1
- package/modules/hall-ui/public/ranks.html +1 -1
- package/modules/hall-ui/public/roadmap.html +1 -1
- package/modules/hall-ui/public/roster.html +1 -1
- package/modules/hall-ui/public/sessions.html +1 -1
- package/modules/hall-ui/public/settings-usage-reports.js +96 -0
- package/modules/hall-ui/public/settings.html +19 -1
- package/modules/hall-ui/public/settings.states.json +1 -0
- package/modules/hall-ui/public/shell.js +61 -29
- package/modules/hall-ui/public/street.html +1 -1
- package/modules/hall-ui/public/studio.html +1 -1
- package/modules/hall-ui/public/task-lib.js +21 -2
- package/modules/hall-ui/public/task.html +1 -1
- package/modules/hall-ui/public/thinking.html +1 -1
- package/modules/hall-ui/public/tweak-editor.html +1 -1
- package/modules/hall-ui/public/watch.html +1 -1
- package/modules/hall-ui/public/work.html +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +24 -0
- package/scripts/gds/module-assess-installs.js +143 -0
- package/scripts/gds/module.js +29 -5
- package/scripts/hall-preview/live-identity.js +1 -0
- package/src/bongos/module-usage-reports.js +112 -0
- package/src/bongos/routes/modules.js +96 -0
- package/src/module-api.js +1 -1
- package/tests/goal_map_page.mjs +1 -1
- package/tests/goal_plan_with_claude.mjs +41 -0
- package/tests/hall_commands.mjs +1 -1
- package/tests/hall_nav.mjs +42 -0
- package/tests/hall_tweak_editor.mjs +1 -1
- package/tests/module_assess_installs.mjs +272 -0
- package/tests/module_install.mjs +3 -0
- package/tests/module_update.mjs +3 -0
- package/tests/nav_permission_atoms.mjs +1 -1
package/tests/module_install.mjs
CHANGED
|
@@ -49,6 +49,7 @@ function fakeStore({ tgz, v }, over = {}) {
|
|
|
49
49
|
if (urlPath.endsWith('/acquire')) return over.acquire || { ok: true, status: 200, data: { ...describe, ...(over.describe || {}) } };
|
|
50
50
|
if (urlPath.endsWith('/tarball')) return over.download || { ok: true, status: 200, buf: over.buf || tgz };
|
|
51
51
|
if (urlPath.endsWith('/acquired')) return over.acquired || { ok: true, status: 200, data: { ok: true } };
|
|
52
|
+
if (urlPath.endsWith('/install-report')) return { ok: true, status: 200, data: { ok: true, recorded: true } };
|
|
52
53
|
throw new Error(`unexpected ${method} ${urlPath}`);
|
|
53
54
|
};
|
|
54
55
|
return { calls, request };
|
|
@@ -75,8 +76,10 @@ test('installs a free module: verified, placed, recorded, and NOT enabled', asyn
|
|
|
75
76
|
'POST /store/modules/weather/acquire',
|
|
76
77
|
'GET /store/modules/weather/versions/1.2.0/tarball',
|
|
77
78
|
'POST /store/modules/weather/acquired',
|
|
79
|
+
'POST /store/modules/weather/versions/1.2.0/install-report',
|
|
78
80
|
]);
|
|
79
81
|
assert.deepEqual(store.calls[2].json, { version: '1.2.0' }, 'records the exact version placed');
|
|
82
|
+
assert.deepEqual(store.calls[3].json, { ok: true }, 'reports that the install worked — counts only (task 1003793)');
|
|
80
83
|
assert.match(q.out.join('\n'), /not switched on/);
|
|
81
84
|
});
|
|
82
85
|
|
package/tests/module_update.mjs
CHANGED
|
@@ -68,6 +68,7 @@ function fakeStore({ tgz, v }, { source = 'free', over = {} } = {}) {
|
|
|
68
68
|
}
|
|
69
69
|
if (urlPath.endsWith('/tarball')) return { ok: true, status: 200, buf: over.buf || tgz };
|
|
70
70
|
if (urlPath.endsWith('/acquired')) return { ok: true, status: 200, data: { ok: true } };
|
|
71
|
+
if (urlPath.endsWith('/install-report')) return { ok: true, status: 200, data: { ok: true, recorded: true } };
|
|
71
72
|
throw new Error(`unexpected ${method} ${urlPath}`);
|
|
72
73
|
};
|
|
73
74
|
return { calls, request };
|
|
@@ -91,8 +92,10 @@ test('updates an installed module to the newest version: files replaced, old-onl
|
|
|
91
92
|
'POST /store/modules/weather/acquire',
|
|
92
93
|
'GET /store/modules/weather/versions/1.3.0/tarball',
|
|
93
94
|
'POST /store/modules/weather/acquired',
|
|
95
|
+
'POST /store/modules/weather/versions/1.3.0/install-report',
|
|
94
96
|
]);
|
|
95
97
|
assert.deepEqual(store.calls[2].json, { version: '1.3.0' });
|
|
98
|
+
assert.deepEqual(store.calls[3].json, { ok: true }, 'an update reports like an install (task 1003793)');
|
|
96
99
|
assert.match(q.out.join('\n'), /1\.2\.0 → 1\.3\.0\. Its on\/off switch is unchanged/);
|
|
97
100
|
});
|
|
98
101
|
|
|
@@ -87,7 +87,7 @@ test('the hall-preview fixture carries every atom /me resolves', () => {
|
|
|
87
87
|
// the file and left the query alone, so a returning browser kept the cached copy —
|
|
88
88
|
// a fix that reaches nobody looks identical to a fix that does not work.
|
|
89
89
|
|
|
90
|
-
const SHELL_SHA = '
|
|
90
|
+
const SHELL_SHA = 'd080c7a69a310077';
|
|
91
91
|
|
|
92
92
|
test('shell.js has not changed without its cache-bust being bumped', () => {
|
|
93
93
|
const actual = crypto.createHash('sha256').update(SHELL).digest('hex').slice(0, 16);
|