@indigoai-us/hq-cloud 6.18.96 → 6.18.98
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/bin/sync-runner-company.d.ts.map +1 -1
- package/dist/bin/sync-runner-company.js +7 -0
- package/dist/bin/sync-runner-company.js.map +1 -1
- package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
- package/dist/bin/sync-runner-watch-loop.js +50 -3
- package/dist/bin/sync-runner-watch-loop.js.map +1 -1
- package/dist/bin/sync-runner.d.ts +3 -0
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +1 -0
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/cli/rescue-core.d.ts +3 -2
- package/dist/cli/rescue-core.d.ts.map +1 -1
- package/dist/cli/rescue-core.js +144 -21
- package/dist/cli/rescue-core.js.map +1 -1
- package/dist/cli/rescue.d.ts +1 -1
- package/dist/cli/rescue.d.ts.map +1 -1
- package/dist/cli/rescue.js +4 -9
- package/dist/cli/rescue.js.map +1 -1
- package/dist/cli/share.d.ts +5 -0
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +120 -15
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/sync.d.ts +18 -2
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +55 -4
- package/dist/cli/sync.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/object-io.d.ts +2 -3
- package/dist/object-io.d.ts.map +1 -1
- package/dist/object-io.js +15 -4
- package/dist/object-io.js.map +1 -1
- package/dist/plan-limit-pause.d.ts +19 -3
- package/dist/plan-limit-pause.d.ts.map +1 -1
- package/dist/plan-limit-pause.js +80 -10
- package/dist/plan-limit-pause.js.map +1 -1
- package/dist/plan-limit.d.ts +51 -5
- package/dist/plan-limit.d.ts.map +1 -1
- package/dist/plan-limit.js +79 -5
- package/dist/plan-limit.js.map +1 -1
- package/dist/s3.d.ts +2 -0
- package/dist/s3.d.ts.map +1 -1
- package/dist/s3.js +4 -2
- package/dist/s3.js.map +1 -1
- package/dist/sync-object-events.d.ts +61 -0
- package/dist/sync-object-events.d.ts.map +1 -0
- package/dist/sync-object-events.js +138 -0
- package/dist/sync-object-events.js.map +1 -0
- package/dist/sync-pass-event.d.ts +45 -0
- package/dist/sync-pass-event.d.ts.map +1 -0
- package/dist/sync-pass-event.js +102 -0
- package/dist/sync-pass-event.js.map +1 -0
- package/dist/sync-request-counter.d.ts +13 -0
- package/dist/sync-request-counter.d.ts.map +1 -0
- package/dist/sync-request-counter.js +29 -0
- package/dist/sync-request-counter.js.map +1 -0
- package/dist/test-fixtures/noop-sync-object-events.d.ts +6 -0
- package/dist/test-fixtures/noop-sync-object-events.d.ts.map +1 -0
- package/dist/test-fixtures/noop-sync-object-events.js +22 -0
- package/dist/test-fixtures/noop-sync-object-events.js.map +1 -0
- package/dist/vault-client.d.ts.map +1 -1
- package/dist/vault-client.js +4 -0
- package/dist/vault-client.js.map +1 -1
- package/package.json +1 -1
package/dist/plan-limit-pause.js
CHANGED
|
@@ -15,6 +15,18 @@
|
|
|
15
15
|
* dropped), or
|
|
16
16
|
* - a client that changed the plan calls {@link clearPlanLimitPauses}.
|
|
17
17
|
*
|
|
18
|
+
* Whole-company usage pause (usage-only-pricing US-024). When a company
|
|
19
|
+
* vault's refusal carries a `usagePause` block (trial cap, card required,
|
|
20
|
+
* spend limit), hq-pro refuses every upload to that company, not only the
|
|
21
|
+
* files it named. The record then also holds one vault-wide stamp
|
|
22
|
+
* (`vaultPausedAt`) and every path in the vault counts as paused, so new and
|
|
23
|
+
* edited files are skipped without a presign too. The server owns the pause:
|
|
24
|
+
* this record only mirrors it. It is lifted the same ways as a file pause:
|
|
25
|
+
* the once-per-pass admission check answers `allowed` (the owner added a
|
|
26
|
+
* card or raised the limit), an upload succeeds, a client calls
|
|
27
|
+
* {@link clearPlanLimitPauses}, or the retry window lapses. A personal vault
|
|
28
|
+
* has no admission check, so it keeps per-file pauses only.
|
|
29
|
+
*
|
|
18
30
|
* A pause whose stamp lies in the future (the clock moved backwards, or the
|
|
19
31
|
* record came from a machine with a skewed clock) has no effect and is pruned,
|
|
20
32
|
* so a pause can never last longer than {@link PLAN_LIMIT_PAUSE_RETRY_MS}.
|
|
@@ -32,6 +44,10 @@ export const PLAN_LIMIT_PAUSE_RETRY_MS = 60 * 60 * 1000;
|
|
|
32
44
|
const FILE_PREFIX = "plan-limit-pause.";
|
|
33
45
|
const FILE_SUFFIX = ".json";
|
|
34
46
|
const SCHEMA_VERSION = 1;
|
|
47
|
+
/** Only a company vault with a usage refusal is paused as a whole. */
|
|
48
|
+
function canPauseVault(scope, refusal) {
|
|
49
|
+
return scope.startsWith("cmp_") && refusal?.usagePause !== undefined;
|
|
50
|
+
}
|
|
35
51
|
let clock = () => Date.now();
|
|
36
52
|
/** Test-only clock override; `null` restores `Date.now`. */
|
|
37
53
|
export function setPlanLimitPauseClockForTesting(now) {
|
|
@@ -85,7 +101,13 @@ function readPauseFile(file, scope) {
|
|
|
85
101
|
paths[key] = { pausedAt: entry.pausedAt };
|
|
86
102
|
}
|
|
87
103
|
}
|
|
88
|
-
|
|
104
|
+
const data = { version: SCHEMA_VERSION, scope, refusal, paths };
|
|
105
|
+
if (canPauseVault(scope, refusal) &&
|
|
106
|
+
typeof parsed.vaultPausedAt === "string" &&
|
|
107
|
+
!Number.isNaN(Date.parse(parsed.vaultPausedAt))) {
|
|
108
|
+
data.vaultPausedAt = parsed.vaultPausedAt;
|
|
109
|
+
}
|
|
110
|
+
return data;
|
|
89
111
|
}
|
|
90
112
|
catch {
|
|
91
113
|
return empty;
|
|
@@ -146,9 +168,27 @@ export class PlanLimitPauseStore {
|
|
|
146
168
|
*/
|
|
147
169
|
pausedUntil(relativePath, now = planLimitPauseNow()) {
|
|
148
170
|
const entry = this.data.paths[relativePath];
|
|
149
|
-
|
|
171
|
+
const fileUntil = entry ? activeUntil(entry, now) : undefined;
|
|
172
|
+
const vaultUntil = this.vaultPausedUntil(now);
|
|
173
|
+
if (fileUntil === undefined)
|
|
174
|
+
return vaultUntil;
|
|
175
|
+
if (vaultUntil === undefined)
|
|
176
|
+
return fileUntil;
|
|
177
|
+
return Math.max(fileUntil, vaultUntil);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* End of the whole-company usage pause if it is in effect at `now`, else
|
|
181
|
+
* undefined. While it is in effect every path in the vault is paused.
|
|
182
|
+
*/
|
|
183
|
+
vaultPausedUntil(now = planLimitPauseNow()) {
|
|
184
|
+
const pausedAt = this.data.vaultPausedAt;
|
|
185
|
+
if (pausedAt === undefined)
|
|
150
186
|
return undefined;
|
|
151
|
-
return activeUntil(
|
|
187
|
+
return activeUntil({ pausedAt }, now);
|
|
188
|
+
}
|
|
189
|
+
/** True while the whole company vault is paused for usage at `now`. */
|
|
190
|
+
isVaultPaused(now = planLimitPauseNow()) {
|
|
191
|
+
return this.vaultPausedUntil(now) !== undefined;
|
|
152
192
|
}
|
|
153
193
|
/** True while `relativePath` is inside its pause window at `now`. */
|
|
154
194
|
isPaused(relativePath, now = planLimitPauseNow()) {
|
|
@@ -156,17 +196,40 @@ export class PlanLimitPauseStore {
|
|
|
156
196
|
}
|
|
157
197
|
/** True when any recorded path is paused at `now`. */
|
|
158
198
|
hasActivePauses(now = planLimitPauseNow()) {
|
|
159
|
-
return
|
|
199
|
+
return (this.isVaultPaused(now) ||
|
|
200
|
+
Object.values(this.data.paths).some((entry) => activeUntil(entry, now) !== undefined));
|
|
160
201
|
}
|
|
161
202
|
/**
|
|
162
203
|
* Replace the stored refusal details (for example with a fresh 402 from an
|
|
163
|
-
* admission check) without restarting any pause window.
|
|
204
|
+
* admission check) without restarting any pause window. A fresh usage
|
|
205
|
+
* refusal for a company vault with paused files pauses the whole vault from
|
|
206
|
+
* `now`; a fresh refusal without a usage pause ends the whole-vault pause
|
|
207
|
+
* (the server no longer reports one), leaving the per-file pauses.
|
|
164
208
|
*/
|
|
165
|
-
refreshRefusal(refusal) {
|
|
166
|
-
if (this.size === 0)
|
|
209
|
+
refreshRefusal(refusal, now = planLimitPauseNow()) {
|
|
210
|
+
if (this.size === 0 && this.data.vaultPausedAt === undefined)
|
|
167
211
|
return;
|
|
168
212
|
this.data.refusal = refusal;
|
|
213
|
+
if (!canPauseVault(this.data.scope, refusal)) {
|
|
214
|
+
delete this.data.vaultPausedAt;
|
|
215
|
+
}
|
|
216
|
+
else if (this.vaultPausedUntil(now) === undefined) {
|
|
217
|
+
this.data.vaultPausedAt = new Date(now).toISOString();
|
|
218
|
+
}
|
|
219
|
+
this.dirty = true;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Pause every upload to this company vault at `now`, because the server
|
|
223
|
+
* refused with a usage pause (`refusal.usagePause`). No-op, returning false,
|
|
224
|
+
* for a personal vault or a refusal without a usage pause.
|
|
225
|
+
*/
|
|
226
|
+
pauseVault(refusal, now) {
|
|
227
|
+
if (!canPauseVault(this.data.scope, refusal))
|
|
228
|
+
return false;
|
|
229
|
+
this.data.vaultPausedAt = new Date(now).toISOString();
|
|
230
|
+
this.data.refusal = refusal;
|
|
169
231
|
this.dirty = true;
|
|
232
|
+
return true;
|
|
170
233
|
}
|
|
171
234
|
/** Record `paths` as refused at `now`, restarting their pause window. */
|
|
172
235
|
pause(paths, refusal, now) {
|
|
@@ -178,10 +241,13 @@ export class PlanLimitPauseStore {
|
|
|
178
241
|
this.data.refusal = refusal;
|
|
179
242
|
this.dirty = true;
|
|
180
243
|
}
|
|
181
|
-
/** Drop every pause: the plan state changed. */
|
|
244
|
+
/** Drop every pause, the whole-vault one included: the plan state changed. */
|
|
182
245
|
clear() {
|
|
183
|
-
if (this.size === 0 &&
|
|
246
|
+
if (this.size === 0 &&
|
|
247
|
+
this.data.refusal === undefined &&
|
|
248
|
+
this.data.vaultPausedAt === undefined) {
|
|
184
249
|
return;
|
|
250
|
+
}
|
|
185
251
|
this.data = { version: SCHEMA_VERSION, scope: this.data.scope, paths: {} };
|
|
186
252
|
this.dirty = true;
|
|
187
253
|
}
|
|
@@ -198,11 +264,15 @@ export class PlanLimitPauseStore {
|
|
|
198
264
|
this.dirty = true;
|
|
199
265
|
}
|
|
200
266
|
}
|
|
267
|
+
if (this.data.vaultPausedAt !== undefined && this.vaultPausedUntil(now) === undefined) {
|
|
268
|
+
delete this.data.vaultPausedAt;
|
|
269
|
+
this.dirty = true;
|
|
270
|
+
}
|
|
201
271
|
if (!this.dirty || this.file === null)
|
|
202
272
|
return;
|
|
203
273
|
this.dirty = false;
|
|
204
274
|
try {
|
|
205
|
-
if (this.size === 0) {
|
|
275
|
+
if (this.size === 0 && this.data.vaultPausedAt === undefined) {
|
|
206
276
|
fs.rmSync(this.file, { force: true });
|
|
207
277
|
return;
|
|
208
278
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-limit-pause.js","sourceRoot":"","sources":["../src/plan-limit-pause.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plan-limit-pause.js","sourceRoot":"","sources":["../src/plan-limit-pause.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAyB,MAAM,iBAAiB,CAAC;AAE/E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAExD,MAAM,WAAW,GAAG,mBAAmB,CAAC;AACxC,MAAM,WAAW,GAAG,OAAO,CAAC;AAC5B,MAAM,cAAc,GAAG,CAAC,CAAC;AAkBzB,sEAAsE;AACtE,SAAS,aAAa,CAAC,KAAa,EAAE,OAAqC;IACzE,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,UAAU,KAAK,SAAS,CAAC;AACvE,CAAC;AAED,IAAI,KAAK,GAAiB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAE3C,4DAA4D;AAC5D,MAAM,UAAU,gCAAgC,CAC9C,GAA0B;IAE1B,KAAK,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,oCAAoC,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,IAAI,CAAC,IAAI,CACd,WAAW,EAAE,EACb,GAAG,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,WAAW,EAAE,CACtD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAa;IAChD,MAAM,KAAK,GAAc,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvE,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IACE,CAAC,QAAQ,CAAC,MAAM,CAAC;YACjB,MAAM,CAAC,OAAO,KAAK,cAAc;YACjC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACvB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,yEAAyE;QACzE,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,MAAM,KAAK,GAAmC,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,IACE,QAAQ,CAAC,KAAK,CAAC;gBACf,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAClC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EACzC,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAc,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3E,IACE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC;YAC7B,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;YACxC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAC/C,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,SAAS,WAAW,CAAC,KAAqB,EAAE,GAAW;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,GAAG;QAAE,OAAO,SAAS,CAAC;IAC/D,MAAM,KAAK,GAAG,QAAQ,GAAG,yBAAyB,CAAC;IACnD,IAAI,KAAK,GAAG,GAAG,GAAG,yBAAyB,IAAI,GAAG,IAAI,KAAK;QAAE,OAAO,SAAS,CAAC;IAC9E,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAC9B,6EAA6E;IAC5D,IAAI,CAAgB;IAC7B,IAAI,CAAY;IAChB,KAAK,GAAG,KAAK,CAAC;IAEtB,YAAoB,IAAmB,EAAE,IAAe;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,iDAAiD;IACjD,MAAM,CAAC,IAAI,CAAC,KAAa;QACvB,IAAI,IAAmB,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAc,IAAI;YAC1B,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;YAC5B,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAClD,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,yEAAyE;IACzE,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,wEAAwE;IACxE,IAAI,IAAI;QACN,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CACT,YAAoB,EACpB,MAAc,iBAAiB,EAAE;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC;QAC/C,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,MAAc,iBAAiB,EAAE;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC7C,OAAO,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,uEAAuE;IACvE,aAAa,CAAC,MAAc,iBAAiB,EAAE;QAC7C,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;IAClD,CAAC;IAED,qEAAqE;IACrE,QAAQ,CAAC,YAAoB,EAAE,MAAc,iBAAiB,EAAE;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,SAAS,CAAC;IAC3D,CAAC;IAED,sDAAsD;IACtD,eAAe,CAAC,MAAc,iBAAiB,EAAE;QAC/C,OAAO,CACL,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;YACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CACjC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,SAAS,CACjD,CACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,OAAyB,EAAE,MAAc,iBAAiB,EAAE;QACzE,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO;QACrE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACjC,CAAC;aAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAAyB,EAAE,GAAW;QAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,KAAwB,EAAE,OAAyB,EAAE,GAAW;QACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,8EAA8E;IAC9E,KAAK;QACH,IACE,IAAI,CAAC,IAAI,KAAK,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS;YAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,EACrC,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,MAAc,iBAAiB,EAAE;QACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,uDAAuD;YACvD,IAAI,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACtF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO;QAC9C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC7D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;YAC9C,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACzE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;QACvE,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,SAAS;QAC3E,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/plan-limit.d.ts
CHANGED
|
@@ -18,9 +18,24 @@
|
|
|
18
18
|
*
|
|
19
19
|
* A body is a plan-limit refusal only when it carries a plan-limit marker
|
|
20
20
|
* (`error: "plan_limit_reached"`, or `code` of `PLAN_LIMIT_EXCEEDED` /
|
|
21
|
-
* `PLAN_LIMIT_REACHED`) and an `https:` `upgradeUrl
|
|
22
|
-
* never makes a body a plan-limit
|
|
23
|
-
* method) keep their own handling.
|
|
21
|
+
* `PLAN_LIMIT_REACHED`) and an `https:` `upgradeUrl`, or a valid `usagePause`
|
|
22
|
+
* block (below). The HTTP status alone never makes a body a plan-limit
|
|
23
|
+
* refusal: other 402s (billing, payment method) keep their own handling.
|
|
24
|
+
*
|
|
25
|
+
* Usage pauses (usage-only-pricing US-024). A refusal caused by the account's
|
|
26
|
+
* usage state (free-trial cap, card required, monthly spend limit) carries an
|
|
27
|
+
* additive block from hq-pro `src/billing/usage-pause.ts`:
|
|
28
|
+
*
|
|
29
|
+
* `usagePause: { code: "usage_paused", reason, message, actionUrl }`
|
|
30
|
+
*
|
|
31
|
+
* with `reason` one of `usage_trial_cap` | `usage_card_required` |
|
|
32
|
+
* `usage_spend_limit` (the same codes as `billingState.paused.reason`). The
|
|
33
|
+
* legacy top-level fields stay on the body for older clients. When the block
|
|
34
|
+
* is valid it wins: the refusal carries the usage message and action link, no
|
|
35
|
+
* Starter resources, and is rendered without plan-limit or upgrade wording.
|
|
36
|
+
* The server owns the pause: it is set and lifted (card added, limit raised)
|
|
37
|
+
* in hq-pro, and this client only reads it from the refusal and from the
|
|
38
|
+
* admission check.
|
|
24
39
|
*
|
|
25
40
|
* This module has no imports so the vault client, the presign transport and
|
|
26
41
|
* the mutation client can all share it without a cycle.
|
|
@@ -29,6 +44,20 @@
|
|
|
29
44
|
export declare const PLAN_LIMIT_REACHED_ERROR = "plan_limit_reached";
|
|
30
45
|
/** Machine `code` values that mark a plan-limit refusal (current and legacy). */
|
|
31
46
|
export declare const PLAN_LIMIT_CODES: ReadonlySet<string>;
|
|
47
|
+
/** `usagePause.code`: distinct from the Starter plan-limit codes. */
|
|
48
|
+
export declare const USAGE_PAUSE_CODE = "usage_paused";
|
|
49
|
+
/** Why usage state paused the account. Same codes as `billingState.paused.reason`. */
|
|
50
|
+
export type UsagePauseReason = "usage_trial_cap" | "usage_card_required" | "usage_spend_limit";
|
|
51
|
+
export declare const USAGE_PAUSE_REASONS: ReadonlySet<string>;
|
|
52
|
+
/** The usage pause block a refusal carries (hq-pro `usage-pause.ts`). */
|
|
53
|
+
export interface UsagePause {
|
|
54
|
+
code: typeof USAGE_PAUSE_CODE;
|
|
55
|
+
reason: UsagePauseReason;
|
|
56
|
+
/** One plain-language paragraph from the server. No plan names, no upgrade offer. */
|
|
57
|
+
message: string;
|
|
58
|
+
/** Where to act: the company or personal Billing page. Always https. */
|
|
59
|
+
actionUrl: string;
|
|
60
|
+
}
|
|
32
61
|
/** One over-limit resource from the refusal body. */
|
|
33
62
|
export interface PlanLimitResource {
|
|
34
63
|
resource: string;
|
|
@@ -40,6 +69,12 @@ export interface PlanLimitResource {
|
|
|
40
69
|
* the upgrade link, and which resources are over.
|
|
41
70
|
*/
|
|
42
71
|
export interface PlanLimitRefusal {
|
|
72
|
+
/**
|
|
73
|
+
* Present when usage state (not a Starter limit) caused the refusal. Then
|
|
74
|
+
* `message` and `upgradeUrl` repeat its message and action link, and
|
|
75
|
+
* `resources`, `fixOptions` and `freeMonth` are never set.
|
|
76
|
+
*/
|
|
77
|
+
usagePause?: UsagePause;
|
|
43
78
|
/** Server-selected billing destination. Always present. */
|
|
44
79
|
upgradeUrl: string;
|
|
45
80
|
/** Customer-facing sentence from the server, when it sent one. */
|
|
@@ -67,21 +102,32 @@ export declare function hasPlanLimitMarker(fields: {
|
|
|
67
102
|
error?: unknown;
|
|
68
103
|
code?: unknown;
|
|
69
104
|
}): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Read a `usagePause` block. Returns null unless it has the `usage_paused`
|
|
107
|
+
* code, a known reason, a non-empty message and an `https:` action link
|
|
108
|
+
* without credentials. An unknown future reason is not guessed at: the body
|
|
109
|
+
* then falls back to its legacy fields.
|
|
110
|
+
*/
|
|
111
|
+
export declare function parseUsagePause(value: unknown): UsagePause | null;
|
|
70
112
|
/**
|
|
71
113
|
* Parse a response body (already JSON-decoded), a per-item presign row, or a
|
|
72
114
|
* stored refusal into a plan-limit refusal. Returns null unless the body has a
|
|
73
|
-
* plan-limit marker and an `https:` upgrade
|
|
115
|
+
* valid `usagePause` block, or a plan-limit marker and an `https:` upgrade
|
|
116
|
+
* link.
|
|
74
117
|
*/
|
|
75
118
|
export declare function parsePlanLimitRefusal(body: unknown): PlanLimitRefusal | null;
|
|
76
119
|
/** Parse a raw response text; non-JSON text is never a plan-limit refusal. */
|
|
77
120
|
export declare function parsePlanLimitRefusalText(text: string): PlanLimitRefusal | null;
|
|
78
121
|
/**
|
|
79
122
|
* One console line for a `plan-limit` sync event: how many files were
|
|
80
|
-
* refused, the server's sentence, and the upgrade link.
|
|
123
|
+
* refused, the server's sentence, and the upgrade link. A usage pause prints
|
|
124
|
+
* the server's usage message and its action link only: no plan-limit or
|
|
125
|
+
* upgrade wording.
|
|
81
126
|
*/
|
|
82
127
|
export declare function formatPlanLimitNotice(event: {
|
|
83
128
|
upgradeUrl: string;
|
|
84
129
|
count?: number;
|
|
85
130
|
message?: string;
|
|
131
|
+
usagePause?: unknown;
|
|
86
132
|
}): string;
|
|
87
133
|
//# sourceMappingURL=plan-limit.d.ts.map
|
package/dist/plan-limit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-limit.d.ts","sourceRoot":"","sources":["../src/plan-limit.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plan-limit.d.ts","sourceRoot":"","sources":["../src/plan-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAE7D,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAG/C,CAAC;AAEH,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,sFAAsF;AACtF,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;AAE/F,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAIlD,CAAC;AAEH,yEAAyE;AACzE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,gBAAgB,CAAC;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAcD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAOjE;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAKV;AAmCD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAcjE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CA2C5E;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAM/E;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,MAAM,CAST"}
|
package/dist/plan-limit.js
CHANGED
|
@@ -18,9 +18,24 @@
|
|
|
18
18
|
*
|
|
19
19
|
* A body is a plan-limit refusal only when it carries a plan-limit marker
|
|
20
20
|
* (`error: "plan_limit_reached"`, or `code` of `PLAN_LIMIT_EXCEEDED` /
|
|
21
|
-
* `PLAN_LIMIT_REACHED`) and an `https:` `upgradeUrl
|
|
22
|
-
* never makes a body a plan-limit
|
|
23
|
-
* method) keep their own handling.
|
|
21
|
+
* `PLAN_LIMIT_REACHED`) and an `https:` `upgradeUrl`, or a valid `usagePause`
|
|
22
|
+
* block (below). The HTTP status alone never makes a body a plan-limit
|
|
23
|
+
* refusal: other 402s (billing, payment method) keep their own handling.
|
|
24
|
+
*
|
|
25
|
+
* Usage pauses (usage-only-pricing US-024). A refusal caused by the account's
|
|
26
|
+
* usage state (free-trial cap, card required, monthly spend limit) carries an
|
|
27
|
+
* additive block from hq-pro `src/billing/usage-pause.ts`:
|
|
28
|
+
*
|
|
29
|
+
* `usagePause: { code: "usage_paused", reason, message, actionUrl }`
|
|
30
|
+
*
|
|
31
|
+
* with `reason` one of `usage_trial_cap` | `usage_card_required` |
|
|
32
|
+
* `usage_spend_limit` (the same codes as `billingState.paused.reason`). The
|
|
33
|
+
* legacy top-level fields stay on the body for older clients. When the block
|
|
34
|
+
* is valid it wins: the refusal carries the usage message and action link, no
|
|
35
|
+
* Starter resources, and is rendered without plan-limit or upgrade wording.
|
|
36
|
+
* The server owns the pause: it is set and lifted (card added, limit raised)
|
|
37
|
+
* in hq-pro, and this client only reads it from the refusal and from the
|
|
38
|
+
* admission check.
|
|
24
39
|
*
|
|
25
40
|
* This module has no imports so the vault client, the presign transport and
|
|
26
41
|
* the mutation client can all share it without a cycle.
|
|
@@ -32,6 +47,13 @@ export const PLAN_LIMIT_CODES = new Set([
|
|
|
32
47
|
"PLAN_LIMIT_EXCEEDED",
|
|
33
48
|
"PLAN_LIMIT_REACHED",
|
|
34
49
|
]);
|
|
50
|
+
/** `usagePause.code`: distinct from the Starter plan-limit codes. */
|
|
51
|
+
export const USAGE_PAUSE_CODE = "usage_paused";
|
|
52
|
+
export const USAGE_PAUSE_REASONS = new Set([
|
|
53
|
+
"usage_trial_cap",
|
|
54
|
+
"usage_card_required",
|
|
55
|
+
"usage_spend_limit",
|
|
56
|
+
]);
|
|
35
57
|
function isRecord(value) {
|
|
36
58
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
37
59
|
}
|
|
@@ -95,14 +117,61 @@ function parseFixOptions(value) {
|
|
|
95
117
|
}
|
|
96
118
|
return Object.keys(out).length > 0 ? out : undefined;
|
|
97
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Read a `usagePause` block. Returns null unless it has the `usage_paused`
|
|
122
|
+
* code, a known reason, a non-empty message and an `https:` action link
|
|
123
|
+
* without credentials. An unknown future reason is not guessed at: the body
|
|
124
|
+
* then falls back to its legacy fields.
|
|
125
|
+
*/
|
|
126
|
+
export function parseUsagePause(value) {
|
|
127
|
+
if (!isRecord(value) || value.code !== USAGE_PAUSE_CODE)
|
|
128
|
+
return null;
|
|
129
|
+
const reason = value.reason;
|
|
130
|
+
if (typeof reason !== "string" || !USAGE_PAUSE_REASONS.has(reason))
|
|
131
|
+
return null;
|
|
132
|
+
const message = nonEmptyString(value.message);
|
|
133
|
+
if (message === undefined || !isHttpsUpgradeUrl(value.actionUrl))
|
|
134
|
+
return null;
|
|
135
|
+
const url = new URL(value.actionUrl);
|
|
136
|
+
if (url.username || url.password)
|
|
137
|
+
return null;
|
|
138
|
+
return {
|
|
139
|
+
code: USAGE_PAUSE_CODE,
|
|
140
|
+
reason: reason,
|
|
141
|
+
message,
|
|
142
|
+
actionUrl: value.actionUrl,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
98
145
|
/**
|
|
99
146
|
* Parse a response body (already JSON-decoded), a per-item presign row, or a
|
|
100
147
|
* stored refusal into a plan-limit refusal. Returns null unless the body has a
|
|
101
|
-
* plan-limit marker and an `https:` upgrade
|
|
148
|
+
* valid `usagePause` block, or a plan-limit marker and an `https:` upgrade
|
|
149
|
+
* link.
|
|
102
150
|
*/
|
|
103
151
|
export function parsePlanLimitRefusal(body) {
|
|
104
152
|
if (!isRecord(body))
|
|
105
153
|
return null;
|
|
154
|
+
// New servers keep the legacy fields for old clients. Read the usage block
|
|
155
|
+
// first so a card or spend pause never turns into a plan upgrade offer.
|
|
156
|
+
const usagePause = parseUsagePause(body.usagePause);
|
|
157
|
+
if (usagePause) {
|
|
158
|
+
const refusal = {
|
|
159
|
+
usagePause,
|
|
160
|
+
upgradeUrl: usagePause.actionUrl,
|
|
161
|
+
message: usagePause.message,
|
|
162
|
+
};
|
|
163
|
+
// Legacy markers ride along so consumers that key off them still see a
|
|
164
|
+
// refusal; Starter resources and offers do not.
|
|
165
|
+
const code = nonEmptyString(body.code);
|
|
166
|
+
if (code !== undefined && PLAN_LIMIT_CODES.has(code))
|
|
167
|
+
refusal.code = code;
|
|
168
|
+
if (body.error === PLAN_LIMIT_REACHED_ERROR)
|
|
169
|
+
refusal.error = PLAN_LIMIT_REACHED_ERROR;
|
|
170
|
+
const blocked = nonEmptyString(body.blocked);
|
|
171
|
+
if (blocked !== undefined)
|
|
172
|
+
refusal.blocked = blocked;
|
|
173
|
+
return refusal;
|
|
174
|
+
}
|
|
106
175
|
if (!hasPlanLimitMarker(body))
|
|
107
176
|
return null;
|
|
108
177
|
const upgradeUrl = body.upgradeUrl;
|
|
@@ -145,9 +214,14 @@ export function parsePlanLimitRefusalText(text) {
|
|
|
145
214
|
}
|
|
146
215
|
/**
|
|
147
216
|
* One console line for a `plan-limit` sync event: how many files were
|
|
148
|
-
* refused, the server's sentence, and the upgrade link.
|
|
217
|
+
* refused, the server's sentence, and the upgrade link. A usage pause prints
|
|
218
|
+
* the server's usage message and its action link only: no plan-limit or
|
|
219
|
+
* upgrade wording.
|
|
149
220
|
*/
|
|
150
221
|
export function formatPlanLimitNotice(event) {
|
|
222
|
+
const usagePause = parseUsagePause(event.usagePause);
|
|
223
|
+
if (usagePause)
|
|
224
|
+
return ` ! ${usagePause.message} ${usagePause.actionUrl}`;
|
|
151
225
|
const files = event.count === undefined
|
|
152
226
|
? "New files are"
|
|
153
227
|
: `${event.count} file${event.count === 1 ? " is" : "s are"}`;
|
package/dist/plan-limit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-limit.js","sourceRoot":"","sources":["../src/plan-limit.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plan-limit.js","sourceRoot":"","sources":["../src/plan-limit.ts"],"names":[],"mappings":"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"}
|
package/dist/s3.d.ts
CHANGED
|
@@ -507,6 +507,7 @@ export declare function downloadFile(ctx: EntityContext, key: string, localPath:
|
|
|
507
507
|
contentHash?: string;
|
|
508
508
|
contentSize?: number;
|
|
509
509
|
symlinkTarget?: string;
|
|
510
|
+
versionId?: string;
|
|
510
511
|
/** Non-fatal mode guardrail warnings for caller telemetry. */
|
|
511
512
|
modeWarnings?: DownloadModeWarning[];
|
|
512
513
|
}>;
|
|
@@ -535,6 +536,7 @@ export declare function headRemoteFile(ctx: EntityContext, key: string): Promise
|
|
|
535
536
|
lastModified: Date;
|
|
536
537
|
etag: string;
|
|
537
538
|
size: number;
|
|
539
|
+
versionId?: string;
|
|
538
540
|
metadata?: Record<string, string>;
|
|
539
541
|
storageClass?: string;
|
|
540
542
|
} | null>;
|
package/dist/s3.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"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"}
|
package/dist/s3.js
CHANGED
|
@@ -1251,9 +1251,10 @@ function uploadScopeFor(ctx) {
|
|
|
1251
1251
|
}
|
|
1252
1252
|
/** Narrow a transport PUT result to the fields upload callers consume. */
|
|
1253
1253
|
function putResult(result) {
|
|
1254
|
+
const versionId = result.versionId ? { versionId: result.versionId } : {};
|
|
1254
1255
|
return result.alreadyCurrent
|
|
1255
|
-
? { etag: result.etag, alreadyCurrent: true }
|
|
1256
|
-
: { etag: result.etag };
|
|
1256
|
+
? { etag: result.etag, alreadyCurrent: true, ...versionId }
|
|
1257
|
+
: { etag: result.etag, ...versionId };
|
|
1257
1258
|
}
|
|
1258
1259
|
export async function uploadFile(ctx, localPath, key, author, precondition, transferOptions, uploadBody, ioOverride) {
|
|
1259
1260
|
// Boundary guardrail: never store a non-POSIX key (see toPosixKey), and
|
|
@@ -2010,6 +2011,7 @@ async function downloadFileAttempt(io, key, localPath, options, allowResume = tr
|
|
|
2010
2011
|
metadata,
|
|
2011
2012
|
contentHash: streamed.hash,
|
|
2012
2013
|
contentSize: streamed.size,
|
|
2014
|
+
...(streamResult?.versionId ? { versionId: streamResult.versionId } : {}),
|
|
2013
2015
|
...(modeWarnings.length > 0 ? { modeWarnings } : {}),
|
|
2014
2016
|
};
|
|
2015
2017
|
}
|