openvibers/openvibe.tools Commits

Plan T8, groundwork T8.md READY NOW items for… (#8)

OP OpenVibers committed 3 Oct 2026 · 834bed39e5 · 3 files, +5 −3

local checks ✓ 2/2 · CI ✓ 3/3 · review SHIP by DeepSeek harness

https://github.com/OpenVibers/OpenVibe.Tools/pull/8

Changes

ddiff --git a/apps/audio/public/js/app.js b/apps/audio/public/js/app.js
iindex c9b5ad8..4624709 100644
---- a/apps/audio/public/js/app.js
++++ b/apps/audio/public/js/app.js
@@@ -11,7 +11,7 @@
let currentTool = null; // active tool ID
let uploadedFile = null; // File object
let uploadedFiles = []; // merge: the files in the order they are joined
-- let resultId = null; // retention ID from /api/process
++ let resultId = null; // retention ID from POST /api/v1/tools/:id/run
/* ---------- DOM refs ---------- */
const $ = (sel) => document.querySelector(sel);
ddiff --git a/apps/gateway/.env.example b/apps/gateway/.env.example
iindex 469d52c..dbfdd42 100644
---- a/apps/gateway/.env.example
++++ b/apps/gateway/.env.example
@@@ -42,6 +42,9 @@ MEDIA_PUBLIC_URL=https://openvibe.media
#TOOLS_LIMITS_MINUTE=120
#TOOLS_LIMITS_HOUR=3000
++# The shared guard's mode (apps/_shared/guard/index.js): today's default is 'report' (log only); T8 step 2 flips this to enforce.
++#TOOLS_GUARD=enforce
++
# ── Satellites: jobs (img, audio, docs read the same tools.env) ──
#TOOLS_JOBS_CONCURRENCY=2
#TOOLS_JOBS_CONCURRENCY_AUDIO=1
ddiff --git a/apps/maps/server/sources/grocery.js b/apps/maps/server/sources/grocery.js
iindex 9fe5260..c5227e0 100644
---- a/apps/maps/server/sources/grocery.js
++++ b/apps/maps/server/sources/grocery.js
@@@ -10,8 +10,6 @@
* - Dollar Tree ($1.25 fixed price model)
* - Grocery Outlet (discount pricing data)
* - Fred Meyer / Kroger (API + built-in pricing)
-- *
-- * Nutritional data from USDA FoodData Central API
*/
const axios = require('axios');
@@@ -19,6 +17,7 @@ const cheerio = require('cheerio');
const { haversine } = require('./utils');
// ─── Store Definitions ─────────────────────────────────────────────
++// searchUrl/storeFinderUrl (fredmeyer, safeway, dollartree, groceryoutlet) and fredmeyer's krogerApiBase are link metadata shown to users, not request hosts — the egress ALLOW inventory needs no entry for them (walmart is scraped, so its URLs are real hosts).
const STORES = {
walmart: {
name: 'Walmart',