@slashfi/agents-sdk 0.90.1 → 0.90.4
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/adk.js +61 -11
- package/dist/adk.js.map +1 -1
- package/dist/cjs/config-store.js +227 -33
- package/dist/cjs/config-store.js.map +1 -1
- package/dist/cjs/define-config.js.map +1 -1
- package/dist/cjs/registry-consumer.js +10 -1
- package/dist/cjs/registry-consumer.js.map +1 -1
- package/dist/config-store.d.ts +36 -0
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +227 -33
- package/dist/config-store.js.map +1 -1
- package/dist/define-config.d.ts +4 -0
- package/dist/define-config.d.ts.map +1 -1
- package/dist/define-config.js.map +1 -1
- package/dist/registry-consumer.d.ts.map +1 -1
- package/dist/registry-consumer.js +10 -1
- package/dist/registry-consumer.js.map +1 -1
- package/package.json +1 -1
- package/src/adk.ts +61 -13
- package/src/config-store.test.ts +350 -0
- package/src/config-store.ts +316 -36
- package/src/consumer.test.ts +54 -0
- package/src/define-config.ts +1 -0
- package/src/registry-consumer.ts +10 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"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"}
|
package/dist/config-store.js
CHANGED
|
@@ -201,7 +201,7 @@ function renderCredentialForm(name, fields, error) {
|
|
|
201
201
|
<div class="field">
|
|
202
202
|
<label for="${esc(f.name)}">${esc(f.label)}</label>
|
|
203
203
|
${f.description ? `<p class="desc">${esc(f.description)}</p>` : ""}
|
|
204
|
-
<input id="${esc(f.name)}" name="${esc(f.name)}" type="${f.secret ? "password" : "text"}" required autocomplete="off" spellcheck="false" />
|
|
204
|
+
<input id="${esc(f.name)}" name="${esc(f.name)}" type="${f.secret ? "password" : "text"}" ${f.optional ? "" : "required"} autocomplete="off" spellcheck="false" />
|
|
205
205
|
</div>`)
|
|
206
206
|
.join("");
|
|
207
207
|
const errorHtml = error ? `<div class="error">${esc(error)}</div>` : "";
|
|
@@ -443,6 +443,159 @@ export function createAdk(fs, options = {}) {
|
|
|
443
443
|
});
|
|
444
444
|
};
|
|
445
445
|
}
|
|
446
|
+
/**
|
|
447
|
+
* Call-time credential lookup: stored ref config first, then the host
|
|
448
|
+
* `resolveCredentials` callback. Does not persist resolved values.
|
|
449
|
+
*/
|
|
450
|
+
async function resolveCallCredential(ctx, field) {
|
|
451
|
+
const stored = await readRefSecret(ctx.name, field);
|
|
452
|
+
if (stored)
|
|
453
|
+
return stored;
|
|
454
|
+
return makeTryResolve(ctx)(field);
|
|
455
|
+
}
|
|
456
|
+
const CALL_BEARER_FIELDS = ["access_token", "api_key", "token"];
|
|
457
|
+
function isBearerAuthField(field) {
|
|
458
|
+
return CALL_BEARER_FIELDS.includes(field);
|
|
459
|
+
}
|
|
460
|
+
/** Legacy cache entries may omit `outbound`; these are never call-time creds. */
|
|
461
|
+
const LEGACY_CONNECT_ONLY_FIELDS = new Set([
|
|
462
|
+
"client_id",
|
|
463
|
+
"client_secret",
|
|
464
|
+
"refresh_token",
|
|
465
|
+
]);
|
|
466
|
+
function isCallOutboundAuthField(field, info) {
|
|
467
|
+
if (info.outbound === false)
|
|
468
|
+
return false;
|
|
469
|
+
if (info.outbound === true)
|
|
470
|
+
return true;
|
|
471
|
+
return !LEGACY_CONNECT_ONLY_FIELDS.has(field);
|
|
472
|
+
}
|
|
473
|
+
function readRegistryDeclaredAuthFields(security) {
|
|
474
|
+
if (!security || typeof security !== "object")
|
|
475
|
+
return undefined;
|
|
476
|
+
const raw = security.authFields;
|
|
477
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
478
|
+
return undefined;
|
|
479
|
+
const out = {};
|
|
480
|
+
for (const [field, meta] of Object.entries(raw)) {
|
|
481
|
+
if (!meta || typeof meta !== "object" || Array.isArray(meta))
|
|
482
|
+
continue;
|
|
483
|
+
const m = meta;
|
|
484
|
+
if (typeof m.required !== "boolean" || typeof m.automated !== "boolean") {
|
|
485
|
+
continue;
|
|
486
|
+
}
|
|
487
|
+
out[field] = { required: m.required, automated: m.automated };
|
|
488
|
+
if (typeof m.outbound === "boolean") {
|
|
489
|
+
out[field].outbound = m.outbound;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
493
|
+
}
|
|
494
|
+
async function mergeRegistryDeclaredAuthFields(fields, declared, canResolve, configKeys, refConfig) {
|
|
495
|
+
if (!declared)
|
|
496
|
+
return fields;
|
|
497
|
+
const next = {};
|
|
498
|
+
for (const [field, meta] of Object.entries(declared)) {
|
|
499
|
+
next[field] = {
|
|
500
|
+
required: meta.required,
|
|
501
|
+
automated: meta.automated,
|
|
502
|
+
present: configKeys.includes(field) || hasCredentialField(refConfig, field),
|
|
503
|
+
resolvable: await canResolve(field),
|
|
504
|
+
...(meta.format && { format: meta.format }),
|
|
505
|
+
...(meta.parts && { parts: meta.parts }),
|
|
506
|
+
...(meta.outbound === false && { outbound: false }),
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
return next;
|
|
510
|
+
}
|
|
511
|
+
function bearerFieldSatisfied(accessToken, refConfig, field) {
|
|
512
|
+
if (accessToken)
|
|
513
|
+
return true;
|
|
514
|
+
return hasCredentialField(refConfig, field);
|
|
515
|
+
}
|
|
516
|
+
function fallbackCallAuthFields() {
|
|
517
|
+
return {
|
|
518
|
+
access_token: { required: true, automated: true },
|
|
519
|
+
api_key: { required: false, automated: true },
|
|
520
|
+
token: { required: false, automated: true },
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
function headerFieldSatisfied(headers, field) {
|
|
524
|
+
const wanted = normalizeCredentialKey(field);
|
|
525
|
+
return Object.keys(headers).some((key) => normalizeCredentialKey(key) === wanted);
|
|
526
|
+
}
|
|
527
|
+
function resolveHeaderNameForField(field, refConfig) {
|
|
528
|
+
const wanted = normalizeCredentialKey(field);
|
|
529
|
+
const configHeaders = refConfig.headers;
|
|
530
|
+
if (configHeaders &&
|
|
531
|
+
typeof configHeaders === "object" &&
|
|
532
|
+
!Array.isArray(configHeaders)) {
|
|
533
|
+
for (const key of Object.keys(configHeaders)) {
|
|
534
|
+
if (normalizeCredentialKey(key) === wanted)
|
|
535
|
+
return key;
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
// x_api_key → X-API-KEY (registry codegen declares the canonical name;
|
|
539
|
+
// env-resolved keys use the normalized storage field name).
|
|
540
|
+
return field
|
|
541
|
+
.split("_")
|
|
542
|
+
.filter(Boolean)
|
|
543
|
+
.map((part) => part.toUpperCase())
|
|
544
|
+
.join("-");
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Supplement call-time credentials from `resolveCredentials` when they
|
|
548
|
+
* are not already present in consumer-config. Stored values and config
|
|
549
|
+
* headers win — this only fills gaps. Walks cached `authFields` as the
|
|
550
|
+
* source of truth (registry-declared when auth-status has run).
|
|
551
|
+
*/
|
|
552
|
+
async function resolveAllCallCredentials(opts) {
|
|
553
|
+
if (!options.resolveCredentials) {
|
|
554
|
+
return {
|
|
555
|
+
accessToken: opts.accessToken,
|
|
556
|
+
resolvedHeaders: opts.resolvedHeaders,
|
|
557
|
+
};
|
|
558
|
+
}
|
|
559
|
+
let accessToken = opts.accessToken;
|
|
560
|
+
let resolvedHeaders = opts.resolvedHeaders;
|
|
561
|
+
const { ctx, refConfig } = opts;
|
|
562
|
+
const cache = await readRegistryCache();
|
|
563
|
+
const authFields = cache.refs[ctx.name]?.authFields ?? fallbackCallAuthFields();
|
|
564
|
+
for (const [field, info] of Object.entries(authFields)) {
|
|
565
|
+
if (!isCallOutboundAuthField(field, info))
|
|
566
|
+
continue;
|
|
567
|
+
if (!info.required && !info.automated)
|
|
568
|
+
continue;
|
|
569
|
+
if (isBearerAuthField(field)) {
|
|
570
|
+
if (bearerFieldSatisfied(accessToken, refConfig, field))
|
|
571
|
+
continue;
|
|
572
|
+
const value = await resolveCallCredential(ctx, field);
|
|
573
|
+
if (value)
|
|
574
|
+
accessToken = accessToken ?? value;
|
|
575
|
+
continue;
|
|
576
|
+
}
|
|
577
|
+
if (hasCredentialField(refConfig, field))
|
|
578
|
+
continue;
|
|
579
|
+
if (resolvedHeaders && headerFieldSatisfied(resolvedHeaders, field)) {
|
|
580
|
+
continue;
|
|
581
|
+
}
|
|
582
|
+
const value = await resolveCallCredential(ctx, field);
|
|
583
|
+
if (!value)
|
|
584
|
+
continue;
|
|
585
|
+
resolvedHeaders = resolvedHeaders ?? {};
|
|
586
|
+
if (!headerFieldSatisfied(resolvedHeaders, field)) {
|
|
587
|
+
resolvedHeaders[resolveHeaderNameForField(field, refConfig)] = value;
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
if (!accessToken) {
|
|
591
|
+
const username = await resolveCallCredential(ctx, "username");
|
|
592
|
+
const password = await resolveCallCredential(ctx, "password");
|
|
593
|
+
if (username && password) {
|
|
594
|
+
accessToken = btoa(`${username}:${password}`);
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
return { accessToken, resolvedHeaders };
|
|
598
|
+
}
|
|
446
599
|
/**
|
|
447
600
|
* Resolve OAuth client credentials (client_id + client_secret) for a
|
|
448
601
|
* ref. Walks: `resolveCredentials` callback → per-ref VCS storage.
|
|
@@ -729,11 +882,15 @@ export function createAdk(fs, options = {}) {
|
|
|
729
882
|
return r;
|
|
730
883
|
found = true;
|
|
731
884
|
const existing = typeof r === "string" ? { url: r } : { ...r };
|
|
732
|
-
mutate(existing);
|
|
733
885
|
return existing;
|
|
734
886
|
});
|
|
735
887
|
if (!found)
|
|
736
888
|
return false;
|
|
889
|
+
for (const r of registries) {
|
|
890
|
+
if (typeof r !== "string" && (registryDisplayName(r) === nameOrUrl || registryUrl(r) === nameOrUrl)) {
|
|
891
|
+
await mutate(r);
|
|
892
|
+
}
|
|
893
|
+
}
|
|
737
894
|
await writeConfig({ ...config, registries });
|
|
738
895
|
return true;
|
|
739
896
|
}
|
|
@@ -828,6 +985,7 @@ export function createAdk(fs, options = {}) {
|
|
|
828
985
|
return;
|
|
829
986
|
const hasUsableAuth = entry.auth && entry.auth.type !== "none"
|
|
830
987
|
? (entry.auth.type === "bearer" && !!entry.auth.token) ||
|
|
988
|
+
(entry.auth.type === "basic" && !!entry.auth.username) ||
|
|
831
989
|
(entry.auth.type === "api-key" && !!entry.auth.key)
|
|
832
990
|
: false;
|
|
833
991
|
if (hasUsableAuth)
|
|
@@ -861,6 +1019,7 @@ export function createAdk(fs, options = {}) {
|
|
|
861
1019
|
let authRequirement;
|
|
862
1020
|
const hasUsableAuth = entry.auth && entry.auth.type !== "none"
|
|
863
1021
|
? (entry.auth.type === "bearer" && !!entry.auth.token) ||
|
|
1022
|
+
(entry.auth.type === "basic" && !!entry.auth.username) ||
|
|
864
1023
|
(entry.auth.type === "api-key" && !!entry.auth.key)
|
|
865
1024
|
: false;
|
|
866
1025
|
if (!hasUsableAuth) {
|
|
@@ -957,6 +1116,7 @@ export function createAdk(fs, options = {}) {
|
|
|
957
1116
|
if (typeof r !== "string" && r.authRequirement) {
|
|
958
1117
|
const hasUsableAuth = r.auth && r.auth.type !== "none"
|
|
959
1118
|
? (r.auth.type === "bearer" && !!r.auth.token) ||
|
|
1119
|
+
(r.auth.type === "basic" && !!r.auth.username) ||
|
|
960
1120
|
(r.auth.type === "api-key" && !!r.auth.key)
|
|
961
1121
|
: false;
|
|
962
1122
|
if (!hasUsableAuth) {
|
|
@@ -993,23 +1153,29 @@ export function createAdk(fs, options = {}) {
|
|
|
993
1153
|
});
|
|
994
1154
|
},
|
|
995
1155
|
async auth(nameOrUrl, credential) {
|
|
996
|
-
// Encrypt
|
|
997
|
-
//
|
|
998
|
-
const
|
|
999
|
-
? await protectSecret(credential.token)
|
|
1000
|
-
: await protectSecret(credential.apiKey);
|
|
1001
|
-
const updated = await updateRegistryEntry(nameOrUrl, (existing) => {
|
|
1156
|
+
// Encrypt secret values before writing. `buildConsumer` decrypts on the
|
|
1157
|
+
// read side via `decryptConfigSecrets`.
|
|
1158
|
+
const updated = await updateRegistryEntry(nameOrUrl, async (existing) => {
|
|
1002
1159
|
if ("token" in credential) {
|
|
1003
1160
|
existing.auth = {
|
|
1004
1161
|
type: "bearer",
|
|
1005
|
-
token:
|
|
1162
|
+
token: await protectSecret(credential.token),
|
|
1006
1163
|
...(credential.tokenUrl && { tokenUrl: credential.tokenUrl }),
|
|
1007
1164
|
};
|
|
1008
1165
|
}
|
|
1166
|
+
else if ("username" in credential) {
|
|
1167
|
+
existing.auth = {
|
|
1168
|
+
type: "basic",
|
|
1169
|
+
username: await protectSecret(credential.username),
|
|
1170
|
+
...(credential.password && {
|
|
1171
|
+
password: await protectSecret(credential.password),
|
|
1172
|
+
}),
|
|
1173
|
+
};
|
|
1174
|
+
}
|
|
1009
1175
|
else {
|
|
1010
1176
|
existing.auth = {
|
|
1011
1177
|
type: "api-key",
|
|
1012
|
-
key:
|
|
1178
|
+
key: await protectSecret(credential.apiKey),
|
|
1013
1179
|
...(credential.header && { header: credential.header }),
|
|
1014
1180
|
};
|
|
1015
1181
|
}
|
|
@@ -1060,6 +1226,7 @@ export function createAdk(fs, options = {}) {
|
|
|
1060
1226
|
// Already authenticated — nothing to do (unless forced above).
|
|
1061
1227
|
const hasUsableAuth = target.auth && target.auth.type !== "none"
|
|
1062
1228
|
? (target.auth.type === "bearer" && !!target.auth.token) ||
|
|
1229
|
+
(target.auth.type === "basic" && !!target.auth.username) ||
|
|
1063
1230
|
(target.auth.type === "api-key" && !!target.auth.key)
|
|
1064
1231
|
: false;
|
|
1065
1232
|
if (hasUsableAuth && !target.authRequirement) {
|
|
@@ -1491,7 +1658,7 @@ export function createAdk(fs, options = {}) {
|
|
|
1491
1658
|
const entry = findRef(config.refs ?? [], name);
|
|
1492
1659
|
if (!entry)
|
|
1493
1660
|
throw new Error(`Ref "${name}" not found`);
|
|
1494
|
-
|
|
1661
|
+
let accessToken = (await readRefSecret(name, "access_token")) ??
|
|
1495
1662
|
(await readRefSecret(name, "api_key")) ??
|
|
1496
1663
|
(await readRefSecret(name, "token"));
|
|
1497
1664
|
// Resolve custom headers from config (e.g. { "X-API-Key": "secret:..." })
|
|
@@ -1538,6 +1705,16 @@ export function createAdk(fs, options = {}) {
|
|
|
1538
1705
|
}
|
|
1539
1706
|
}
|
|
1540
1707
|
}
|
|
1708
|
+
if (options.resolveCredentials) {
|
|
1709
|
+
const supplemented = await resolveAllCallCredentials({
|
|
1710
|
+
ctx: { name, entry, security: null },
|
|
1711
|
+
refConfig,
|
|
1712
|
+
accessToken,
|
|
1713
|
+
resolvedHeaders,
|
|
1714
|
+
});
|
|
1715
|
+
accessToken = supplemented.accessToken;
|
|
1716
|
+
resolvedHeaders = supplemented.resolvedHeaders;
|
|
1717
|
+
}
|
|
1541
1718
|
const doCall = async (token) => {
|
|
1542
1719
|
// Direct MCP only for redirect/proxy agents with an MCP upstream.
|
|
1543
1720
|
// API-mode agents must go through the registry (it does REST translation).
|
|
@@ -1649,7 +1826,7 @@ export function createAdk(fs, options = {}) {
|
|
|
1649
1826
|
async function canResolve(field, oauthMetadata) {
|
|
1650
1827
|
return (await tryResolveField(field, oauthMetadata)) !== null;
|
|
1651
1828
|
}
|
|
1652
|
-
|
|
1829
|
+
let fields = {};
|
|
1653
1830
|
if (security.type === "oauth2") {
|
|
1654
1831
|
const securityExt = security;
|
|
1655
1832
|
const hasRegistration = !!securityExt.dynamicRegistration;
|
|
@@ -1683,6 +1860,7 @@ export function createAdk(fs, options = {}) {
|
|
|
1683
1860
|
automated: hasRegistration,
|
|
1684
1861
|
present: configKeys.includes("client_id"),
|
|
1685
1862
|
resolvable: await canResolve("client_id", oauthMetadata),
|
|
1863
|
+
outbound: false,
|
|
1686
1864
|
};
|
|
1687
1865
|
if (needsSecret) {
|
|
1688
1866
|
fields.client_secret = {
|
|
@@ -1690,13 +1868,14 @@ export function createAdk(fs, options = {}) {
|
|
|
1690
1868
|
automated: hasRegistration,
|
|
1691
1869
|
present: configKeys.includes("client_secret"),
|
|
1692
1870
|
resolvable: await canResolve("client_secret", oauthMetadata),
|
|
1871
|
+
outbound: false,
|
|
1693
1872
|
};
|
|
1694
1873
|
}
|
|
1695
1874
|
fields.access_token = {
|
|
1696
1875
|
required: true,
|
|
1697
1876
|
automated: accessTokenAutomated,
|
|
1698
1877
|
present: configKeys.includes("access_token"),
|
|
1699
|
-
resolvable:
|
|
1878
|
+
resolvable: await canResolve("access_token"),
|
|
1700
1879
|
};
|
|
1701
1880
|
}
|
|
1702
1881
|
else if (security.type === "apiKey") {
|
|
@@ -1739,11 +1918,23 @@ export function createAdk(fs, options = {}) {
|
|
|
1739
1918
|
}
|
|
1740
1919
|
}
|
|
1741
1920
|
else if (security.type === "http") {
|
|
1921
|
+
const httpSec = security;
|
|
1922
|
+
const isBasic = httpSec.scheme === "basic";
|
|
1742
1923
|
fields.token = {
|
|
1743
1924
|
required: true,
|
|
1744
1925
|
automated: false,
|
|
1745
1926
|
present: configKeys.includes("token"),
|
|
1746
|
-
resolvable:
|
|
1927
|
+
resolvable: isBasic
|
|
1928
|
+
? (await canResolve("username")) &&
|
|
1929
|
+
(await tryResolveField("password")) !== null
|
|
1930
|
+
: await canResolve("token"),
|
|
1931
|
+
...(isBasic && {
|
|
1932
|
+
format: "basic",
|
|
1933
|
+
parts: [
|
|
1934
|
+
{ name: "username", label: "Username", secret: false },
|
|
1935
|
+
{ name: "password", label: "Password", secret: true, optional: true },
|
|
1936
|
+
],
|
|
1937
|
+
}),
|
|
1747
1938
|
};
|
|
1748
1939
|
}
|
|
1749
1940
|
else if (security.type === "form") {
|
|
@@ -1762,7 +1953,8 @@ export function createAdk(fs, options = {}) {
|
|
|
1762
1953
|
resolvable: await canResolve("access_token"),
|
|
1763
1954
|
};
|
|
1764
1955
|
}
|
|
1765
|
-
|
|
1956
|
+
fields = await mergeRegistryDeclaredAuthFields(fields, readRegistryDeclaredAuthFields(security), canResolve, configKeys, (entry.config ?? {}));
|
|
1957
|
+
const complete = Object.values(fields).every((f) => !f.required || f.automated || f.present || f.resolvable);
|
|
1766
1958
|
// Persist the slim {required, automated} per-field shape into the
|
|
1767
1959
|
// registry cache so `isRefAuthComplete` can answer subsequent
|
|
1768
1960
|
// host-side "is this ref ready?" checks without re-fetching the
|
|
@@ -1774,6 +1966,9 @@ export function createAdk(fs, options = {}) {
|
|
|
1774
1966
|
authFields[field] = {
|
|
1775
1967
|
required: info.required,
|
|
1776
1968
|
automated: info.automated,
|
|
1969
|
+
...(info.format && { format: info.format }),
|
|
1970
|
+
...(info.parts && { parts: info.parts }),
|
|
1971
|
+
...(info.outbound === false && { outbound: false }),
|
|
1777
1972
|
};
|
|
1778
1973
|
}
|
|
1779
1974
|
await upsertRegistryCacheAuthFields(name, entry.ref, authFields);
|
|
@@ -1871,24 +2066,23 @@ export function createAdk(fs, options = {}) {
|
|
|
1871
2066
|
const isBasic = httpSec.scheme === "basic";
|
|
1872
2067
|
if (isBasic) {
|
|
1873
2068
|
const username = opts?.credentials?.["username"] ?? (await tryResolve("username"));
|
|
1874
|
-
const password = opts?.credentials?.["password"] ?? (await tryResolve("password"));
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
});
|
|
1889
|
-
return { type: "http", complete: false, fields: missingFields };
|
|
2069
|
+
const password = opts?.credentials?.["password"] ?? (await tryResolve("password")) ?? "";
|
|
2070
|
+
const hasUsername = username !== undefined && username !== null && username !== "";
|
|
2071
|
+
if (!hasUsername) {
|
|
2072
|
+
return {
|
|
2073
|
+
type: "http",
|
|
2074
|
+
complete: false,
|
|
2075
|
+
fields: [
|
|
2076
|
+
{
|
|
2077
|
+
name: "username",
|
|
2078
|
+
label: "Username",
|
|
2079
|
+
secret: false,
|
|
2080
|
+
},
|
|
2081
|
+
],
|
|
2082
|
+
};
|
|
1890
2083
|
}
|
|
1891
|
-
// Store as base64 encoded basic auth token
|
|
2084
|
+
// Store as base64 encoded basic auth token. Password may be blank
|
|
2085
|
+
// for APIs that use the Basic username slot as an API key.
|
|
1892
2086
|
const token = btoa(`${username}:${password}`);
|
|
1893
2087
|
await storeRefSecret(name, "token", token);
|
|
1894
2088
|
return { type: "http", complete: true };
|
|
@@ -2064,7 +2258,7 @@ export function createAdk(fs, options = {}) {
|
|
|
2064
2258
|
const credentials = {};
|
|
2065
2259
|
for (const field of result.fields) {
|
|
2066
2260
|
const val = params.get(field.name);
|
|
2067
|
-
if (val)
|
|
2261
|
+
if (val !== null)
|
|
2068
2262
|
credentials[field.name] = val;
|
|
2069
2263
|
}
|
|
2070
2264
|
try {
|