@cloudgrid-io/mcp 0.20.19 → 0.20.21

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.
Files changed (98) hide show
  1. package/package.json +1 -1
  2. package/src/corpus/capability-map.md +1 -1
  3. package/src/corpus/cloudgrid-yaml.md +3 -3
  4. package/src/corpus/examples/ai-app/index.md +20 -21
  5. package/src/corpus/templates/_cloudgrid.yaml.reference +2 -2
  6. package/src/corpus/templates/admin-dashboard/cloudgrid.yaml +2 -2
  7. package/src/corpus/templates/ai-app/README.md +18 -13
  8. package/src/corpus/templates/ai-app/cloudgrid.yaml +2 -2
  9. package/src/corpus/templates/ai-app/index.md +23 -18
  10. package/src/corpus/templates/ai-app/services/web/app/api/chat/route.js +11 -8
  11. package/src/corpus/templates/ai-app/services/web/package.json +1 -1
  12. package/src/corpus/templates/ai-knowledge-base/AGENTS.md +19 -21
  13. package/src/corpus/templates/ai-knowledge-base/README.md +1 -1
  14. package/src/corpus/templates/ai-knowledge-base/cloudgrid.yaml +2 -2
  15. package/src/corpus/templates/ai-knowledge-base/index.md +2 -2
  16. package/src/corpus/templates/analytics-dashboard/cloudgrid.yaml +2 -2
  17. package/src/corpus/templates/api-dashboard/cloudgrid.yaml +2 -2
  18. package/src/corpus/templates/api-docs/cloudgrid.yaml +2 -2
  19. package/src/corpus/templates/api-service/cloudgrid.yaml +2 -2
  20. package/src/corpus/templates/app-with-data/cloudgrid.yaml +2 -2
  21. package/src/corpus/templates/appointment-booking/AGENTS.md +1 -1
  22. package/src/corpus/templates/appointment-booking/cloudgrid.yaml +2 -2
  23. package/src/corpus/templates/approval-workflow/AGENTS.md +2 -2
  24. package/src/corpus/templates/approval-workflow/cloudgrid.yaml +2 -2
  25. package/src/corpus/templates/billing-dashboard/AGENTS.md +2 -2
  26. package/src/corpus/templates/billing-dashboard/cloudgrid.yaml +2 -2
  27. package/src/corpus/templates/blog-cms/cloudgrid.yaml +2 -2
  28. package/src/corpus/templates/booking-system/AGENTS.md +2 -2
  29. package/src/corpus/templates/booking-system/cloudgrid.yaml +2 -2
  30. package/src/corpus/templates/booking-system/index.md +1 -1
  31. package/src/corpus/templates/calendar-scheduler/AGENTS.md +1 -1
  32. package/src/corpus/templates/calendar-scheduler/cloudgrid.yaml +2 -2
  33. package/src/corpus/templates/calendar-scheduler/index.md +1 -1
  34. package/src/corpus/templates/changelog/cloudgrid.yaml +2 -2
  35. package/src/corpus/templates/company-website/cloudgrid.yaml +2 -2
  36. package/src/corpus/templates/course-platform/AGENTS.md +2 -2
  37. package/src/corpus/templates/course-platform/cloudgrid.yaml +2 -2
  38. package/src/corpus/templates/crm/cloudgrid.yaml +2 -2
  39. package/src/corpus/templates/dashboard/cloudgrid.yaml +2 -2
  40. package/src/corpus/templates/deck/cloudgrid.yaml +2 -2
  41. package/src/corpus/templates/directory/cloudgrid.yaml +2 -2
  42. package/src/corpus/templates/docs-site/cloudgrid.yaml +2 -2
  43. package/src/corpus/templates/erp/AGENTS.md +2 -2
  44. package/src/corpus/templates/erp/cloudgrid.yaml +2 -2
  45. package/src/corpus/templates/erp/index.md +1 -1
  46. package/src/corpus/templates/event-board/cloudgrid.yaml +2 -2
  47. package/src/corpus/templates/expense-tracker/cloudgrid.yaml +2 -2
  48. package/src/corpus/templates/feature-request-board/cloudgrid.yaml +2 -2
  49. package/src/corpus/templates/financial-dashboard/cloudgrid.yaml +2 -2
  50. package/src/corpus/templates/forum/AGENTS.md +3 -3
  51. package/src/corpus/templates/forum/cloudgrid.yaml +2 -2
  52. package/src/corpus/templates/hr-portal/AGENTS.md +1 -1
  53. package/src/corpus/templates/hr-portal/cloudgrid.yaml +2 -2
  54. package/src/corpus/templates/internal-tools-portal/AGENTS.md +2 -2
  55. package/src/corpus/templates/internal-tools-portal/cloudgrid.yaml +2 -2
  56. package/src/corpus/templates/inventory/cloudgrid.yaml +2 -2
  57. package/src/corpus/templates/invoice/cloudgrid.yaml +2 -2
  58. package/src/corpus/templates/job-board/cloudgrid.yaml +2 -2
  59. package/src/corpus/templates/kanban/cloudgrid.yaml +2 -2
  60. package/src/corpus/templates/landing-page/cloudgrid.yaml +2 -2
  61. package/src/corpus/templates/lms/AGENTS.md +3 -3
  62. package/src/corpus/templates/lms/cloudgrid.yaml +2 -2
  63. package/src/corpus/templates/marketplace/AGENTS.md +1 -1
  64. package/src/corpus/templates/marketplace/cloudgrid.yaml +2 -2
  65. package/src/corpus/templates/marketplace/index.md +1 -1
  66. package/src/corpus/templates/membership-site/AGENTS.md +1 -1
  67. package/src/corpus/templates/membership-site/cloudgrid.yaml +2 -2
  68. package/src/corpus/templates/monitoring-dashboard/cloudgrid.yaml +2 -2
  69. package/src/corpus/templates/online-store/AGENTS.md +1 -1
  70. package/src/corpus/templates/online-store/cloudgrid.yaml +2 -2
  71. package/src/corpus/templates/portfolio/cloudgrid.yaml +2 -2
  72. package/src/corpus/templates/product-catalog/cloudgrid.yaml +2 -2
  73. package/src/corpus/templates/product-launch/cloudgrid.yaml +2 -2
  74. package/src/corpus/templates/project-management/cloudgrid.yaml +2 -2
  75. package/src/corpus/templates/property-listings/cloudgrid.yaml +2 -2
  76. package/src/corpus/templates/quiz-platform/cloudgrid.yaml +2 -2
  77. package/src/corpus/templates/report/cloudgrid.yaml +2 -2
  78. package/src/corpus/templates/restaurant-reservations/AGENTS.md +2 -2
  79. package/src/corpus/templates/restaurant-reservations/cloudgrid.yaml +2 -2
  80. package/src/corpus/templates/revenue-dashboard/cloudgrid.yaml +2 -2
  81. package/src/corpus/templates/saas-marketing/cloudgrid.yaml +2 -2
  82. package/src/corpus/templates/semantic-search/cloudgrid.yaml +1 -1
  83. package/src/corpus/templates/simple-semantic-search/cloudgrid.yaml +3 -3
  84. package/src/corpus/templates/status-page/cloudgrid.yaml +2 -2
  85. package/src/corpus/templates/subscription-management/AGENTS.md +1 -1
  86. package/src/corpus/templates/subscription-management/cloudgrid.yaml +2 -2
  87. package/src/corpus/templates/task-manager/cloudgrid.yaml +2 -2
  88. package/src/corpus/templates/ticket-system/cloudgrid.yaml +2 -2
  89. package/src/corpus/templates/time-tracking/cloudgrid.yaml +2 -2
  90. package/src/corpus/templates/travel-booking/AGENTS.md +2 -2
  91. package/src/corpus/templates/travel-booking/cloudgrid.yaml +2 -2
  92. package/src/corpus/templates/travel-booking/index.md +1 -1
  93. package/src/corpus/templates/waitlist/cloudgrid.yaml +2 -2
  94. package/src/corpus/templates/web-app/cloudgrid.yaml +2 -2
  95. package/src/corpus/workflows/ai-app.md +13 -9
  96. package/src/corpus/workflows/ai-knowledge-base.md +15 -12
  97. package/src/session-logger.js +12 -1
  98. package/src/tools/register.js +5 -3
@@ -96,7 +96,7 @@ name: my-jobs
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: my-board
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -102,7 +102,7 @@ name: landing-page
102
102
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
103
103
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
104
104
  # disk: true
105
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
105
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
106
106
  # ai: true
107
107
 
108
108
 
@@ -198,7 +198,7 @@ services:
198
198
  # path: /api/health
199
199
  # expected: "200"
200
200
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
201
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
201
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
202
202
  # env:
203
203
  # LOG_LEVEL: info
204
204
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -105,11 +105,11 @@ runtime (after `grid plug`).
105
105
  client getter in `lib/auth.js`), not at module top level. If you add paid
106
106
  courses, map `STRIPE_KEY`/`STRIPE_WEBHOOK_SECRET` the same way.
107
107
  - **AI (optional — auto-grading / quiz generation / a study tutor)** — add
108
- `needs: { ai: true }` → the grid injects **`AI_GATEWAY_URL`**; call it via
109
- `@cloudgrid-io/ai`. Not enabled in this blueprint; add the need if you want it.
108
+ `needs: { ai: true }` → the grid injects **`RUNTIME_GATEWAY_URL`**; call it via
109
+ `@cloudgrid-io/runtime`. Not enabled in this blueprint; add the need if you want it.
110
110
 
111
111
  Reserved env var names you must NOT set yourself: `PORT`, `NODE_ENV`,
112
- `DATABASE_MONGODB_URL`/`MONGODB_URL`, `AI_GATEWAY_URL`, `CLOUDGRID_*`.
112
+ `DATABASE_MONGODB_URL`/`MONGODB_URL`, `RUNTIME_GATEWAY_URL`, `CLOUDGRID_*`.
113
113
 
114
114
  ---
115
115
 
@@ -96,7 +96,7 @@ name: lms
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -197,7 +197,7 @@ services:
197
197
  # path: /api/health
198
198
  # expected: "200"
199
199
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
200
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
200
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
201
201
  # env:
202
202
  # LOG_LEVEL: info
203
203
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -92,7 +92,7 @@ injected as env vars at `grid dev` (local) and at runtime (after `grid plug`):
92
92
  | Stripe secret key | `vault: { STRIPE_KEY: stripe-live-key }` | `STRIPE_KEY` | `lib/stripe.js` |
93
93
  | Stripe webhook secret | `vault: { STRIPE_WEBHOOK_SECRET: stripe-webhook-secret }` | `STRIPE_WEBHOOK_SECRET` | `api/webhooks/stripe/route.js` |
94
94
  | Auth provider server key | `vault: { AUTH_PROVIDER_KEY: auth-provider-key }` | `AUTH_PROVIDER_KEY` | `lib/auth.js` |
95
- | AI (optional) | `needs: { ai: true }` | `AI_GATEWAY_URL` | via `@cloudgrid-io/ai` |
95
+ | AI (optional) | `needs: { ai: true }` | `RUNTIME_GATEWAY_URL` | via `@cloudgrid-io/runtime` |
96
96
 
97
97
  The `vault:` block only **maps** an org vault item key → an env var name. You must
98
98
  store the real value once with `grid secrets set <vault-item-key> <value>` (e.g.
@@ -96,7 +96,7 @@ needs:
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -197,7 +197,7 @@ services:
197
197
  # path: /api/health
198
198
  # expected: "200"
199
199
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
200
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
200
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
201
201
  # env:
202
202
  # LOG_LEVEL: info
203
203
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -71,7 +71,7 @@ webhook), and the `write files → grid plug --no-deploy → secrets set → gri
71
71
 
72
72
  - Choose your auth provider SDK (Clerk or Auth0) and set the `role` claim.
73
73
  - Set your commission take-rate in `lib/commission.js`.
74
- - Add `needs: { ai: true }` (injects `AI_GATEWAY_URL`) only if you add AI features
74
+ - Add `needs: { ai: true }` (injects `RUNTIME_GATEWAY_URL`) only if you add AI features
75
75
  like listing generation or search.
76
76
  - Build under `services/web/`, then `grid dev` (local) / `grid plug` (async — poll
77
77
  to a live URL). Point the Stripe webhook at `<live-url>/api/webhooks/stripe`.
@@ -88,7 +88,7 @@ A user is a member when a `memberships` doc for their `authId` has
88
88
  non-secret `services.web.env` block (or as a build-time env) rather than the
89
89
  vault.
90
90
  - **AI (optional)** — if you add AI features, declare `needs: { ai: true }` and
91
- call the gateway at `process.env.AI_GATEWAY_URL` via `@cloudgrid-io/ai`. Not
91
+ call the gateway at `process.env.RUNTIME_GATEWAY_URL` via `@cloudgrid-io/runtime`. Not
92
92
  required for this blueprint.
93
93
 
94
94
  ## 4. Wiring auth + payments
@@ -96,7 +96,7 @@ name: membership-site
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -196,7 +196,7 @@ services:
196
196
  # path: /api/health
197
197
  # expected: "200"
198
198
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
199
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
199
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
200
200
  # env:
201
201
  # LOG_LEVEL: info
202
202
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: monitoring-dashboard
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -82,7 +82,7 @@ verified Stripe event.
82
82
  Derive them from the incoming request (`new URL(request.url).origin`) rather than
83
83
  hardcoding the live host, so it works in `grid dev` and after `grid plug`.
84
84
  - **AI (only if you add it):** declare `needs: { ai: true }` and the platform
85
- injects `AI_GATEWAY_URL`; call it via `@cloudgrid-io/ai`. Not required for a store.
85
+ injects `RUNTIME_GATEWAY_URL`; call it via `@cloudgrid-io/runtime`. Not required for a store.
86
86
 
87
87
  ## 4. Wiring payments (Stripe) — and optional auth
88
88
 
@@ -96,7 +96,7 @@ name: online-store
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -194,7 +194,7 @@ services:
194
194
  # path: /api/health
195
195
  # expected: "200"
196
196
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
197
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
197
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
198
198
  # env:
199
199
  # LOG_LEVEL: info
200
200
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: portfolio
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: product-catalog
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -102,7 +102,7 @@ name: product-launch
102
102
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
103
103
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
104
104
  # disk: true
105
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
105
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
106
106
  # ai: true
107
107
 
108
108
 
@@ -198,7 +198,7 @@ services:
198
198
  # path: /api/health
199
199
  # expected: "200"
200
200
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
201
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
201
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
202
202
  # env:
203
203
  # LOG_LEVEL: info
204
204
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: my-project-board
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: property-listings
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: quiz-platform
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -102,7 +102,7 @@ name: report
102
102
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
103
103
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
104
104
  # disk: true
105
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
105
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
106
106
  # ai: true
107
107
 
108
108
 
@@ -198,7 +198,7 @@ services:
198
198
  # path: /api/health
199
199
  # expected: "200"
200
200
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
201
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
201
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
202
202
  # env:
203
203
  # LOG_LEVEL: info
204
204
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -122,11 +122,11 @@ You never provision infra or set connection strings by hand. Declare intent in
122
122
 
123
123
  - **AI (optional).** If you add AI (e.g. menu-copy generation, natural-language
124
124
  booking parsing), declare `needs: { ai: true }` → the grid injects
125
- **`AI_GATEWAY_URL`**; call it via `@cloudgrid-io/ai`. Not required for the base
125
+ **`RUNTIME_GATEWAY_URL`**; call it via `@cloudgrid-io/runtime`. Not required for the base
126
126
  blueprint.
127
127
 
128
128
  Reserved env var names you must NOT set: `PORT`, `APP_NAME`, `SERVICE_NAME`,
129
- `NODE_ENV`, `MONGODB_URL`, `REDIS_URL`, `AI_GATEWAY_URL`, `CLOUDGRID_*`.
129
+ `NODE_ENV`, `MONGODB_URL`, `REDIS_URL`, `RUNTIME_GATEWAY_URL`, `CLOUDGRID_*`.
130
130
 
131
131
  ---
132
132
 
@@ -96,7 +96,7 @@ name: restaurant-reservations
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -204,7 +204,7 @@ services:
204
204
  # path: /api/health
205
205
  # expected: "200"
206
206
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
207
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
207
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
208
208
  # env:
209
209
  # LOG_LEVEL: info
210
210
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: revenue-dashboard
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: saas-marketing
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -100,7 +100,7 @@ name: semantic-search
100
100
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
101
101
  # # Use with SOURCE_TYPE=local to read documents from the mount.
102
102
  # disk: true
103
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
103
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
104
104
  # ai: true
105
105
 
106
106
 
@@ -98,7 +98,7 @@ icon: "🔎"
98
98
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
99
99
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
100
100
  # disk: true
101
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
101
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
102
102
  # ai: true
103
103
 
104
104
 
@@ -193,7 +193,7 @@ services:
193
193
  # Returns 503 until the startup seed finishes, so traffic waits for a ready index.
194
194
  health: /health
195
195
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
196
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
197
197
  # env:
198
198
  # LOG_LEVEL: info
199
199
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -223,7 +223,7 @@ services:
223
223
 
224
224
  needs:
225
225
  vector: pgvector # pgvector on Postgres. Injects VECTOR_PGVECTOR_URL (+legacy PGVECTOR_URL).
226
- ai: true # AI Gateway for embeddings via @cloudgrid-io/runtime. Injects AI_GATEWAY_URL.
226
+ ai: true # AI Gateway for embeddings via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL.
227
227
 
228
228
 
229
229
  # ============================================================================
@@ -96,7 +96,7 @@ name: status-page
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -101,7 +101,7 @@ client for plan/status — read this (kept current by the webhook).
101
101
  vault. An auth SDK's publishable key goes here too.
102
102
  - **AI (optional)** — if you add AI features (e.g. churn-reason summaries),
103
103
  declare `needs: { ai: true }` and call the gateway at
104
- `process.env.AI_GATEWAY_URL` via `@cloudgrid-io/ai`. Not required for this
104
+ `process.env.RUNTIME_GATEWAY_URL` via `@cloudgrid-io/runtime`. Not required for this
105
105
  blueprint.
106
106
 
107
107
  ## 4. Wiring auth + payments
@@ -96,7 +96,7 @@ name: subscription-management
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -196,7 +196,7 @@ services:
196
196
  # path: /api/health
197
197
  # expected: "200"
198
198
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
199
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
199
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
200
200
  # env:
201
201
  # LOG_LEVEL: info
202
202
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: my-tasks
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: my-tickets
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -96,7 +96,7 @@ name: time-tracking
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -115,8 +115,8 @@ You do NOT provision infra or set connection strings/secrets by hand. Declared i
115
115
  `STRIPE_KEY`, `STRIPE_WEBHOOK_SECRET`, `AUTH_PROVIDER_KEY`. Add the underlying
116
116
  vault items with `grid secrets set <item> <value>` (or the vault UI) BEFORE
117
117
  plug, so resolution succeeds. Never hardcode a key; never commit `.env`.
118
- - **AI (`needs: { ai: true }`, if you add it)** → `AI_GATEWAY_URL`, used via
119
- `@cloudgrid-io/ai`. Optional — e.g. a natural-language "plan my trip" search
118
+ - **AI (`needs: { ai: true }`, if you add it)** → `RUNTIME_GATEWAY_URL`, used via
119
+ `@cloudgrid-io/runtime`. Optional — e.g. a natural-language "plan my trip" search
120
120
  assistant. Not required for a basic portal.
121
121
 
122
122
  Read every injected var lazily (inside getters), same rule as the DB.
@@ -96,7 +96,7 @@ name: travel-booking
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -197,7 +197,7 @@ services:
197
197
  # path: /api/health
198
198
  # expected: "200"
199
199
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
200
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
200
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
201
201
  # env:
202
202
  # LOG_LEVEL: info
203
203
  # Sibling services/private resources that must be Ready first (no cron, no cycles).
@@ -66,7 +66,7 @@ The heart of this blueprint. Read it before building. It covers:
66
66
  2. **Mongo collections + fields** — `flights`, `hotels`, `bookings`, `trips`,
67
67
  plus the guarded-`$inc` overbooking rule that prevents overselling seats/rooms.
68
68
  3. **CloudGrid injection** — `DATABASE_MONGODB_URL` for Mongo, `vault:` → env vars
69
- for secrets, `AI_GATEWAY_URL` for ai.
69
+ for secrets, `RUNTIME_GATEWAY_URL` for ai.
70
70
  4. **Auth + payments wiring** — provider SDK from `AUTH_PROVIDER_KEY`; Stripe
71
71
  checkout + signature-verified webhook from `STRIPE_KEY` /
72
72
  `STRIPE_WEBHOOK_SECRET`.
@@ -96,7 +96,7 @@ name: waitlist
96
96
  # # disk — persistent FS mount (PVC). Injects DISK_PATH. Pins to 1 replica.
97
97
  # # true | { size: 1Gi, mount: /var/data } (forbidden: /proc /sys /dev)
98
98
  # disk: true
99
- # # ai — AI Gateway via @cloudgrid-io/ai. Injects AI_GATEWAY_URL. true | false.
99
+ # # ai — AI Gateway via @cloudgrid-io/runtime. Injects RUNTIME_GATEWAY_URL. true | false.
100
100
  # ai: true
101
101
 
102
102
 
@@ -192,7 +192,7 @@ services:
192
192
  # path: /api/health
193
193
  # expected: "200"
194
194
  # Static runtime env vars (strings). Reserved: PORT, APP_NAME, SERVICE_NAME,
195
- # NODE_ENV, MONGODB_URL, REDIS_URL, AI_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
195
+ # NODE_ENV, MONGODB_URL, REDIS_URL, RUNTIME_GATEWAY_URL, N8N_WEBHOOK_URL, CLOUDGRID_*.
196
196
  # env:
197
197
  # LOG_LEVEL: info
198
198
  # Sibling services/private resources that must be Ready first (no cron, no cycles).