@treeseed/sdk 0.13.0-rc.74 → 0.13.0-rc.76

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.
@@ -1 +1 @@
1
- {"completedAt":"2026-09-02T03:24:42.316Z"}
1
+ {"completedAt":"2026-09-02T04:39:08.629Z"}
@@ -115,7 +115,11 @@ const SERVICE_PROVIDER_CATALOG = [
115
115
  documentationUrl: "https://developers.cloudflare.com/fundamentals/api/get-started/create-token/",
116
116
  description: "Connect a Cloudflare account with separately scoped capability tokens.",
117
117
  knowledgePageIds: ["provider.cloudflare"],
118
- connectionFields: [field("accountId", "Account ID", "The non-secret Cloudflare account identifier.")],
118
+ connectionFields: [
119
+ field("deploymentEnvironment", "Deployment environment", "The exact TreeSeed deployment environment. Use staging or production; one connection must never span both."),
120
+ field("accountId", "Account ID", "The non-secret Cloudflare account identifier."),
121
+ field("zoneId", "Zone ID", "Optional non-secret zone identifier used by reviewed DNS and TLS topology resources.", false)
122
+ ],
119
123
  capabilities: [
120
124
  { type: "frontend-hosting", label: "Frontend hosting", description: "Pages and Workers application hosting.", credentialProfileIds: ["cloudflare-runtime"], status: "available" },
121
125
  { type: "dns-management", label: "DNS management", description: "Scoped DNS record management.", credentialProfileIds: ["cloudflare-dns"], status: "available" },
@@ -124,7 +128,7 @@ const SERVICE_PROVIDER_CATALOG = [
124
128
  credentialProfiles: [
125
129
  { id: "cloudflare-runtime", label: "Pages and Workers token", description: "A token limited to application deployment resources.", capabilities: ["frontend-hosting"], fields: [field("apiToken", "API token", "Encrypted in this browser and used only for authorized frontend operations.", true, true)], permissions: ["Account: Workers Scripts Edit", "Account: Pages Edit"], sharing: "capability-scoped", unattendedCompatible: true, authoritySchemes: ["environment-reference", "external-vault", "workload-identity"], knowledgePageIds: ["provider.cloudflare", "services.credentials", "vault.rotation"] },
126
130
  { id: "cloudflare-dns", label: "DNS token", description: "A token restricted to selected zones.", capabilities: ["dns-management"], fields: [field("apiToken", "DNS API token", "Encrypted separately from deployment authority.", true, true)], permissions: ["Zone: DNS Edit for only the managed zones"], sharing: "capability-scoped", unattendedCompatible: true, authoritySchemes: ["environment-reference", "external-vault", "workload-identity"], knowledgePageIds: ["provider.cloudflare", "services.credentials", "vault.rotation"] },
127
- { id: "cloudflare-storage", label: "Storage token", description: "A token limited to R2 resources.", capabilities: ["object-storage"], fields: [field("apiToken", "Storage API token", "Encrypted separately from runtime and DNS authority.", true, true)], permissions: ["Account: Workers R2 Storage Edit"], sharing: "capability-scoped", unattendedCompatible: true, authoritySchemes: ["environment-reference", "external-vault", "workload-identity"], knowledgePageIds: ["provider.cloudflare", "services.credentials", "vault.rotation"] }
131
+ { id: "cloudflare-storage", label: "Storage authority", description: "Vault-custodied R2 management and S3-compatible state credentials, isolated from runtime and DNS authority.", capabilities: ["object-storage"], fields: [field("apiToken", "Storage API token", "Encrypted separately and used only to reconcile authorized R2 resources.", true, true), field("accessKeyId", "R2 access key ID", "Vault-custodied S3-compatible access key identifier for encrypted OpenTofu state.", true, true), field("secretAccessKey", "R2 secret access key", "Vault-custodied S3-compatible secret key for encrypted OpenTofu state.", true, true)], permissions: ["Account: Workers R2 Storage Edit", "Object read and write for only the managed state bucket"], sharing: "capability-scoped", unattendedCompatible: true, authoritySchemes: ["environment-reference", "external-vault", "workload-identity"], knowledgePageIds: ["provider.cloudflare", "services.credentials", "vault.rotation"] }
128
132
  ]
129
133
  },
130
134
  {
@@ -134,7 +138,12 @@ const SERVICE_PROVIDER_CATALOG = [
134
138
  documentationUrl: "https://docs.railway.com/guides/public-api",
135
139
  description: "Connect a Railway workspace for future backend and private infrastructure.",
136
140
  knowledgePageIds: ["provider.railway"],
137
- connectionFields: [field("workspaceId", "Workspace ID", "The non-secret Railway workspace identifier.")],
141
+ connectionFields: [
142
+ field("deploymentEnvironment", "Deployment environment", "The exact TreeSeed deployment environment. Use staging or production; one connection must never span both."),
143
+ field("workspaceId", "Workspace ID", "The non-secret Railway workspace identifier."),
144
+ field("projectId", "Project ID", "Optional non-secret project identifier used to adopt a reviewed hosted topology.", false),
145
+ field("environmentId", "Environment ID", "Optional non-secret environment identifier used to target reviewed hosted deployments.", false)
146
+ ],
138
147
  capabilities: [
139
148
  { type: "backend-hosting", label: "Backend hosting", description: "API and backend service hosting.", credentialProfileIds: ["railway-workspace"], status: "available" },
140
149
  { type: "database-hosting", label: "Database hosting", description: "Managed database placement.", credentialProfileIds: ["railway-workspace"], status: "available" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@treeseed/sdk",
3
- "version": "0.13.0-rc.74",
3
+ "version": "0.13.0-rc.76",
4
4
  "description": "Portable TreeSeed contracts, standards, and typed remote control-plane clients.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {