@cloudgrid-io/mcp 0.20.54 → 0.20.55
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/package.json +3 -2
- package/src/corpus/playbook.md +1 -1
- package/src/corpus/templates/_cloudgrid.yaml.reference +1 -1
- package/src/corpus/templates/admin-dashboard/cloudgrid.yaml +1 -1
- package/src/corpus/templates/ai-app/cloudgrid.yaml +1 -1
- package/src/corpus/templates/ai-knowledge-base/cloudgrid.yaml +1 -1
- package/src/corpus/templates/analytics-dashboard/cloudgrid.yaml +1 -1
- package/src/corpus/templates/api-dashboard/cloudgrid.yaml +1 -1
- package/src/corpus/templates/api-docs/cloudgrid.yaml +1 -1
- package/src/corpus/templates/api-service/cloudgrid.yaml +1 -1
- package/src/corpus/templates/app-with-data/cloudgrid.yaml +1 -1
- package/src/corpus/templates/appointment-booking/cloudgrid.yaml +1 -1
- package/src/corpus/templates/approval-workflow/cloudgrid.yaml +1 -1
- package/src/corpus/templates/billing-dashboard/cloudgrid.yaml +1 -1
- package/src/corpus/templates/blog-cms/cloudgrid.yaml +1 -1
- package/src/corpus/templates/booking-system/cloudgrid.yaml +1 -1
- package/src/corpus/templates/calendar-scheduler/cloudgrid.yaml +1 -1
- package/src/corpus/templates/changelog/cloudgrid.yaml +1 -1
- package/src/corpus/templates/company-website/cloudgrid.yaml +1 -1
- package/src/corpus/templates/course-platform/cloudgrid.yaml +1 -1
- package/src/corpus/templates/crm/cloudgrid.yaml +1 -1
- package/src/corpus/templates/dashboard/cloudgrid.yaml +1 -1
- package/src/corpus/templates/deck/cloudgrid.yaml +1 -1
- package/src/corpus/templates/directory/cloudgrid.yaml +1 -1
- package/src/corpus/templates/docs-site/cloudgrid.yaml +1 -1
- package/src/corpus/templates/erp/cloudgrid.yaml +1 -1
- package/src/corpus/templates/event-board/cloudgrid.yaml +1 -1
- package/src/corpus/templates/expense-tracker/cloudgrid.yaml +1 -1
- package/src/corpus/templates/feature-request-board/cloudgrid.yaml +1 -1
- package/src/corpus/templates/financial-dashboard/cloudgrid.yaml +1 -1
- package/src/corpus/templates/forum/cloudgrid.yaml +1 -1
- package/src/corpus/templates/hr-portal/cloudgrid.yaml +1 -1
- package/src/corpus/templates/internal-tools-portal/cloudgrid.yaml +1 -1
- package/src/corpus/templates/inventory/cloudgrid.yaml +1 -1
- package/src/corpus/templates/invoice/cloudgrid.yaml +1 -1
- package/src/corpus/templates/job-board/cloudgrid.yaml +1 -1
- package/src/corpus/templates/kanban/cloudgrid.yaml +1 -1
- package/src/corpus/templates/landing-page/cloudgrid.yaml +1 -1
- package/src/corpus/templates/lms/cloudgrid.yaml +1 -1
- package/src/corpus/templates/marketplace/cloudgrid.yaml +1 -1
- package/src/corpus/templates/membership-site/cloudgrid.yaml +1 -1
- package/src/corpus/templates/monitoring-dashboard/cloudgrid.yaml +1 -1
- package/src/corpus/templates/multi-service/cloudgrid.yaml +1 -1
- package/src/corpus/templates/online-store/cloudgrid.yaml +1 -1
- package/src/corpus/templates/portfolio/cloudgrid.yaml +1 -1
- package/src/corpus/templates/product-catalog/cloudgrid.yaml +1 -1
- package/src/corpus/templates/product-launch/cloudgrid.yaml +1 -1
- package/src/corpus/templates/project-management/cloudgrid.yaml +1 -1
- package/src/corpus/templates/property-listings/cloudgrid.yaml +1 -1
- package/src/corpus/templates/quiz-platform/cloudgrid.yaml +1 -1
- package/src/corpus/templates/report/cloudgrid.yaml +1 -1
- package/src/corpus/templates/restaurant-reservations/cloudgrid.yaml +1 -1
- package/src/corpus/templates/revenue-dashboard/cloudgrid.yaml +1 -1
- package/src/corpus/templates/saas-marketing/cloudgrid.yaml +1 -1
- package/src/corpus/templates/semantic-search/cloudgrid.yaml +1 -1
- package/src/corpus/templates/simple-semantic-search/cloudgrid.yaml +1 -1
- package/src/corpus/templates/status-page/cloudgrid.yaml +1 -1
- package/src/corpus/templates/subscription-management/cloudgrid.yaml +1 -1
- package/src/corpus/templates/task-manager/cloudgrid.yaml +1 -1
- package/src/corpus/templates/ticket-system/cloudgrid.yaml +1 -1
- package/src/corpus/templates/time-tracking/cloudgrid.yaml +1 -1
- package/src/corpus/templates/travel-booking/cloudgrid.yaml +1 -1
- package/src/corpus/templates/waitlist/cloudgrid.yaml +1 -1
- package/src/corpus/templates/web-app/cloudgrid.yaml +1 -1
- package/src/tools/deploy.js +17 -11
- package/src/tools/register.js +6 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudgrid-io/mcp",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.55",
|
|
4
4
|
"description": "MCP access to CloudGrid — the live runtime environment where the user's apps run WITH the infrastructure they need out of the box: managed MongoDB, Redis (cache/queues/pub-sub), a pgvector store, persistent disk, and built-in AI with no API keys, in any language or stack, no Docker or Kubernetes to manage. Brainstorm, build, plug, and improve apps, games, dashboards, and tools; instant single-page publishes and full runtime-app deploys with a live URL — for developers and non-technical users. Three editions: local stdio (full toolset), hosted web (light, CLI-free), and a public docs-search server.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -58,7 +58,8 @@
|
|
|
58
58
|
"test:proxy": "node test/proxy.test.mjs",
|
|
59
59
|
"test:system-ca": "node test/system-ca.test.mjs",
|
|
60
60
|
"test:tool-titles-and-vocab": "node test/tool-titles-and-vocab.test.mjs",
|
|
61
|
-
"test:visibility-mapping": "node test/visibility-mapping.test.mjs"
|
|
61
|
+
"test:visibility-mapping": "node test/visibility-mapping.test.mjs",
|
|
62
|
+
"test:verb-distinction": "node test/verb-distinction.test.mjs"
|
|
62
63
|
},
|
|
63
64
|
"dependencies": {
|
|
64
65
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
package/src/corpus/playbook.md
CHANGED
|
@@ -39,7 +39,7 @@ Operating rules:
|
|
|
39
39
|
15. Editing an existing thing from just its URL (a fresh chat, no prior context — e.g. "change the background to green here <url>"): call grid_get_app_source(url) first. It resolves the entity_id and returns the current HTML plus its kind, single_html, capabilities, and replug_handle — read those to pick the branch:
|
|
40
40
|
- Single-HTML inspiration you can re-plug (single_html: true and capabilities.replug: true): edit the returned HTML and call grid_plug with target_entity_id (or grid+slug — the replug_handle) to update the SAME URL in place. This works on every edition, including hosted.
|
|
41
41
|
- Multi-file app or agent (kind is app or agent, or single_html: false): do NOT try to edit it as one inline HTML file. Tell the user it is a multi-file <kind>, give them the entity_id and the source (source_download_url), and explain that rebuilding it needs the local edition (Claude Desktop/Code) or the CLI — the hosted server cannot rebuild a multi-file app.
|
|
42
|
-
- Not yours (capabilities.replug: false, reason not_owner): do NOT attempt a re-plug. Offer to fork it into the user's own grid with grid_pickup and edit the copy instead.
|
|
42
|
+
- Not yours (capabilities.replug: false, reason not_owner): do NOT attempt a re-plug. Offer to fork it into the user's own grid with grid_pickup and edit the copy instead. Three distinct verbs, do not conflate them: grid_pickup = make your OWN COPY (a fork, a NEW entity); grid_pull = continue the SAME entity in place (needs push access — you own it or are a collaborator); and "collab" = GET push access to that same entity, which is the CLI `grid collab <entity>` (grants permission only and fetches nothing — pull afterwards to get the code). Getting collaborator access has no MCP tool — it is CLI-only — so if the user asks to "collab", do NOT call grid_pickup; explain that granting access is the CLI `grid collab`, distinct from pickup's fork.
|
|
43
43
|
16. Help CloudGrid QA. When you plug, fill BOTH of grid_plug's user_request (a brief version of the user's ask) AND session_note (one short paragraph on what you built and why) — include both by default; omit only if the user objects. A successful plug posts the QA log on that same call, so do NOT call grid_note after plugging — session_note is the narrative path. Use grid_note only BEFORE a plug, or in a session that ends without one. Everything here is recorded for quality review and never changes the plug.
|
|
44
44
|
17. Auth check before an owned plug, with a guest fallback — ALWAYS ask first. grid_start reports signed_in. If the user wants to publish and is NOT signed in (or the plug returns a create-time 401), do NOT silently fail, do NOT invent an auth flow, and NEVER pass anon: true on your own — ask them plainly: "Sign in and plug it to your grid, or plug it as a guest right now (live immediately at a guest link that expires in 7 days unless claimed)?" Only if they choose guest, re-call grid_plug with anon: true and surface the claim_url + owner_token. grid_plug enforces this server-side: the first unauthenticated create in a session returns needs_auth (the ask) even when anon: true was passed — relay it to the user and stop; do not answer it yourself. This is distinct from rule 7: rule 7 forbids the anon fallback on a SERVER error (5xx) for a signed-in user (it burns quota and downgrades ownership); THIS rule is about not being authenticated at all, where guest is a legitimate choice the USER makes.
|
|
45
45
|
18. Using the CLI (runtime apps, `grid dev`, or any shell step): the verb is `grid`, but ALWAYS invoke it as `npx -y @cloudgrid-io/cli@latest <command>` — never a bare `grid` or `cloudgrid`. A `grid` already on the machine is usually a stale global that the API rejects on its version floor, so a bare command fails with a version error and wastes turns; `npx …@latest` needs no install and is always current. In a local edition, prefer the MCP `grid_*` tools — they resolve a current CLI for you — and drop to `npx …@latest` only for shell-only steps like `grid dev`.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-app
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-admin
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-chatbot
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-knowledge-base
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: analytics-dashboard
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-api-dashboard
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: api-docs
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-api
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-app
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: appointment-booking
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: approval-workflow
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: billing-dashboard
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: blog-cms
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: booking-system
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-calendar
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: changelog
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
26
26
|
# Must start and end with a letter or digit.
|
|
27
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
27
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
28
28
|
name: company-website
|
|
29
29
|
|
|
30
30
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: course-platform
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-crm
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
27
27
|
# Must start and end with a letter or digit.
|
|
28
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
28
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
29
29
|
name: dashboard
|
|
30
30
|
|
|
31
31
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
27
27
|
# Must start and end with a letter or digit.
|
|
28
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
28
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
29
29
|
name: deck
|
|
30
30
|
|
|
31
31
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-directory
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: docs-site
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-erp
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: event-board
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: expense-tracker
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: feature-request-board
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: financial-dashboard
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: forum
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: hr-portal
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: internal-tools-portal
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-inventory
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-invoices
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-jobs
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-board
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
27
27
|
# Must start and end with a letter or digit.
|
|
28
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
28
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
29
29
|
name: landing-page
|
|
30
30
|
|
|
31
31
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: lms
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-marketplace
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: membership-site
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: monitoring-dashboard
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-app
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: online-store
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: portfolio
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: product-catalog
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
27
27
|
# Must start and end with a letter or digit.
|
|
28
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
28
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
29
29
|
name: product-launch
|
|
30
30
|
|
|
31
31
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-project-board
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: property-listings
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: quiz-platform
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
27
27
|
# Must start and end with a letter or digit.
|
|
28
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
28
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
29
29
|
name: report
|
|
30
30
|
|
|
31
31
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: restaurant-reservations
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: revenue-dashboard
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: saas-marketing
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: semantic-search
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: simple-semantic-search
|
|
24
24
|
description: Semantic search over a bundled document, backed by pgvector.
|
|
25
25
|
icon: "🔎"
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: status-page
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: subscription-management
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-tasks
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: my-tickets
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: time-tracking
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: travel-booking
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
21
21
|
# Must start and end with a letter or digit.
|
|
22
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
22
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
23
23
|
name: waitlist
|
|
24
24
|
|
|
25
25
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
# Entity slug (REQUIRED). 2-42 chars, lowercase alphanumeric + hyphens.
|
|
27
27
|
# Must start and end with a letter or digit.
|
|
28
|
-
# Becomes part of your public URL: <name>-<4hex
|
|
28
|
+
# Becomes part of your public URL: <name>-<4hex>--<org>.cloudgrid.io
|
|
29
29
|
name: web-app
|
|
30
30
|
|
|
31
31
|
# One-line summary. Max 280 chars. If omitted, Grid Brain auto-generates one.
|
package/src/tools/deploy.js
CHANGED
|
@@ -334,13 +334,17 @@ const GUEST_ORG_SLUG = "guest";
|
|
|
334
334
|
// path (create + edit, anon + authed) — flat-arch-aware per grid, matching the
|
|
335
335
|
// host that actually serves. ALWAYS prefer `data.url` (see resolvePlugUrl);
|
|
336
336
|
// this client-side derivation exists only for the rare response where `url`
|
|
337
|
-
// came back empty (the server composes it best-effort). It mirrors the
|
|
338
|
-
// `entityUrl()` rules
|
|
339
|
-
//
|
|
337
|
+
// came back empty (the server composes it best-effort). It mirrors the canonical
|
|
338
|
+
// `entityUrl()` rules (the flat-only platform host), but only the server knows
|
|
339
|
+
// the per-entity nuances (custom domains, guest-org placement), so it must never
|
|
340
|
+
// be the primary source:
|
|
340
341
|
// - inspiration (HTML drops): path-based at the org apex
|
|
341
342
|
// https://<grid>.cloudgrid.io/<slug>
|
|
342
|
-
// - runtime (app/agent):
|
|
343
|
-
// https://<slug
|
|
343
|
+
// - runtime (app/agent): flat platform host
|
|
344
|
+
// https://<slug>--<grid>.cloudgrid.io
|
|
345
|
+
// The old nested `<slug>.<grid>.cloudgrid.io` host is retired — it falls outside
|
|
346
|
+
// the single `*.cloudgrid.io` platform wildcard, so it has no cert and no ingress
|
|
347
|
+
// (matches `composeFlatEntityHost`).
|
|
344
348
|
// Anonymous drops are grid-less in the response (`grid: null`); they live under
|
|
345
349
|
// the Guest Org, so the apex slug is the constant `guest`.
|
|
346
350
|
function composePlugUrl(data) {
|
|
@@ -349,7 +353,7 @@ function composePlugUrl(data) {
|
|
|
349
353
|
const grid = data?.grid || GUEST_ORG_SLUG;
|
|
350
354
|
const kind = data?.detection?.kind;
|
|
351
355
|
if (kind === "app" || kind === "agent") {
|
|
352
|
-
return `https://${slug}
|
|
356
|
+
return `https://${slug}--${grid}.cloudgrid.io`;
|
|
353
357
|
}
|
|
354
358
|
// inspiration (and any unknown/static kind) — path-based at the org apex.
|
|
355
359
|
return `https://${grid}.cloudgrid.io/${slug}`;
|
|
@@ -630,8 +634,9 @@ export async function runReport(
|
|
|
630
634
|
// grid_pull — continue/edit an existing entity IN PLACE (POST /entities/:id/pickup).
|
|
631
635
|
// Like `git clone` of the SAME entity: your next grid_plug (target_entity_id)
|
|
632
636
|
// updates it. Needs push access — you must OWN it or be a COLLABORATOR. A
|
|
633
|
-
// view-only caller is told they can't edit/plug it (
|
|
634
|
-
// or
|
|
637
|
+
// view-only caller is told they can't edit/plug it (fork a copy with grid_pickup,
|
|
638
|
+
// or GET collaborator push access with the CLI `grid collab` — grants permission
|
|
639
|
+
// only, pull again once granted). A claim_token also
|
|
635
640
|
// claims an anonymous drop into your account (ownership transfer).
|
|
636
641
|
export async function runPull(ctx, { claim_token, claim_url, entity_id }) {
|
|
637
642
|
const token = await ctx.getToken();
|
|
@@ -724,8 +729,9 @@ export async function runPull(ctx, { claim_token, claim_url, entity_id }) {
|
|
|
724
729
|
return {
|
|
725
730
|
text:
|
|
726
731
|
`You don't have push access to this entity, so you can't edit or plug it. Two options: ` +
|
|
727
|
-
`make your own separate copy with grid_pickup, or
|
|
728
|
-
|
|
732
|
+
`make your own separate copy (a fork) with grid_pickup, or GET collaborator push access to the SAME ` +
|
|
733
|
+
`entity with the CLI \`grid collab <entity>\` — that grants permission only and fetches nothing, so ` +
|
|
734
|
+
`pull again once it is granted (if the owner gates access, \`grid collab\` becomes a request they approve).`,
|
|
729
735
|
structured: { can_edit: false, owner_is_you: false, access: "view_only" },
|
|
730
736
|
};
|
|
731
737
|
}
|
|
@@ -752,7 +758,7 @@ export async function runPull(ctx, { claim_token, claim_url, entity_id }) {
|
|
|
752
758
|
head = `You have collaborator push access to ${slug}${where} — your next grid_plug (target_entity_id) updates the SHARED entity; the team sees the new version and can roll it back.`;
|
|
753
759
|
canEdit = true;
|
|
754
760
|
} else {
|
|
755
|
-
head = `You can view ${slug}${where} but do NOT have push access — you can't edit or plug it. Make your own copy with grid_pickup, or
|
|
761
|
+
head = `You can view ${slug}${where} but do NOT have push access — you can't edit or plug it. Make your own separate copy (a fork) with grid_pickup, or GET collaborator push access to the SAME entity with the CLI \`grid collab ${slug}\` (it grants permission only and fetches nothing — pull again once granted).`;
|
|
756
762
|
canEdit = false;
|
|
757
763
|
}
|
|
758
764
|
const lines = [head];
|
package/src/tools/register.js
CHANGED
|
@@ -132,7 +132,7 @@ export function registerTools(server, ctx) {
|
|
|
132
132
|
"grid_pickup",
|
|
133
133
|
{
|
|
134
134
|
title: "Copy an app into your grid",
|
|
135
|
-
description: "Pick up an app: make your OWN COPY of any app you can see (like a git fork) into a grid you can build in. It mints a NEW entity with lineage back to the source and WITHOUT the source's secrets (set your own before you plug). Plugging your copy creates/updates YOUR entity — the original is never touched. Requires sign-in. To edit the ORIGINAL entity in place (as its owner or a collaborator), use grid_pull instead.",
|
|
135
|
+
description: "Pick up an app: make your OWN COPY of any app you can see (like a git fork) into a grid you can build in. It mints a NEW entity with lineage back to the source and WITHOUT the source's secrets (set your own before you plug). Plugging your copy creates/updates YOUR entity — the original is never touched. Requires sign-in. This is a FORK, not a \"collab\": it never grants you access to anyone else's live entity. Getting PUSH ACCESS to the SAME entity is a different operation — the CLI command `grid collab <entity>` — so do NOT reach for grid_pickup when the user asks to collab. To edit the ORIGINAL entity in place (as its owner or a collaborator), use grid_pull instead.",
|
|
136
136
|
inputSchema: {
|
|
137
137
|
entity_id: z.string().describe("The source app to copy: a canonical UUID or <grid-slug>/<entity-slug>."),
|
|
138
138
|
grid: z.string().optional().describe("Grid to create your copy in. Required only when you belong to more than one grid."),
|
|
@@ -172,7 +172,7 @@ export function registerTools(server, ctx) {
|
|
|
172
172
|
"grid_pull",
|
|
173
173
|
{
|
|
174
174
|
title: "Pull an app to edit in place",
|
|
175
|
-
description: "Pull an app to continue/edit it IN PLACE — like `git clone` of the SAME entity: your next grid_plug (with its target_entity_id) updates that entity, and the team sees the new version. Requires PUSH ACCESS: you must own it or be a collaborator. If you can only view it, you CANNOT edit or plug it — say so and
|
|
175
|
+
description: "Pull an app to continue/edit it IN PLACE — like `git clone` of the SAME entity: your next grid_plug (with its target_entity_id) updates that entity, and the team sees the new version. Requires PUSH ACCESS: you must own it or be a collaborator. If you can only view it, you CANNOT edit or plug it — say so, and offer the two real options: (1) make your own separate copy (a fork) with grid_pickup, or (2) GET push access to the SAME entity with the CLI command `grid collab <entity>` — \"collab\" is a distinct access-control operation that grants permission only and fetches nothing, so once it is granted you run grid_pull again to get the code (and if the owner gates access, `grid collab` becomes a request they approve). Passing an anonymous drop's `claim_token` claims it into your account. Requires sign-in. Calls the API directly (both editions).",
|
|
176
176
|
inputSchema: {
|
|
177
177
|
entity_id: z.string().optional().describe("The entity id to pull. Defaults to this session's last anonymous drop."),
|
|
178
178
|
claim_token: z.string().optional().describe("Anonymous drop only: its owner token — claims that drop into your account (ownership transfer)."),
|
|
@@ -1206,11 +1206,13 @@ export function registerTools(server, ctx) {
|
|
|
1206
1206
|
// source + cloudgrid.yaml and links the folder, so the next `grid plug` updates
|
|
1207
1207
|
// the SAME entity in place. Wraps `grid pull` (NOT `grid pickup` — pickup now
|
|
1208
1208
|
// makes a separate copy). Push access required; a view-only entity can't be
|
|
1209
|
-
// pulled — use grid_pickup to copy
|
|
1209
|
+
// pulled — use grid_pickup to fork a copy, or the CLI `grid collab` to GET
|
|
1210
|
+
// push access to the same entity (grants permission only — pull again once
|
|
1211
|
+
// granted). `grid collab` is CLI-only; there is no grid_collab MCP tool.
|
|
1210
1212
|
regTool(
|
|
1211
1213
|
"grid_edit_existing_app",
|
|
1212
1214
|
"Pull app source to edit locally",
|
|
1213
|
-
"Continue/edit an EXISTING entity locally: download its source + cloudgrid.yaml and link the folder so your next `grid plug` updates it IN PLACE. Requires push access (owner or collaborator). Wraps `grid pull`. To make your own separate copy instead, use grid_pickup.",
|
|
1215
|
+
"Continue/edit an EXISTING entity locally: download its source + cloudgrid.yaml and link the folder so your next `grid plug` updates it IN PLACE. Requires push access (owner or collaborator). Wraps `grid pull`. To make your own separate copy (a fork) instead, use grid_pickup. To GET push access to an entity you can currently only view, that is a different operation — the CLI `grid collab <entity>`, which grants permission only; run the pull again once it is granted.",
|
|
1214
1216
|
{
|
|
1215
1217
|
name: z.string().describe("Entity slug or id to pull."),
|
|
1216
1218
|
target_dir: z.string().optional().describe("Directory to pull into (relative to cwd). Defaults to the entity name."),
|