@ductape/mcp 0.2.35 → 0.2.37
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 +30 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -527,6 +527,9 @@ ALL params are passed as a JSON array in positional order matching the SDK signa
|
|
|
527
527
|
ductape_cli("apps actions list --app <app_tag> --json")
|
|
528
528
|
ductape_cli("apps actions get --app <app_tag> --action <action_tag> --json")
|
|
529
529
|
ductape_cli("apps actions delete --app <app_tag> --action <action_tag>")
|
|
530
|
+
Reuse the same canonical full action asset for create and update. An unchanged top-level tag is
|
|
531
|
+
accepted and stripped locally before the immutable action is patched; never create a second
|
|
532
|
+
partial-update file. A tag that differs from --action is rejected before any mutation.
|
|
530
533
|
NOTE: the flag is --action-file, NOT -f/--file — that flag belongs to the parent "apps" command
|
|
531
534
|
(used by "apps create"/"apps update"), and Commander resolves a flag shared by an ancestor and a
|
|
532
535
|
descendant against the ancestor, so -f here would silently never reach this subcommand. Verified
|
|
@@ -1445,6 +1448,7 @@ const ADMIN_SUBCOMMANDS = [
|
|
|
1445
1448
|
'workspaces',
|
|
1446
1449
|
'link', 'unlink', 'init',
|
|
1447
1450
|
'products', 'apps', 'marketplace',
|
|
1451
|
+
'features',
|
|
1448
1452
|
'resources',
|
|
1449
1453
|
'notifications',
|
|
1450
1454
|
'events',
|
|
@@ -3105,6 +3109,9 @@ CONNECTION FILE — REQUIRED SHAPE:
|
|
|
3105
3109
|
"product_env_slug": "prd",
|
|
3106
3110
|
"app_env_slug": "production",
|
|
3107
3111
|
"variables": [{ "key": "region", "value": "ng" }],
|
|
3112
|
+
"credentials": {
|
|
3113
|
+
"headers:Authorization": "$Secret{PAYSTACK_SECRET_KEY}"
|
|
3114
|
+
},
|
|
3108
3115
|
"auth": {
|
|
3109
3116
|
"auth_tag": "secret-key",
|
|
3110
3117
|
"data": {
|
|
@@ -3115,6 +3122,27 @@ CONNECTION FILE — REQUIRED SHAPE:
|
|
|
3115
3122
|
}]
|
|
3116
3123
|
}
|
|
3117
3124
|
|
|
3125
|
+
Authentication is OPTIONAL. If the App defines an auth scheme, use auth with its exact auth_tag.
|
|
3126
|
+
If it has no formal auth scheme but actions declare reusable credential fields, use credentials
|
|
3127
|
+
with location-prefixed keys: headers:<key>, query:<key>, params:<key>, or body:<key>. Leave both
|
|
3128
|
+
auth and credentials absent when the environment does not require authentication. Never create a
|
|
3129
|
+
fake auth_tag merely to store a header.
|
|
3130
|
+
|
|
3131
|
+
OAUTH/TOKEN ACCESS: OAuth grants and shared tokens belong to the product App connection, not to
|
|
3132
|
+
Feature input and not to repeated api.oauth() calls in application code. Inspect the App auth
|
|
3133
|
+
scheme; when it uses oauth2, token_access, credential_access, or fetch_credential_access, direct
|
|
3134
|
+
the user through the provider-consent/login flow in Workbench and preserve the resulting encrypted
|
|
3135
|
+
connection auth for every mapped product environment. Agents must never request, print, or write
|
|
3136
|
+
access/refresh tokens into the repository. Application code initializes Ductape with product+env,
|
|
3137
|
+
awaits ready(), and calls the action; runtime auth injection and token refresh are platform-managed.
|
|
3138
|
+
api.oauth() remains only an explicit process-local override for a connection the user deliberately
|
|
3139
|
+
has not persisted.
|
|
3140
|
+
|
|
3141
|
+
SHARED CONFIG: derive candidate keys from the selected App version's action schemas across headers,
|
|
3142
|
+
query, params, and body. Deduplicate by <location>:<key>, prefer fields reused by several actions,
|
|
3143
|
+
and present the exact candidates to the user. Never ask the user to invent or type a key name that
|
|
3144
|
+
is already declared by an action. Only the value/$Secret reference is user-supplied.
|
|
3145
|
+
|
|
3118
3146
|
Before writing this file, inspect the exact App version/auth/action schemas. auth.data must have
|
|
3119
3147
|
headers/query/params/body objects and must match the selected auth schema. Never guess an auth_tag,
|
|
3120
3148
|
variable key, input location, or required field. Store credentials with secrets.create first and
|
|
@@ -3123,8 +3151,8 @@ CONNECTION FILE — REQUIRED SHAPE:
|
|
|
3123
3151
|
CREATE/REPAIR/ROTATE:
|
|
3124
3152
|
ductape_cli("products apps configure --product <product_tag> --app <app_or_access_tag> \
|
|
3125
3153
|
--connection-file ductape/apps/<app_tag>/connection.json --json")
|
|
3126
|
-
The command is merge-safe: an omitted auth or variables field preserves the existing
|
|
3127
|
-
|
|
3154
|
+
The command is merge-safe: an omitted auth, credentials, or variables field preserves the existing
|
|
3155
|
+
saved field. Providing one explicitly replaces that field for the named product environment.
|
|
3128
3156
|
It never returns saved credential values. Include only environments intentionally being changed;
|
|
3129
3157
|
other existing mappings are retained. To repair an old connection with no mapping, add its row.
|
|
3130
3158
|
|