@eddyskywalker/dsh-chatgpt-subscription 0.18.0 → 0.19.0

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.
Files changed (65) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +103 -1
  3. package/lib/client.js +1543 -269
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.js +9092 -2555
  6. package/lib/types/client/glm-coding-plan/GlmCodingPlanComposerQuota.d.ts +27 -0
  7. package/lib/types/client/glm-coding-plan/GlmCodingPlanComposerQuota.d.ts.map +1 -0
  8. package/lib/types/client/glm-coding-plan/GlmCodingPlanSection.d.ts +22 -0
  9. package/lib/types/client/glm-coding-plan/GlmCodingPlanSection.d.ts.map +1 -0
  10. package/lib/types/client/glm-coding-plan/api.d.ts +4 -0
  11. package/lib/types/client/glm-coding-plan/api.d.ts.map +1 -0
  12. package/lib/types/client/glm-coding-plan/locales.d.ts +412 -0
  13. package/lib/types/client/glm-coding-plan/locales.d.ts.map +1 -0
  14. package/lib/types/client/glm-coding-plan/styles.d.ts +15 -0
  15. package/lib/types/client/glm-coding-plan/styles.d.ts.map +1 -0
  16. package/lib/types/client/glm-coding-plan/useGlmCodingPlanSection.d.ts +65 -0
  17. package/lib/types/client/glm-coding-plan/useGlmCodingPlanSection.d.ts.map +1 -0
  18. package/lib/types/client/hub/brand-icons.d.ts +7 -5
  19. package/lib/types/client/hub/brand-icons.d.ts.map +1 -1
  20. package/lib/types/client/hub/providers.d.ts.map +1 -1
  21. package/lib/types/client/index.d.ts +2 -0
  22. package/lib/types/client/index.d.ts.map +1 -1
  23. package/lib/types/client/kimi-code/locales.d.ts +2 -2
  24. package/lib/types/client/minimax-code/locales.d.ts +2 -2
  25. package/lib/types/host/antigravity/oauth.d.ts +11 -1
  26. package/lib/types/host/antigravity/oauth.d.ts.map +1 -1
  27. package/lib/types/host/common/model-request-control.d.ts +1 -1
  28. package/lib/types/host/common/model-request-control.d.ts.map +1 -1
  29. package/lib/types/host/common/request-diagnostics.d.ts +1 -1
  30. package/lib/types/host/common/request-diagnostics.d.ts.map +1 -1
  31. package/lib/types/host/glm-coding-plan/account-pool.d.ts +152 -0
  32. package/lib/types/host/glm-coding-plan/account-pool.d.ts.map +1 -0
  33. package/lib/types/host/glm-coding-plan/adapter.d.ts +169 -0
  34. package/lib/types/host/glm-coding-plan/adapter.d.ts.map +1 -0
  35. package/lib/types/host/glm-coding-plan/adopt.d.ts +354 -0
  36. package/lib/types/host/glm-coding-plan/adopt.d.ts.map +1 -0
  37. package/lib/types/host/glm-coding-plan/biz-token-cache.d.ts +99 -0
  38. package/lib/types/host/glm-coding-plan/biz-token-cache.d.ts.map +1 -0
  39. package/lib/types/host/glm-coding-plan/client.d.ts +218 -0
  40. package/lib/types/host/glm-coding-plan/client.d.ts.map +1 -0
  41. package/lib/types/host/glm-coding-plan/exchange.d.ts +223 -0
  42. package/lib/types/host/glm-coding-plan/exchange.d.ts.map +1 -0
  43. package/lib/types/host/glm-coding-plan/mapper-anthropic.d.ts +308 -0
  44. package/lib/types/host/glm-coding-plan/mapper-anthropic.d.ts.map +1 -0
  45. package/lib/types/host/glm-coding-plan/mapper-openai.d.ts +213 -0
  46. package/lib/types/host/glm-coding-plan/mapper-openai.d.ts.map +1 -0
  47. package/lib/types/host/glm-coding-plan/model-catalog.d.ts +232 -0
  48. package/lib/types/host/glm-coding-plan/model-catalog.d.ts.map +1 -0
  49. package/lib/types/host/glm-coding-plan/oauth.d.ts +211 -0
  50. package/lib/types/host/glm-coding-plan/oauth.d.ts.map +1 -0
  51. package/lib/types/host/glm-coding-plan/routes.d.ts +93 -0
  52. package/lib/types/host/glm-coding-plan/routes.d.ts.map +1 -0
  53. package/lib/types/host/glm-coding-plan/signing.d.ts +323 -0
  54. package/lib/types/host/glm-coding-plan/signing.d.ts.map +1 -0
  55. package/lib/types/host/glm-coding-plan/token-store.d.ts +202 -0
  56. package/lib/types/host/glm-coding-plan/token-store.d.ts.map +1 -0
  57. package/lib/types/host/glm-coding-plan/types.d.ts +413 -0
  58. package/lib/types/host/glm-coding-plan/types.d.ts.map +1 -0
  59. package/lib/types/host/kimi-code/routes.d.ts +10 -0
  60. package/lib/types/host/kimi-code/routes.d.ts.map +1 -1
  61. package/lib/types/index.d.ts +9 -0
  62. package/lib/types/index.d.ts.map +1 -1
  63. package/lib/types/shared/glm-coding-plan-contracts.d.ts +315 -0
  64. package/lib/types/shared/glm-coding-plan-contracts.d.ts.map +1 -0
  65. package/package.json +1 -1
@@ -0,0 +1,315 @@
1
+ /**
2
+ * GLM(ZCode 账号)线路的共享契约。
3
+ *
4
+ * host 与 client 两半只依赖本文件的类型与常量,互不 import。
5
+ * 本文件由调度者冻结:类型名与常量名不得更改,可追加。
6
+ *
7
+ * 边界精神与 `account-pool-contracts.ts` 首行一致:这里的一切都是公开信息,
8
+ * **任何凭据都不越过这条边界**。OAuth access_token、业务 JWT(zcodejwttoken)、
9
+ * 兑换链换出的 Coding Plan Key(`{apiKey}.{secretKey}`)、pollToken 一律不出现在
10
+ * 下列任何类型里;手工粘贴兜底的请求体也正因如此**刻意不在本文件声明**——
11
+ * 它必然带凭据,由 host 侧自行解析,不进冻结契约。
12
+ *
13
+ * 取值依据:`docs/glm-zcode-line-plan.md` §3(逐字证据)、§4(决策 D1-D9)。
14
+ */
15
+ import type { AccountPoolStatusDto, PoolAccountSummaryDto } from './account-pool-contracts.ts';
16
+ /** 线路 id。与用户自建的 `zai` / `zhipu` 兼容路由、已退役的 `zhipu-coding-plan` 都不同名(D1)。 */
17
+ export declare const GLM_CODING_PLAN_PROVIDER_ID = "glm-coding-plan";
18
+ /** 设置卡片与 hub 卡片上显示的名字(D1)。 */
19
+ export declare const GLM_CODING_PLAN_PROVIDER_NAME = "GLM\uFF08ZCode \u8D26\u53F7\uFF09";
20
+ /**
21
+ * 路由前缀(host 暴露、client 消费)。
22
+ *
23
+ * 与其余各订阅线路一致:每条线路把自己的设置面挂在 `/<line>/api` 下,
24
+ * 不挂到 Codex 那条线路的 `/api/dsh-chatgpt-subscription` 前缀下面。
25
+ */
26
+ export declare const GLM_CODING_PLAN_ROUTE_PREFIX = "/glm-coding-plan/api";
27
+ /**
28
+ * 账号所属区域。
29
+ *
30
+ * 两个部署彼此独立:一区铸造的 Coding Plan Key 会被另一区拒绝,所以区域是**凭据的属性**
31
+ * 而不是请求的属性,一个号池可以同时持有两区账号且互不串用(计划 §1、§3.3、§8.2)。
32
+ *
33
+ * - `cn`:国区智谱开放平台(业务 bigmodel.cn / 模型 open.bigmodel.cn)
34
+ * - `intl`:国际区 Z.ai(业务与模型同为 api.z.ai)
35
+ */
36
+ export type GlmRegion = 'cn' | 'intl';
37
+ /**
38
+ * 该模型走哪个协议面(D3:双协议,逐模型声明)。
39
+ *
40
+ * 官方 Coding Plan 同时提供 Anthropic 兼容面与 OpenAI 兼容面,但**不是每个模型都上两面**,
41
+ * 所以协议归属由模型目录逐行声明;未知模型不猜协议(D3 明确要求)。
42
+ */
43
+ export type GlmWire = 'anthropic' | 'openai';
44
+ /**
45
+ * 本线路能命名的思考档位。
46
+ *
47
+ * GLM-5.x 家族在 Coding Plan 上只接受 `low` / `high` / `max` 三档,
48
+ * 其它取值上游直接报错(计划 §3.5 前的历史转录、9ad8a53 `CODING_EFFORTS`)。
49
+ */
50
+ export type GlmReasoningEffort = 'low' | 'high' | 'max';
51
+ /**
52
+ * 线路级档位词汇表,从低到高。
53
+ *
54
+ * 设置卡片只渲染这一份列表——它是**线路级词汇表**,不是某个模型的能力表。
55
+ * 某个模型真实接受哪些档位由 `GlmModelOption.reasoningEfforts` 单独给出;
56
+ * 把两者合成一份会让卡片在给一个只认 `low` 的模型显示 `max` 时,
57
+ * 无从判断是模型不支持还是文案没写。
58
+ */
59
+ export declare const GLM_REASONING_EFFORTS: readonly GlmReasoningEffort[];
60
+ /** 区域参数是否落在这条线路认识的部署上(供 route 层校验自由输入的 region)。 */
61
+ export declare function isGlmRegion(value: unknown): value is GlmRegion;
62
+ /** 协议面参数是否是这条线路的两种面之一。 */
63
+ export declare function isGlmWire(value: unknown): value is GlmWire;
64
+ /**
65
+ * 配额窗口的稳定标识。
66
+ *
67
+ * 取值直接对应上游 `/api/monitor/usage/quota/limit` 的 `unit` 字段
68
+ * (计划 §3.4,证据等级 A):
69
+ *
70
+ * - `five-hour` ← unit 3(5 小时滚动窗口)
71
+ * - `monthly` ← unit 5
72
+ * - `weekly` ← unit 6
73
+ *
74
+ * 刻意是封闭联合而不是自由字符串:未知 unit **不下发、不发明窗口**
75
+ * (计划 §3.4 引用 dsh-usage `glmPlan()` 的解析语义),
76
+ * 做成 `string` 等于把「不发明」这条规则从类型上撤掉。
77
+ */
78
+ export type GlmQuotaWindowKey = 'five-hour' | 'weekly' | 'monthly';
79
+ /**
80
+ * 账号当前**用的是什么额度**。
81
+ *
82
+ * 官方文档(逐字:zcode.z.ai/cn/docs/configuration):新用户连接 BigModel 账号后自动获得
83
+ * 「体验套餐:无需付费,在首次使用起的 5 天内,每天提供 800 万 token 的 GLM 系列模型体验额度」;
84
+ * welcome 页同样写明「新用户可享受每日免费的 GLM 旗舰模型体验额度」。
85
+ * 所以**「没有付费 Coding Plan」不等于「没有额度」**——这条类型就是为如实区分两者而存在的。
86
+ *
87
+ * - `plan`:配额面给出付费套餐的机器档位(lite / pro / max)。
88
+ * - `free-trial`:探活被配额面明确拒绝,但拒绝原因是**套餐/额度**维度(无余额、套餐不含该
89
+ * API、套餐失效、额度用尽),不是凭据本身无效。按上面的官方文档,这类账号应放行并由上游
90
+ * 在额度耗尽时以 429 告知。
91
+ * - `unknown`:探活结果不足以区分「凭据无效」与「没有付费套餐」时的**保守取值**。
92
+ *
93
+ * **未验证**:`free-trial` 与 `unknown` 的分界依赖上游在「凭据无效」时是否一定给出鉴权类
94
+ * 业务码(1000 / 1001 / 1003)。本插件没有实机账号,无法确认;因此 `unknown` 这一档存在的
95
+ * 意义就是「分不出来时不假装知道」。
96
+ */
97
+ export type GlmAllowanceKind = 'plan' | 'free-trial' | 'unknown';
98
+ /** 额度类型参数是否落在本线路认识的三个取值上。 */
99
+ export declare function isGlmAllowanceKind(value: unknown): value is GlmAllowanceKind;
100
+ /**
101
+ * 一个配额窗口。
102
+ *
103
+ * 呈现单位是「已用百分比」而不是「剩余百分比」:额度型套餐(CREDIT_LIMIT)
104
+ * 的比例 = `currentValue`/`usage`,与 token 型(TOKENS_LIMIT)不同源,
105
+ * 归一成本线路统一的一个已用百分比才能画同一条进度条。
106
+ */
107
+ export interface GlmQuotaWindow {
108
+ /** 上游 `unit` 映射出的窗口标识,由客户端本地化成窗口名。 */
109
+ key: GlmQuotaWindowKey;
110
+ /** 已用百分比,0-100。上游没给出有界额度时为 null。 */
111
+ usedPercent: number | null;
112
+ /** 该窗口重置的绝对时刻(Unix 毫秒);上游未给出时为 null。 */
113
+ resetsAt: number | null;
114
+ }
115
+ /** 某一时刻的整份配额快照。 */
116
+ export interface GlmQuotaSnapshotDto {
117
+ /** 展示用套餐名(订阅列表给出时才有)。 */
118
+ planName: string | null;
119
+ /** `data.level` 的机器档位:lite / pro / max(计划 §3.4,证据等级 A)。 */
120
+ planLevel: string | null;
121
+ windows: GlmQuotaWindow[];
122
+ /** 套餐续费时刻(Unix 毫秒);上游未给出时为 null。 */
123
+ renewsAt: number | null;
124
+ /** 本次读取时刻(Unix 毫秒),卡片据此判断数据新旧。 */
125
+ fetchedAt: number;
126
+ /** 实际应答的端点路径,供设置卡片诊断。 */
127
+ sources: string[];
128
+ /**
129
+ * 当前这份快照背后用的是付费套餐还是免费体验额度。
130
+ *
131
+ * 可选是为了**不破坏既有构造点**:旧版本 host / 旧快照里没有这个键时,
132
+ * 客户端按 'unknown' 渲染(见客户端本地化),而不是假装是付费套餐。
133
+ */
134
+ allowance?: GlmAllowanceKind;
135
+ }
136
+ /**
137
+ * 设置卡片渲染的一行模型(计划 §7:图标 + 名称 + 一句话描述 + 行尾勾)。
138
+ *
139
+ * 能力**不得从模型名推断**(计划 §1、§7):`glm-5.3-flash` 收图而 `glm-5.3` 不收、
140
+ * `glm-5.2` 两个档位而 `glm-5.3` 三个,都是历史草案记录过的反例。
141
+ */
142
+ export interface GlmModelOption {
143
+ id: string;
144
+ name: string;
145
+ /** 一句话能力描述:思考形态 / 可选档位 / 输入模态 / 上下文窗口。 */
146
+ hint: string;
147
+ /** 是否由 DSH 提供给会话模型选择器。 */
148
+ enabled: boolean;
149
+ /** 目录声明的默认上下文窗口(token)。 */
150
+ defaultContextWindow: number;
151
+ /** 生效窗口:有覆盖值时用覆盖值,否则等于 `defaultContextWindow`。 */
152
+ contextWindow: number;
153
+ /** 调用方不指定时,本线路请求的输出上限。 */
154
+ defaultMaxTokens: number;
155
+ /**
156
+ * 该模型**真实**接受的思考档位;空数组表示它不接受 `reasoning_effort`。
157
+ *
158
+ * 这是「模型真实梯子」,与 `GLM_REASONING_EFFORTS`(线路级词汇表)是两回事。
159
+ */
160
+ reasoningEfforts: readonly GlmReasoningEffort[];
161
+ /** 思考能否关闭。与上一条正交:档位非空而本项为 false = 恒定开启。 */
162
+ thinkingDisableable: boolean;
163
+ /** 该模型走哪个协议面。 */
164
+ wire: GlmWire;
165
+ /** 是否接受 image 输入。 */
166
+ supportsImages: boolean;
167
+ /** 服务该模型的区域;账号自身区域必须落在其中(R8:两区模型 id 不一致)。 */
168
+ regions: readonly GlmRegion[];
169
+ /** 官方描述;目录没有时为 null。 */
170
+ description: string | null;
171
+ }
172
+ /**
173
+ * 一个池内账号的展示行。
174
+ *
175
+ * 扩展共享的 `PoolAccountSummaryDto`,因此同样只带非机密信息:
176
+ * 这里没有任何字段派生自 OAuth token、业务 JWT 或 Coding Plan Key,
177
+ * 连「Key 的后四位」这类片段也不给。
178
+ */
179
+ export interface GlmAccountSummaryDto extends PoolAccountSummaryDto {
180
+ /** 该账号登录的部署;区域属于凭据,池内可混有 cn 与 intl。 */
181
+ region: GlmRegion;
182
+ /** 兑换链解析出的默认机构 id(非机密,用于诊断两区是否串号)。 */
183
+ organizationId?: string;
184
+ /** 控制台侧的账号显示名。 */
185
+ accountName?: string;
186
+ }
187
+ /** 账号身份(设置卡片渲染用),不带任何凭据。 */
188
+ export interface GlmAccountDto {
189
+ /** 稳定、非机密的选中键。 */
190
+ id: string;
191
+ /** 上游 `user.user_id`。 */
192
+ userId: string | null;
193
+ /** 上游 `user.email`。 */
194
+ email: string | null;
195
+ /** 上游 `user.name`。 */
196
+ displayName: string | null;
197
+ region: GlmRegion;
198
+ /** Unix 毫秒;本插件不落 `user.avatar` 的原始字节,只保留是否已取到。 */
199
+ authenticatedAt: number | null;
200
+ }
201
+ /**
202
+ * 浏览器 OAuth 登录流程的实时状态,卡片轮询它。
203
+ *
204
+ * 浏览器不是卡片能控制的东西,所以流程跑在 host 上,卡片只跟随这里
205
+ * (与其余各线路的登录面同构)。
206
+ *
207
+ * `authorizeUrl` 始终下发,即使 host 同时打开过浏览器——启动失败时用户还能手动打开。
208
+ */
209
+ export interface GlmLoginFlowStatus {
210
+ status: 'idle' | 'pending' | 'complete' | 'error';
211
+ /** 本次流程要登录的部署。 */
212
+ region?: GlmRegion;
213
+ /** 浏览器必须打开的授权页(已带上 appId / client_id 参数)。 */
214
+ authorizeUrl?: string;
215
+ startedAt?: number;
216
+ completedAt?: number;
217
+ /** 上游 `expires_at` 换算出的绝对时刻(Unix 毫秒);总超时以它为上界。 */
218
+ expiresAt?: number;
219
+ /** 上游 `poll_interval_sec`;客户端据此显示「每 N 秒查询一次」。 */
220
+ pollIntervalSec?: number;
221
+ /** pending 阶段的人类可读进度。 */
222
+ progress?: string;
223
+ /** 流程完成后账号的邮箱。 */
224
+ email?: string;
225
+ /** 失败原因(面向用户,不是堆栈)。 */
226
+ error?: string;
227
+ /**
228
+ * 本次失败是否值得自动回落。
229
+ *
230
+ * 轮询错误语义(计划 §3.1,证据等级 B):4xx(除 408/429)、信封 `code !== 0`、
231
+ * 未知 status 都是**致命**;5xx / 网络错误 / 畸形 200 按 pending 重试。
232
+ */
233
+ retryable?: boolean;
234
+ }
235
+ /** 设置面接受的补丁。 */
236
+ export interface GlmSettingsUpdateDto {
237
+ enabled?: boolean;
238
+ enabledModelIds?: string[];
239
+ /** 数字表示为该模型设置覆盖值;`null` 恢复目录默认。 */
240
+ contextWindowOverrides?: Record<string, number | null>;
241
+ /** `null` 表示各模型用自己的默认档位。 */
242
+ defaultReasoningEffort?: GlmReasoningEffort | null;
243
+ /** 手动指定下一个请求使用的账号;`null` 交回号池调度。 */
244
+ selectedAccountId?: string | null;
245
+ }
246
+ /** 显式连通性测试的结果。 */
247
+ export interface GlmConnectionDto {
248
+ connected: boolean;
249
+ /** 探测请求的往返耗时。 */
250
+ latencyMs: number;
251
+ /** 探测用到的账号;未登录时为 null。 */
252
+ account: GlmAccountSummaryDto | null;
253
+ /** 探测所用的模型。 */
254
+ model: string | null;
255
+ checkedAt: number;
256
+ /** 失败原因(面向用户)。 */
257
+ error?: string;
258
+ }
259
+ /**
260
+ * adopt(本机已登录的 ZCode 客户端登录态)的一次尝试结果。
261
+ *
262
+ * adopt 只是省一次登录的快捷路径,**失败永不阻断**(计划 D6、R6):
263
+ * 每个 `reason` 对应一种「回落浏览器登录」的说明,卡片据此给出不同的下一步。
264
+ */
265
+ export interface GlmAdoptResultDto {
266
+ /** 是否真的尝试了 adopt(没找到凭据文件时为 false)。 */
267
+ attempted: boolean;
268
+ /** 是否拿到可用登录态。 */
269
+ adopted: boolean;
270
+ reason?: 'no-credentials-file' | 'secret-unavailable' | 'decrypt-failed' | 'token-expired' | 'exchange-failed' | 'not-a-zcode-login';
271
+ /** 成功时采用的部署。 */
272
+ region?: GlmRegion;
273
+ }
274
+ /**
275
+ * 设置卡片与 composer 徽标渲染所需的全部状态。
276
+ *
277
+ * 继承共享的号池切片,因此每条元素只带非机密展示信息;令牌永远不过这条边界。
278
+ */
279
+ export interface GlmStatusDto extends Partial<AccountPoolStatusDto> {
280
+ /** 线路总开关;关闭时适配器不暴露任何模型。 */
281
+ enabled?: boolean;
282
+ authenticated: boolean;
283
+ hasCredentials: boolean;
284
+ providerId: typeof GLM_CODING_PLAN_PROVIDER_ID;
285
+ /** 凭据存储位置说明(Windows DPAPI / macOS Keychain / Linux SecretService)。 */
286
+ storagePath: string;
287
+ /** 下一次登录要用的部署。 */
288
+ region: GlmRegion;
289
+ account: GlmAccountDto | null;
290
+ /** 无可用快照时为 null,UI 应优雅降级。 */
291
+ quota: GlmQuotaSnapshotDto | null;
292
+ lastFetchedAt: number | null;
293
+ /** 本次应答背后是否正在刷新配额。 */
294
+ quotaRefreshing?: boolean;
295
+ /** 配额读取失败的原因;与快照并列给出,而不是互相取代。 */
296
+ quotaError?: string | null;
297
+ models: GlmModelOption[];
298
+ contextWindowOverrides: Record<string, number>;
299
+ defaultReasoningEffort: GlmReasoningEffort | null;
300
+ /** 当前进行中的登录流程;无流程时为 null。 */
301
+ login?: GlmLoginFlowStatus | null;
302
+ /**
303
+ * 登录落盘时探活认定的额度类型(付费套餐 / 免费体验额度 / 未判定)。
304
+ *
305
+ * 与 `quota.allowance` 分开给:免费额度账号很可能**读不到配额快照**
306
+ * (配额接口本身可能就是它拒绝服务的那一面),那时只有这一项能诚实地告诉用户
307
+ * 「你是免费体验额度,不是付费套餐」。
308
+ */
309
+ allowance?: GlmAllowanceKind;
310
+ /** 本插件是否正在服务该 Provider 路由。 */
311
+ serving: boolean;
312
+ /** 路由被别的适配器占用时的诊断文案。 */
313
+ conflict: string | null;
314
+ }
315
+ //# sourceMappingURL=glm-coding-plan-contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glm-coding-plan-contracts.d.ts","sourceRoot":"","sources":["../../../src/shared/glm-coding-plan-contracts.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eddyskywalker/dsh-chatgpt-subscription",
3
- "version": "0.18.0",
3
+ "version": "0.19.0",
4
4
  "description": "DSH provider plugin for Codex access through a ChatGPT subscription.",
5
5
  "author": {
6
6
  "name": "eddyskywalker",