freecodego 0.1.7-alpha.2.1 → 0.1.7-alpha.2.2
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/README.i18n.yaml +2 -2
- package/README.md +5 -5
- package/README.zh.md +5 -5
- package/dist/bootstrap.js +117 -2
- package/dist/client.cjs +431 -103
- package/package.json +3 -3
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/freecodego/bundle-latest/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 8d10144b93404bd365c74acfd6ed6e37c5b482b6
|
|
6
|
+
README.zh.md: 59610270a1325f0808de361185235bb2ff9a8f06
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ English | [中文](README.zh.md)
|
|
|
9
9
|
|
|
10
10
|
## Summary
|
|
11
11
|
|
|
12
|
-
Installable single-package FreeCodeGo composition for DeepSeek Harness `freecodego@0.1.7-alpha.2.
|
|
12
|
+
Installable single-package FreeCodeGo composition for DeepSeek Harness `freecodego@0.1.7-alpha.2.2`, targeting Harness baseline `0.1.7-alpha.2`. The npm artifact contains the compiled Host plugin, browser client, session-event prerequisite, native worker entrypoints, and the bundled Harness Agent Teams composition. A release publishes on npm's `next` dist-tag, and its plugin version intentionally matches the Harness version it targets exactly; for a reproducible install, name the version (`freecodego@0.1.7-alpha.2`) instead of the channel. Official Codex and Claude runtime binaries remain optional platform downloads — the package does not embed every platform's native binary.
|
|
13
13
|
|
|
14
14
|
## Table of Contents
|
|
15
15
|
|
|
@@ -32,7 +32,7 @@ Install the release for the Harness baseline you run; each release carries one t
|
|
|
32
32
|
|
|
33
33
|
```sh
|
|
34
34
|
dsh plugin --profile web add --save-exact \
|
|
35
|
-
https://github.com/XiangSu-ce/dsh-plugin-freecodego/releases/download/freecodego-v0.1.7-alpha.2.
|
|
35
|
+
https://github.com/XiangSu-ce/dsh-plugin-freecodego/releases/download/freecodego-v0.1.7-alpha.2.2/freecodego-0.1.7-alpha.2.tgz
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
`freecodego-0.1.7-alpha.2.tgz` is the bundle for Harness `0.1.7-alpha.2`: substitute the version you run, which the settings page shows beside the installed plugin version. The asset name is the naming contract in `packages/freecodego/AGENTS.md`.
|
|
@@ -54,15 +54,15 @@ The workflow verifies the family, builds, packs, and creates the GitHub release
|
|
|
54
54
|
## Free Models
|
|
55
55
|
|
|
56
56
|
<!-- generated:free-models:begin by scripts/generate-free-model-tables.ts -->
|
|
57
|
-
Every free row below comes from the provider's own directory, read when you open the picker, so this is what those directories returned on 2026-09-
|
|
57
|
+
Every free row below comes from the provider's own directory, read when you open the picker, so this is what those directories returned on 2026-09-24 (sorted, where the picker keeps directory order) — and the picker is the count that is true when you look.
|
|
58
58
|
|
|
59
59
|
| Provider | Free models | Directory |
|
|
60
60
|
|---|---|---|
|
|
61
61
|
| **OpenCode** | `big-pickle`, `deepseek-v4-flash-free`, `jev-1.13-free`, `ling-3.0-flash-fin-free`, `mimo-v2.5-free`, `mimo-v2.6-flash-free`, `muse-spark-1.2`, `muse-spark-1.2-contributor-free`, `muse-spark-1.3`, `muse-spark-1.3-contributor-free`, `nemotron-3-ultra-free`, `nemotron-3.5-lightning-free`, `space-bunny-free` | 13 of 80 rows; public, no sign-in |
|
|
62
|
-
| **Kilo** | `cohere/north-mini-code:free`, `dots-studio/dots-3-note-preview:free`, `inclusionai/ling-3.0-flash-fin:free`, `inclusionai/ling-3.0-flash-sante:free`, `
|
|
62
|
+
| **Kilo** | `cohere/north-mini-code:free`, `dots-studio/dots-3-note-preview:free`, `inclusionai/ling-3.0-flash-fin:free`, `inclusionai/ling-3.0-flash-sante:free`, `kilo-auto/free`, `liquid/lfm-2.5-2.6b:free`, `nex-agi/nex-n2.5-mini:free`, `nex-agi/nex-n2.5-pro:free`, `nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free`, `nvidia/nemotron-3-super-120b-a12b:free`, `nvidia/nemotron-3-ultra-550b-a55b:free`, `nvidia/nemotron-3.5-content-safety:free`, `nvidia/nemotron-3.5-lightning:free`, `openrouter/free`, `poolside/laguna-s-2.1:free`, `poolside/laguna-xs-2.1:free`, `qwen/qwen3.8-27b:free`, `stealth/space-bunny-alpha`, `stepfun/step-3.7-flash:free`, `thinkingmachines/inkling-small:free`, `z-ai/glm-5.2:free` | 21 of 393 rows; public, 200 requests/hour per egress IP |
|
|
63
63
|
| **Logfare** | chat `claude-opus-4.6`, `deepseek-v3.2`, `deepseek-v4-pro-0813`, `gemma-4-26b`, `glm-5`, `glm-5.3`, `glm-5.3-flash`, `grok-4.6`, `kimi-k2.5`, `kimi-k2.6`, `kimi-k2.7-code`, `kimi-k3`, `logfare/auto`, `moondream3.1`, `qwen-3.8-27b`, `step-3.7-flash`; images `flux-1-schnell`, `flux-2-dev`, `flux-2-klein-4b`, `flux-2-klein-9b`, `sdxl-lightning`; audio `melotts`, `whisper-large-v3-turbo`; other routes `aura-2-en`, `lucid-origin`, `nova-3`, `phoenix-1.0` | 27 rows; 20 need a training-data opt-in, the other 7 do not |
|
|
64
64
|
| **Qoder** | `Qwen 3.8 Flash` (route `qmodel_38flash`) | the free flash route, plus daily check-in campaigns |
|
|
65
|
-
| **NVIDIA** | `google/gemma-4-31b-it`, `moonshotai/kimi-k3`, `z-ai/glm-5.3`, `z-ai/glm-5.3-flash` — the roster also names `deepseek-ai/deepseek-v4-flash-0731` and `deepseek-ai/deepseek-v4-pro-0813`, which are gone from NVIDIA's live catalogue of 82 rows | an API key is required to call them; cross-checked 2026-09-
|
|
65
|
+
| **NVIDIA** | `google/gemma-4-31b-it`, `moonshotai/kimi-k3`, `z-ai/glm-5.3`, `z-ai/glm-5.3-flash` — the roster also names `deepseek-ai/deepseek-v4-flash-0731` and `deepseek-ai/deepseek-v4-pro-0813`, which are gone from NVIDIA's live catalogue of 82 rows | an API key is required to call them; cross-checked 2026-09-24 |
|
|
66
66
|
| **SenseNova** | `deepseek-v4-flash`, `deepseek-v4-pro`, `glm-5.2`, `kimi-k3`, `sensenova-6.8-flash-lite` — 1M context and 128K output each | roster ships in the bundle; an API key is required |
|
|
67
67
|
| **TRAE** | the rows its directory lists | free credits reset daily, per account |
|
|
68
68
|
| **Cline** | the rows the directory marks `×0 · 官方免费模型` | an account pool |
|
package/README.zh.md
CHANGED
|
@@ -9,7 +9,7 @@ kind: "package-bundle"
|
|
|
9
9
|
|
|
10
10
|
## 概述
|
|
11
11
|
|
|
12
|
-
面向 DeepSeek Harness `freecodego@0.1.7-alpha.2.
|
|
12
|
+
面向 DeepSeek Harness `freecodego@0.1.7-alpha.2.2` 的可安装单包 FreeCodeGo 组合,目标 Harness 基线为 `0.1.7-alpha.2`。npm 产物包含编译后的 Host 插件、浏览器端 client、会话事件前置包、原生 worker 入口,以及随包交付的 Harness Agent Teams 组合。发布产物使用 npm 的 `next` dist-tag,且其插件版本刻意与所面向的 Harness 版本完全一致;需要可复现安装时请指定版本(`freecodego@0.1.7-alpha.2`),而不是渠道名。官方 Codex 与 Claude 运行时二进制仍按平台可选下载——本包不内嵌每个平台的原生二进制。
|
|
13
13
|
|
|
14
14
|
## 目录
|
|
15
15
|
|
|
@@ -32,7 +32,7 @@ kind: "package-bundle"
|
|
|
32
32
|
|
|
33
33
|
```sh
|
|
34
34
|
dsh plugin --profile web add --save-exact \
|
|
35
|
-
https://github.com/XiangSu-ce/dsh-plugin-freecodego/releases/download/freecodego-v0.1.7-alpha.2.
|
|
35
|
+
https://github.com/XiangSu-ce/dsh-plugin-freecodego/releases/download/freecodego-v0.1.7-alpha.2.2/freecodego-0.1.7-alpha.2.tgz
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
`freecodego-0.1.7-alpha.2.tgz` 就是面向 Harness `0.1.7-alpha.2` 的 bundle:请替换为你实际运行的版本,设置页会把它显示在已装插件版本旁边。资产名即 `packages/freecodego/AGENTS.md` 里的命名约定。
|
|
@@ -54,15 +54,15 @@ gh workflow run release-freecodego.yml --ref freecodego-v<version>
|
|
|
54
54
|
## 免费模型
|
|
55
55
|
|
|
56
56
|
<!-- generated:free-models:begin by scripts/generate-free-model-tables.ts -->
|
|
57
|
-
下面每一行都来自各提供商自己的目录,在你打开选择器时读取;也就是说,这是那些目录在 2026-09-
|
|
57
|
+
下面每一行都来自各提供商自己的目录,在你打开选择器时读取;也就是说,这是那些目录在 2026-09-24 返回的结果(按名称排序,选择器里保持目录顺序),而选择器里的数量才是你查看时真正成立的数量。
|
|
58
58
|
|
|
59
59
|
| 提供商 | 免费模型 | 目录 |
|
|
60
60
|
|---|---|---|
|
|
61
61
|
| **OpenCode** | `big-pickle`、`deepseek-v4-flash-free`、`jev-1.13-free`、`ling-3.0-flash-fin-free`、`mimo-v2.5-free`、`mimo-v2.6-flash-free`、`muse-spark-1.2`、`muse-spark-1.2-contributor-free`、`muse-spark-1.3`、`muse-spark-1.3-contributor-free`、`nemotron-3-ultra-free`、`nemotron-3.5-lightning-free`、`space-bunny-free` | 80 行中的 13 行;公开,无需登录 |
|
|
62
|
-
| **Kilo** | `cohere/north-mini-code:free`、`dots-studio/dots-3-note-preview:free`、`inclusionai/ling-3.0-flash-fin:free`、`inclusionai/ling-3.0-flash-sante:free`、`
|
|
62
|
+
| **Kilo** | `cohere/north-mini-code:free`、`dots-studio/dots-3-note-preview:free`、`inclusionai/ling-3.0-flash-fin:free`、`inclusionai/ling-3.0-flash-sante:free`、`kilo-auto/free`、`liquid/lfm-2.5-2.6b:free`、`nex-agi/nex-n2.5-mini:free`、`nex-agi/nex-n2.5-pro:free`、`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free`、`nvidia/nemotron-3-super-120b-a12b:free`、`nvidia/nemotron-3-ultra-550b-a55b:free`、`nvidia/nemotron-3.5-content-safety:free`、`nvidia/nemotron-3.5-lightning:free`、`openrouter/free`、`poolside/laguna-s-2.1:free`、`poolside/laguna-xs-2.1:free`、`qwen/qwen3.8-27b:free`、`stealth/space-bunny-alpha`、`stepfun/step-3.7-flash:free`、`thinkingmachines/inkling-small:free`、`z-ai/glm-5.2:free` | 393 行中的 21 行;公开,每个出口 IP 每小时 200 次 |
|
|
63
63
|
| **Logfare** | 对话 `claude-opus-4.6`、`deepseek-v3.2`、`deepseek-v4-pro-0813`、`gemma-4-26b`、`glm-5`、`glm-5.3`、`glm-5.3-flash`、`grok-4.6`、`kimi-k2.5`、`kimi-k2.6`、`kimi-k2.7-code`、`kimi-k3`、`logfare/auto`、`moondream3.1`、`qwen-3.8-27b`、`step-3.7-flash`;图片 `flux-1-schnell`、`flux-2-dev`、`flux-2-klein-4b`、`flux-2-klein-9b`、`sdxl-lightning`;音频 `melotts`、`whisper-large-v3-turbo`;其他路由 `aura-2-en`、`lucid-origin`、`nova-3`、`phoenix-1.0` | 27 行;20 行需要训练数据授权,其余 7 行不需要 |
|
|
64
64
|
| **Qoder** | `Qwen 3.8 Flash`(路由 `qmodel_38flash`) | 免费 flash 路由,另有每日签到活动 |
|
|
65
|
-
| **NVIDIA** | `google/gemma-4-31b-it`、`moonshotai/kimi-k3`、`z-ai/glm-5.3`、`z-ai/glm-5.3-flash` —— 名单里另有 `deepseek-ai/deepseek-v4-flash-0731` 与 `deepseek-ai/deepseek-v4-pro-0813`,这两个名字已不在 NVIDIA 实时目录(82 行)中 | 调用需要 API key;核对于 2026-09-
|
|
65
|
+
| **NVIDIA** | `google/gemma-4-31b-it`、`moonshotai/kimi-k3`、`z-ai/glm-5.3`、`z-ai/glm-5.3-flash` —— 名单里另有 `deepseek-ai/deepseek-v4-flash-0731` 与 `deepseek-ai/deepseek-v4-pro-0813`,这两个名字已不在 NVIDIA 实时目录(82 行)中 | 调用需要 API key;核对于 2026-09-24 |
|
|
66
66
|
| **SenseNova** | `deepseek-v4-flash`、`deepseek-v4-pro`、`glm-5.2`、`kimi-k3`、`sensenova-6.8-flash-lite` —— 均为 1M 上下文 / 128K 输出 | 名单随 bundle 内置;需要 API key |
|
|
67
67
|
| **TRAE** | 其目录列出的那些行 | 免费额度每日重置,按账号 |
|
|
68
68
|
| **Cline** | 目录标记 `×0 · 官方免费模型` 的那些行 | 账号池 |
|
package/dist/bootstrap.js
CHANGED
|
@@ -1356,6 +1356,38 @@ var FreeCodeGoMobileAuthClient = class {
|
|
|
1356
1356
|
async sendVerifyCode(email, signal) {
|
|
1357
1357
|
return { countdown: finiteNumber$1((await this.request("/send-verify-code", { email }, signal)).countdown, "countdown") };
|
|
1358
1358
|
}
|
|
1359
|
+
/**
|
|
1360
|
+
* Ask the gateway to mail a password-reset code to one address.
|
|
1361
|
+
*
|
|
1362
|
+
* `method: 'code'` is what makes this the desktop flow: without it the gateway
|
|
1363
|
+
* mails a browser link built from its own frontend URL instead, which a
|
|
1364
|
+
* webview has nowhere to land. The gateway answers the same way whether or not
|
|
1365
|
+
* the address is registered — that is deliberate anti-enumeration behaviour on
|
|
1366
|
+
* its side, not an answer about this account.
|
|
1367
|
+
* @param email - the address to send the reset code to.
|
|
1368
|
+
* @param signal - aborts the request when the caller cancels.
|
|
1369
|
+
*/
|
|
1370
|
+
async requestPasswordResetCode(email, signal) {
|
|
1371
|
+
await this.request("/forgot-password", {
|
|
1372
|
+
email,
|
|
1373
|
+
method: "code"
|
|
1374
|
+
}, signal);
|
|
1375
|
+
}
|
|
1376
|
+
/**
|
|
1377
|
+
* Replace the account's password using the emailed reset code.
|
|
1378
|
+
*
|
|
1379
|
+
* Deliberately returns no tokens: the gateway does not issue a session here, so
|
|
1380
|
+
* signing in stays a separate, explicit step with the new password.
|
|
1381
|
+
* @param input - the address, the code, and the new password.
|
|
1382
|
+
* @param signal - aborts the request when the caller cancels.
|
|
1383
|
+
*/
|
|
1384
|
+
async resetPassword(input, signal) {
|
|
1385
|
+
await this.request("/reset-password", {
|
|
1386
|
+
email: input.email,
|
|
1387
|
+
verify_code: input.verifyCode,
|
|
1388
|
+
new_password: input.newPassword
|
|
1389
|
+
}, signal);
|
|
1390
|
+
}
|
|
1359
1391
|
/** Register and return an authenticated token pair to the host caller.
|
|
1360
1392
|
* @param signal - aborts the request when the caller cancels.
|
|
1361
1393
|
* @param input - the address, password, and remember-me intent.
|
|
@@ -1463,12 +1495,18 @@ function tokens(payload) {
|
|
|
1463
1495
|
tokenType: "Bearer"
|
|
1464
1496
|
};
|
|
1465
1497
|
}
|
|
1498
|
+
var addressLocalPart = (email) => {
|
|
1499
|
+
const at2 = email.indexOf("@");
|
|
1500
|
+
return (at2 <= 0 ? email : email.slice(0, at2)).trim();
|
|
1501
|
+
};
|
|
1466
1502
|
function user(payload) {
|
|
1467
1503
|
const avatarUrl = typeof payload.avatar_url === "string" && payload.avatar_url.trim() !== "" ? payload.avatar_url.trim() : typeof payload.avatarUrl === "string" && payload.avatarUrl.trim() !== "" ? payload.avatarUrl.trim() : void 0;
|
|
1504
|
+
const email = requiredString(payload.email, "user.email");
|
|
1505
|
+
const username = typeof payload.username === "string" && payload.username.trim() !== "" ? payload.username.trim() : addressLocalPart(email);
|
|
1468
1506
|
return {
|
|
1469
1507
|
id: finiteNumber$1(payload.id, "user.id"),
|
|
1470
|
-
username
|
|
1471
|
-
email
|
|
1508
|
+
username,
|
|
1509
|
+
email,
|
|
1472
1510
|
...avatarUrl === void 0 ? {} : { avatarUrl },
|
|
1473
1511
|
role: requiredString(payload.role, "user.role"),
|
|
1474
1512
|
balance: finiteNumber$1(payload.balance, "user.balance"),
|
|
@@ -1810,6 +1848,31 @@ var FreeCodeGoAccountCoordinator = class {
|
|
|
1810
1848
|
return this.auth.sendVerifyCode(email, signal);
|
|
1811
1849
|
}
|
|
1812
1850
|
/**
|
|
1851
|
+
* Mail a password-reset code for one address.
|
|
1852
|
+
*
|
|
1853
|
+
* Straight through to the gateway: recovery is the one account operation that
|
|
1854
|
+
* needs no session, no vault write and no identity, so there is nothing here
|
|
1855
|
+
* for the coordinator to keep.
|
|
1856
|
+
* @param email - the address the reset code is sent to.
|
|
1857
|
+
* @param signal - aborts the request when the caller cancels.
|
|
1858
|
+
*/
|
|
1859
|
+
async requestPasswordResetCode(email, signal) {
|
|
1860
|
+
return this.auth.requestPasswordResetCode(email, signal);
|
|
1861
|
+
}
|
|
1862
|
+
/**
|
|
1863
|
+
* Replace the password using the emailed reset code.
|
|
1864
|
+
*
|
|
1865
|
+
* It deliberately does not sign in afterwards — the gateway issues no session
|
|
1866
|
+
* here — so the caller keeps the login form as the next step. A reset also
|
|
1867
|
+
* invalidates nothing locally: this machine's stored password, if the user
|
|
1868
|
+
* asked for one to be kept, is the caller's business to rewrite.
|
|
1869
|
+
* @param input - the address, the code, and the new password.
|
|
1870
|
+
* @param signal - aborts the request when the caller cancels.
|
|
1871
|
+
*/
|
|
1872
|
+
async resetPassword(input, signal) {
|
|
1873
|
+
return this.auth.resetPassword(input, signal);
|
|
1874
|
+
}
|
|
1875
|
+
/**
|
|
1813
1876
|
* Authenticate and store a successful token pair in the host vault.
|
|
1814
1877
|
*
|
|
1815
1878
|
* The intent of this attempt is recorded here and committed in
|
|
@@ -58685,6 +58748,16 @@ async function sendVerifyCode(host, email) {
|
|
|
58685
58748
|
if (host.account === void 0) throw backendNotConfigured();
|
|
58686
58749
|
return host.account.sendVerifyCode(email);
|
|
58687
58750
|
}
|
|
58751
|
+
async function forgotPassword(host, email) {
|
|
58752
|
+
if (host.account === void 0) throw backendNotConfigured();
|
|
58753
|
+
await host.account.requestPasswordResetCode(email);
|
|
58754
|
+
return { sent: true };
|
|
58755
|
+
}
|
|
58756
|
+
async function resetPassword(host, input) {
|
|
58757
|
+
if (host.account === void 0) throw backendNotConfigured();
|
|
58758
|
+
await host.account.resetPassword(input);
|
|
58759
|
+
return { reset: true };
|
|
58760
|
+
}
|
|
58688
58761
|
async function login(host, input) {
|
|
58689
58762
|
if (host.account === void 0) throw backendNotConfigured();
|
|
58690
58763
|
const result = await host.account.login({
|
|
@@ -68011,6 +68084,8 @@ var FreeCodeGoHarnessPlugin = (() => {
|
|
|
68011
68084
|
let _accountDetail_decorators;
|
|
68012
68085
|
let _register_decorators;
|
|
68013
68086
|
let _sendVerifyCode_decorators;
|
|
68087
|
+
let _forgotPassword_decorators;
|
|
68088
|
+
let _resetPassword_decorators;
|
|
68014
68089
|
let _login_decorators;
|
|
68015
68090
|
let _rememberedPassword_decorators;
|
|
68016
68091
|
let _oauthLogin_decorators;
|
|
@@ -68237,6 +68312,8 @@ var FreeCodeGoHarnessPlugin = (() => {
|
|
|
68237
68312
|
_accountDetail_decorators = [Remote("accountDetail")];
|
|
68238
68313
|
_register_decorators = [Remote("accountRegister")];
|
|
68239
68314
|
_sendVerifyCode_decorators = [Remote("accountSendVerifyCode")];
|
|
68315
|
+
_forgotPassword_decorators = [Remote("accountForgotPassword")];
|
|
68316
|
+
_resetPassword_decorators = [Remote("accountResetPassword")];
|
|
68240
68317
|
_login_decorators = [Remote("accountLogin")];
|
|
68241
68318
|
_rememberedPassword_decorators = [Remote("accountRememberedPassword")];
|
|
68242
68319
|
_oauthLogin_decorators = [Remote("accountOAuthLogin")];
|
|
@@ -69800,6 +69877,28 @@ var FreeCodeGoHarnessPlugin = (() => {
|
|
|
69800
69877
|
},
|
|
69801
69878
|
metadata: _metadata
|
|
69802
69879
|
}, null, _instanceExtraInitializers);
|
|
69880
|
+
__esDecorate(this, null, _forgotPassword_decorators, {
|
|
69881
|
+
kind: "method",
|
|
69882
|
+
name: "forgotPassword",
|
|
69883
|
+
static: false,
|
|
69884
|
+
private: false,
|
|
69885
|
+
access: {
|
|
69886
|
+
has: (obj) => "forgotPassword" in obj,
|
|
69887
|
+
get: (obj) => obj.forgotPassword
|
|
69888
|
+
},
|
|
69889
|
+
metadata: _metadata
|
|
69890
|
+
}, null, _instanceExtraInitializers);
|
|
69891
|
+
__esDecorate(this, null, _resetPassword_decorators, {
|
|
69892
|
+
kind: "method",
|
|
69893
|
+
name: "resetPassword",
|
|
69894
|
+
static: false,
|
|
69895
|
+
private: false,
|
|
69896
|
+
access: {
|
|
69897
|
+
has: (obj) => "resetPassword" in obj,
|
|
69898
|
+
get: (obj) => obj.resetPassword
|
|
69899
|
+
},
|
|
69900
|
+
metadata: _metadata
|
|
69901
|
+
}, null, _instanceExtraInitializers);
|
|
69803
69902
|
__esDecorate(this, null, _login_decorators, {
|
|
69804
69903
|
kind: "method",
|
|
69805
69904
|
name: "login",
|
|
@@ -75474,6 +75573,22 @@ ${plan.text}
|
|
|
75474
75573
|
return sendVerifyCode(this.accountRemotesHost, email);
|
|
75475
75574
|
}
|
|
75476
75575
|
/**
|
|
75576
|
+
* Mail the password-reset code for an existing account.
|
|
75577
|
+
* @param email - the address the reset code is sent to.
|
|
75578
|
+
* @returns whether the gateway accepted the request.
|
|
75579
|
+
*/
|
|
75580
|
+
async forgotPassword(email) {
|
|
75581
|
+
return forgotPassword(this.accountRemotesHost, email);
|
|
75582
|
+
}
|
|
75583
|
+
/**
|
|
75584
|
+
* Replace a password using the emailed reset code.
|
|
75585
|
+
* @param input - the address, the emailed code, and the new password.
|
|
75586
|
+
* @returns whether the gateway accepted the new password.
|
|
75587
|
+
*/
|
|
75588
|
+
async resetPassword(input) {
|
|
75589
|
+
return resetPassword(this.accountRemotesHost, input);
|
|
75590
|
+
}
|
|
75591
|
+
/**
|
|
75477
75592
|
* Sign in with a password, keeping the issued tokens in the Host vault.
|
|
75478
75593
|
* @param input - credentials and the remember-me intent of this attempt.
|
|
75479
75594
|
* @returns the account snapshot after the sign-in.
|