@groundfloorcloud/mcp 0.1.11 → 0.1.12
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/dist/index.js +18 -5
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -699,6 +699,11 @@ M2M tokens**, attach it on the Coderunner card, then deploy. v1 M2M is Team
|
|
|
699
699
|
Writer on that workspace (full Vault skip-ACL + Files). Grant site users on
|
|
700
700
|
**Administer \u2192 Access**. Never inject a Dataplane key.
|
|
701
701
|
|
|
702
|
+
Cache the minted JWT for its \`expires_in\` (refresh at ~80%). Never mint per
|
|
703
|
+
request: \`POST \u2026/m2m/token\` is rate-limited per client and per IP (default
|
|
704
|
+
20/minute each) and returns **429** when exceeded. Treat 429/401 from the mint
|
|
705
|
+
call as retryable, not a crash.
|
|
706
|
+
|
|
702
707
|
An M2M client can also read secret **values** directly at runtime instead
|
|
703
708
|
of (or alongside) \`--secret\` deploy-time injection: grant it the
|
|
704
709
|
**\`secrets:read\`** scope (same Portal **Administer \u2192 M2M tokens** screen,
|
|
@@ -900,6 +905,14 @@ database only if you need a different engine or workspace-owned isolation
|
|
|
900
905
|
(\`docs_get\` id \`databases\`). Local UI without live vault:
|
|
901
906
|
\`npm run dev:fixtures\`.
|
|
902
907
|
|
|
908
|
+
Detail routes (e.g. \`records/:id\`): once the record loads, call
|
|
909
|
+
\`setBreadcrumbLabel(record.name)\` from the kit's \`src/lib/shellBridge.ts\`
|
|
910
|
+
(wraps \`window.__GF_SET_BREADCRUMB_LABEL__(location.pathname, label)\`; no-op
|
|
911
|
+
outside Shell) so the breadcrumb does not show the raw id. Give that route
|
|
912
|
+
\`hidden: true\` in the manifest so it stays out of the sidebar nav but still
|
|
913
|
+
routes (omit it or use \`false\` otherwise \u2014 never \`null\`). \`visibility:
|
|
914
|
+
"public"\` makes a route reachable without login.
|
|
915
|
+
|
|
903
916
|
## suggest_cli
|
|
904
917
|
|
|
905
918
|
- init_app \u2192 \`gf apps init --slug <portal-slug>\`
|
|
@@ -1023,7 +1036,7 @@ var DOC_CATALOG = [
|
|
|
1023
1036
|
path: "/docs/customer-portal/coderunner",
|
|
1024
1037
|
summary: "Workload types (function, job, schedule, service/Deployment), runtime contract (scripts.start, 0.0.0.0:8080), Dockerfile for services, Coderunner identities for Vault, App authentication optional, local live data, gf deploy.",
|
|
1025
1038
|
embedded: CODERUNNER_GUIDE,
|
|
1026
|
-
lastUpdated: "2026-09-
|
|
1039
|
+
lastUpdated: "2026-09-24"
|
|
1027
1040
|
},
|
|
1028
1041
|
{
|
|
1029
1042
|
id: "coderunner-runtime",
|
|
@@ -1039,7 +1052,7 @@ var DOC_CATALOG = [
|
|
|
1039
1052
|
path: "/docs/integrations/coderunner/overview",
|
|
1040
1053
|
summary: "Architecture and lifecycle. Prefer docs_get id coderunner for type usage, Dockerfile, and create prerequisites.",
|
|
1041
1054
|
embedded: CODERUNNER_GUIDE,
|
|
1042
|
-
lastUpdated: "2026-09-
|
|
1055
|
+
lastUpdated: "2026-09-24"
|
|
1043
1056
|
},
|
|
1044
1057
|
{
|
|
1045
1058
|
id: "authentication",
|
|
@@ -1057,7 +1070,7 @@ var DOC_CATALOG = [
|
|
|
1057
1070
|
id: "m2m",
|
|
1058
1071
|
title: "M2M tokens",
|
|
1059
1072
|
path: "/docs/customer-portal/m2m-tokens",
|
|
1060
|
-
summary: "Confidential client secret \u2192 short Control Plane JWT (typ=m2m). Attach on Coderunner or gf m2m token. Never DATAPLANE_SERVICE_API_KEY. v1 is Team Writer, no collection ACL."
|
|
1073
|
+
summary: "Confidential client secret \u2192 short Control Plane JWT (typ=m2m). Attach on Coderunner or gf m2m token. Never DATAPLANE_SERVICE_API_KEY. v1 is Team Writer, no collection ACL. Secrets only with the opt-in secrets:read scope (read-only). Cache the token; minting is rate-limited per client and IP."
|
|
1061
1074
|
},
|
|
1062
1075
|
{
|
|
1063
1076
|
id: "api-authentication",
|
|
@@ -1071,7 +1084,7 @@ var DOC_CATALOG = [
|
|
|
1071
1084
|
path: "/docs/integrations/shell",
|
|
1072
1085
|
summary: "Product Apps vs Coderunner. Always gf apps init --slug <portal-slug>, then npm run release and gf apps publish --path release.zip. Never zip dist/ or upload only remoteEntry.js.",
|
|
1073
1086
|
embedded: SHELL_APP_GUIDE,
|
|
1074
|
-
lastUpdated: "2026-09-
|
|
1087
|
+
lastUpdated: "2026-09-24"
|
|
1075
1088
|
},
|
|
1076
1089
|
{
|
|
1077
1090
|
id: "design-standard",
|
|
@@ -1111,7 +1124,7 @@ var DOC_CATALOG = [
|
|
|
1111
1124
|
path: "/docs/customer-portal/scheduled-jobs",
|
|
1112
1125
|
summary: "workload_type=schedule plus cron. gf coderunner status shows type/schedule/last_job. Use Process Log, not a public URL.",
|
|
1113
1126
|
embedded: CODERUNNER_GUIDE,
|
|
1114
|
-
lastUpdated: "2026-09-
|
|
1127
|
+
lastUpdated: "2026-09-24"
|
|
1115
1128
|
}
|
|
1116
1129
|
];
|
|
1117
1130
|
function docUrl(entry) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@groundfloorcloud/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"description": "Groundfloor MCP — inspect workspace state and docs; take actions with the gf CLI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^20",
|
|
41
|
+
"esbuild": "^0.27.7",
|
|
41
42
|
"tsup": "^8.3.0",
|
|
42
43
|
"typescript": "^5"
|
|
43
44
|
},
|