netlify.toml toml
62 lines 2.8 KB
Raw
sha256:b5f647cb9c409f563d4671fe3fc05ddea01fabfed9b41fc11cb923588e1c1baf mirror: GitHub Phase A durable MCP OAuth (#270) Human minor ⚠ breaking 10 days ago
1 # Knowtation: gateway runs as a Netlify serverless function; static site is on 4Everland.
2 [build]
3 command = "npm install && node scripts/netlify-redirects.mjs && cd hub/gateway && npm ci && cd ../bridge && npm ci"
4 functions = "netlify/functions"
5 publish = "public"
6
7 [build.environment]
8 NODE_VERSION = "20"
9
10 # sqlite-vec uses `new URL('.', import.meta.url)` to find vec0.{so,dylib,dll}. Esbuild bundling
11 # breaks import.meta.url → TypeError Invalid URL (input '.'). Keep these external so Node loads
12 # real package files from node_modules (see sqlite-vec index.mjs getLoadablePath).
13 # stripe is external + lazy-loaded in billing-stripe.mjs to avoid bundling ~220 KB on cold start.
14 [functions]
15 node_bundler = "esbuild"
16 external_node_modules = [
17 "better-sqlite3",
18 "sqlite-vec",
19 "sqlite-vec-linux-x64",
20 "sqlite-vec-linux-arm64",
21 "sqlite-vec-darwin-x64",
22 "sqlite-vec-darwin-arm64",
23 "sqlite-vec-windows-x64",
24 "stripe"
25 ]
26
27 # exceljs is large; bundling it in esbuild for netlify/functions/bridge.mjs can fail Netlify
28 # (opaque exit 1, sometimes with @netlify/build TypeError in error formatting). Keep it
29 # external for the bridge function only so gateway.zip does not add node_modules/exceljs.
30 [functions."bridge"]
31 external_node_modules = ["exceljs"]
32 # Phase 2G hosted lazy-seed: bridge reads starter JSON from tasks/ and task-loops/ at runtime.
33 included_files = [
34 "tasks/starter/*.json",
35 "task-loops/starter/*.json",
36 "task-loops/starter/instances/*.json",
37 "orchestrator-graphs/starter/*.json",
38 ]
39
40 # Netlify sync-function platform max is 60 s per docs.netlify.com/build/functions/overview.
41 # Per-function timeout must be a sub-table; a scalar `timeout = N` under [functions] is
42 # rejected by the config validator. Gateway raised from 26 → 60 to give the bridge-proxy
43 # index call (POST /api/v1/index) headroom under the DeepInfra (BAAI/bge-large-en-v1.5)
44 # embedding latency profile, which can run 2× the OpenAI text-embedding-3-small wall
45 # time for the same vault. See `hub/bridge/index-timing.mjs` and the timing logs
46 # (`type:knowtation_index_step`) in bridge logs to identify which sub-step dominates
47 # before deciding on a parallelize/async fix.
48 [functions."gateway"]
49 timeout = 60
50
51 [functions."warmup"]
52 timeout = 26
53
54 # Scheduled function: runs hourly, triggers consolidation for all due hosted users.
55 # Netlify scheduled functions run as background-style invocations (up to 15 min);
56 # 26 s is the declared limit here for safety — tune MAX_USERS_PER_RUN if needed.
57 [functions."consolidation-scheduler"]
58 timeout = 26
59
60 # Catch-all routing lives in public/_redirects (scripts/netlify-redirects.mjs). Do not add
61 # [[redirects]] here: in a monorepo, root netlify.toml settings apply to every linked site
62 # and would send the bridge deploy to the gateway function.
File History 4 commits
sha256:b5f647cb9c409f563d4671fe3fc05ddea01fabfed9b41fc11cb923588e1c1baf mirror: GitHub Phase A durable MCP OAuth (#270) Human minor 10 days ago
sha256:d8c648b20a4d53b2673c5c082ee7edfa7b2fc9b11080832da1f38807b6bf940b fix(7C-L1b): route hosted delegation proposals through cani… Human minor 30 days ago
sha256:2827ba9e7632a4b141c50caf1e8f7d77abbc3515be20e7465f2bccb0ac4edf91 fix: repair endpoint now sets has_active_subscription when … Human minor 49 days ago