fix(db): add missing apiKeys columns + restore ApiExplorerModal export

- schema.js: add createdAt/allowedModels to apiKeys, bump SCHEMA_VERSION 3->4
- shared/components/index.js: restore ApiExplorerModal barrel export (was replaced by TagInput)
- combos: tag support, repo + api + page updates
This commit is contained in:
2026-08-27 13:58:23 +07:00
parent d0f202a75d
commit 5c6048759c
82 changed files with 52711 additions and 32 deletions

View File

@@ -0,0 +1,40 @@
(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push(["chunks/_06oe804._.js",
"[project]/node_modules/next/dist/esm/build/templates/edge-wrapper.js { MODULE => \"[project]/src/instrumentation.js [instrumentation-edge] (ecmascript)\" } [instrumentation-edge] (ecmascript)", ((__turbopack_context__, module, exports) => {
// The wrapped module could be an async module, we handle that with the proxy
// here. The comma expression makes sure we don't call the function with the
// module as the "this" arg.
// Turn exports into functions that are also a thenable. This way you can await the whole object
// or exports (e.g. for Components) or call them directly as though they are async functions
// (e.g. edge functions/middleware, this is what the Edge Runtime does).
// Catch promise to prevent UnhandledPromiseRejectionWarning, this will be propagated through
// the awaited export(s) anyway.
self._ENTRIES ||= {};
const modProm = Promise.resolve().then(()=>__turbopack_context__.i("[project]/src/instrumentation.js [instrumentation-edge] (ecmascript)"));
modProm.catch(()=>{});
self._ENTRIES["middleware_instrumentation"] = new Proxy(modProm, {
get (innerModProm, name) {
if (name === 'then') {
return (res, rej)=>innerModProm.then(res, rej);
}
let result = (...args)=>innerModProm.then((mod)=>(0, mod[name])(...args));
result.then = (res, rej)=>innerModProm.then((mod)=>mod[name]).then(res, rej);
return result;
}
});
}),
"[project]/src/instrumentation.js [instrumentation-edge] (ecmascript)", ((__turbopack_context__) => {
"use strict";
__turbopack_context__.s([
"register",
()=>register
]);
async function register() {
if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
;
}
}),
]);
//# sourceMappingURL=_06oe804._.js.map

View File

@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sections": [
{"offset": {"line": 3, "column": 0}, "map": {"version":3,"sources":["file:///Users/luulam/Developer/tool/9router/node_modules/next/src/build/templates/edge-wrapper.js"],"sourcesContent":["// The wrapped module could be an async module, we handle that with the proxy\n// here. The comma expression makes sure we don't call the function with the\n// module as the \"this\" arg.\n// Turn exports into functions that are also a thenable. This way you can await the whole object\n// or exports (e.g. for Components) or call them directly as though they are async functions\n// (e.g. edge functions/middleware, this is what the Edge Runtime does).\n// Catch promise to prevent UnhandledPromiseRejectionWarning, this will be propagated through\n// the awaited export(s) anyway.\nself._ENTRIES ||= {}\nconst modProm = import('MODULE')\nmodProm.catch(() => {})\nself._ENTRIES['VAR_ENTRY_NAME'] = new Proxy(modProm, {\n get(innerModProm, name) {\n if (name === 'then') {\n return (res, rej) => innerModProm.then(res, rej)\n }\n let result = (...args) =>\n innerModProm.then((mod) => (0, mod[name])(...args))\n result.then = (res, rej) =>\n innerModProm.then((mod) => mod[name]).then(res, rej)\n return result\n },\n})\n"],"names":["self","_ENTRIES","modProm","catch","Proxy","get","innerModProm","name","res","rej","then","result","args","mod"],"mappings":"AAAA,6EAA6E;AAC7E,4EAA4E;AAC5E,4BAA4B;AAC5B,gGAAgG;AAChG,6FAA6F;AAC7F,wEAAwE;AACxE,6FAA6F;AAC7F,gCAAgC;AAChCA,KAAKC,QAAQ,KAAK,CAAC;AACnB,MAAMC,UAAU,MAAM,CAAC;AACvBA,QAAQC,KAAK,CAAC,KAAO;AACrBH,KAAKC,QAAQ,CAAC,iBAAiB,GAAG,IAAIG,KAAAA,CAAMF,EAAAA,IAAAA,GAAS,GAAA,SAAA;IACnDG,KAAIC,YAAY,EAAEC,IAAI;QACpB,IAAIA,SAAS,QAAQ;YACnB,OAAO,CAACC,KAAKC,MAAQH,aAAaI,IAAI,CAACF,KAAKC;QAC9C;QACA,IAAIE,SAAS,CAAC,GAAGC,OACfN,aAAaI,IAAI,CAAC,CAACG,MAAS,CAAA,GAAGA,GAAG,CAACN,KAAI,KAAMK;QAC/CD,OAAOD,IAAI,GAAG,CAACF,KAAKC,MAClBH,aAAaI,IAAI,CAAC,CAACG,MAAQA,GAAG,CAACN,KAAK,EAAEG,IAAI,CAACF,KAAKC;QAClD,OAAOE;IACT;AACF","ignoreList":[0]}},
{"offset": {"line": 28, "column": 0}, "map": {"version":3,"sources":["file:///Users/luulam/Developer/tool/9router/src/instrumentation.js"],"sourcesContent":["export async function register() {\n if (process.env.NEXT_RUNTIME === \"nodejs\") {\n const { initConsoleLogCapture } = await import(\"@/lib/consoleLogBuffer\");\n initConsoleLogCapture();\n }\n}\n"],"names":["register"],"mappings":";;;;AAAO,eAAeA;IACpB;;AAIF"}}]
}